diff --git a/scripts/roadmap-content.cjs b/scripts/roadmap-content.cjs index c31ead944..841734e94 100644 --- a/scripts/roadmap-content.cjs +++ b/scripts/roadmap-content.cjs @@ -3,7 +3,6 @@ const path = require('path'); const OPEN_AI_API_KEY = process.env.OPEN_AI_API_KEY; const ALL_ROADMAPS_DIR = path.join(__dirname, '../src/data/roadmaps'); -const ROADMAP_JSON_DIR = path.join(__dirname, '../public/jsons/roadmaps'); const roadmapId = process.argv[2]; @@ -139,7 +138,11 @@ async function writeFileForGroup(group, topicUrlToPathMapping) { async function run() { const topicUrlToPathMapping = getFilesInFolder(ROADMAP_CONTENT_DIR); - const roadmapJson = require(path.join(ROADMAP_JSON_DIR, `${roadmapId}.json`)); + const roadmapJson = require(path.join( + ALL_ROADMAPS_DIR, + `${roadmapId}/${roadmapId}` + )); + const groups = roadmapJson?.mockup?.controls?.control?.filter( (control) => control.typeID === '__group__' && diff --git a/scripts/roadmap-dirs.cjs b/scripts/roadmap-dirs.cjs index 92490bc72..8d9ef12ee 100644 --- a/scripts/roadmap-dirs.cjs +++ b/scripts/roadmap-dirs.cjs @@ -84,8 +84,9 @@ function prepareDirTree(control, dirTree, dirSortOrders) { const roadmap = require(path.join( __dirname, - `../public/jsons/roadmaps/${roadmapId}` + `../src/data/roadmaps/${roadmapId}/${roadmapId}` )); + const controls = roadmap.mockup.controls.control; // Prepare the dir tree that we will be creating and also calculate the sort orders diff --git a/src/data/roadmaps/devops/content/102-managing-servers/100-operating-system/100-windows.md b/src/data/roadmaps/devops/content/101-operating-systems/103-windows.md similarity index 100% rename from src/data/roadmaps/devops/content/102-managing-servers/100-operating-system/100-windows.md rename to src/data/roadmaps/devops/content/101-operating-systems/103-windows.md diff --git a/src/data/roadmaps/devops/content/102-managing-servers/100-operating-system/index.md b/src/data/roadmaps/devops/content/101-operating-systems/index.md similarity index 100% rename from src/data/roadmaps/devops/content/102-managing-servers/100-operating-system/index.md rename to src/data/roadmaps/devops/content/101-operating-systems/index.md diff --git a/src/data/roadmaps/devops/content/102-managing-servers/100-operating-system/102-ubuntu.md b/src/data/roadmaps/devops/content/101-operating-systems/linux/100-ubuntu.md similarity index 100% rename from src/data/roadmaps/devops/content/102-managing-servers/100-operating-system/102-ubuntu.md rename to src/data/roadmaps/devops/content/101-operating-systems/linux/100-ubuntu.md diff --git a/src/data/roadmaps/devops/content/102-managing-servers/100-operating-system/103-suse-linux.md b/src/data/roadmaps/devops/content/101-operating-systems/linux/101-suse-linux.md similarity index 100% rename from src/data/roadmaps/devops/content/102-managing-servers/100-operating-system/103-suse-linux.md rename to src/data/roadmaps/devops/content/101-operating-systems/linux/101-suse-linux.md diff --git a/src/data/roadmaps/devops/content/102-managing-servers/100-operating-system/104-rhel.md b/src/data/roadmaps/devops/content/101-operating-systems/linux/102-rhel.md similarity index 100% rename from src/data/roadmaps/devops/content/102-managing-servers/100-operating-system/104-rhel.md rename to src/data/roadmaps/devops/content/101-operating-systems/linux/102-rhel.md diff --git a/src/data/roadmaps/devops/content/101-operating-systems/linux/index.md b/src/data/roadmaps/devops/content/101-operating-systems/linux/index.md new file mode 100644 index 000000000..a1807970a --- /dev/null +++ b/src/data/roadmaps/devops/content/101-operating-systems/linux/index.md @@ -0,0 +1 @@ +# Linux \ No newline at end of file diff --git a/src/data/roadmaps/devops/content/102-managing-servers/100-operating-system/107-free-bsd.md b/src/data/roadmaps/devops/content/101-operating-systems/unix/100-free-bsd.md similarity index 100% rename from src/data/roadmaps/devops/content/102-managing-servers/100-operating-system/107-free-bsd.md rename to src/data/roadmaps/devops/content/101-operating-systems/unix/100-free-bsd.md diff --git a/src/data/roadmaps/devops/content/102-managing-servers/100-operating-system/108-open-bsd.md b/src/data/roadmaps/devops/content/101-operating-systems/unix/101-open-bsd.md similarity index 100% rename from src/data/roadmaps/devops/content/102-managing-servers/100-operating-system/108-open-bsd.md rename to src/data/roadmaps/devops/content/101-operating-systems/unix/101-open-bsd.md diff --git a/src/data/roadmaps/devops/content/102-managing-servers/100-operating-system/109-net-bsd.md b/src/data/roadmaps/devops/content/101-operating-systems/unix/102-net-bsd.md similarity index 100% rename from src/data/roadmaps/devops/content/102-managing-servers/100-operating-system/109-net-bsd.md rename to src/data/roadmaps/devops/content/101-operating-systems/unix/102-net-bsd.md diff --git a/src/data/roadmaps/devops/content/101-operating-systems/unix/index.md b/src/data/roadmaps/devops/content/101-operating-systems/unix/index.md new file mode 100644 index 000000000..106aea125 --- /dev/null +++ b/src/data/roadmaps/devops/content/101-operating-systems/unix/index.md @@ -0,0 +1 @@ +# Unix \ No newline at end of file diff --git a/src/data/roadmaps/devops/content/101-os-concepts/100-networking.md b/src/data/roadmaps/devops/content/101-os-concepts/100-networking.md deleted file mode 100644 index 6ffeb9103..000000000 --- a/src/data/roadmaps/devops/content/101-os-concepts/100-networking.md +++ /dev/null @@ -1,11 +0,0 @@ -# Networking - -Computer networking refers to interconnected computing devices that can exchange data and share resources with each other. These networked devices use a system of rules, called communications protocols, to transmit information over physical or wireless technologies. - -Begin by studying the [OSI Model](https://en.wikipedia.org/wiki/OSI_model). This model will assist in constructing an understanding of the linked topics, and help you contextualize the items linked to the Networking, Security, and Protocols node. Higher level networking concepts may be implemented and named differently across cloud providers. Don't let this confuse you - the basics of TCP/IP are useful and used in the same ways across all implementations. - -Visit the following resources to learn more: - -- [What is Computer Networking?](https://aws.amazon.com/what-is/computer-networking/) -- [Full Networking Course](https://youtu.be/IPvYjXCsTg8) -- [OSI Model Explained](https://www.youtube.com/watch?v=dV8mjZd1OtU) diff --git a/src/data/roadmaps/devops/content/101-os-concepts/101-io-management.md b/src/data/roadmaps/devops/content/101-os-concepts/101-io-management.md deleted file mode 100644 index f87ac2f68..000000000 --- a/src/data/roadmaps/devops/content/101-os-concepts/101-io-management.md +++ /dev/null @@ -1,9 +0,0 @@ -# I/O Management - -One of the important jobs of an Operating System is to manage various I/O devices including mouse, keyboards, touchpad, disk drives, display adapters, USB devices, Bit-mapped screens, LED, Analog-to-digital converter, On/off switch, network connections, audio I/O, printers, etc. - -Visit the following resources to learn more: - -- [Operating System - I/O Hardware](https://www.tutorialspoint.com/operating_system/os_io_hardware.htm) -- [IO Management](https://www.omscs-notes.com/operating-systems/io-management/) -- [Basics of OS (I/O Structure)](https://www.youtube.com/watch?v=F18RiREDkwE) diff --git a/src/data/roadmaps/devops/content/101-os-concepts/102-virtualization.md b/src/data/roadmaps/devops/content/101-os-concepts/102-virtualization.md deleted file mode 100644 index 8998150d7..000000000 --- a/src/data/roadmaps/devops/content/101-os-concepts/102-virtualization.md +++ /dev/null @@ -1,9 +0,0 @@ -# Virtualization - -Virtualization is the creation of a virtual -- rather than actual -- version of something, such as an operating system (OS), a server, a storage device or network resources. It uses software that simulates hardware functionality to create a virtual system. This practice allows IT organizations to operate multiple operating systems, more than one virtual system and various applications on a single server. - -Visit the following resources to learn more: - -- [What is Virtualization? and its types?](https://www.techtarget.com/searchitoperations/definition/virtualization) -- [What is Hypervisor and VM?](https://opensource.com/resources/virtualization) -- [Containers vs VM](https://www.atlassian.com/microservices/cloud-computing/containers-vs-vms) diff --git a/src/data/roadmaps/devops/content/101-os-concepts/103-memory-storage.md b/src/data/roadmaps/devops/content/101-os-concepts/103-memory-storage.md deleted file mode 100644 index 3768c5675..000000000 --- a/src/data/roadmaps/devops/content/101-os-concepts/103-memory-storage.md +++ /dev/null @@ -1,10 +0,0 @@ -# Memory Management - -The term Memory can be defined as a collection of data in a specific format. It is used to store instructions and process data. The memory comprises a large array or group of words or bytes, each with its own location. The primary motive of a computer system is to execute programs. These programs, along with the information they access, should be in the main memory during execution. The CPU fetches instructions from memory according to the value of the program counter. - -To achieve a degree of multiprogramming and proper utilization of memory, memory management is important. There are several memory management methods, reflecting various approaches, and the effectiveness of each algorithm depends on the situation. - -Visit the following resources to learn more: - -- [Demystifying memory management in modern programming languages](https://dev.to/deepu105/demystifying-memory-management-in-modern-programming-languages-ddd) -- [Memory Management in Operating System](https://www.geeksforgeeks.org/memory-management-in-operating-system/) diff --git a/src/data/roadmaps/devops/content/101-os-concepts/104-file-system.md b/src/data/roadmaps/devops/content/101-os-concepts/104-file-system.md deleted file mode 100644 index c94ef9cdd..000000000 --- a/src/data/roadmaps/devops/content/101-os-concepts/104-file-system.md +++ /dev/null @@ -1,7 +0,0 @@ -# File System - -A file is a named collection of related information recorded on secondary storage such as magnetic disks, magnetic tapes, and optical disks. Generally, a file is a sequence of bits, bytes, lines, or records whose meaning is defined by the file's creator and user. - -Visit the following resources to learn more: - -- [Operating System - File System](https://www.tutorialspoint.com/operating_system/os_file_system.htm) diff --git a/src/data/roadmaps/devops/content/101-os-concepts/105-sockets.md b/src/data/roadmaps/devops/content/101-os-concepts/105-sockets.md deleted file mode 100644 index 049ac30d7..000000000 --- a/src/data/roadmaps/devops/content/101-os-concepts/105-sockets.md +++ /dev/null @@ -1,12 +0,0 @@ -# Sockets - -Socket is an endpoint of a two way **communication** link between **two different processes** on the network (same or different machines). The socket mechanism provides a means of inter-process communication (IPC) by establishing named contact points between client and server. It is the combination of IP Address and Port Number. - -e.g. `http://192.168.0.1:8080` - -Visit the following resources to learn more: - -- [What are Sockets?](https://www.geeksforgeeks.org/socket-in-computer-network/) -- [Types of Sockets](https://www.tutorialspoint.com/unix_sockets/what_is_socket.htm) -- [Port vs Socket](https://www.baeldung.com/cs/port-vs-socket) -- [Socket.io Library Bidirectional and low-latency communication for every platform](https://socket.io/) diff --git a/src/data/roadmaps/devops/content/101-os-concepts/106-posix.md b/src/data/roadmaps/devops/content/101-os-concepts/106-posix.md deleted file mode 100644 index dc61acd18..000000000 --- a/src/data/roadmaps/devops/content/101-os-concepts/106-posix.md +++ /dev/null @@ -1,15 +0,0 @@ -# POSIX Basics - -POSIX (Portable Operating System Interface) is a family of standards for maintaining compatibility between operating systems. It describes utilities, APIs, and services that a compliant OS should provide to software, thus making it easier to port programs from one system to another. - -A practical example: in a Unix-like operating system, there are three _standard streams_, `stdin`, `stdout` and `stderr` - they are I/O connections that you will probably come across when using a terminal, as they manage the flow from the **standard input** (stdin), **standard output** (stdout) and **standard error** (stderr). - -So, in this case, when we want to interact with any of these streams (through a process, for example), the POSIX operating system API makes it easier - for example, in the `` C header where the stdin, stderr, and stdout are defined as `STDIN_FILENO`, `STDERR_FILENO` and `STDOUT_FILENO`. - -POSIX also adds a standard for exit codes, filesystem semantics, and several other command line utility API conventions. - -Visit the following resources to learn more: - -- [POSIX standard by IEEE](https://pubs.opengroup.org/onlinepubs/9699919799/) -- [Summary of some POSIX implementations](https://unix.stackexchange.com/a/220877) -- [A guide to POSIX](https://www.baeldung.com/linux/posix) diff --git a/src/data/roadmaps/devops/content/101-os-concepts/107-processes.md b/src/data/roadmaps/devops/content/101-os-concepts/107-processes.md deleted file mode 100644 index 97d050022..000000000 --- a/src/data/roadmaps/devops/content/101-os-concepts/107-processes.md +++ /dev/null @@ -1,15 +0,0 @@ -# Processes - -A process means program in execution. It generally takes an input, processes it and gives us the appropriate output. `ps` command can be used in linux to get the list of processes running in foreground. Each process will have a unique identifier called **PID**, which can be used to track it or `kill` it through shell. - -**Types of processes:** - -- Foreground processes -- Background processes - -Visit the following resources to learn more: - -- [Intro to Process Management](https://www.geeksforgeeks.org/introduction-of-process-management/) -- [Process Management in Linux](https://www.geeksforgeeks.org/process-management-in-linux/) -- [Process related commands in Linux](https://www.geeksforgeeks.org/processes-in-linuxunix/) -- [Process vs Thread](https://www.geeksforgeeks.org/difference-between-process-and-thread/) diff --git a/src/data/roadmaps/devops/content/101-os-concepts/108-startup-management.md b/src/data/roadmaps/devops/content/101-os-concepts/108-startup-management.md deleted file mode 100644 index 340413dc0..000000000 --- a/src/data/roadmaps/devops/content/101-os-concepts/108-startup-management.md +++ /dev/null @@ -1,11 +0,0 @@ -# Startup Management (init.d) - -`init.d` is a daemon which is the **first process** (PID = 1) of the Linux system. Then other processes, services, daemons, and threads are started by init. One can write their own scripts in _'/etc/init.d'_ location to start services automatically on system boot. Services can be started and stopped manually by using `service` command. - -It has following syntax: `$ service [service_name] [action]` e.g. `$ service ssh start` - -Visit the following resources to learn more: - -- [Linux Booting Process](https://www.freecodecamp.org/news/the-linux-booting-process-6-steps-described-in-detail/) -- [What is init.d?](https://www.geeksforgeeks.org/what-is-init-d-in-linux-service-management/) -- [What are Daemons in Linux?](https://itsfoss.com/linux-daemons/) diff --git a/src/data/roadmaps/devops/content/101-os-concepts/109-service-management.md b/src/data/roadmaps/devops/content/101-os-concepts/109-service-management.md deleted file mode 100644 index cb493f35d..000000000 --- a/src/data/roadmaps/devops/content/101-os-concepts/109-service-management.md +++ /dev/null @@ -1,11 +0,0 @@ -# Service Management (systemd) - -`systemd` is a **System** Management **D**aemon which replaces the sysvinit process to become the first process with PID = 1, which gets executed in user space during the Linux start-up process. It is a system that is designed specifically for the Linux kernel. It is now being used as a **replacement of init.d** to overcome shortcomings of it. It uses `systemctl` command to perform related operations. - -e.g. `$ systemctl start [service-name]`, `$ systemctl poweroff` - -Visit the following resources to learn more: - -- [What is systemd? and its commands](https://www.geeksforgeeks.org/linux-systemd-and-its-components/) -- [init.d vs systemd](https://uace.github.io/learning/init-vs-systemd-what-is-an-init-daemon) -- [Why Systemd as a replacement of init.d?](https://www.tecmint.com/systemd-replaces-init-in-linux/) diff --git a/src/data/roadmaps/devops/content/101-os-concepts/110-threads-concurrency.md b/src/data/roadmaps/devops/content/101-os-concepts/110-threads-concurrency.md deleted file mode 100644 index 432052881..000000000 --- a/src/data/roadmaps/devops/content/101-os-concepts/110-threads-concurrency.md +++ /dev/null @@ -1,19 +0,0 @@ -# Thread in OS - -`Thread` is an active entity which executes a **part of a process**. It is a sequential flow of tasks within a process. It is also called lightweight process as they **share common resources**. A process can contain multiple threads. Threads are used to increase the performance of the applications. -Each thread has its own program counter, stack, and set of registers. But the threads of a single process might share the same code and data/file. - -**Key Terminologies:** - -- `proc` -- `fork` -- `join` - -Visit the following resources to learn more: - -- [Process Synchronization](https://www.geeksforgeeks.org/introduction-of-process-synchronization/) -- [What is Thread in OS?](https://www.geeksforgeeks.org/thread-in-operating-system/) -- [Process vs Thread & Multi-Threading](https://www.scaler.com/topics/operating-system/threads-in-operating-system/) -- [What Concurrency in OS?](https://www.geeksforgeeks.org/concurrency-in-operating-system/) -- [Threads vs Concurrency](https://medium.com/@azizomarck/how-is-concurrency-different-from-parallelism-334b6d5c869a) -- [How Concurrency is achieved in Threads](https://medium.com/@akhandmishra/operating-system-threads-and-concurrency-aec2036b90f8) diff --git a/src/data/roadmaps/devops/content/101-os-concepts/index.md b/src/data/roadmaps/devops/content/101-os-concepts/index.md deleted file mode 100644 index 302c66687..000000000 --- a/src/data/roadmaps/devops/content/101-os-concepts/index.md +++ /dev/null @@ -1,9 +0,0 @@ -# Operating System - -An Operating System is a program that manages a computer’s resources, especially the allocation of those resources among other programs. Typical resources include the central processing unit (CPU), computer memory, file storage, input/output (I/O) devices, and network connections. - -Visit the following resources to learn more: - -- [What is an operating system?](https://edu.gcfglobal.org/en/computerbasics/understanding-operating-systems/1/) -- [Operating Systems: Crash Course Computer Science #18](https://www.youtube.com/watch?v=26QPDBe-NB8&ab_channel=CrashCourse) -- [Introduction to Operating System](https://www.youtube.com/watch?v=vBURTt97EkA&list=PL9hkZBQk8d1zEGbY7ShWCZ2n1gtxqkRrS&index=1) diff --git a/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/105-editors.md b/src/data/roadmaps/devops/content/102-live-in-terminal/102-editors.md similarity index 100% rename from src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/105-editors.md rename to src/data/roadmaps/devops/content/102-live-in-terminal/102-editors.md diff --git a/src/data/roadmaps/devops/content/102-live-in-terminal/103-process-monitoring.md b/src/data/roadmaps/devops/content/102-live-in-terminal/103-process-monitoring.md new file mode 100644 index 000000000..0f30d6b6f --- /dev/null +++ b/src/data/roadmaps/devops/content/102-live-in-terminal/103-process-monitoring.md @@ -0,0 +1,37 @@ +# Process Monitoring + +A process is an instance of a computer program that is being executed. Each process is identified by a unique number called a process ID (PID). A process is a running program. The operating system tracks processes through the use of process identifiers. A process identifier (PID) is a unique number that identifies a specific process. A PID is automatically assigned to each process when it is created on the system. + +There are several linux commands that can be used to monitor processes. The most common ones are: + +- `ps` - report a snapshot of the current processes. +- `top` - display Linux processes. +- `htop` - interactive process viewer. +- `atop` - advanced interactive monitor to view the load on a Linux system. +- `lsof` - list open files. + +The `ps` utility displays a header line, followed by lines containing information about all of your processes that have controlling terminals. + +- [ps Documentation](https://man7.org/linux/man-pages/man1/ps.1.html) +- [ps Cheat Sheet](https://www.sysadmin.md/ps-cheatsheet.html) +- [Linux Crash Course - The ps Command](https://www.youtube.com/watch?v=wYwGNgsfN3I) + +The `top` program periodically displays a sorted list of system processes. The default sorting key is pid, but other keys can be used instead. Various output options are available. + +- [top Documentation](https://man7.org/linux/man-pages/man1/top.1.html) +- [top Cheat Sheet](https://gist.github.com/ericandrewlewis/4983670c508b2f6b181703df43438c37) + +htop is a cross-platform ncurses-based process. It is similar to top, but allows you to scroll vertically and horizontally, and interact using a pointing device (mouse). You can observe all processes running on the system, along with their command line arguments, as well as view them in a tree format, select multiple processes and act on them all at once. + +- [htop Documentation](https://www.man7.org/linux/man-pages/man1/htop.1.html) +- [htop Cheat Sheet](https://www.maketecheasier.com/power-user-guide-htop/) + +The top program periodically displays a sorted list of system processes. The default sorting key is pid, but other keys can be used instead. Various output options are available. + +- [top Documentation](https://man7.org/linux/man-pages/man1/top.1.html) +- [top Cheat Sheet](https://gist.github.com/ericandrewlewis/4983670c508b2f6b181703df43438c37) + +Lsof lists on its standard output file information about files opened by processes. + +- [lsof Cheat Sheet](https://neverendingsecurity.wordpress.com/2015/04/13/lsof-commands-cheatsheet/) +- [lsof Documentation](https://man7.org/linux/man-pages/man8/lsof.8.html) diff --git a/src/data/roadmaps/devops/content/102-live-in-terminal/104-performance-monitoring.md b/src/data/roadmaps/devops/content/102-live-in-terminal/104-performance-monitoring.md new file mode 100644 index 000000000..0a0e52f82 --- /dev/null +++ b/src/data/roadmaps/devops/content/102-live-in-terminal/104-performance-monitoring.md @@ -0,0 +1,32 @@ +# Performance Monitoring + +There are many tools available to monitor the performance of your application. Some of the most popular are: + +- `nmon` - A system monitor tool for Linux and AIX systems. +- `iostat` - A tool that reports CPU statistics and input/output statistics for devices, partitions and network filesystems. +- `sar` - A system monitor command used to report on various system loads, including CPU activity, memory/paging, device load, network. +- `vmstat` - A tool that reports virtual memory statistics. + +Nmon is a fully interactive performance monitoring command-line utility tool for Linux. It is a benchmark tool that displays performance about the cpu, memory, network, disks, file system, nfs, top processes, resources, and power micro-partition. + +- [nmon Documentation](https://www.ibm.com/docs/en/aix/7.2?topic=n-nmon-command) +- [nmon Command Guide](https://www.geeksforgeeks.org/linux-nmon/) + +The iostat command in Linux is used for monitoring system input/output statistics for devices and partitions. It monitors system input/output by observing the time the devices are active in relation to their average transfer rates. The iostat produce reports may be used to change the system configuration to raised balance the input/output between the physical disks. + +- [iostat Documentation](https://man7.org/linux/man-pages/man1/iostat.1.html) +- [iostat Command Guide](https://www.geeksforgeeks.org/iostat-command-in-linux-with-examples/) + +Short for **S**ystem **A**ctivity **R**eport, `sar` is a command line tool for Unix and Unix-like operating systems that shows a report of different information about the usage and activity of resources in the operating system. + +- [SAR command in Linux to monitor system performance](https://www.geeksforgeeks.org/sar-command-linux-monitor-system-performance/) +- [SAR Man Page](https://man7.org/linux/man-pages/man1/sar.1.html) +- [SAR Man Page 2](https://linux.die.net/man/1/sar) +- [Sar tutorial for beginners](https://linuxhint.com/sar_linux_tutorial/) + +Short for **V**irtual **m**emory **stat**istic reporter, `vmstat` is a command line tool for Unix and Unix-like operating systems that reports various information about the operating system such as memory, paging, processes, I/O, CPU and disk usage. + +- [vmstat command in Linux with Examples](https://www.geeksforgeeks.org/vmstat-command-in-linux-with-examples/) +- [Linux commands: exploring virtual memory with vmstat](https://www.redhat.com/sysadmin/linux-commands-vmstat) +- [VMstat Man Page](https://man7.org/linux/man-pages/man8/vmstat.8.html) +- [vmstat tutorial](https://phoenixnap.com/kb/vmstat-command) diff --git a/src/data/roadmaps/devops/content/102-live-in-terminal/105-networking-tools.md b/src/data/roadmaps/devops/content/102-live-in-terminal/105-networking-tools.md new file mode 100644 index 000000000..f1c09f266 --- /dev/null +++ b/src/data/roadmaps/devops/content/102-live-in-terminal/105-networking-tools.md @@ -0,0 +1,74 @@ +# Networking Tools + +Networking tools are used to troubleshoot network issues. They are also used to monitor network traffic and to test network connectivity. Some of the most common networking tools are: + +- `traceroute` - Traces the route taken by packets over an IP network. +- `ping` - sends echo request packets to a host to test the Internet connection. +- `mtr` - Combines the functionality of `traceroute` and `ping` into a single diagnostic tool. +- `nmap` - Scans hosts for open ports. +- `netstat` - Displays network connections, routing tables, interface statistics, masquerade connections, and multicast memberships. +- `ufw` and `firewalld` - Firewall management tools. +- `iptables` and `nftables` - Firewall management tools. +- `tcpdump` - Dumps traffic on a network. +- `dig` - DNS lookup utility. +- `scp` - Secure copy. + +`traceroute` command is a command in Linux that prints the route a network packet takes from its source (e.g. your computer) to the destination host (e.g., roadmap.sh). It is quite valuable in investigating slow network connections as it can help us spot the slow leg of the network packet journey through the internet. + +- [How to Run Traceroute in Linux](https://linuxhint.com/run_traceroute_linux/) +- [Traceroute command in Linux with examples](https://www.geeksforgeeks.org/traceroute-command-in-linux-with-examples/) + +`ping` (**P**acket **In**ternet **G**roper) command is used to check the network connectivity between host and server/host. This command takes as input the IP address or the URL and sends a data packet to the specified address with the message “PING” and get a response from the server/host this time is recorded which is called latency. + +- [What is ping command?](https://linuxize.com/post/linux-ping-command/) +- [ping command with examples](https://www.geeksforgeeks.org/ping-command-in-linux-with-examples/) + +`mtr` combines the functionality of the traceroute and ping programs in a single network diagnostic tool. + +- [Javatpoint: Linux mtr Command](https://www.javatpoint.com/linux-mtr) +- [mtr Linux command](https://www.tutorialspoint.com/unix_commands/mtr.htm) +- [How to traceroute use mtr command in Linux](https://www.devopsroles.com/how-to-traceroute-use-mtr-command-in-linux/) + +NMAP stands for Network Mapper and is an open-source tool used to explore and audit the network's security, such as checking firewalls and scanning ports. + +- [NMAP Official Manual Book](https://nmap.org/book/man.html) +- [What is Nmap and How to Use it](https://www.freecodecamp.org/news/what-is-nmap-and-how-to-use-it-a-tutorial-for-the-greatest-scanning-tool-of-all-time/) + +Netstat is a command line utility to display all the network connections on a system. It displays all the tcp, udp and unix socket connections. Apart from connected sockets it also displays listening sockets that are waiting for incoming connections. + +- [netstat command in Linux with Examples](https://www.tutorialspoint.com/unix_commands/netstat.htm) +- [Netstat Tutorial](http://www.c-jump.com/CIS24/Slides/Networking/html_utils/netstat.html) +- [Netstat Commands - Network Administration Tutorial](https://www.youtube.com/watch?v=bxFwpm4IobU) +- [Linux Command Line Tutorial For Beginners - netstat command](https://www.youtube.com/watch?v=zGNcvBaN5wE) + +UFW, or _uncomplicated firewall_, is command-line based utility for managing firewall rules in Arch Linux, Debian and Ubuntu. It's aim is to make firewall configuration as simple as possible. It is a frontend for the `iptables` firewalling tool. + +- [ufw Documentation](https://manpages.ubuntu.com/manpages/trusty/man8/ufw.8.html) +- [Basic Introduction to UFW](https://www.linux.com/training-tutorials/introduction-uncomplicated-firewall-ufw/) +- [UFW Essentials](https://www.digitalocean.com/community/tutorials/ufw-essentials-common-firewall-rules-and-commands) + +IPtables is a command-line firewall utility that uses policy chains to allow or block traffic that will be enforced by the linux kernel’s netfilter framework. Iptables packet filtering mechanism is organized into three different kinds of structures: tables, chains and targets. + +- [Iptables tutorial](https://www.hostinger.in/tutorials/iptables-tutorial) +- [Beginners to Advanced Guide Iptables](https://erravindrapawadia.medium.com/iptables-tutorial-beginners-to-advanced-guide-to-linux-firewall-839e10501759) + +`tcpdump` is a command line tool used for analysing network traffic passing through your system. It can be used to capture and filter packets and display them in a human-readable format. The captured information can be analysed at a later date as well. + +- [tcpdump Documentation](https://www.tcpdump.org/manpages/tcpdump.1.html) +- [Basic Introduction to Tcpdump](https://opensource.com/article/18/10/introduction-tcpdump) +- [50 ways to isolate traffic with Tcpdump](https://danielmiessler.com/study/tcpdump/) +- [Interpreting Tcpdump output and data](https://www.youtube.com/watch?v=7bsQP9sKHrs) + +`dig` command stands for **D**omain **I**nformation **G**roper. It is used for retrieving information about DNS name servers. It is mostly used by network administrators for verifying and troubleshooting DNS problems and to perform DNS lookups. It replaces older tools such as `nslookup` and the `host`. + +- [What is dig command?](https://www.geeksforgeeks.org/dig-command-in-linux-with-examples/) +- [More on dig](https://linuxize.com/post/how-to-use-dig-command-to-query-dns-in-linux/) +- [What is host command?](https://www.geeksforgeeks.org/host-command-in-linux-with-examples/) +- [What is nslookup command?](https://www.geeksforgeeks.org/nslookup-command-in-linux-with-examples/) +- [What is DNS?](https://www.cloudflare.com/en-gb/learning/dns/what-is-dns/) + +`SCP` is an acronym for Secure Copy Protocol.It is a command line utility that allows the user to securely copy files and directories between two locations usually between unix or linux systems.The protocol ensures the transmission of files is encrypted to prevent anyone with suspicious intentions from getting sensitive information.`SCP` uses encryption over an `SSH` (Secure Shell) connection, this ensures that the data being transferred is protected from suspicious attacks. + +- [SCP Linux Command](https://www.freecodecamp.org/news/scp-linux-command-example-how-to-ssh-file-transfer-from-remote-to-local/) +- [10 SCP command examples](https://www.tecmint.com/scp-commands-examples/) +- [SCP command explained](https://phoenixnap.com/kb/linux-scp-command) diff --git a/src/data/roadmaps/devops/content/102-live-in-terminal/106-text-manipulation.md b/src/data/roadmaps/devops/content/102-live-in-terminal/106-text-manipulation.md new file mode 100644 index 000000000..7137f8d46 --- /dev/null +++ b/src/data/roadmaps/devops/content/102-live-in-terminal/106-text-manipulation.md @@ -0,0 +1,80 @@ +# Text Manipulation + +Some of the most common commands you will use in the terminal are text manipulation commands. These commands allow you to search, replace, and manipulate text in files and streams. Here are some of the most common commands you will use: + +- `awk` - A programming language designed for text processing and typically used as a data extraction and reporting tool. +- `sed` - A stream editor for filtering and transforming text. +- `grep` - A command-line utility for searching plain-text data sets for lines that match a regular expression. +- `sort` - A command-line utility for sorting lines of text files. +- `cut` - A command-line utility for cutting sections from each line of files. +- `uniq` - A command-line utility for reporting or omitting repeated lines. +- `cat` - A command-line utility for concatenating files and printing on the standard output. +- `echo` - A command-line utility for displaying a line of text. +- `fmt` - A command-line utility for simple optimal text formatting. +- `tr` - A command-line utility for translating or deleting characters. +- `nl` - A command-line utility for numbering lines of files. +- `wc` - A command-line utility for printing newline, word, and byte counts for files. + +`awk` is a general-purpose scripting language used for manipulating data or text and generating reports in the Linux world. It is mostly used for pattern scanning and processing. It searches one or more files to see if they contain lines that match the specified patterns and then performs the associated actions. + +- [What is AWK? How to use it?](https://www.geeksforgeeks.org/awk-command-unixlinux-examples/) +- [How AWK works?](https://linuxize.com/post/awk-command/) +- [Linux Crash Course - awk](https://www.youtube.com/watch?v=oPEnvuj9QrI) + +`sed`(**S**tream **Ed**itor) command in UNIX can perform lots of functions on file like searching, finding and replacing, insertion or deletion. By using SED you can edit files even without opening them in editors like [VI Editor](https://www.redhat.com/sysadmin/introduction-vi-editor). + +- [What is SED? with examples](https://www.geeksforgeeks.org/sed-command-in-linux-unix-with-examples/) +- [Detailed Manual](https://www.gnu.org/software/sed/manual/sed.html) +- [Linux Crash Course - The sed Command](https://www.youtube.com/watch?v=nXLnx8ncZyE&t=218s) + +The `grep` command (**g**lobal search for **r**egular **e**xpression and **p**rint out) searches file(s) for a particular pattern of characters, and displays all lines that contain that pattern. It can be used with other commands like `ps` making it more useful. + +- [What is Grep? with examples](https://www.geeksforgeeks.org/grep-command-in-unixlinux/) +- [Detailed Manual](https://www.gnu.org/software/grep/manual/grep.html) +- [Linux Crash Course - The grep Command](https://www.youtube.com/watch?v=Tc_jntovCM0) + +`sort` command is used to sort the contents of a file in a particular order. By default, it sorts a file assuming the contents are in ASCII. But it also can also be used to sort numerically by using appropriate options. + +- [Sort command with examples](https://www.geeksforgeeks.org/sort-command-linuxunix-examples/) +- [Options]() +- [Linux Tutorials|sort command GeeksforGeeks](https://www.youtube.com/watch?v=fEx5rnbDKO4) + +The cut utility cuts out selected portions of each line (as specified by list) from each file and writes them to the standard output. + +- [cut Documentation](https://man7.org/linux/man-pages/man1/cut.1.html) +- [cut Cheat Sheet](https://bencane.com/2012/10/22/cheat-sheet-cutting-text-with-cut/) + +The uniq utility reads the specified input_file comparing adjacent lines, and writes a copy of each unique input line to the output_file. + +- [uniq Documentation](https://man7.org/linux/man-pages/man1/uniq.1.html) +- [uniq Cheat Sheet](https://www.geeksforgeeks.org/uniq-command-in-linux-with-examples/) + +`cat` (concatenate) command is very frequently used in Linux. It reads data from the file and gives its content as output. It helps us to create, view, and concatenate files. + +- [Cat Command with examples](https://www.tecmint.com/13-basic-cat-command-examples-in-linux/) +- [Options]() +- [Linux Tutorials|cat command|GeeksforGeeks](https://www.youtube.com/watch?v=exj5WMUJ11g) + +`echo` is a built-in command in Linux used to display lines of text/string that are passed as an argument. It is mostly used in shell scripts and batch files to output status text or `ENV` variables to the screen or a file. + +- [Echo command with Examples](https://www.tecmint.com/echo-command-in-linux/) +- [Linux Crash Course - The echo Command](https://www.youtube.com/watch?v=S_ySzMHxMjw) + +`fmt` command is for formatting and optimizing contents in text files. It will be really useful when it comes to beautify large text files by setting uniform column width and spaces. + +- [Fmt command with Examples](https://www.devopsroles.com/fmt-command-in-linux-with-example/) + +The tr utility copies the standard input to the standard output with substitution or deletion of selected characters. + +- [tr Documentation](https://linuxcommand.org/lc3_man_pages/tr1.html) +- [tr Cheat Sheet](https://linuxopsys.com/topics/tr-command-in-linux) + +The nl utility reads lines from the named file or the standard input if the file argument is omitted, applies a configurable line numbering filter operation and writes the result to the standard output. + +- [nl Documentation](https://man7.org/linux/man-pages/man1/nl.1.html) +- [nl Cheat Sheet](https://www.geeksforgeeks.org/nl-command-in-linux-with-examples/) + +The wc utility displays the number of lines, words, and bytes contained in each input file, or standard input (if no file is specified) to the standard output. + +- [wc Documentation](https://linux.die.net/man/1/wc) +- [wc Cheat Sheet](https://onecompiler.com/cheatsheets/wc) diff --git a/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/index.md b/src/data/roadmaps/devops/content/102-live-in-terminal/index.md similarity index 100% rename from src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/index.md rename to src/data/roadmaps/devops/content/102-live-in-terminal/index.md diff --git a/src/data/roadmaps/devops/content/102-live-in-terminal/scripting/100-bash-scripting.md b/src/data/roadmaps/devops/content/102-live-in-terminal/scripting/100-bash-scripting.md new file mode 100644 index 000000000..231792959 --- /dev/null +++ b/src/data/roadmaps/devops/content/102-live-in-terminal/scripting/100-bash-scripting.md @@ -0,0 +1 @@ +# Bash scripting \ No newline at end of file diff --git a/src/data/roadmaps/devops/content/102-live-in-terminal/scripting/101-powershell.md b/src/data/roadmaps/devops/content/102-live-in-terminal/scripting/101-powershell.md new file mode 100644 index 000000000..977fd3c69 --- /dev/null +++ b/src/data/roadmaps/devops/content/102-live-in-terminal/scripting/101-powershell.md @@ -0,0 +1 @@ +# Powershell \ No newline at end of file diff --git a/src/data/roadmaps/devops/content/102-live-in-terminal/scripting/index.md b/src/data/roadmaps/devops/content/102-live-in-terminal/scripting/index.md new file mode 100644 index 000000000..f3f3b5323 --- /dev/null +++ b/src/data/roadmaps/devops/content/102-live-in-terminal/scripting/index.md @@ -0,0 +1 @@ +# Scripting \ No newline at end of file diff --git a/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/100-screen-multiplexer.md b/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/100-screen-multiplexer.md deleted file mode 100644 index a05f20f29..000000000 --- a/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/100-screen-multiplexer.md +++ /dev/null @@ -1,10 +0,0 @@ -# Screen - -Screen is a full-screen window manager that multiplexes a physical terminal between several processes (typically interactive shells). Each virtual terminal provides the functions of a DEC VT100 terminal and, in addition, several control functions from the ISO 6429 (ECMA 48, ANSI X3.64) and ISO 2022 standards (e.g. insert/delete line and support for multiple character sets). There is a scrollback history buffer for each virtual terminal and a copy-and-paste mechanism that allows moving text regions between windows. - -See `man screen` or `screen -h` for further information - -Visit the following resources to learn more: - -- [Screen Cheat Sheet](https://kapeli.com/cheat_sheets/screen.docset/Contents/Resources/Documents/index) -- [Screen Users Manual](https://www.gnu.org/software/screen/manual/screen.html) diff --git a/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/100-terminal-multiplexers.md b/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/100-terminal-multiplexers.md deleted file mode 100644 index 1fedb6375..000000000 --- a/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/100-terminal-multiplexers.md +++ /dev/null @@ -1,8 +0,0 @@ -# Terminal multiplexers - -Terminal multiplexers are programs that allow us to [multiplex](https://en.wikipedia.org/wiki/Multiplexing) a terminal into several sub-processes or terminals inside a single terminal session, this means that we can have multiple open sessions using a single login session to a local or remote machine. - -Visit the following resources to learn more: - -- [Terminal Multiplexer](https://en.wikipedia.org/wiki/Terminal_multiplexer) -- [Terminal Multiplexers](https://linuxcommand.org/lc3_adv_termmux.php) diff --git a/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/101-tmux-multiplexer.md b/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/101-tmux-multiplexer.md deleted file mode 100644 index 73266ba83..000000000 --- a/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/101-tmux-multiplexer.md +++ /dev/null @@ -1,12 +0,0 @@ -# Tmux - -Tmux is a terminal multiplexer: it enables a number of terminals to be created, accessed, and controlled from a single screen. Tmux may be detached from a screen and continue running in the background, then later reattached. - -When tmux is started it creates a new session with a single window and displays it on screen. A status line at the bottom of the screen shows information on the current session and is used to enter interactive commands. - -See `man tmux` further information - -Visit the following resources to learn more: - -- [Tmux Documentation](https://tmuxguide.readthedocs.io/en/latest/tmux/tmux.html) -- [Tmux Cheat Sheet](https://tmuxcheatsheet.com/) diff --git a/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/102-ps.md b/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/102-ps.md deleted file mode 100644 index 1ff624f75..000000000 --- a/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/102-ps.md +++ /dev/null @@ -1,11 +0,0 @@ -# ps - process status - -The ps utility displays a header line, followed by lines containing information about all of your processes that have controlling terminals. - -See `man ps` further information - -Visit the following resources to learn more: - -- [ps Documentation](https://man7.org/linux/man-pages/man1/ps.1.html) -- [ps Cheat Sheet](https://www.sysadmin.md/ps-cheatsheet.html) -- [Linux Crash Course - The ps Command](https://www.youtube.com/watch?v=wYwGNgsfN3I) diff --git a/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/102-top.md b/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/102-top.md deleted file mode 100644 index 1803e8e4a..000000000 --- a/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/102-top.md +++ /dev/null @@ -1,10 +0,0 @@ -# top - -The top program periodically displays a sorted list of system processes. The default sorting key is pid, but other keys can be used instead. Various output options are available. - -See `man top` further information. - -Visit the following resources to learn more: - -- [top Documentation](https://man7.org/linux/man-pages/man1/top.1.html) -- [top Cheat Sheet](https://gist.github.com/ericandrewlewis/4983670c508b2f6b181703df43438c37) diff --git a/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/103-htop.md b/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/103-htop.md deleted file mode 100644 index b95cf5da7..000000000 --- a/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/103-htop.md +++ /dev/null @@ -1,8 +0,0 @@ -# htop - -htop is a cross-platform ncurses-based process. It is similar to top, but allows you to scroll vertically and horizontally, and interact using a pointing device (mouse). You can observe all processes running on the system, along with their command line arguments, as well as view them in a tree format, select multiple processes and act on them all at once. - -Visit the following resources to learn more: - -- [htop Documentation](https://www.man7.org/linux/man-pages/man1/htop.1.html) -- [htop Cheat Sheet](https://www.maketecheasier.com/power-user-guide-htop/) diff --git a/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/104-atop.md b/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/104-atop.md deleted file mode 100644 index e4df181b3..000000000 --- a/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/104-atop.md +++ /dev/null @@ -1,8 +0,0 @@ -# atop - -The program atop is an interactive monitor to view the load on a Linux system. It shows the occupation of the most critical hardware resources (from a performance point of view) on system level, i.e. cpu, memory, disk and network. - -Visit the following resources to learn more: - -- [atop Documentation](https://linux.die.net/man/1/atop) -- [atop Command Guide](https://www.digitalocean.com/community/tutorials/atop-command-in-linux) diff --git a/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/104-bash-scripting.md b/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/104-bash-scripting.md deleted file mode 100644 index 184045e5c..000000000 --- a/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/104-bash-scripting.md +++ /dev/null @@ -1,19 +0,0 @@ -# Bash scripting - -Bash is a command-line interface shell program used extensively in Linux and macOS. The name Bash is an acronym for "Bourne Again Shell," developed in 1989 as a successor to the Bourne Shell. - -"What's a shell?" you ask? A shell is a computer program that allows you to directly control a computer's operating system (OS) with a graphical user interface (GUI) or command-line interface (CLI). - -You actually use GUI shells all the time. For example, Windows 10 is based on the Windows shell that allows you to control your OS with a desktop, taskbar, and menus. - -With a CLI shell like Bash, you type commands into the program to directly control your computer's OS. Opening up the terminal on your Mac or command line in Linux will look similar to consoles and integrated development environments (IDEs) for other programming languages such as R, Ruby, or Python. You can type commands directly in the command line or run Bash scripts to perform longer and more complex tasks. - -Visit the following resources to learn more: - -- [The Shell Scripting Tutorial](https://www.shellscript.sh/) -- [Writing Shell Scripts](https://linuxcommand.org/lc3_writing_shell_scripts.php) -- [Shell Scripting for Beginners](https://www.freecodecamp.org/news/shell-scripting-crash-course-how-to-write-bash-scripts-in-linux/) -- [A guide to Bash](https://www.gnu.org/savannah-checkouts/gnu/bash/manual/bash.html) -- [The Bash Hackers Wiki](https://wiki.bash-hackers.org/) -- [Bash Shell Scripting Guide](https://rudrakshi.hashnode.dev/bash-shell-scripting-guide) -- [Codecademy - Learn Bash Scripting](https://www.codecademy.com/learn/bash-scripting) diff --git a/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/105-lsof.md b/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/105-lsof.md deleted file mode 100644 index 31c241986..000000000 --- a/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/105-lsof.md +++ /dev/null @@ -1,10 +0,0 @@ -# lsof - -Lsof lists on its standard output file information about files opened by processes. - -See `man lsof` or `lsof --help` for further information. - -Visit the following resources to learn more: - -- [lsof Cheat Sheet](https://neverendingsecurity.wordpress.com/2015/04/13/lsof-commands-cheatsheet/) -- [lsof Documentation](https://man7.org/linux/man-pages/man8/lsof.8.html) diff --git a/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/106-compiling-apps.md b/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/106-compiling-apps.md deleted file mode 100644 index 19fb27044..000000000 --- a/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/106-compiling-apps.md +++ /dev/null @@ -1,21 +0,0 @@ -# Compiling Apps - -# gcc - -The GNU Compiler Collection (GCC) is a compiler system produced by the GNU Project supporting various programming languages also known as GCC. GCC is a key component of the GNU tool chain and the standard compiler for most Unix-like operating systems. Compiler Collection is a set of compilers and development tools available for Linux and an array of other operating systems. It includes support primarily for C and C++. It provides all of the infrastructure for building software in those languages from source code to assembly. - -"What is GCC used for?" GCC is a toolchain that compiles code, links it with any library dependencies, converts that code to assembly, and then prepares executable files.It is responsible for the conversion of the “high level” source code in the respective language and ensuring that it is semantically valid, performing well formed optimizations, and converting it to assembly code (which is then handed off to the assembler). - -Visit the following resources to learn more: - -- [Intro to GCC](https://courses.cs.washington.edu/courses/cse451/99wi/Section/gccintro.html) -- [GCC Linux](https://www.javatpoint.com/gcc-linux) -- [GCC Commands](https://www.geeksforgeeks.org/gcc-command-in-linux-with-examples/) -- [Makefile Tutorial](https://makefiletutorial.com) -- [Documentation for make](https://www.gnu.org/software/make/manual/) -- [Using Make and writing Makefiles](https://www.cs.swarthmore.edu/~newhall/unixhelp/howto_makefiles.html) -- [Sbt Documentation](https://www.scala-sbt.org/1.x/docs/) -- [Sbt By Example](https://www.scala-sbt.org/1.x/docs/sbt-by-example.html) -- [Gradle Tutorial](https://www.tutorialspoint.com/gradle/index.htm) -- [Gradle for absolute beginners](https://tomgregory.com/gradle-tutorial-for-complete-beginners/) -- [Gradle Guides](https://gradle.org/guides/) diff --git a/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/106-nmon.md b/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/106-nmon.md deleted file mode 100644 index 9dada81b0..000000000 --- a/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/106-nmon.md +++ /dev/null @@ -1,8 +0,0 @@ -# Nmon - -Nmon is a fully interactive performance monitoring command-line utility tool for Linux. It is a benchmark tool that displays performance about the cpu, memory, network, disks, file system, nfs, top processes, resources, and power micro-partition. - -Visit the following resources to learn more: - -- [nmon Documentation](https://www.ibm.com/docs/en/aix/7.2?topic=n-nmon-command) -- [nmon Command Guide](https://www.geeksforgeeks.org/linux-nmon/) diff --git a/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/107-iostat.md b/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/107-iostat.md deleted file mode 100644 index 40b79a43b..000000000 --- a/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/107-iostat.md +++ /dev/null @@ -1,8 +0,0 @@ -# Iostat - -The iostat command in Linux is used for monitoring system input/output statistics for devices and partitions. It monitors system input/output by observing the time the devices are active in relation to their average transfer rates. The iostat produce reports may be used to change the system configuration to raised balance the input/output between the physical disks. - -Visit the following resources to learn more: - -- [iostat Documentation](https://man7.org/linux/man-pages/man1/iostat.1.html) -- [iostat Command Guide](https://www.geeksforgeeks.org/iostat-command-in-linux-with-examples/) diff --git a/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/108-sar.md b/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/108-sar.md deleted file mode 100644 index 1c110938f..000000000 --- a/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/108-sar.md +++ /dev/null @@ -1,10 +0,0 @@ -# Sar - -Short for **S**ystem **A**ctivity **R**eport, it is a command line tool for Unix and Unix-like operating systems that shows a report of different information about the usage and activity of resources in the operating system. - -Visit the following resources to learn more: - -- [SAR command in Linux to monitor system performance](https://www.geeksforgeeks.org/sar-command-linux-monitor-system-performance/) -- [SAR Man Page](https://man7.org/linux/man-pages/man1/sar.1.html) -- [SAR Man Page 2](https://linux.die.net/man/1/sar) -- [Sar tutorial for beginners](https://linuxhint.com/sar_linux_tutorial/) diff --git a/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/109-vmstat.md b/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/109-vmstat.md deleted file mode 100644 index e8f6fd18e..000000000 --- a/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/109-vmstat.md +++ /dev/null @@ -1,10 +0,0 @@ -# Vmstat - -Short for **V**irtual **m**emory **stat**istic reporter, it is a command line tool for Unix and Unix-like operating systems that reports various information about the operating system such as memory, paging, processes, I/O, CPU and disk usage. - -Visit the following resources to learn more: - -- [vmstat command in Linux with Examples](https://www.geeksforgeeks.org/vmstat-command-in-linux-with-examples/) -- [Linux commands: exploring virtual memory with vmstat](https://www.redhat.com/sysadmin/linux-commands-vmstat) -- [VMstat Man Page](https://man7.org/linux/man-pages/man8/vmstat.8.html) -- [vmstat tutorial](https://phoenixnap.com/kb/vmstat-command) diff --git a/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/110-traceroute.md b/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/110-traceroute.md deleted file mode 100644 index fcc8540d3..000000000 --- a/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/110-traceroute.md +++ /dev/null @@ -1,10 +0,0 @@ -# Traceroute - -`traceroute` command is a command in Linux that prints the route a network packet takes from its source (e.g. your computer) to the destination host (e.g., roadmap.sh). It is quite valuable in investigating slow network connections as it can help us spot the slow leg of the network packet journey through the internet. - -It has the following syntax: `$ traceroute [OPTIONS] DESTINATION` e.g. `$ traceroute roadmap.sh` - -Visit the following resources to learn more: - -- [How to Run Traceroute in Linux](https://linuxhint.com/run_traceroute_linux/) -- [Traceroute command in Linux with examples](https://www.geeksforgeeks.org/traceroute-command-in-linux-with-examples/) diff --git a/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/111-mtr.md b/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/111-mtr.md deleted file mode 100644 index 553644ae1..000000000 --- a/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/111-mtr.md +++ /dev/null @@ -1,11 +0,0 @@ -# mtr - -`mtr` combines the functionality of the traceroute and ping programs in a single network diagnostic tool. - -As `mtr` starts, it investigates the network connection between the host `mtr` runs on and `HOSTNAME` by sending packets with purposely low TTLs. It continues sending packets with low TTL, noting the response time of the intervening routers. This allows `mtr` to print the internet route's response percentage and response times to HOSTNAME. A sudden packet loss or response time increase often indicates a bad (or simply overloaded) link. - -Visit the following resources to learn more: - -- [Javatpoint: Linux mtr Command](https://www.javatpoint.com/linux-mtr) -- [mtr Linux command](https://www.tutorialspoint.com/unix_commands/mtr.htm) -- [How to traceroute use mtr command in Linux](https://www.devopsroles.com/how-to-traceroute-use-mtr-command-in-linux/) diff --git a/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/112-ping.md b/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/112-ping.md deleted file mode 100644 index a7d76f177..000000000 --- a/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/112-ping.md +++ /dev/null @@ -1,10 +0,0 @@ -# ping - -`ping` (**P**acket **In**ternet **G**roper) command is used to check the network connectivity between host and server/host. This command takes as input the IP address or the URL and sends a data packet to the specified address with the message “PING” and get a response from the server/host this time is recorded which is called latency. - -It has the following syntax: `$ ping [OPTIONS] DESTINATION` e.g. `$ ping roadmap.sh` - -Visit the following resources to learn more: - -- [What is ping command?](https://linuxize.com/post/linux-ping-command/) -- [ping command with examples](https://www.geeksforgeeks.org/ping-command-in-linux-with-examples/) diff --git a/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/113-nmap.md b/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/113-nmap.md deleted file mode 100644 index 8a66ae147..000000000 --- a/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/113-nmap.md +++ /dev/null @@ -1,8 +0,0 @@ -# NMAP - -NMAP stands for Network Mapper and is an open-source tool used to explore and audit the network's security, such as checking firewalls and scanning ports. - -Visit the following resources to learn more: - -- [NMAP Official Manual Book](https://nmap.org/book/man.html) -- [What is Nmap and How to Use it](https://www.freecodecamp.org/news/what-is-nmap-and-how-to-use-it-a-tutorial-for-the-greatest-scanning-tool-of-all-time/) diff --git a/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/114-netstat.md b/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/114-netstat.md deleted file mode 100644 index 07833f673..000000000 --- a/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/114-netstat.md +++ /dev/null @@ -1,10 +0,0 @@ -# netstat - -Netstat is a command line utility to display all the network connections on a system. It displays all the tcp, udp and unix socket connections. Apart from connected sockets it also displays listening sockets that are waiting for incoming connections. - -Visit the following resources to learn more: - -- [netstat command in Linux with Examples](https://www.tutorialspoint.com/unix_commands/netstat.htm) -- [Netstat Tutorial](http://www.c-jump.com/CIS24/Slides/Networking/html_utils/netstat.html) -- [Netstat Commands - Network Administration Tutorial](https://www.youtube.com/watch?v=bxFwpm4IobU) -- [Linux Command Line Tutorial For Beginners - netstat command](https://www.youtube.com/watch?v=zGNcvBaN5wE) diff --git a/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/116-tcpdump.md b/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/116-tcpdump.md deleted file mode 100644 index 7c2c0e023..000000000 --- a/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/116-tcpdump.md +++ /dev/null @@ -1,10 +0,0 @@ -# Tcpdump - -`tcpdump` is a command line tool used for analysing network traffic passing through your system. It can be used to capture and filter packets and display them in a human-readable format. The captured information can be analysed at a later date as well. - -Visit the following resources to learn more: - -- [tcpdump Documentation](https://www.tcpdump.org/manpages/tcpdump.1.html) -- [Basic Introduction to Tcpdump](https://opensource.com/article/18/10/introduction-tcpdump) -- [50 ways to isolate traffic with Tcpdump](https://danielmiessler.com/study/tcpdump/) -- [Interpreting Tcpdump output and data](https://www.youtube.com/watch?v=7bsQP9sKHrs) diff --git a/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/118-iptables.md b/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/118-iptables.md deleted file mode 100644 index 342502ded..000000000 --- a/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/118-iptables.md +++ /dev/null @@ -1,8 +0,0 @@ -# Iptables - -IPtables is a command-line firewall utility that uses policy chains to allow or block traffic that will be enforced by the linux kernel’s netfilter framework. Iptables packet filtering mechanism is organized into three different kinds of structures: tables, chains and targets. - -Visit the following resources to learn more: - -- [Iptables tutorial](https://www.hostinger.in/tutorials/iptables-tutorial) -- [Beginners to Advanced Guide Iptables](https://erravindrapawadia.medium.com/iptables-tutorial-beginners-to-advanced-guide-to-linux-firewall-839e10501759) diff --git a/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/119-dig.md b/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/119-dig.md deleted file mode 100644 index 77f786b68..000000000 --- a/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/119-dig.md +++ /dev/null @@ -1,13 +0,0 @@ -# dig - -`dig` command stands for **D**omain **I**nformation **G**roper. It is used for retrieving information about DNS name servers. It is mostly used by network administrators for verifying and troubleshooting DNS problems and to perform DNS lookups. It replaces older tools such as `nslookup` and the `host`. - -It has the following syntax: `$ dig [server] [name] [type]` e.g. `$ dig roadmap.sh` - -Visit the following resources to learn more: - -- [What is dig command?](https://www.geeksforgeeks.org/dig-command-in-linux-with-examples/) -- [More on dig](https://linuxize.com/post/how-to-use-dig-command-to-query-dns-in-linux/) -- [What is host command?](https://www.geeksforgeeks.org/host-command-in-linux-with-examples/) -- [What is nslookup command?](https://www.geeksforgeeks.org/nslookup-command-in-linux-with-examples/) -- [What is DNS?](https://www.cloudflare.com/en-gb/learning/dns/what-is-dns/) diff --git a/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/120-awk.md b/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/120-awk.md deleted file mode 100644 index fec57172e..000000000 --- a/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/120-awk.md +++ /dev/null @@ -1,13 +0,0 @@ -# awk - -`awk` is a general-purpose scripting language used for manipulating data or text and generating reports in the Linux world. It is mostly used for pattern scanning and processing. It searches one or more files to see if they contain lines that match the specified patterns and then performs the associated actions. - -It has the below syntax: - -`awk options 'selection_criteria {action}' input-file > output-file` e.g. `$ awk '{print}' file.txt` - -Visit the following resources to learn more: - -- [What is AWK? How to use it?](https://www.geeksforgeeks.org/awk-command-unixlinux-examples/) -- [How AWK works?](https://linuxize.com/post/awk-command/) -- [Linux Crash Course - awk](https://www.youtube.com/watch?v=oPEnvuj9QrI) diff --git a/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/121-sed.md b/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/121-sed.md deleted file mode 100644 index bde7edf33..000000000 --- a/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/121-sed.md +++ /dev/null @@ -1,13 +0,0 @@ -# sed - -`sed`(**S**tream **Ed**itor) command in UNIX can perform lots of functions on file like searching, finding and replacing, insertion or deletion. By using SED you can edit files even without opening them in editors like [VI Editor](https://www.redhat.com/sysadmin/introduction-vi-editor). - -It has the following syntax: - -`$ sed [options].. [script] [input-file]` e.g. `$ sed 's/search-regex/replacement-txt/g' file.txt` - -Visit the following resources to learn more: - -- [What is SED? with examples](https://www.geeksforgeeks.org/sed-command-in-linux-unix-with-examples/) -- [Detailed Manual](https://www.gnu.org/software/sed/manual/sed.html) -- [Linux Crash Course - The sed Command](https://www.youtube.com/watch?v=nXLnx8ncZyE&t=218s) diff --git a/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/122-grep.md b/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/122-grep.md deleted file mode 100644 index 20d3291cc..000000000 --- a/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/122-grep.md +++ /dev/null @@ -1,13 +0,0 @@ -# grep - -The `grep` command (**g**lobal search for **r**egular **e**xpression and **p**rint out) searches file(s) for a particular pattern of characters, and displays all lines that contain that pattern. It can be used with other commands like `ps` making it more useful. - -It has the following syntax: - -`$ grep [options] pattern [files]` e.g. `$ grep "search-regex" file-1.txt` - -Visit the following resources to learn more: - -- [What is Grep? with examples](https://www.geeksforgeeks.org/grep-command-in-unixlinux/) -- [Detailed Manual](https://www.gnu.org/software/grep/manual/grep.html) -- [Linux Crash Course - The grep Command](https://www.youtube.com/watch?v=Tc_jntovCM0) diff --git a/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/123-sort.md b/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/123-sort.md deleted file mode 100644 index cec49507f..000000000 --- a/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/123-sort.md +++ /dev/null @@ -1,13 +0,0 @@ -# sort - -`sort` command is used to sort the contents of a file in a particular order. By default, it sorts a file assuming the contents are in ASCII. But it also can also be used to sort numerically by using appropriate options. - -It has the following syntax - -`$ sort [options].. input-file` e.g. `$ sort file.txt` - -Visit the following resources to learn more: - -- [Sort command with examples](https://www.geeksforgeeks.org/sort-command-linuxunix-examples/) -- [Options]() -- [Linux Tutorials|sort command GeeksforGeeks](https://www.youtube.com/watch?v=fEx5rnbDKO4) diff --git a/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/124-cut.md b/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/124-cut.md deleted file mode 100644 index b3fe36dd9..000000000 --- a/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/124-cut.md +++ /dev/null @@ -1,10 +0,0 @@ -# cut - -The cut utility cuts out selected portions of each line (as specified by list) from each file and writes them to the standard output. - -See `man cut` for further information. - -Visit the following resources to learn more: - -- [cut Documentation](https://man7.org/linux/man-pages/man1/cut.1.html) -- [cut Cheat Sheet](https://bencane.com/2012/10/22/cheat-sheet-cutting-text-with-cut/) diff --git a/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/125-uniq.md b/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/125-uniq.md deleted file mode 100644 index a912c0ec3..000000000 --- a/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/125-uniq.md +++ /dev/null @@ -1,10 +0,0 @@ -# uniq - -The uniq utility reads the specified input_file comparing adjacent lines, and writes a copy of each unique input line to the output_file. - -See `man uniq` for further information. - -Visit the following resources to learn more: - -- [uniq Documentation](https://man7.org/linux/man-pages/man1/uniq.1.html) -- [uniq Cheat Sheet](https://www.geeksforgeeks.org/uniq-command-in-linux-with-examples/) diff --git a/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/126-cat.md b/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/126-cat.md deleted file mode 100644 index 36d928d77..000000000 --- a/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/126-cat.md +++ /dev/null @@ -1,17 +0,0 @@ -# cat - -`cat` (concatenate) command is very frequently used in Linux. It reads data from the file and gives its content as output. It helps us to create, view, and concatenate files. - -It has the following syntax: - -- View : `$ cat [option] [input-file]` -- Create : `$ cat [content] > [new-file]` -- Append : `$ cat [append_content] >> [existing-file]` - -e.g. `$ cat file.txt` - -Visit the following resources to learn more: - -- [Cat Command with examples](https://www.tecmint.com/13-basic-cat-command-examples-in-linux/) -- [Options]() -- [Linux Tutorials|cat command|GeeksforGeeks](https://www.youtube.com/watch?v=exj5WMUJ11g) diff --git a/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/127-echo.md b/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/127-echo.md deleted file mode 100644 index f2ab2ec2f..000000000 --- a/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/127-echo.md +++ /dev/null @@ -1,10 +0,0 @@ -# echo - -`echo` is a built-in command in Linux used to display lines of text/string that are passed as an argument. It is mostly used in shell scripts and batch files to output status text or `ENV` variables to the screen or a file. - -It has the following syntax: `$ echo [options] [string]` e.g. `$ echo "Hello World!"` - -Visit the following resources to learn more: - -- [Echo command with Examples](https://www.tecmint.com/echo-command-in-linux/) -- [Linux Crash Course - The echo Command](https://www.youtube.com/watch?v=S_ySzMHxMjw) diff --git a/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/128-fmt.md b/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/128-fmt.md deleted file mode 100644 index a4e06d323..000000000 --- a/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/128-fmt.md +++ /dev/null @@ -1,9 +0,0 @@ -# fmt - -`fmt` command is for formatting and optimizing contents in text files. It will be really useful when it comes to beautify large text files by setting uniform column width and spaces. - -It has the following syntax: `$ fmt [-width] [option] [file]` e.g. `$ fmt file.txt` - -Visit the following resources to learn more: - -- [Fmt command with Examples](https://www.devopsroles.com/fmt-command-in-linux-with-example/) diff --git a/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/129-tr.md b/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/129-tr.md deleted file mode 100644 index 5757e45a7..000000000 --- a/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/129-tr.md +++ /dev/null @@ -1,10 +0,0 @@ -# tr - -The tr utility copies the standard input to the standard output with substitution or deletion of selected characters. - -See `man tr` for further information. - -Visit the following resources to learn more: - -- [tr Documentation](https://linuxcommand.org/lc3_man_pages/tr1.html) -- [tr Cheat Sheet](https://linuxopsys.com/topics/tr-command-in-linux) diff --git a/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/130-nl.md b/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/130-nl.md deleted file mode 100644 index 4caa6bd12..000000000 --- a/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/130-nl.md +++ /dev/null @@ -1,10 +0,0 @@ -# nl - -The nl utility reads lines from the named file or the standard input if the file argument is omitted, applies a configurable line numbering filter operation and writes the result to the standard output. - -See `man nl` for further information. - -Visit the following resources to learn more: - -- [nl Documentation](https://man7.org/linux/man-pages/man1/nl.1.html) -- [nl Cheat Sheet](https://www.geeksforgeeks.org/nl-command-in-linux-with-examples/) diff --git a/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/131-wc.md b/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/131-wc.md deleted file mode 100644 index aba86f683..000000000 --- a/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/131-wc.md +++ /dev/null @@ -1,10 +0,0 @@ -# wc - -The wc utility displays the number of lines, words, and bytes contained in each input file, or standard input (if no file is specified) to the standard output. - -See `man wc` for further information. - -Visit the following resources to learn more: - -- [wc Documentation](https://linux.die.net/man/1/wc) -- [wc Cheat Sheet](https://onecompiler.com/cheatsheets/wc) diff --git a/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/134-strace.md b/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/134-strace.md deleted file mode 100644 index 3a37fd47d..000000000 --- a/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/134-strace.md +++ /dev/null @@ -1,8 +0,0 @@ -# strace - -`strac` is a useful diagnsotic, debugging tool for unix based operating systems. It traces the system calls and signals a process uses during its lifetime. And usually returns the name of the each system calls , its arguments and what it returned. - -Visit the following resources to learn more: - -- [Strace Official Website](https://strace.io/) -- [Strace — Linux manual page](https://man7.org/linux/man-pages/man1/strace.1.html) diff --git a/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/135-dtrace.md b/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/135-dtrace.md deleted file mode 100644 index 40c42444a..000000000 --- a/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/135-dtrace.md +++ /dev/null @@ -1,8 +0,0 @@ -# DTrace - -DTrace is a comprehensive dynamic tracing framework ported from Solaris. DTrace provides a powerful infrastructure that permits administrators, developers, and service personnel to concisely answer arbitrary questions about the behavior of the operating system and user programs. - -Visit the following resources to learn more: - -- [df manual](https://man7.org/linux/man-pages/man1/dtrace.1.html) -- [Wikipedia - DTrace](https://en.wikipedia.org/wiki/DTrace) diff --git a/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/136-systemtap.md b/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/136-systemtap.md deleted file mode 100644 index 301808f08..000000000 --- a/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/136-systemtap.md +++ /dev/null @@ -1 +0,0 @@ -# Systemtap diff --git a/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/137-uname.md b/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/137-uname.md deleted file mode 100644 index fab10ecec..000000000 --- a/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/137-uname.md +++ /dev/null @@ -1,9 +0,0 @@ -# Uname - -Uname is a short form of Unix name and it helps to print the system information for both hardware and software in the current running system. - -Visit the following resources to learn more: - -- [Uname Command Tutorial](https://www.tutorialspoint.com/unix_commands/uname.htm) -- [Uname Tutorial For Beginners](https://www.howtoforge.com/linux-uname-command/) -- [Uname Command In Linux](https://linuxize.com/post/uname-command-in-linux/) diff --git a/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/138-df.md b/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/138-df.md deleted file mode 100644 index b1c096c50..000000000 --- a/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/138-df.md +++ /dev/null @@ -1,9 +0,0 @@ -# df - -`df` is a standard Unix command used to display the amount of available disk space for file systems on which the invoking user has appropriate read access. df is typically implemented using the statfs or statvfs system calls. - -Visit the following resources to learn more: - -- [df manual](https://man7.org/linux/man-pages/man1/df.1.html) -- [Redhat - Check your disk space use with the Linux df command](https://www.redhat.com/sysadmin/Linux-df-command) -- [df command with examples](https://www.geeksforgeeks.org/df-command-linux-examples/) diff --git a/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/139-history.md b/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/139-history.md deleted file mode 100644 index 9a5eb2f97..000000000 --- a/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/139-history.md +++ /dev/null @@ -1,9 +0,0 @@ -# history - -`history` command is used to view the **previously executed command**. Every command executed is treated as the event and is associated with an event number using which they can be recalled and changed if required. These commands are saved in a history file. - -It has the below syntax: `$ history` - -Visit the following resources to learn more: - -- [What is history command? How to recall previous commands?](https://www.geeksforgeeks.org/history-command-in-linux-with-examples/) diff --git a/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/140-du.md b/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/140-du.md deleted file mode 100644 index 9c5c83eae..000000000 --- a/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/140-du.md +++ /dev/null @@ -1,9 +0,0 @@ -# Du - -The `du` utility, short for disk usage, displays the file system block usage for each file argument and for each directory in the file hierarchy rooted in each directory argument. If no file is specified, the block usage of the hierarchy rooted in the current directory is displayed. - -Visit the following resources to learn more: - -- [du manual](https://man7.org/linux/man-pages/man1/du.1.html) -- [Redhat - du and the options you should be using](https://www.redhat.com/sysadmin/du-command-options) -- [Du command with examples](https://linuxhint.com/linux-du-command-examples/) diff --git a/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/141-scp.md b/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/141-scp.md deleted file mode 100644 index e7d6b1d4e..000000000 --- a/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/141-scp.md +++ /dev/null @@ -1,9 +0,0 @@ -# SCP - -`SCP` is an acronym for Secure Copy Protocol.It is a command line utility that allows the user to securely copy files and directories between two locations usually between unix or linux systems.The protocol ensures the transmission of files is encrypted to prevent anyone with suspicious intentions from getting sensitive information.`SCP` uses encryption over an `SSH` (Secure Shell) connection, this ensures that the data being transferred is protected from suspicious attacks. - -Visit the following resources to learn more: - -- [SCP Linux Command](https://www.freecodecamp.org/news/scp-linux-command-example-how-to-ssh-file-transfer-from-remote-to-local/) -- [10 SCP command examples](https://www.tecmint.com/scp-commands-examples/) -- [SCP command explained](https://phoenixnap.com/kb/linux-scp-command) diff --git a/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/142-ufw.md b/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/142-ufw.md deleted file mode 100644 index 096b8d91e..000000000 --- a/src/data/roadmaps/devops/content/102-managing-servers/101-live-in-terminal/142-ufw.md +++ /dev/null @@ -1,9 +0,0 @@ -# UFW - -UFW, or _uncomplicated firewall_, is command-line based utility for managing firewall rules in Arch Linux, Debian and Ubuntu. It's aim is to make firewall configuration as simple as possible. It is a frontend for the `iptables` firewalling tool. - -Visit the following resources to learn more: - -- [ufw Documentation](https://manpages.ubuntu.com/manpages/trusty/man8/ufw.8.html) -- [Basic Introduction to UFW](https://www.linux.com/training-tutorials/introduction-uncomplicated-firewall-ufw/) -- [UFW Essentials](https://www.digitalocean.com/community/tutorials/ufw-essentials-common-firewall-rules-and-commands) diff --git a/src/data/roadmaps/devops/content/102-managing-servers/index.md b/src/data/roadmaps/devops/content/102-managing-servers/index.md deleted file mode 100644 index 66d9e483c..000000000 --- a/src/data/roadmaps/devops/content/102-managing-servers/index.md +++ /dev/null @@ -1,7 +0,0 @@ -# Managing Servers - -Server management includes all of the monitoring and maintenance required for servers to operate reliably and at optimal performance levels. Server management also involves the management of hardware, software, security, and backups all in service of keeping the IT environment operational and efficient. The primary goals of an effective server management strategy are to: - -- Minimize server slowdowns and downtime while maximizing reliability. -- Build secure server environments. -- Scale servers and related operations to meet the needs of the organization over time. diff --git a/src/data/roadmaps/devops/content/103-networking-protocols/107-port-forwarding.md b/src/data/roadmaps/devops/content/103-networking-protocols/107-port-forwarding.md deleted file mode 100644 index 411430f27..000000000 --- a/src/data/roadmaps/devops/content/103-networking-protocols/107-port-forwarding.md +++ /dev/null @@ -1,8 +0,0 @@ -# Port Forwarding - -Port forwarding, sometimes called **port mapping**, allows computers or services in private networks to connect over the internet with other public or private computers or services. Since firewalls exist to keep unwanted visitors out, the visitors you want to get in are going to need a way to do so. Knowing the IP address isn’t enough, Requests need to be directed to the correct port as well. - -Visit the following resources to learn more: - -- [What is Port Forwarding?](https://learn.g2.com/port-forwarding) -- [Types of Port Forwarding](https://cybernews.com/what-is-vpn/port-forwarding/) diff --git a/src/data/roadmaps/devops/content/103-version-control-systems/100-git.md b/src/data/roadmaps/devops/content/103-version-control-systems/100-git.md new file mode 100644 index 000000000..eb35be86b --- /dev/null +++ b/src/data/roadmaps/devops/content/103-version-control-systems/100-git.md @@ -0,0 +1,9 @@ +# Git + +[Git](https://git-scm.com/) is a free and open source distributed version control system designed to handle everything from small to very large projects with speed and efficiency. + +Visit the following resources to learn more: + +- [Git & GitHub Crash Course For Beginners](https://www.youtube.com/watch?v=SWYqp7iY_Tc) +- [Learn Git with Tutorials, News and Tips - Atlassian](https://www.atlassian.com/git) +- [Git Cheat Sheet](https://cs.fyi/guide/git-cheatsheet) diff --git a/src/data/roadmaps/devops/content/103-version-control-systems/index.md b/src/data/roadmaps/devops/content/103-version-control-systems/index.md new file mode 100644 index 000000000..aacbc4656 --- /dev/null +++ b/src/data/roadmaps/devops/content/103-version-control-systems/index.md @@ -0,0 +1,8 @@ +# Version Control Systems + +Version control/source control systems allow developers to track and control changes to code over time. These services often include the ability to make atomic revisions to code, branch/fork off of specific points, and to compare versions of code. They are useful in determining the who, what, when, and why code changes were made. + +Visit the following resources to learn more: + +- [Git](https://git-scm.com/) +- [What is Version Control?](https://www.atlassian.com/git/tutorials/what-is-version-control) diff --git a/src/data/roadmaps/devops/content/104-vcs-hosting/100-github.md b/src/data/roadmaps/devops/content/104-vcs-hosting/100-github.md new file mode 100644 index 000000000..25068b826 --- /dev/null +++ b/src/data/roadmaps/devops/content/104-vcs-hosting/100-github.md @@ -0,0 +1,13 @@ +# GitHub + +GitHub is a provider of Internet hosting for software development and version control using Git. It offers the distributed version control and source code management functionality of Git, plus its own features. + +Visit the following resources to learn more: + +- [GitHub Website](https://github.com) +- [GitHub Documentation](https://docs.github.com/en/get-started/quickstart) +- [How to Use Git in a Professional Dev Team](https://ooloo.io/project/github-flow) +- [What is GitHub?](https://www.youtube.com/watch?v=w3jLJU7DT5E) +- [Git vs. GitHub: Whats the difference?](https://www.youtube.com/watch?v=wpISo9TNjfU) +- [Git and GitHub for Beginners](https://www.youtube.com/watch?v=RGOj5yH7evk) +- [Git and GitHub - CS50 Beyond 2019](https://www.youtube.com/watch?v=eulnSXkhE7I) diff --git a/src/data/roadmaps/devops/content/104-vcs-hosting/101-gitlab.md b/src/data/roadmaps/devops/content/104-vcs-hosting/101-gitlab.md new file mode 100644 index 000000000..2421d64b6 --- /dev/null +++ b/src/data/roadmaps/devops/content/104-vcs-hosting/101-gitlab.md @@ -0,0 +1,8 @@ +# GitLab + +GitLab is a provider of internet hosting for software development and version control using Git. It offers the distributed version control and source code management functionality of Git, plus its own features. + +Visit the following resources to learn more: + +- [GitLab Website](https://gitlab.com/) +- [GitLab Documentation](https://docs.gitlab.com/) diff --git a/src/data/roadmaps/devops/content/104-vcs-hosting/102-bitbucket.md b/src/data/roadmaps/devops/content/104-vcs-hosting/102-bitbucket.md new file mode 100644 index 000000000..61d7a2118 --- /dev/null +++ b/src/data/roadmaps/devops/content/104-vcs-hosting/102-bitbucket.md @@ -0,0 +1,14 @@ +# Bitbucket + +Bitbucket is a Git based hosting and source code repository service that is Atlassian's alternative to other products like GitHub, GitLab etc + +Bitbucket offers hosting options via Bitbucket Cloud (Atlassian's servers), Bitbucket Server (customer's on-premise) or Bitbucket Data Centre (number of servers in customers on-premise or cloud environment) + +Visit the following resources to learn more: + +- [Bitbucket Website](https://bitbucket.org/product) +- [A brief overview of Bitbucket](https://bitbucket.org/product/guides/getting-started/overview#a-brief-overview-of-bitbucket) +- [Getting started with Bitbucket](https://bitbucket.org/product/guides/basics/bitbucket-interface) +- [Using Git with Bitbucket Cloud](https://www.atlassian.com/git/tutorials/learn-git-with-bitbucket-cloud) +- [Bitbucket tutorial | How to use Bitbucket Cloud](https://www.youtube.com/watch?v=M44nEyd_5To) +- [Bitbucket Tutorial | Bitbucket for Beginners](https://www.youtube.com/watch?v=i5T-DB8tb4A) diff --git a/src/data/roadmaps/devops/content/104-vcs-hosting/index.md b/src/data/roadmaps/devops/content/104-vcs-hosting/index.md new file mode 100644 index 000000000..1878fee65 --- /dev/null +++ b/src/data/roadmaps/devops/content/104-vcs-hosting/index.md @@ -0,0 +1,10 @@ +# Repo Hosting Services + +When working on a team, you often need a remote place to put your code so others can access it, create their own branches, and create or review pull requests. These services often include issue tracking, code review, and continuous integration features. A few popular choices are GitHub, GitLab, BitBucket, and AWS CodeCommit. + +Visit the following resources to learn more: + +- [GitHub](https://github.com/features/) +- [GitLab](https://about.gitlab.com/) +- [BitBucket](https://bitbucket.org/product/guides/getting-started/overview) +- [How to choose the best source code repository](https://bitbucket.org/product/code-repository) diff --git a/src/data/roadmaps/devops/content/105-infrastructure-as-code/100-docker.md b/src/data/roadmaps/devops/content/105-infrastructure-as-code/100-docker.md deleted file mode 100644 index b6327bc2f..000000000 --- a/src/data/roadmaps/devops/content/105-infrastructure-as-code/100-docker.md +++ /dev/null @@ -1,11 +0,0 @@ -# Docker - -Docker is a software platform that allows you to build, test, and deploy applications quickly. Docker packages software into standardized units called containers that have everything the software needs to run including libraries, system tools, code, and runtime. Using Docker, you can quickly deploy and scale applications into any environment and know your code will run. - -Visit the following resources to learn more: - -- [Docker Website](https://www.docker.com/) -- [Docker Documentation](https://docs.docker.com/) -- [Learn Docker | Boot.dev](https://boot.dev/learn/learn-docker) -- [Docker Tutorial for Beginners](https://www.youtube.com/watch?v=pTFZFxd4hOI) -- [Docker Full Course for Beginners](https://www.youtube.com/watch?v=3c-iBn73dDE) diff --git a/src/data/roadmaps/devops/content/105-infrastructure-as-code/102-configuration-management/102-salt.md b/src/data/roadmaps/devops/content/105-infrastructure-as-code/102-configuration-management/102-salt.md deleted file mode 100644 index cb428968d..000000000 --- a/src/data/roadmaps/devops/content/105-infrastructure-as-code/102-configuration-management/102-salt.md +++ /dev/null @@ -1,10 +0,0 @@ -# Salt - -Salt is an open-source event-driven IT automation, remote task execution, and configuration management software service. Built on python, Salt uses simple and human-readable YAML combined with event-driven automation to deploy and configure complex IT systems. - -Visit the following resources to learn more: - -- [Salt Project Website](https://docs.saltproject.io/en/latest/topics/about_salt_project.html) -- [Official Documentation](https://docs.saltproject.io/en/latest/) -- [Introduction to Salt](https://docs.saltproject.io/en/latest/topics/index.html) -- [Salt Installation](https://docs.saltproject.io/en/latest/topics/installation/index.html#installation) diff --git a/src/data/roadmaps/devops/content/105-infrastructure-as-code/104-kubernetes.md b/src/data/roadmaps/devops/content/105-infrastructure-as-code/104-kubernetes.md deleted file mode 100644 index d767eda20..000000000 --- a/src/data/roadmaps/devops/content/105-infrastructure-as-code/104-kubernetes.md +++ /dev/null @@ -1,15 +0,0 @@ -# Kubernetes - -Kubernetes is an [open source](https://github.com/kubernetes/kubernetes) container management platform, and the dominant product in this space. Using Kubernetes, teams can deploy images across multiple underlying hosts, defining their desired availability, deployment logic, and scaling logic in YAML. Kubernetes evolved from Borg, an internal Google platform used to provision and allocate compute resources. (similar to the Autopilot and Aquaman systems of Microsoft Azure) - -The popularity of Kubernetes has made it an increasingly important skill for the DevOps Engineer and has triggered the creation of Platform teams across the industry. These Platform engineering teams often exist with the sole purpose of making Kubernetes approachable and usable for their product development colleagues. - -Visit the following resources to learn more: - -- [Kubernetes Website](https://kubernetes.io/) -- [Kubernetes Documentation](https://kubernetes.io/docs/home/) -- [Kubernetes Crash Course for Absolute Beginners](https://www.youtube.com/watch?v=s_o8dwzRlu4) -- [Primer: How Kubernetes Came to Be, What It Is, and Why You Should Care](https://thenewstack.io/primer-how-kubernetes-came-to-be-what-it-is-and-why-you-should-care/) -- [Kubernetes: An Overview](https://thenewstack.io/kubernetes-an-overview/) -- [Kubernetes Tutorials by Kubernetes](https://kubernetes.io/docs/tutorials/) -- [Fast Kubernetes course with practical labs](https://github.com/omerbsezer/fast-kubernetes) \ No newline at end of file diff --git a/src/data/roadmaps/devops/content/105-infrastructure-as-code/104-nomad.md b/src/data/roadmaps/devops/content/105-infrastructure-as-code/104-nomad.md deleted file mode 100644 index bcd58885c..000000000 --- a/src/data/roadmaps/devops/content/105-infrastructure-as-code/104-nomad.md +++ /dev/null @@ -1,9 +0,0 @@ -# Nomad - -[Nomad](https://github.com/hashicorp/nomad) is a simple and flexible scheduler and orchestrator to deploy and manage containers and non-containerized applications across on-prem and clouds at scale. Nomad runs as a single binary with a small resource footprint and supports a wide range of workloads beyond containers, including Windows, Java, VM, Docker, and more. - -Visit the following resources to learn more: - -- [Nomad Website](https://www.nomadproject.io/) -- [Nomad Documentation](https://www.nomadproject.io/docs) -- [Nomad Tutorials](https://learn.hashicorp.com/nomad) diff --git a/src/data/roadmaps/devops/content/105-infrastructure-as-code/index.md b/src/data/roadmaps/devops/content/105-infrastructure-as-code/index.md deleted file mode 100644 index 138409cfa..000000000 --- a/src/data/roadmaps/devops/content/105-infrastructure-as-code/index.md +++ /dev/null @@ -1,12 +0,0 @@ -# Infrastructure as Code - -Sometimes referred to as IaC, this section refers to the techniques and tools used to define infrastructure, typically in a markup language like YAML or JSON. Infrastructure as code allows DevOps Engineers to use the same workflows used by software developers to version, roll back, and otherwise manage changes. - -The term Infrastructure as Code encompasses everything from bootstrapping to configuration to orchestration, and it is considered a best practice in the industry to manage all infrastructure as code. This technique precipitated the explosion in system complexity seen in modern DevOps organizations. - -Visit the following resources to learn more: - -- [What is Infrastructure as Code?](https://www.youtube.com/watch?v=zWw2wuiKd5o) -- [What is Infrastructure as Code? Difference of Infrastructure as Code Tools](https://www.youtube.com/watch?v=POPP2WTJ8es) -- [GUIs, CLI, APIs: Learn Basic Terms of Infrastructure-as-Code](https://thenewstack.io/guis-cli-apis-learn-basic-terms-of-infrastructure-as-code/) -- [Understanding Infrastructure as Code (IaC) in less than 10 minutes](https://www.novatec-gmbh.de/en/blog/understanding-infrastructure-as-code-iac-in-less-than-10-minutes/) diff --git a/src/data/roadmaps/devops/content/104-setting-up-x/100-reverse-proxy.md b/src/data/roadmaps/devops/content/105-setting-up-x/100-reverse-proxy.md similarity index 100% rename from src/data/roadmaps/devops/content/104-setting-up-x/100-reverse-proxy.md rename to src/data/roadmaps/devops/content/105-setting-up-x/100-reverse-proxy.md diff --git a/src/data/roadmaps/devops/content/104-setting-up-x/101-caching-server.md b/src/data/roadmaps/devops/content/105-setting-up-x/101-caching-server.md similarity index 100% rename from src/data/roadmaps/devops/content/104-setting-up-x/101-caching-server.md rename to src/data/roadmaps/devops/content/105-setting-up-x/101-caching-server.md diff --git a/src/data/roadmaps/devops/content/104-setting-up-x/102-forward-proxy.md b/src/data/roadmaps/devops/content/105-setting-up-x/102-forward-proxy.md similarity index 100% rename from src/data/roadmaps/devops/content/104-setting-up-x/102-forward-proxy.md rename to src/data/roadmaps/devops/content/105-setting-up-x/102-forward-proxy.md diff --git a/src/data/roadmaps/devops/content/104-setting-up-x/103-load-balancer.md b/src/data/roadmaps/devops/content/105-setting-up-x/103-load-balancer.md similarity index 100% rename from src/data/roadmaps/devops/content/104-setting-up-x/103-load-balancer.md rename to src/data/roadmaps/devops/content/105-setting-up-x/103-load-balancer.md diff --git a/src/data/roadmaps/devops/content/104-setting-up-x/104-firewall.md b/src/data/roadmaps/devops/content/105-setting-up-x/104-firewall.md similarity index 100% rename from src/data/roadmaps/devops/content/104-setting-up-x/104-firewall.md rename to src/data/roadmaps/devops/content/105-setting-up-x/104-firewall.md diff --git a/src/data/roadmaps/devops/content/104-setting-up-x/105-nginx.md b/src/data/roadmaps/devops/content/105-setting-up-x/105-nginx.md similarity index 100% rename from src/data/roadmaps/devops/content/104-setting-up-x/105-nginx.md rename to src/data/roadmaps/devops/content/105-setting-up-x/105-nginx.md diff --git a/src/data/roadmaps/devops/content/104-setting-up-x/106-apache.md b/src/data/roadmaps/devops/content/105-setting-up-x/106-apache.md similarity index 100% rename from src/data/roadmaps/devops/content/104-setting-up-x/106-apache.md rename to src/data/roadmaps/devops/content/105-setting-up-x/106-apache.md diff --git a/src/data/roadmaps/devops/content/104-setting-up-x/107-tomcat.md b/src/data/roadmaps/devops/content/105-setting-up-x/107-tomcat.md similarity index 100% rename from src/data/roadmaps/devops/content/104-setting-up-x/107-tomcat.md rename to src/data/roadmaps/devops/content/105-setting-up-x/107-tomcat.md diff --git a/src/data/roadmaps/devops/content/104-setting-up-x/108-iis.md b/src/data/roadmaps/devops/content/105-setting-up-x/108-iis.md similarity index 100% rename from src/data/roadmaps/devops/content/104-setting-up-x/108-iis.md rename to src/data/roadmaps/devops/content/105-setting-up-x/108-iis.md diff --git a/src/data/roadmaps/devops/content/104-setting-up-x/index.md b/src/data/roadmaps/devops/content/105-setting-up-x/index.md similarity index 100% rename from src/data/roadmaps/devops/content/104-setting-up-x/index.md rename to src/data/roadmaps/devops/content/105-setting-up-x/index.md diff --git a/src/data/roadmaps/devops/content/108-cloud-providers/100-aws.md b/src/data/roadmaps/devops/content/107-cloud-providers/100-aws.md similarity index 100% rename from src/data/roadmaps/devops/content/108-cloud-providers/100-aws.md rename to src/data/roadmaps/devops/content/107-cloud-providers/100-aws.md diff --git a/src/data/roadmaps/devops/content/108-cloud-providers/101-google-cloud.md b/src/data/roadmaps/devops/content/107-cloud-providers/101-google-cloud.md similarity index 100% rename from src/data/roadmaps/devops/content/108-cloud-providers/101-google-cloud.md rename to src/data/roadmaps/devops/content/107-cloud-providers/101-google-cloud.md diff --git a/src/data/roadmaps/devops/content/108-cloud-providers/102-azure.md b/src/data/roadmaps/devops/content/107-cloud-providers/102-azure.md similarity index 100% rename from src/data/roadmaps/devops/content/108-cloud-providers/102-azure.md rename to src/data/roadmaps/devops/content/107-cloud-providers/102-azure.md diff --git a/src/data/roadmaps/devops/content/108-cloud-providers/103-heroku.md b/src/data/roadmaps/devops/content/107-cloud-providers/103-heroku.md similarity index 100% rename from src/data/roadmaps/devops/content/108-cloud-providers/103-heroku.md rename to src/data/roadmaps/devops/content/107-cloud-providers/103-heroku.md diff --git a/src/data/roadmaps/devops/content/108-cloud-providers/104-albaba-cloud.md b/src/data/roadmaps/devops/content/107-cloud-providers/104-albaba-cloud.md similarity index 100% rename from src/data/roadmaps/devops/content/108-cloud-providers/104-albaba-cloud.md rename to src/data/roadmaps/devops/content/107-cloud-providers/104-albaba-cloud.md diff --git a/src/data/roadmaps/devops/content/108-cloud-providers/104-digital-ocean.md b/src/data/roadmaps/devops/content/107-cloud-providers/104-digital-ocean.md similarity index 100% rename from src/data/roadmaps/devops/content/108-cloud-providers/104-digital-ocean.md rename to src/data/roadmaps/devops/content/107-cloud-providers/104-digital-ocean.md diff --git a/src/data/roadmaps/devops/content/108-cloud-providers/105-linode.md b/src/data/roadmaps/devops/content/107-cloud-providers/105-linode.md similarity index 100% rename from src/data/roadmaps/devops/content/108-cloud-providers/105-linode.md rename to src/data/roadmaps/devops/content/107-cloud-providers/105-linode.md diff --git a/src/data/roadmaps/devops/content/108-cloud-providers/106-vultr.md b/src/data/roadmaps/devops/content/107-cloud-providers/106-vultr.md similarity index 100% rename from src/data/roadmaps/devops/content/108-cloud-providers/106-vultr.md rename to src/data/roadmaps/devops/content/107-cloud-providers/106-vultr.md diff --git a/src/data/roadmaps/devops/content/108-cloud-providers/index.md b/src/data/roadmaps/devops/content/107-cloud-providers/index.md similarity index 100% rename from src/data/roadmaps/devops/content/108-cloud-providers/index.md rename to src/data/roadmaps/devops/content/107-cloud-providers/index.md diff --git a/src/data/roadmaps/devops/content/107-monitoring/100-infrastructure-monitoring/101-nagios.md b/src/data/roadmaps/devops/content/107-monitoring/100-infrastructure-monitoring/101-nagios.md deleted file mode 100644 index 1577a13d3..000000000 --- a/src/data/roadmaps/devops/content/107-monitoring/100-infrastructure-monitoring/101-nagios.md +++ /dev/null @@ -1,9 +0,0 @@ -# Nagios - -Nagios is a powerful tool that provides you with instant awareness of your organization’s mission-critical IT infrastructure. Nagios allows you to detect and repair problems and mitigate future issues before they affect end-users and customers. - -Visit the following resources to learn more: - -- [Nagios Website](https://www.nagios.org/) -- [Official Documentation](https://www.nagios.org/documentation/) -- [Nagios Support Knowledge Base](https://support.nagios.com/kb/) diff --git a/src/data/roadmaps/devops/content/107-monitoring/100-infrastructure-monitoring/102-monit.md b/src/data/roadmaps/devops/content/107-monitoring/100-infrastructure-monitoring/102-monit.md deleted file mode 100644 index 261b92ba6..000000000 --- a/src/data/roadmaps/devops/content/107-monitoring/100-infrastructure-monitoring/102-monit.md +++ /dev/null @@ -1,13 +0,0 @@ -# Monit - -Monit is a small Open Source utility for managing and monitoring Unix systems. Monit conducts automatic maintenance and repair and can execute meaningful causal actions in error situations. - -Monit has the ability to start a process if it is not running, restart a process if not responding, and stop a process if uses high resources. Additionally, you can also use Monit to monitor files, directories, and filesystems for changes, checksum changes, file size changes, or timestamp changes. - -With Monit, you can able to monitor remote hosts’ TCP/IP port, server protocols, and ping. Monit keeps its own log file and alerts about any critical error conditions and recovery status. - -Visit the following resources to learn more: - -- [Monit Website](https://mmonit.com/monit/) -- [Monit Official Documentation](https://mmonit.com/monit/documentation/monit.html) -- [Monit Tutorial](https://www.tecmint.com/monit-linux-services-monitoring/) diff --git a/src/data/roadmaps/devops/content/107-monitoring/101-application-monitoring/103-instana.md b/src/data/roadmaps/devops/content/107-monitoring/101-application-monitoring/103-instana.md deleted file mode 100644 index 4b69cd12b..000000000 --- a/src/data/roadmaps/devops/content/107-monitoring/101-application-monitoring/103-instana.md +++ /dev/null @@ -1,8 +0,0 @@ -# Instana - -Instana is particularly used in monitoring and managing the performance of software used in microservice architectures, and permits 3D visualisation of performance through graphs generated using machine learning algorithms, with notifications regarding performance also generated automatically. Instana's Application Performance Monitoring (APM) tool of the same name is especially purposed for monitoring software used in so-called "container orchestration" (a modular method of providing a software service). - -Visit the following resources to learn more: - -- [Instana Website](https://www.instana.com/) -- [Official Resources(White Papers and Ebooks) ](https://www.instana.com/resources/) diff --git a/src/data/roadmaps/devops/content/107-monitoring/index.md b/src/data/roadmaps/devops/content/107-monitoring/index.md deleted file mode 100644 index c5d93d63a..000000000 --- a/src/data/roadmaps/devops/content/107-monitoring/index.md +++ /dev/null @@ -1,8 +0,0 @@ -# Monitoring - -DevOps monitoring entails overseeing the entire development process from planning, development, integration and testing, deployment, and operations. It involves a complete and real-time view of the status of applications, services, and infrastructure in the production environment. Features such as real-time streaming, historical replay, and visualizations are critical components of application and service monitoring. - -Visit the following resources to learn more: - -- [DevOps Monitoring](https://www.atlassian.com/devops/devops-tools/devops-monitoring) -- [The Hows, Whys and Whats of Monitoring Microservices](https://thenewstack.io/the-hows-whys-and-whats-of-monitoring-microservices/) diff --git a/src/data/roadmaps/devops/content/108-cloud-providers/108-IBM-Cloud.md b/src/data/roadmaps/devops/content/108-cloud-providers/108-IBM-Cloud.md deleted file mode 100644 index fe660bee2..000000000 --- a/src/data/roadmaps/devops/content/108-cloud-providers/108-IBM-Cloud.md +++ /dev/null @@ -1,14 +0,0 @@ -# IBM Cloud - -IBM cloud computing is a set of cloud computing services that offers both platform as a service (PaaS) and infrastructure as a service (IaaS). IBM Cloud supports various languages and frameworks such as Go, Java™, Node.js, Python and Swift. - -Visit the following resources to learn more: - -- [IBM cloud](https://www.ibm.com/cloud) -- [IBM Cloud Documentation](https://cloud.ibm.com/docs) -- [IBM Cloud Essentials](https://www.coursera.org/learn/ibm-cloud-essentials) -- [IBM Cloud Training](https://www.ibm.com/training/cloud) -- [Introduction to IBM Cloud](https://www.youtube.com/watch?v=HzugDzl2cfg) -- [Developing in IBM Cloud](https://www.youtube.com/watch?v=Bsy6mhRc7ZA) -- [IBM Cloud Foundation Skills Series](https://youtube.com/playlist?list=PLmesOgYt3nKCfsXqx-A5k1bP7t146U4rz) -- [The Beginners Guide to IBM Cloud](https://developer.ibm.com/components/cloud-ibm/tutorials/) diff --git a/src/data/roadmaps/devops/content/109-serverless/100-cloudflare.md b/src/data/roadmaps/devops/content/109-serverless/100-cloudflare.md new file mode 100644 index 000000000..cdae8257f --- /dev/null +++ b/src/data/roadmaps/devops/content/109-serverless/100-cloudflare.md @@ -0,0 +1,2 @@ +# Cloudflare + diff --git a/src/data/roadmaps/devops/content/109-serverless/101-aws-lambda.md b/src/data/roadmaps/devops/content/109-serverless/101-aws-lambda.md new file mode 100644 index 000000000..9d4da0f59 --- /dev/null +++ b/src/data/roadmaps/devops/content/109-serverless/101-aws-lambda.md @@ -0,0 +1 @@ +# Aws lambda \ No newline at end of file diff --git a/src/data/roadmaps/devops/content/109-serverless/102-azure-functions.md b/src/data/roadmaps/devops/content/109-serverless/102-azure-functions.md new file mode 100644 index 000000000..fc367f594 --- /dev/null +++ b/src/data/roadmaps/devops/content/109-serverless/102-azure-functions.md @@ -0,0 +1 @@ +# Azure functions \ No newline at end of file diff --git a/src/data/roadmaps/devops/content/109-serverless/103-gcp-functions.md b/src/data/roadmaps/devops/content/109-serverless/103-gcp-functions.md new file mode 100644 index 000000000..52dd3b730 --- /dev/null +++ b/src/data/roadmaps/devops/content/109-serverless/103-gcp-functions.md @@ -0,0 +1 @@ +# Gcp functions \ No newline at end of file diff --git a/src/data/roadmaps/devops/content/109-serverless/104-vercel.md b/src/data/roadmaps/devops/content/109-serverless/104-vercel.md new file mode 100644 index 000000000..784f05454 --- /dev/null +++ b/src/data/roadmaps/devops/content/109-serverless/104-vercel.md @@ -0,0 +1 @@ +# Vercel \ No newline at end of file diff --git a/src/data/roadmaps/devops/content/109-serverless/105-netlify.md b/src/data/roadmaps/devops/content/109-serverless/105-netlify.md new file mode 100644 index 000000000..a8449ffd4 --- /dev/null +++ b/src/data/roadmaps/devops/content/109-serverless/105-netlify.md @@ -0,0 +1 @@ +# Netlify \ No newline at end of file diff --git a/src/data/roadmaps/devops/content/109-serverless/index.md b/src/data/roadmaps/devops/content/109-serverless/index.md new file mode 100644 index 000000000..0ef70d396 --- /dev/null +++ b/src/data/roadmaps/devops/content/109-serverless/index.md @@ -0,0 +1 @@ +# Serverless \ No newline at end of file diff --git a/src/data/roadmaps/devops/content/105-infrastructure-as-code/103-infrastructure-provisioning/101-aws-cdk.md b/src/data/roadmaps/devops/content/110-infrastructure-provisioning/100-aws-cdk.md similarity index 100% rename from src/data/roadmaps/devops/content/105-infrastructure-as-code/103-infrastructure-provisioning/101-aws-cdk.md rename to src/data/roadmaps/devops/content/110-infrastructure-provisioning/100-aws-cdk.md diff --git a/src/data/roadmaps/devops/content/105-infrastructure-as-code/103-infrastructure-provisioning/102-cloudformation.md b/src/data/roadmaps/devops/content/110-infrastructure-provisioning/102-cloudformation.md similarity index 100% rename from src/data/roadmaps/devops/content/105-infrastructure-as-code/103-infrastructure-provisioning/102-cloudformation.md rename to src/data/roadmaps/devops/content/110-infrastructure-provisioning/102-cloudformation.md diff --git a/src/data/roadmaps/devops/content/105-infrastructure-as-code/103-infrastructure-provisioning/103-pulumi.md b/src/data/roadmaps/devops/content/110-infrastructure-provisioning/103-pulumi.md similarity index 100% rename from src/data/roadmaps/devops/content/105-infrastructure-as-code/103-infrastructure-provisioning/103-pulumi.md rename to src/data/roadmaps/devops/content/110-infrastructure-provisioning/103-pulumi.md diff --git a/src/data/roadmaps/devops/content/105-infrastructure-as-code/103-infrastructure-provisioning/100-terraform.md b/src/data/roadmaps/devops/content/110-infrastructure-provisioning/103-terraform.md similarity index 100% rename from src/data/roadmaps/devops/content/105-infrastructure-as-code/103-infrastructure-provisioning/100-terraform.md rename to src/data/roadmaps/devops/content/110-infrastructure-provisioning/103-terraform.md diff --git a/src/data/roadmaps/devops/content/105-infrastructure-as-code/103-infrastructure-provisioning/index.md b/src/data/roadmaps/devops/content/110-infrastructure-provisioning/index.md similarity index 100% rename from src/data/roadmaps/devops/content/105-infrastructure-as-code/103-infrastructure-provisioning/index.md rename to src/data/roadmaps/devops/content/110-infrastructure-provisioning/index.md diff --git a/src/data/roadmaps/devops/content/105-infrastructure-as-code/102-configuration-management/100-ansible.md b/src/data/roadmaps/devops/content/111-configuration-management/100-ansible.md similarity index 100% rename from src/data/roadmaps/devops/content/105-infrastructure-as-code/102-configuration-management/100-ansible.md rename to src/data/roadmaps/devops/content/111-configuration-management/100-ansible.md diff --git a/src/data/roadmaps/devops/content/105-infrastructure-as-code/102-configuration-management/101-chef.md b/src/data/roadmaps/devops/content/111-configuration-management/101-chef.md similarity index 100% rename from src/data/roadmaps/devops/content/105-infrastructure-as-code/102-configuration-management/101-chef.md rename to src/data/roadmaps/devops/content/111-configuration-management/101-chef.md diff --git a/src/data/roadmaps/devops/content/105-infrastructure-as-code/102-configuration-management/103-puppet.md b/src/data/roadmaps/devops/content/111-configuration-management/102-puppet.md similarity index 100% rename from src/data/roadmaps/devops/content/105-infrastructure-as-code/102-configuration-management/103-puppet.md rename to src/data/roadmaps/devops/content/111-configuration-management/102-puppet.md diff --git a/src/data/roadmaps/devops/content/105-infrastructure-as-code/102-configuration-management/index.md b/src/data/roadmaps/devops/content/111-configuration-management/index.md similarity index 100% rename from src/data/roadmaps/devops/content/105-infrastructure-as-code/102-configuration-management/index.md rename to src/data/roadmaps/devops/content/111-configuration-management/index.md diff --git a/src/data/roadmaps/devops/content/106-ci-cd/100-gitlab-ci.md b/src/data/roadmaps/devops/content/112-ci-cd/100-gitlab-ci.md similarity index 100% rename from src/data/roadmaps/devops/content/106-ci-cd/100-gitlab-ci.md rename to src/data/roadmaps/devops/content/112-ci-cd/100-gitlab-ci.md diff --git a/src/data/roadmaps/devops/content/106-ci-cd/101-jenkins.md b/src/data/roadmaps/devops/content/112-ci-cd/101-jenkins.md similarity index 100% rename from src/data/roadmaps/devops/content/106-ci-cd/101-jenkins.md rename to src/data/roadmaps/devops/content/112-ci-cd/101-jenkins.md diff --git a/src/data/roadmaps/devops/content/106-ci-cd/102-github-actions.md b/src/data/roadmaps/devops/content/112-ci-cd/102-github-actions.md similarity index 100% rename from src/data/roadmaps/devops/content/106-ci-cd/102-github-actions.md rename to src/data/roadmaps/devops/content/112-ci-cd/102-github-actions.md diff --git a/src/data/roadmaps/devops/content/106-ci-cd/103-travis-ci.md b/src/data/roadmaps/devops/content/112-ci-cd/103-travis-ci.md similarity index 100% rename from src/data/roadmaps/devops/content/106-ci-cd/103-travis-ci.md rename to src/data/roadmaps/devops/content/112-ci-cd/103-travis-ci.md diff --git a/src/data/roadmaps/devops/content/106-ci-cd/105-teamcity.md b/src/data/roadmaps/devops/content/112-ci-cd/105-teamcity.md similarity index 100% rename from src/data/roadmaps/devops/content/106-ci-cd/105-teamcity.md rename to src/data/roadmaps/devops/content/112-ci-cd/105-teamcity.md diff --git a/src/data/roadmaps/devops/content/106-ci-cd/106-azure-devops-services.md b/src/data/roadmaps/devops/content/112-ci-cd/106-azure-devops-services.md similarity index 100% rename from src/data/roadmaps/devops/content/106-ci-cd/106-azure-devops-services.md rename to src/data/roadmaps/devops/content/112-ci-cd/106-azure-devops-services.md diff --git a/src/data/roadmaps/devops/content/106-ci-cd/107-circle-ci.md b/src/data/roadmaps/devops/content/112-ci-cd/107-circle-ci.md similarity index 100% rename from src/data/roadmaps/devops/content/106-ci-cd/107-circle-ci.md rename to src/data/roadmaps/devops/content/112-ci-cd/107-circle-ci.md diff --git a/src/data/roadmaps/devops/content/106-ci-cd/108-drone.md b/src/data/roadmaps/devops/content/112-ci-cd/108-drone.md similarity index 100% rename from src/data/roadmaps/devops/content/106-ci-cd/108-drone.md rename to src/data/roadmaps/devops/content/112-ci-cd/108-drone.md diff --git a/src/data/roadmaps/devops/content/106-ci-cd/index.md b/src/data/roadmaps/devops/content/112-ci-cd/index.md similarity index 100% rename from src/data/roadmaps/devops/content/106-ci-cd/index.md rename to src/data/roadmaps/devops/content/112-ci-cd/index.md diff --git a/src/data/roadmaps/devops/content/105-infrastructure-as-code/105-secret-management/100-vault.md b/src/data/roadmaps/devops/content/113-secret-management/100-vault.md similarity index 100% rename from src/data/roadmaps/devops/content/105-infrastructure-as-code/105-secret-management/100-vault.md rename to src/data/roadmaps/devops/content/113-secret-management/100-vault.md diff --git a/src/data/roadmaps/devops/content/105-infrastructure-as-code/105-secret-management/101-sops.md b/src/data/roadmaps/devops/content/113-secret-management/101-sops.md similarity index 100% rename from src/data/roadmaps/devops/content/105-infrastructure-as-code/105-secret-management/101-sops.md rename to src/data/roadmaps/devops/content/113-secret-management/101-sops.md diff --git a/src/data/roadmaps/devops/content/105-infrastructure-as-code/105-secret-management/102-sealed-secrets.md b/src/data/roadmaps/devops/content/113-secret-management/102-sealed-secrets.md similarity index 100% rename from src/data/roadmaps/devops/content/105-infrastructure-as-code/105-secret-management/102-sealed-secrets.md rename to src/data/roadmaps/devops/content/113-secret-management/102-sealed-secrets.md diff --git a/src/data/roadmaps/devops/content/105-infrastructure-as-code/105-secret-management/103-cloud-specific-tools.md b/src/data/roadmaps/devops/content/113-secret-management/103-cloud-specific-tools.md similarity index 100% rename from src/data/roadmaps/devops/content/105-infrastructure-as-code/105-secret-management/103-cloud-specific-tools.md rename to src/data/roadmaps/devops/content/113-secret-management/103-cloud-specific-tools.md diff --git a/src/data/roadmaps/devops/content/105-infrastructure-as-code/105-secret-management/index.md b/src/data/roadmaps/devops/content/113-secret-management/index.md similarity index 100% rename from src/data/roadmaps/devops/content/105-infrastructure-as-code/105-secret-management/index.md rename to src/data/roadmaps/devops/content/113-secret-management/index.md diff --git a/src/data/roadmaps/devops/content/107-monitoring/100-infrastructure-monitoring/100-prometheus.md b/src/data/roadmaps/devops/content/114-infrastructure-monitoring/100-prometheus.md similarity index 100% rename from src/data/roadmaps/devops/content/107-monitoring/100-infrastructure-monitoring/100-prometheus.md rename to src/data/roadmaps/devops/content/114-infrastructure-monitoring/100-prometheus.md diff --git a/src/data/roadmaps/devops/content/107-monitoring/100-infrastructure-monitoring/102-datadog.md b/src/data/roadmaps/devops/content/114-infrastructure-monitoring/102-datadog.md similarity index 100% rename from src/data/roadmaps/devops/content/107-monitoring/100-infrastructure-monitoring/102-datadog.md rename to src/data/roadmaps/devops/content/114-infrastructure-monitoring/102-datadog.md diff --git a/src/data/roadmaps/devops/content/107-monitoring/100-infrastructure-monitoring/102-grafana.md b/src/data/roadmaps/devops/content/114-infrastructure-monitoring/102-grafana.md similarity index 100% rename from src/data/roadmaps/devops/content/107-monitoring/100-infrastructure-monitoring/102-grafana.md rename to src/data/roadmaps/devops/content/114-infrastructure-monitoring/102-grafana.md diff --git a/src/data/roadmaps/devops/content/107-monitoring/100-infrastructure-monitoring/102-zabbix.md b/src/data/roadmaps/devops/content/114-infrastructure-monitoring/102-zabbix.md similarity index 100% rename from src/data/roadmaps/devops/content/107-monitoring/100-infrastructure-monitoring/102-zabbix.md rename to src/data/roadmaps/devops/content/114-infrastructure-monitoring/102-zabbix.md diff --git a/src/data/roadmaps/devops/content/107-monitoring/100-infrastructure-monitoring/index.md b/src/data/roadmaps/devops/content/114-infrastructure-monitoring/index.md similarity index 100% rename from src/data/roadmaps/devops/content/107-monitoring/100-infrastructure-monitoring/index.md rename to src/data/roadmaps/devops/content/114-infrastructure-monitoring/index.md diff --git a/src/data/roadmaps/devops/content/107-monitoring/101-application-monitoring/100-jaeger.md b/src/data/roadmaps/devops/content/115-application-monitoring/100-jaeger.md similarity index 100% rename from src/data/roadmaps/devops/content/107-monitoring/101-application-monitoring/100-jaeger.md rename to src/data/roadmaps/devops/content/115-application-monitoring/100-jaeger.md diff --git a/src/data/roadmaps/devops/content/107-monitoring/101-application-monitoring/101-new-relic.md b/src/data/roadmaps/devops/content/115-application-monitoring/101-new-relic.md similarity index 100% rename from src/data/roadmaps/devops/content/107-monitoring/101-application-monitoring/101-new-relic.md rename to src/data/roadmaps/devops/content/115-application-monitoring/101-new-relic.md diff --git a/src/data/roadmaps/devops/content/115-application-monitoring/102-datadog.md b/src/data/roadmaps/devops/content/115-application-monitoring/102-datadog.md new file mode 100644 index 000000000..0ab8b6275 --- /dev/null +++ b/src/data/roadmaps/devops/content/115-application-monitoring/102-datadog.md @@ -0,0 +1,8 @@ +# Datadog + +Datadog is a monitoring and analytics platform for large-scale applications. It encompasses infrastructure monitoring, application performance monitoring, log management, and user-experience monitoring. Datadog aggregates data across your entire stack with 400+ integrations for troubleshooting, alerting, and graphing. + +Visit the following resources to learn more: + +- [Datadog Website](https://www.datadoghq.com/) +- [Official Documentation](https://docs.datadoghq.com/) diff --git a/src/data/roadmaps/devops/content/107-monitoring/101-application-monitoring/104-open-telemetry.md b/src/data/roadmaps/devops/content/115-application-monitoring/104-open-telemetry.md similarity index 100% rename from src/data/roadmaps/devops/content/107-monitoring/101-application-monitoring/104-open-telemetry.md rename to src/data/roadmaps/devops/content/115-application-monitoring/104-open-telemetry.md diff --git a/src/data/roadmaps/devops/content/107-monitoring/101-application-monitoring/102-app-dynamics.md b/src/data/roadmaps/devops/content/115-application-monitoring/105-app-dynamics.md similarity index 100% rename from src/data/roadmaps/devops/content/107-monitoring/101-application-monitoring/102-app-dynamics.md rename to src/data/roadmaps/devops/content/115-application-monitoring/105-app-dynamics.md diff --git a/src/data/roadmaps/devops/content/107-monitoring/101-application-monitoring/index.md b/src/data/roadmaps/devops/content/115-application-monitoring/index.md similarity index 100% rename from src/data/roadmaps/devops/content/107-monitoring/101-application-monitoring/index.md rename to src/data/roadmaps/devops/content/115-application-monitoring/index.md diff --git a/src/data/roadmaps/devops/content/107-monitoring/102-logs-management/100-elastic-stack.md b/src/data/roadmaps/devops/content/116-logs-management/100-elastic-stack.md similarity index 100% rename from src/data/roadmaps/devops/content/107-monitoring/102-logs-management/100-elastic-stack.md rename to src/data/roadmaps/devops/content/116-logs-management/100-elastic-stack.md diff --git a/src/data/roadmaps/devops/content/107-monitoring/102-logs-management/101-graylog.md b/src/data/roadmaps/devops/content/116-logs-management/101-graylog.md similarity index 100% rename from src/data/roadmaps/devops/content/107-monitoring/102-logs-management/101-graylog.md rename to src/data/roadmaps/devops/content/116-logs-management/101-graylog.md diff --git a/src/data/roadmaps/devops/content/107-monitoring/102-logs-management/102-papertrail.md b/src/data/roadmaps/devops/content/116-logs-management/102-papertrail.md similarity index 100% rename from src/data/roadmaps/devops/content/107-monitoring/102-logs-management/102-papertrail.md rename to src/data/roadmaps/devops/content/116-logs-management/102-papertrail.md diff --git a/src/data/roadmaps/devops/content/107-monitoring/102-logs-management/102-splunk.md b/src/data/roadmaps/devops/content/116-logs-management/102-splunk.md similarity index 100% rename from src/data/roadmaps/devops/content/107-monitoring/102-logs-management/102-splunk.md rename to src/data/roadmaps/devops/content/116-logs-management/102-splunk.md diff --git a/src/data/roadmaps/devops/content/107-monitoring/102-logs-management/103-loki.md b/src/data/roadmaps/devops/content/116-logs-management/103-loki.md similarity index 100% rename from src/data/roadmaps/devops/content/107-monitoring/102-logs-management/103-loki.md rename to src/data/roadmaps/devops/content/116-logs-management/103-loki.md diff --git a/src/data/roadmaps/devops/content/107-monitoring/102-logs-management/index.md b/src/data/roadmaps/devops/content/116-logs-management/index.md similarity index 100% rename from src/data/roadmaps/devops/content/107-monitoring/102-logs-management/index.md rename to src/data/roadmaps/devops/content/116-logs-management/index.md diff --git a/src/data/roadmaps/devops/content/105-infrastructure-as-code/104-docker-swarm.md b/src/data/roadmaps/devops/content/117-containers/100-docker-swarm.md similarity index 100% rename from src/data/roadmaps/devops/content/105-infrastructure-as-code/104-docker-swarm.md rename to src/data/roadmaps/devops/content/117-containers/100-docker-swarm.md diff --git a/src/data/roadmaps/devops/content/105-infrastructure-as-code/101-lxc.md b/src/data/roadmaps/devops/content/117-containers/100-lxc.md similarity index 100% rename from src/data/roadmaps/devops/content/105-infrastructure-as-code/101-lxc.md rename to src/data/roadmaps/devops/content/117-containers/100-lxc.md diff --git a/src/data/roadmaps/devops/content/117-containers/101-gke-eks-aks.md b/src/data/roadmaps/devops/content/117-containers/101-gke-eks-aks.md new file mode 100644 index 000000000..15da52503 --- /dev/null +++ b/src/data/roadmaps/devops/content/117-containers/101-gke-eks-aks.md @@ -0,0 +1,14 @@ +# GKE / EKS / AKS + +## GKE - Google Kubernetes Engine + +GKE is a managed Kubernetes service that lets you deploy, manage, and scale containerized applications on Google Cloud. + +## EKS - Amazon Elastic Kubernetes Service + +Amazon Elastic Kubernetes Service (Amazon EKS) is a fully managed Kubernetes service from AWS. + +## AKS - Azure Kubernetes Service + +Azure Kubernetes Service (AKS) manages your hosted Kubernetes environment, making it quick and easy to deploy and manage containerized applications without container orchestration expertise. + diff --git a/src/data/roadmaps/devops/content/117-containers/102-ecs-fargate.md b/src/data/roadmaps/devops/content/117-containers/102-ecs-fargate.md new file mode 100644 index 000000000..2b6e162b3 --- /dev/null +++ b/src/data/roadmaps/devops/content/117-containers/102-ecs-fargate.md @@ -0,0 +1,5 @@ +# ECS / Fargate + +ECS is a container orchestration service that allows you to run Docker containers on a cluster of EC2 instances. ECS is a good choice if you want to run Docker containers on EC2 instances and have full control over the underlying infrastructure. + +Fargate is a serverless container orchestration service that allows you to run Docker containers without having to manage servers, clusters, or any other infrastructure. Fargate is a good choice if you want to run Docker containers without having to manage servers or clusters. diff --git a/src/data/roadmaps/devops/content/105-infrastructure-as-code/101-containers.md b/src/data/roadmaps/devops/content/117-containers/index.md similarity index 100% rename from src/data/roadmaps/devops/content/105-infrastructure-as-code/101-containers.md rename to src/data/roadmaps/devops/content/117-containers/index.md diff --git a/src/data/roadmaps/devops/content/118-artifcats/100-artifactory.md b/src/data/roadmaps/devops/content/118-artifcats/100-artifactory.md new file mode 100644 index 000000000..5b3ad5209 --- /dev/null +++ b/src/data/roadmaps/devops/content/118-artifcats/100-artifactory.md @@ -0,0 +1 @@ +# Artifactory \ No newline at end of file diff --git a/src/data/roadmaps/devops/content/118-artifcats/101-nexus.md b/src/data/roadmaps/devops/content/118-artifcats/101-nexus.md new file mode 100644 index 000000000..45b885765 --- /dev/null +++ b/src/data/roadmaps/devops/content/118-artifcats/101-nexus.md @@ -0,0 +1 @@ +# Nexus \ No newline at end of file diff --git a/src/data/roadmaps/devops/content/118-artifcats/102-cloud-smith.md b/src/data/roadmaps/devops/content/118-artifcats/102-cloud-smith.md new file mode 100644 index 000000000..e408dddcd --- /dev/null +++ b/src/data/roadmaps/devops/content/118-artifcats/102-cloud-smith.md @@ -0,0 +1 @@ +# Cloud smith \ No newline at end of file diff --git a/src/data/roadmaps/devops/content/118-artifcats/index.md b/src/data/roadmaps/devops/content/118-artifcats/index.md new file mode 100644 index 000000000..cf7b86d9d --- /dev/null +++ b/src/data/roadmaps/devops/content/118-artifcats/index.md @@ -0,0 +1 @@ +# Artifcats \ No newline at end of file diff --git a/src/data/roadmaps/devops/content/105-infrastructure-as-code/104-gitops/100-argo-cd.md b/src/data/roadmaps/devops/content/119-gitops/100-argo-cd.md similarity index 100% rename from src/data/roadmaps/devops/content/105-infrastructure-as-code/104-gitops/100-argo-cd.md rename to src/data/roadmaps/devops/content/119-gitops/100-argo-cd.md diff --git a/src/data/roadmaps/devops/content/105-infrastructure-as-code/104-gitops/101-flux-cd.md b/src/data/roadmaps/devops/content/119-gitops/101-flux-cd.md similarity index 100% rename from src/data/roadmaps/devops/content/105-infrastructure-as-code/104-gitops/101-flux-cd.md rename to src/data/roadmaps/devops/content/119-gitops/101-flux-cd.md diff --git a/src/data/roadmaps/devops/content/105-infrastructure-as-code/104-gitops/index.md b/src/data/roadmaps/devops/content/119-gitops/index.md similarity index 100% rename from src/data/roadmaps/devops/content/105-infrastructure-as-code/104-gitops/index.md rename to src/data/roadmaps/devops/content/119-gitops/index.md diff --git a/src/data/roadmaps/devops/content/105-infrastructure-as-code/100-service-mesh/101-istio.md b/src/data/roadmaps/devops/content/120-service-mesh/100-istio.md similarity index 100% rename from src/data/roadmaps/devops/content/105-infrastructure-as-code/100-service-mesh/101-istio.md rename to src/data/roadmaps/devops/content/120-service-mesh/100-istio.md diff --git a/src/data/roadmaps/devops/content/105-infrastructure-as-code/100-service-mesh/100-consul.md b/src/data/roadmaps/devops/content/120-service-mesh/101-consul.md similarity index 100% rename from src/data/roadmaps/devops/content/105-infrastructure-as-code/100-service-mesh/100-consul.md rename to src/data/roadmaps/devops/content/120-service-mesh/101-consul.md diff --git a/src/data/roadmaps/devops/content/105-infrastructure-as-code/100-service-mesh/103-linkerd.md b/src/data/roadmaps/devops/content/120-service-mesh/102-linkerd.md similarity index 100% rename from src/data/roadmaps/devops/content/105-infrastructure-as-code/100-service-mesh/103-linkerd.md rename to src/data/roadmaps/devops/content/120-service-mesh/102-linkerd.md diff --git a/src/data/roadmaps/devops/content/105-infrastructure-as-code/100-service-mesh/102-envoy.md b/src/data/roadmaps/devops/content/120-service-mesh/103-envoy.md similarity index 100% rename from src/data/roadmaps/devops/content/105-infrastructure-as-code/100-service-mesh/102-envoy.md rename to src/data/roadmaps/devops/content/120-service-mesh/103-envoy.md diff --git a/src/data/roadmaps/devops/content/105-infrastructure-as-code/100-service-mesh/index.md b/src/data/roadmaps/devops/content/120-service-mesh/index.md similarity index 100% rename from src/data/roadmaps/devops/content/105-infrastructure-as-code/100-service-mesh/index.md rename to src/data/roadmaps/devops/content/120-service-mesh/index.md diff --git a/src/data/roadmaps/devops/content/index.md b/src/data/roadmaps/devops/content/index.md new file mode 100644 index 000000000..4e768b56d --- /dev/null +++ b/src/data/roadmaps/devops/content/index.md @@ -0,0 +1 @@ +# \ No newline at end of file diff --git a/src/data/roadmaps/devops/devops.json b/src/data/roadmaps/devops/devops.json index b4609e784..2e64bf867 100644 --- a/src/data/roadmaps/devops/devops.json +++ b/src/data/roadmaps/devops/devops.json @@ -3,1025 +3,1174 @@ "controls": { "control": [ { - "ID": "2719", + "ID": "3011", "typeID": "Arrow", - "zOrder": "0", - "w": "183", - "h": "5", + "zOrder": "15", + "w": "1", + "h": "62", "measuredW": "150", "measuredH": "100", - "x": "829", - "y": "347", + "x": "1177", + "y": "2699", "properties": { - "color": "2848996", - "curvature": "-1", - "direction": "bottom", "leftArrow": "false", "rightArrow": "false", + "color": "2848996", "stroke": "dotted", "p0": { - "x": -0.30749986718376476, - "y": 4.453524997133513 + "x": 0, + "y": 0.3939393939394904 }, "p1": { - "x": 0.6950719555100975, - "y": -0.0004300840236431132 + "x": 0.49956677529873256, + "y": 0 }, "p2": { - "x": 182.29125893020966, - "y": -0.1278058687508974 + "x": 0, + "y": 62.00523136030006 + } + } + }, + { + "ID": "3012", + "typeID": "__group__", + "zOrder": "16", + "measuredW": "151", + "measuredH": "47", + "w": "151", + "h": "47", + "x": "1109", + "y": "2611", + "properties": { + "controlName": "100-gitops:argo-cd" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "141", + "h": "47", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "61", + "measuredH": "25", + "x": "40", + "y": "11", + "properties": { + "size": "17", + "text": "ArgoCD" + } + }, + { + "ID": "2", + "typeID": "__group__", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "w": "24", + "h": "24", + "x": "127", + "y": "12", + "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": "10027263", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] + } + } + } + ] + } + } + }, + { + "ID": "3013", + "typeID": "__group__", + "zOrder": "17", + "measuredW": "151", + "measuredH": "47", + "w": "151", + "h": "47", + "x": "1108", + "y": "2661", + "properties": { + "controlName": "101-gitops:flux-cd" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "141", + "h": "47", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "56", + "measuredH": "25", + "x": "43", + "y": "11", + "properties": { + "size": "17", + "text": "FluxCD" + } + }, + { + "ID": "2", + "typeID": "__group__", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "w": "24", + "h": "24", + "x": "127", + "y": "10", + "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": { + "icon": { + "ID": "check-circle", + "size": "small" + }, + "color": "3700253" + } + } + ] + } + } + } + ] } } }, { - "ID": "2720", + "ID": "3014", "typeID": "Arrow", - "zOrder": "1", - "w": "288", - "h": "263", + "zOrder": "18", + "w": "1", + "h": "64", "measuredW": "150", "measuredH": "100", - "x": "712", - "y": "1710", + "x": "1187", + "y": "2472", "properties": { - "color": "2848996", - "direction": "bottom", "leftArrow": "false", "rightArrow": "false", + "color": "2848996", "stroke": "dotted", "p0": { - "x": 0.2314366161547241, - "y": -0.28873291892250563 + "x": 0, + "y": -0.49009958262422515 }, "p1": { - "x": 0.427902855085708, - "y": -0.14405582786408574 + "x": 0.49956677529873245, + "y": 0 }, "p2": { - "x": 288.4449904841407, - "y": 263.01747678763263 + "x": 0, + "y": 63.357582711558734 } } }, { - "ID": "2721", + "ID": "3015", "typeID": "Arrow", - "zOrder": "2", + "zOrder": "19", "w": "1", - "h": "98", + "h": "174", "measuredW": "150", "measuredH": "100", - "x": "646", - "y": "1605", + "x": "610", + "y": "2458", "properties": { - "color": "2848996", - "direction": "bottom", "leftArrow": "false", "rightArrow": "false", + "color": "2848996", "stroke": "dotted", "p0": { "x": 0, - "y": 0.4651302239562938 + "y": -0.25411487053997917 }, "p1": { - "x": 0.6451475897218093, - "y": -0.002973030367381328 + "x": 0.5010051755986721, + "y": 0 }, "p2": { "x": 0, - "y": 98.31541085814911 + "y": 174 } } }, { - "ID": "2722", + "ID": "3016", "typeID": "Arrow", - "zOrder": "3", - "w": "173", - "h": "47", + "zOrder": "20", + "w": "1", + "h": "79", "measuredW": "150", "measuredH": "100", - "x": "835", - "y": "292", + "x": "560", + "y": "2285", "properties": { - "color": "2848996", - "curvature": "-1", - "direction": "bottom", "leftArrow": "false", "rightArrow": "false", + "color": "2848996", "stroke": "dotted", "p0": { - "x": 0.23725851265112397, - "y": 47.01848407544725 + "x": 0, + "y": 0 }, "p1": { - "x": 0.5110795793605537, - "y": -0.06338765929796168 + "x": 0.5010057587596869, + "y": 0 }, "p2": { - "x": 173.67335557827573, - "y": -0.10377625936393997 + "x": 0, + "y": 78 } } }, { - "ID": "2723", + "ID": "3017", "typeID": "Arrow", - "zOrder": "4", - "w": "175", - "h": "40", + "zOrder": "21", + "w": "97", + "h": "22", "measuredW": "150", "measuredH": "100", - "x": "829", - "y": "361", + "x": "1053", + "y": "2263", "properties": { - "color": "2848996", - "curvature": "-1", - "direction": "bottom", "leftArrow": "false", "rightArrow": "false", + "color": "2848996", "stroke": "dotted", "p0": { - "x": -0.30749986718376476, - "y": -0.3838132710976083 + "x": 96.64772784448883, + "y": -0.021310438334239734 }, "p1": { - "x": 0.6909921238996622, - "y": 0.07891984909656495 + "x": 0.5628712871287136, + "y": -0.0787128712871304 }, "p2": { - "x": 175.09202471239132, - "y": 39.53921284589518 + "x": -0.28952215735057507, + "y": 21.86774601369416 } } }, { - "ID": "2724", + "ID": "3018", "typeID": "Arrow", - "zOrder": "5", - "w": "70", - "h": "94", + "zOrder": "22", + "w": "89", + "h": "15", "measuredW": "150", "measuredH": "100", - "x": "268", - "y": "2330", + "x": "1054", + "y": "2233", "properties": { - "color": "2848996", - "direction": "bottom", "leftArrow": "false", "rightArrow": "false", - "stroke": "dotted", + "color": "10027263", "p0": { - "x": 70, - "y": 94 + "x": 0.2739818749371352, + "y": 0.27211294819881005 }, "p1": { - "x": 0.49680207433016427, - "y": -0.09127052722558338 + "x": 0.4960215211876767, + "y": -0.07358960597598453 }, "p2": { - "x": 0, - "y": 0 - } + "x": 89.39371171533776, + "y": 14.343649238788657 + }, + "stroke": "dotted" } }, { - "ID": "2725", + "ID": "3019", "typeID": "Arrow", - "zOrder": "6", - "h": "114", + "zOrder": "23", + "w": "1", + "h": "345", "measuredW": "150", "measuredH": "100", - "x": "422", - "y": "2629", + "x": "1293", + "y": "2022", "properties": { - "color": "2848996", "leftArrow": "false", "rightArrow": "false", + "color": "2848996", "p0": { - "x": 149.5, - "y": 113.5 + "x": 0, + "y": 0.4145245849647381 }, "p1": { - "x": 0.5697543385170161, - "y": -0.1564119900833896 + "x": 0.5, + "y": 0 }, "p2": { "x": 0, - "y": 0 + "y": 345.0823548854628 } } }, { - "ID": "2726", + "ID": "3020", "typeID": "Arrow", - "zOrder": "7", - "w": "3", - "h": "66", + "zOrder": "24", + "w": "1", + "h": "251", "measuredW": "150", "measuredH": "100", - "x": "374", - "y": "2628", + "x": "344", + "y": "1771", "properties": { - "color": "2848996", - "curvature": "-1", "leftArrow": "false", + "rightArrow": "false", + "color": "2848996", "p0": { - "x": 1, - "y": 0 + "x": 0, + "y": 0.4145245849647381 }, "p1": { - "x": 0.56842735383826, - "y": -0.01687523160685271 + "x": 0.5, + "y": 0 }, "p2": { - "x": 2, - "y": 65 - }, - "rightArrow": "false", - "stroke": "dotted" + "x": 0, + "y": 251.42830958144737 + } } }, { - "ID": "2727", + "ID": "3021", "typeID": "Arrow", - "zOrder": "8", - "w": "3", - "h": "66", + "zOrder": "25", + "w": "1", + "h": "90", "measuredW": "150", "measuredH": "100", - "x": "214", - "y": "2628", + "x": "345", + "y": "1667", "properties": { - "color": "2848996", - "curvature": "-1", "leftArrow": "false", + "rightArrow": "false", + "color": "2848996", + "stroke": "dotted", "p0": { - "x": 1, - "y": 0 + "x": 0, + "y": 0.3636363636362603 }, "p1": { - "x": 0.56842735383826, - "y": -0.01687523160685271 + "x": 0.4988928776156575, + "y": 0 }, "p2": { - "x": 2, - "y": 65 - }, - "rightArrow": "false", - "stroke": "dotted" + "x": 0, + "y": 90.24242424242425 + } } }, { - "ID": "2728", + "ID": "3022", "typeID": "Arrow", - "zOrder": "9", - "w": "192", - "h": "247", + "zOrder": "26", + "w": "1", + "h": "90", "measuredW": "150", "measuredH": "100", - "x": "434", - "y": "2369", + "x": "633", + "y": "1684", "properties": { - "color": "2848996", - "direction": "bottom", "leftArrow": "false", "rightArrow": "false", + "color": "2848996", + "stroke": "dotted", "p0": { - "x": 192.35091394754102, - "y": 0.47218084835731133 + "x": 0, + "y": 0.3636363636362603 }, "p1": { - "x": 0.5554094414478669, - "y": 0.21886655076598477 + "x": 0.4988928776156575, + "y": 0 }, "p2": { "x": 0, - "y": 247 + "y": 90.24242424242425 } } }, { - "ID": "2729", + "ID": "3023", "typeID": "Arrow", - "zOrder": "10", - "w": "90", - "h": "60", + "zOrder": "27", + "w": "1", + "h": "76", "measuredW": "150", "measuredH": "100", - "x": "507", - "y": "2373", + "x": "742", + "y": "1689", "properties": { - "color": "2848996", - "curvature": "-1", "leftArrow": "false", "rightArrow": "false", + "color": "2848996", "stroke": "dotted", "p0": { "x": 0, - "y": 55.5 + "y": 0 }, "p1": { - "x": 0.3976647206005023, - "y": -0.21384487072560043 + "x": 0.4988928776156574, + "y": 0 }, "p2": { - "x": 90.03236052872, - "y": 0.4701654054692881 + "x": 0, + "y": 76.24242424242425 } } }, { - "ID": "2730", + "ID": "3026", "typeID": "Arrow", - "zOrder": "11", - "w": "3", + "zOrder": "28", + "w": "1", "h": "66", "measuredW": "150", "measuredH": "100", - "x": "895", - "y": "2450", + "x": "1158", + "y": "1368", "properties": { - "color": "2848996", - "curvature": "-1", "leftArrow": "false", + "rightArrow": "false", + "color": "2848996", + "stroke": "dotted", "p0": { - "x": 1, - "y": 0 + "x": 0, + "y": -0.24242424242424931 }, "p1": { - "x": 0.56842735383826, - "y": -0.01687523160685271 + "x": 0.49889287761565754, + "y": 0 }, "p2": { - "x": 2, - "y": 65 - }, - "rightArrow": "false", - "stroke": "dotted" + "x": 0, + "y": 66.09090909090901 + } } }, { - "ID": "2731", - "typeID": "Arrow", - "zOrder": "12", - "w": "3", - "h": "66", - "measuredW": "150", - "measuredH": "100", - "x": "765", - "y": "2450", + "ID": "3027", + "typeID": "__group__", + "zOrder": "29", + "measuredW": "154", + "measuredH": "47", + "w": "154", + "h": "47", + "x": "1063", + "y": "1414", "properties": { - "color": "2848996", - "curvature": "-1", - "leftArrow": "false", - "p0": { - "x": 1, - "y": 0 - }, - "p1": { - "x": 0.56842735383826, - "y": -0.01687523160685271 - }, - "p2": { - "x": 2, - "y": 65 - }, - "rightArrow": "false", - "stroke": "dotted" + "controlName": "100-networking-protocols:osi-model" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "154", + "h": "47", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "81", + "measuredH": "25", + "x": "36", + "y": "12", + "properties": { + "text": "OSI Model", + "size": "17" + } + } + ] + } + } + }, + { + "ID": "3028", + "typeID": "__group__", + "zOrder": "30", + "measuredW": "24", + "measuredH": "24", + "w": "24", + "h": "24", + "x": "1054", + "y": "1426", + "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": "2732", + "ID": "3029", "typeID": "Arrow", - "zOrder": "13", - "w": "3", - "h": "79", + "zOrder": "31", + "w": "1", + "h": "78", "measuredW": "150", "measuredH": "100", - "x": "836", - "y": "2352", + "x": "1158", + "y": "1290", "properties": { - "color": "2848996", - "curvature": "-1", "leftArrow": "false", "rightArrow": "false", + "color": "2848996", "stroke": "dotted", "p0": { - "x": 2.5, - "y": -0.5 + "x": 0, + "y": -0.24242424242424931 }, "p1": { - "x": 0.5684273538382602, - "y": -0.016875231606852704 + "x": 0.4988928776156576, + "y": 0 }, "p2": { - "x": 0.5, - "y": 78.5 + "x": 0, + "y": 78 } } }, { - "ID": "2733", + "ID": "3033", "typeID": "Arrow", - "zOrder": "14", - "w": "3", - "h": "66", + "zOrder": "32", + "w": "1", + "h": "71", "measuredW": "150", "measuredH": "100", - "x": "838", - "y": "2300", + "x": "546", + "y": "2770", "properties": { - "color": "2848996", - "curvature": "-1", "leftArrow": "false", + "rightArrow": "false", + "color": "2848996", + "stroke": "dotted", "p0": { - "x": 1, - "y": 0 + "x": 0, + "y": 0.3939393939394904 }, "p1": { - "x": 0.56842735383826, - "y": -0.01687523160685271 + "x": 0.49956677529873245, + "y": 0 }, "p2": { - "x": 2, - "y": 65 - }, - "rightArrow": "false", - "stroke": "dotted" + "x": 0, + "y": 71.12121212121247 + } } }, { - "ID": "2734", + "ID": "3034", "typeID": "Arrow", - "zOrder": "15", - "w": "92", - "h": "184", + "zOrder": "33", + "w": "1", + "h": "62", "measuredW": "150", "measuredH": "100", - "x": "966", - "y": "2301", + "x": "919", + "y": "2761", "properties": { - "color": "2848996", - "direction": "bottom", "leftArrow": "false", "rightArrow": "false", + "color": "2848996", "stroke": "dotted", "p0": { - "x": -0.5, - "y": -0.5 + "x": 0, + "y": 0.3939393939394904 }, "p1": { - "x": 0.6466957628227236, - "y": -0.02001450843748885 + "x": 0.49956677529873256, + "y": 0 }, "p2": { - "x": 91, - "y": 183 + "x": 0, + "y": 62.00523136030006 } } }, { - "ID": "2735", + "ID": "3035", "typeID": "Arrow", - "zOrder": "16", - "w": "94", - "h": "132", + "zOrder": "34", + "w": "1", + "h": "62", "measuredW": "150", "measuredH": "100", - "x": "968", - "y": "2300", + "x": "814", + "y": "2761", "properties": { - "color": "2848996", - "direction": "bottom", "leftArrow": "false", "rightArrow": "false", + "color": "2848996", "stroke": "dotted", "p0": { - "x": -0.5, - "y": -0.5 + "x": 0, + "y": 0.3939393939394904 }, "p1": { - "x": 0.6816916015287408, - "y": -0.06264764063070156 + "x": 0.49956677529873256, + "y": 0 }, "p2": { - "x": 93, - "y": 131 + "x": 0, + "y": 62.00523136030006 } } }, { - "ID": "2736", + "ID": "3036", "typeID": "Arrow", - "zOrder": "17", - "w": "94", - "h": "82", + "zOrder": "35", + "w": "1", + "h": "217", "measuredW": "150", "measuredH": "100", - "x": "974", - "y": "2302", + "x": "1352", + "y": "2545", "properties": { - "color": "2848996", - "direction": "bottom", "leftArrow": "false", "rightArrow": "false", - "stroke": "dotted", + "color": "2848996", "p0": { - "x": -0.5, - "y": -0.5 + "x": 0, + "y": 0.3056128276207346 }, "p1": { - "x": 0.6469984607491023, - "y": -0.08209338122113903 + "x": 0.5, + "y": 0 }, "p2": { - "x": 93, - "y": 81 + "x": 0, + "y": 216.99049199060255 } } }, { - "ID": "2737", + "ID": "3037", "typeID": "Arrow", - "zOrder": "18", - "w": "97", - "h": "31", + "zOrder": "36", + "w": "1", + "h": "191", "measuredW": "150", "measuredH": "100", - "x": "968", - "y": "2302", + "x": "869", + "y": "2455", "properties": { - "color": "2848996", - "direction": "bottom", "leftArrow": "false", "rightArrow": "false", + "color": "2848996", "stroke": "dotted", "p0": { - "x": -0.5, - "y": -0.5 + "x": 0, + "y": -0.49009958262422515 }, "p1": { - "x": 0.5697996021155806, - "y": -0.04716386044931828 + "x": 0.4995667752987324, + "y": 0 }, "p2": { - "x": 96, - "y": 30 + "x": 0, + "y": 190.36636900398753 } } }, { - "ID": "2738", + "ID": "3038", "typeID": "Arrow", - "zOrder": "19", - "w": "97", - "h": "20", + "zOrder": "37", + "w": "1", + "h": "170", "measuredW": "150", "measuredH": "100", - "x": "966", - "y": "2272", + "x": "500", + "y": "2471", "properties": { - "color": "2848996", - "direction": "bottom", "leftArrow": "false", "rightArrow": "false", + "color": "2848996", "stroke": "dotted", "p0": { - "x": -0.5, - "y": 19.5 + "x": 0, + "y": 0 }, "p1": { - "x": 0.5540000000000003, - "y": -0.07800000000000004 + "x": 0.501001905617902, + "y": 0 }, "p2": { - "x": 96, - "y": 0 + "x": 0, + "y": 170 } } }, { - "ID": "2739", + "ID": "3039", "typeID": "Arrow", - "zOrder": "20", - "w": "95", - "h": "69", + "zOrder": "38", + "w": "1", + "h": "175", "measuredW": "150", "measuredH": "100", - "x": "964", - "y": "2222", + "x": "343", + "y": "2370", "properties": { - "color": "2848996", - "direction": "bottom", "leftArrow": "false", "rightArrow": "false", - "stroke": "dotted", + "color": "2848996", "p0": { - "x": -0.5, - "y": 68.5 + "x": 0, + "y": 0.2654294557892172 }, "p1": { - "x": 0.554, - "y": -0.07800000000000008 + "x": 0.5, + "y": 0 }, "p2": { - "x": 94, - "y": 0 + "x": 0, + "y": 175.738606905285 } } }, { - "ID": "2740", + "ID": "3040", "typeID": "Arrow", - "zOrder": "21", - "w": "286", - "h": "362", + "zOrder": "39", + "w": "1", + "h": "180", "measuredW": "150", "measuredH": "100", - "x": "418", - "y": "1995", + "x": "925", + "y": "1271", "properties": { - "color": "2848996", "leftArrow": "false", "rightArrow": "false", + "color": "2848996", + "stroke": "dotted", "p0": { - "x": 285.64528205170564, - "y": 362.4782271770214 + "x": 0, + "y": 0 }, "p1": { - "x": 0.4365971463723128, - "y": 0.20879511032103928 + "x": 0.4988928776156576, + "y": 0 }, "p2": { "x": 0, - "y": 0 + "y": 180 } } }, { - "ID": "2741", + "ID": "3041", "typeID": "Arrow", - "zOrder": "22", - "w": "302", - "h": "265", + "zOrder": "40", + "w": "1", + "h": "180", "measuredW": "150", "measuredH": "100", - "x": "254", - "y": "1709", + "x": "766", + "y": "1271", "properties": { - "color": "2848996", - "direction": "bottom", "leftArrow": "false", "rightArrow": "false", + "color": "2848996", + "stroke": "dotted", "p0": { - "x": 302.26401960528983, - "y": -0.4747969266095424 + "x": 0, + "y": 0 }, "p1": { - "x": 0.5253269208128037, - "y": 0.1629774877603306 + "x": 0.4988928776156576, + "y": 0 }, "p2": { "x": 0, - "y": 264.5 + "y": 180 } } }, { - "ID": "2742", + "ID": "3042", "typeID": "Arrow", - "zOrder": "23", - "w": "82", - "h": "223", + "zOrder": "41", + "w": "1", + "h": "237", "measuredW": "150", "measuredH": "100", - "x": "607", - "y": "1689", + "x": "327", + "y": "1125", "properties": { - "color": "2848996", - "direction": "bottom", "leftArrow": "false", "rightArrow": "false", - "stroke": "dotted", + "color": "2848996", "p0": { - "x": 82.10318846625466, - "y": -0.044853053448150604 + "x": 0, + "y": 0.42424242424237946 }, "p1": { - "x": 0.4520111009254957, - "y": -0.1095023419938969 + "x": 0.4999999999999999, + "y": 0 }, "p2": { "x": 0, - "y": 223 + "y": 237.121212121212 } } }, { - "ID": "2743", + "ID": "3043", "typeID": "Arrow", - "zOrder": "24", - "w": "195", - "h": "285", + "zOrder": "42", + "w": "1", + "h": "86", "measuredW": "150", "measuredH": "100", - "x": "697", - "y": "1716", + "x": "621", + "y": "1052", "properties": { - "color": "2848996", - "direction": "bottom", "leftArrow": "false", "rightArrow": "false", - "stroke": "dotted", + "color": "2848996", "p0": { - "x": 0.9986685239084636, - "y": -0.35841288048663955 + "x": 0, + "y": 0.030303030303002743 }, "p1": { - "x": 0.4553405970648267, - "y": -0.16048434330533035 + "x": 0.49999999999999983, + "y": 0 }, "p2": { - "x": 194.9201337807633, - "y": 284.2969489644379 - } + "x": 0, + "y": 86.060606060606 + }, + "stroke": "dotted" } }, { - "ID": "2744", + "ID": "3044", "typeID": "Arrow", - "zOrder": "25", - "w": "59", - "h": "31", + "zOrder": "43", + "w": "76", + "h": "19", "measuredW": "150", "measuredH": "100", - "x": "673", - "y": "1573", + "x": "400", + "y": "1227", "properties": { - "color": "2848996", - "direction": "bottom", "leftArrow": "false", "rightArrow": "false", + "color": "2848996", "stroke": "dotted", "p0": { - "x": 0, - "y": 31 + "x": 76, + "y": 0 }, "p1": { - "x": 0.6609756097560976, - "y": -0.08211382113821152 + "x": 0.4776674685401831, + "y": 0.08562699251407613 }, "p2": { - "x": 59, - "y": 0 + "x": 0, + "y": 19 } } }, { - "ID": "2745", + "ID": "3047", "typeID": "Arrow", - "zOrder": "26", - "w": "50", - "h": "23", + "zOrder": "44", + "w": "979", + "h": "1", "measuredW": "150", "measuredH": "100", - "x": "681", - "y": "1610", + "x": "329", + "y": "1361", "properties": { - "color": "2848996", - "direction": "bottom", "leftArrow": "false", "rightArrow": "false", - "stroke": "dotted", + "color": "10027263", "p0": { "x": 0, "y": 0 }, "p1": { - "x": 0.6188208934322924, - "y": 0.07043831396163001 + "x": 0.5, + "y": 0 }, "p2": { - "x": 50, - "y": 23 + "x": 979.3333333333333, + "y": 0 } } }, { - "ID": "2746", + "ID": "3048", "typeID": "Arrow", - "zOrder": "27", - "w": "272", - "h": "173", + "zOrder": "45", + "w": "1", + "h": "81", "measuredW": "150", "measuredH": "100", - "x": "722", - "y": "1703", + "x": "793", + "y": "1041", "properties": { - "color": "2848996", - "direction": "bottom", "leftArrow": "false", "rightArrow": "false", + "color": "2848996", "stroke": "dotted", "p0": { - "x": -0.280051322347731, - "y": -0.4051169650456359 + "x": -0.030303030303002743, + "y": -0.0909090909092356 }, "p1": { - "x": 0.46693873123906865, - "y": -0.14334910584758043 + "x": 0.4999999999999998, + "y": 0 }, "p2": { - "x": 271.3286064380177, - "y": 172.76022815728356 + "x": -0.030303030303002743, + "y": 80.81818181818176 } } }, { - "ID": "2747", + "ID": "3052", "typeID": "Arrow", - "zOrder": "28", - "w": "332", - "h": "1", + "zOrder": "46", + "w": "1", + "h": "269", "measuredW": "150", "measuredH": "100", - "x": "709", - "y": "1700", + "x": "809", + "y": "237", "properties": { - "color": "2848996", - "direction": "bottom", "leftArrow": "false", "rightArrow": "false", - "stroke": "dotted", + "color": "2848996", "p0": { - "x": 0.26627659693679107, - "y": 0.35025083893128794 + "x": 0, + "y": 0 }, "p1": { - "x": 0.6451475897218095, - "y": -0.0029730303673813283 + "x": 0.4999999999999999, + "y": 0 }, "p2": { - "x": 332.3641987493486, - "y": 0.35025083893128794 + "x": 0, + "y": 268.8181818181818 } } }, { - "ID": "2748", + "ID": "3053", "typeID": "Arrow", - "zOrder": "29", - "w": "163", - "h": "220", + "zOrder": "10", + "w": "1", + "h": "47", "measuredW": "150", "measuredH": "100", - "x": "392", - "y": "1484", + "x": "1140", + "y": "522", "properties": { - "color": "2848996", "leftArrow": "false", "rightArrow": "false", + "color": "2848996", + "stroke": "dotted", "p0": { - "x": 163.07795559760268, - "y": 219.78094704264163 + "x": 0, + "y": 0 }, "p1": { - "x": 0.5476470211266105, - "y": -0.16651357528891536 + "x": 0.5020600744284955, + "y": -0.0018326094960089672 }, "p2": { "x": 0, - "y": 0 + "y": 47 } } }, { - "ID": "2749", - "typeID": "TextArea", - "zOrder": "30", - "w": "162", - "h": "164", - "measuredW": "200", - "measuredH": "140", - "x": "256", - "y": "1642" - }, - { - "ID": "2750", + "ID": "3054", "typeID": "Label", - "zOrder": "31", - "measuredW": "90", - "measuredH": "25", - "x": "292", - "y": "1655", + "zOrder": "47", + "measuredW": "116", + "measuredH": "40", + "x": "752", + "y": "179", "properties": { - "text": "Web Server", - "size": "17" - } - }, - { - "ID": "2751", - "typeID": "__group__", - "zOrder": "32", - "measuredW": "24", - "measuredH": "24", - "w": "24", - "h": "24", - "x": "404", - "y": "1652", - "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": "10027263", - "icon": { - "ID": "check-circle", - "size": "small" - } - } - } - ] - } + "size": "32", + "text": "DevOps" } }, { - "ID": "2752", + "ID": "3055", "typeID": "__group__", - "zOrder": "33", - "measuredW": "113", - "measuredH": "46", - "w": "113", - "h": "46", - "x": "342", - "y": "1696", - "properties": { - "controlName": "106-setting-up-x:apache" - }, + "zOrder": "48", + "measuredW": "420", + "measuredH": "130", + "w": "420", + "h": "130", + "x": "162", + "y": "71", "children": { "controls": { "control": [ { "ID": "0", - "typeID": "TextArea", + "typeID": "Canvas", "zOrder": "0", - "w": "102", - "h": "46", - "measuredW": "200", - "measuredH": "140", + "w": "420", + "h": "130", + "measuredW": "100", + "measuredH": "70", "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } + "y": "0" }, { "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "59", - "measuredH": "25", - "x": "22", - "y": "10", - "properties": { - "text": "Apache", - "size": "17" - } - }, - { - "ID": "2", "typeID": "__group__", - "zOrder": "2", + "zOrder": "1", "measuredW": "24", "measuredH": "24", "w": "24", "h": "24", - "x": "89", - "y": "11", + "x": "23", + "y": "21", "children": { "controls": { "control": [ @@ -1050,23 +1199,7 @@ "x": "0", "y": "0", "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "2", - "typeID": "Icon", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "color": "3700253", + "color": "10027263", "icon": { "ID": "check-circle", "size": "small" @@ -1076,64 +1209,44 @@ ] } } - } - ] - } - } - }, - { - "ID": "2753", - "typeID": "__group__", - "zOrder": "34", - "measuredW": "115", - "measuredH": "47", - "w": "115", - "h": "47", - "x": "221", - "y": "1695", - "properties": { - "controlName": "105-setting-up-x:nginx" - }, - "children": { - "controls": { - "control": [ + }, { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "103", - "h": "47", - "measuredW": "200", - "measuredH": "140", - "x": "12", - "y": "0", + "ID": "2", + "typeID": "Label", + "zOrder": "2", + "measuredW": "269", + "measuredH": "24", + "x": "59", + "y": "21", "properties": { - "color": "16770457" + "size": "16", + "text": "Personal Recommendation / Opinion" } }, { - "ID": "1", + "ID": "5", "typeID": "Label", - "zOrder": "1", - "measuredW": "45", - "measuredH": "25", - "x": "41", - "y": "10", + "zOrder": "3", + "w": "324", + "measuredW": "315", + "measuredH": "24", + "x": "60", + "y": "86", "properties": { - "text": "Nginx", - "size": "17" + "size": "16", + "text": "Order in roadmap not strict (Learn anytime)" } }, { - "ID": "2", + "ID": "6", "typeID": "__group__", - "zOrder": "2", + "zOrder": "4", "measuredW": "24", "measuredH": "24", "w": "24", "h": "24", - "x": "0", - "y": "11", + "x": "23", + "y": "86", "children": { "controls": { "control": [ @@ -1162,7 +1275,7 @@ "x": "0", "y": "0", "properties": { - "color": "10027263", + "color": "10066329", "icon": { "ID": "check-circle", "size": "small" @@ -1172,64 +1285,30 @@ ] } } - } - ] - } - } - }, - { - "ID": "2754", - "typeID": "__group__", - "zOrder": "35", - "measuredW": "115", - "measuredH": "46", - "w": "115", - "h": "46", - "x": "221", - "y": "1746", - "properties": { - "controlName": "107-setting-up-x:tomcat" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "104", - "h": "46", - "measuredW": "200", - "measuredH": "140", - "x": "11", - "y": "0", - "properties": { - "color": "16770457" - } }, { - "ID": "1", + "ID": "7", "typeID": "Label", - "zOrder": "1", - "measuredW": "57", - "measuredH": "25", - "x": "36", - "y": "10", + "zOrder": "5", + "measuredW": "272", + "measuredH": "24", + "x": "59", + "y": "54", "properties": { - "text": "Tomcat", - "size": "17" + "size": "16", + "text": "Alternative Option - Pick this or purple" } }, { - "ID": "2", + "ID": "8", "typeID": "__group__", - "zOrder": "2", + "zOrder": "6", "measuredW": "24", "measuredH": "24", "w": "24", "h": "24", - "x": "0", - "y": "11", + "x": "23", + "y": "53", "children": { "controls": { "control": [ @@ -1290,58 +1369,68 @@ } }, { - "ID": "2755", + "ID": "3056", + "typeID": "Canvas", + "zOrder": "49", + "w": "420", + "h": "180", + "measuredW": "100", + "measuredH": "70", + "x": "162", + "y": "217" + }, + { + "ID": "3057", + "typeID": "Label", + "zOrder": "50", + "measuredW": "263", + "measuredH": "28", + "x": "181", + "y": "237", + "properties": { + "size": "20", + "text": "Featured DevOps Resources" + } + }, + { + "ID": "3058", "typeID": "__group__", - "zOrder": "36", - "measuredW": "111", - "measuredH": "46", - "w": "111", - "h": "46", - "x": "342", - "y": "1746", + "zOrder": "51", + "measuredW": "287", + "measuredH": "27", + "w": "287", + "h": "27", + "x": "178", + "y": "274", "properties": { - "controlName": "108-setting-up-x:iis" + "controlName": "ext_link:www.digistore24.com/redir/350808/Roadmap/CAMPAIGNKEY" }, "children": { "controls": { "control": [ { "ID": "0", - "typeID": "TextArea", + "typeID": "Label", "zOrder": "0", - "w": "104", - "h": "46", - "measuredW": "200", - "measuredH": "140", - "x": "0", + "measuredW": "212", + "measuredH": "25", + "x": "34", "y": "0", "properties": { - "color": "16770457" + "size": "17", + "text": "DevOps Bootcamp by Nana" } }, { "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "21", - "measuredH": "25", - "x": "42", - "y": "10", - "properties": { - "text": "IIS", - "size": "17" - } - }, - { - "ID": "2", "typeID": "__group__", - "zOrder": "2", + "zOrder": "1", "measuredW": "24", "measuredH": "24", "w": "24", "h": "24", - "x": "87", - "y": "11", + "x": "0", + "y": "3", "children": { "controls": { "control": [ @@ -1370,23 +1459,7 @@ "x": "0", "y": "0", "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "2", - "typeID": "Icon", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "color": "3700253", + "color": "10066329", "icon": { "ID": "check-circle", "size": "small" @@ -1396,346 +1469,101 @@ ] } } + }, + { + "ID": "2", + "typeID": "Label", + "zOrder": "2", + "measuredW": "34", + "measuredH": "25", + "x": "253", + "y": "0", + "properties": { + "color": "10027263", + "size": "17", + "text": "Paid" + } } ] } } }, { - "ID": "2756", - "typeID": "Arrow", - "zOrder": "37", - "w": "139", - "h": "480", - "measuredW": "150", - "measuredH": "100", - "x": "349", - "y": "1003", - "properties": { - "color": "2848996", - "direction": "bottom", - "leftArrow": "false", - "rightArrow": "false", - "p0": { - "x": 117, - "y": 0 - }, - "p1": { - "x": 0.49741931596810796, - "y": 0.1414255015765269 - }, - "p2": { - "x": 0, - "y": 480 - } - } + "ID": "3059", + "typeID": "Canvas", + "zOrder": "52", + "w": "420", + "h": "89", + "measuredW": "100", + "measuredH": "70", + "x": "162", + "y": "346" }, { - "ID": "2757", - "typeID": "Arrow", - "zOrder": "38", - "w": "48", - "h": "232", - "measuredW": "150", - "measuredH": "100", - "x": "437", - "y": "767", + "ID": "3060", + "typeID": "Label", + "zOrder": "53", + "measuredW": "372", + "measuredH": "25", + "x": "181", + "y": "392", "properties": { - "color": "2848996", - "leftArrow": "false", - "rightArrow": "false", - "p0": { - "x": 29, - "y": 231 - }, - "p1": { - "x": 0.5363141434032203, - "y": 0.16738097996061624 - }, - "p2": { - "x": 48.5, - "y": -0.5 - } + "size": "17", + "text": "from these help offset roadmap.sh running costs." } }, { - "ID": "2758", - "typeID": "Arrow", - "zOrder": "39", - "w": "113", - "h": "546", - "measuredW": "150", - "measuredH": "100", - "x": "622", - "y": "861", + "ID": "3061", + "typeID": "Label", + "zOrder": "54", + "measuredW": "337", + "measuredH": "25", + "x": "181", + "y": "364", "properties": { - "color": "2848996", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "p0": { - "x": 113, - "y": -0.5 - }, - "p1": { - "x": 0.7098591549295775, - "y": -0.1464788732394366 - }, - "p2": { - "x": 68.28925247394181, - "y": 545.0788811131581 - } + "size": "17", + "text": "These are affiliate links. Revenue generated" } }, { - "ID": "2759", - "typeID": "Arrow", - "zOrder": "40", - "w": "55", - "h": "506", - "measuredW": "150", - "measuredH": "100", - "x": "841", - "y": "867", - "properties": { - "color": "2848996", - "curvature": "-1", - "direction": "bottom", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "p0": { - "x": -0.5, - "y": 0 - }, - "p1": { - "x": 0.6869181773640373, - "y": -0.04489777738185382 - }, - "p2": { - "x": 54.5, - "y": 506 - } - } - }, - { - "ID": "2760", - "typeID": "Arrow", - "zOrder": "41", - "w": "138", - "h": "179", - "measuredW": "150", - "measuredH": "100", - "x": "867", - "y": "867", - "properties": { - "color": "2848996", - "curvature": "-1", - "direction": "bottom", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "p0": { - "x": 0, - "y": -0.5 - }, - "p1": { - "x": 0.6360848858314251, - "y": -0.2072096577168263 - }, - "p2": { - "x": 138, - "y": 177 - } - } - }, - { - "ID": "2761", - "typeID": "Arrow", - "zOrder": "42", - "w": "88", - "h": "261", - "measuredW": "150", - "measuredH": "100", - "x": "853", - "y": "863", - "properties": { - "color": "2848996", - "curvature": "-1", - "direction": "bottom", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "p0": { - "x": 0, - "y": -0.5 - }, - "p1": { - "x": 0.6466552428656166, - "y": -0.08776115468265999 - }, - "p2": { - "x": 88, - "y": 260.5 - } - } - }, - { - "ID": "2762", - "typeID": "Arrow", - "zOrder": "43", - "w": "62", - "h": "376", - "measuredW": "150", - "measuredH": "100", - "x": "848", - "y": "868", - "properties": { - "color": "2848996", - "curvature": "-1", - "direction": "bottom", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "p0": { - "x": 0, - "y": 0 - }, - "p1": { - "x": 0.672219801492509, - "y": -0.052769994127099214 - }, - "p2": { - "x": 61.5, - "y": 376 - } - } - }, - { - "ID": "2763", - "typeID": "Arrow", - "zOrder": "44", - "w": "1", - "h": "77", - "measuredW": "150", - "measuredH": "100", - "x": "827", - "y": "724", - "properties": { - "color": "2848996", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "p0": { - "x": 0, - "y": 0 - }, - "p1": { - "x": 0.3856209150326797, - "y": 0.0065359477124183 - }, - "p2": { - "x": 0, - "y": 76.5 - } - } - }, - { - "ID": "2764", - "typeID": "Arrow", - "zOrder": "45", - "w": "119", - "h": "65", - "measuredW": "150", - "measuredH": "100", - "x": "881", - "y": "806", - "properties": { - "color": "2848996", - "curvature": "-1", - "direction": "bottom", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "p0": { - "x": -0.5, - "y": 0 - }, - "p1": { - "x": 0.6294505494505496, - "y": 0.12131868131868125 - }, - "p2": { - "x": 118, - "y": 64.5 - } - } - }, - { - "ID": "2765", - "typeID": "TextArea", - "zOrder": "46", - "w": "264", - "h": "155", - "measuredW": "200", - "measuredH": "140", - "x": "933", - "y": "851" - }, - { - "ID": "2766", + "ID": "3062", "typeID": "__group__", - "zOrder": "47", - "measuredW": "122", - "measuredH": "47", - "w": "122", - "h": "47", - "x": "1066", - "y": "889", + "zOrder": "55", + "measuredW": "298", + "measuredH": "27", + "w": "298", + "h": "27", + "x": "179", + "y": "304", "properties": { - "controlName": "108-managing-servers:operating-system:open-bsd" + "controlName": "ext_link:kodekloud.com?aff=kamranahmed.se" }, "children": { "controls": { "control": [ { "ID": "0", - "typeID": "TextArea", + "typeID": "Label", "zOrder": "0", - "w": "113", - "h": "47", - "measuredW": "200", - "measuredH": "140", - "x": "0", + "measuredW": "220", + "measuredH": "25", + "x": "34", "y": "0", "properties": { - "color": "16770457" + "size": "17", + "text": "KodeCloud DevOps Courses" } }, { "ID": "1", - "typeID": "Label", - "zOrder": "1", - "w": "77", - "measuredW": "77", - "measuredH": "25", - "x": "18", - "y": "11", - "properties": { - "text": "OpenBSD", - "size": "17" - } - }, - { - "ID": "2", "typeID": "__group__", - "zOrder": "2", + "zOrder": "1", "measuredW": "24", "measuredH": "24", "w": "24", "h": "24", - "x": "98", - "y": "10", + "x": "0", + "y": "3", "children": { "controls": { "control": [ @@ -1764,23 +1592,7 @@ "x": "0", "y": "0", "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "2", - "typeID": "Icon", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "color": "3700253", + "color": "10066329", "icon": { "ID": "check-circle", "size": "small" @@ -1790,98 +1602,175 @@ ] } } + }, + { + "ID": "2", + "typeID": "Label", + "zOrder": "2", + "measuredW": "34", + "measuredH": "25", + "x": "264", + "y": "0", + "properties": { + "color": "10027263", + "size": "17", + "text": "Paid" + } } ] } } }, { - "ID": "2767", + "ID": "3063", + "typeID": "Canvas", + "zOrder": "56", + "w": "350", + "h": "141", + "measuredW": "100", + "measuredH": "70", + "x": "1020", + "y": "51" + }, + { + "ID": "3064", + "typeID": "Label", + "zOrder": "57", + "measuredW": "314", + "measuredH": "25", + "x": "1034", + "y": "68", + "properties": { + "size": "17", + "text": "Find the detailed version of this roadmap" + } + }, + { + "ID": "3065", + "typeID": "Label", + "zOrder": "58", + "measuredW": "319", + "measuredH": "25", + "x": "1034", + "y": "96", + "properties": { + "size": "17", + "text": "along with resources and other roadmaps" + } + }, + { + "ID": "3066", "typeID": "__group__", - "zOrder": "48", - "measuredW": "122", - "measuredH": "47", - "w": "122", - "h": "47", - "x": "939", - "y": "889", + "zOrder": "59", + "measuredW": "320", + "measuredH": "45", + "w": "320", + "h": "45", + "x": "1035", + "y": "132", "properties": { - "controlName": "107-managing-servers:operating-system:free-bsd" + "controlName": "ext_link:roadmap.sh" }, "children": { "controls": { "control": [ { "ID": "0", - "typeID": "TextArea", + "typeID": "Canvas", "zOrder": "0", - "w": "113", - "h": "47", - "measuredW": "200", - "measuredH": "140", - "x": "9", + "w": "320", + "h": "45", + "measuredW": "100", + "measuredH": "70", + "x": "0", "y": "0", "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "w": "71", - "measuredW": "71", - "measuredH": "25", - "x": "30", - "y": "11", - "properties": { - "text": "FreeBSD", - "size": "17" + "borderColor": "4273622", + "color": "4273622" } }, { - "ID": "2", + "ID": "1", "typeID": "__group__", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "w": "24", - "h": "24", - "x": "0", - "y": "12", + "zOrder": "1", + "measuredW": "181", + "measuredH": "29", + "w": "181", + "h": "29", + "x": "65", + "y": "8", "children": { "controls": { "control": [ { "ID": "0", - "typeID": "Icon", + "typeID": "Label", "zOrder": "0", - "measuredW": "24", - "measuredH": "24", - "x": "0", + "measuredW": "105", + "measuredH": "28", + "x": "76", "y": "0", "properties": { "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } + "size": "20", + "text": "roadmap.sh" } }, { "ID": "1", - "typeID": "Icon", + "typeID": "Label", "zOrder": "1", - "measuredW": "24", - "measuredH": "24", + "measuredW": "45", + "measuredH": "28", "x": "0", "y": "0", "properties": { - "color": "10027263", - "icon": { - "ID": "check-circle", - "size": "small" - } + "color": "16777215", + "size": "20", + "text": "https" + } + }, + { + "ID": "2", + "typeID": "Label", + "zOrder": "2", + "measuredW": "5", + "measuredH": "28", + "x": "48", + "y": "0", + "properties": { + "bold": "true", + "color": "16777215", + "size": "20", + "text": ":" + } + }, + { + "ID": "3", + "typeID": "Label", + "zOrder": "3", + "measuredW": "10", + "measuredH": "28", + "x": "55", + "y": "1", + "properties": { + "color": "16777215", + "size": "20", + "text": "/" + } + }, + { + "ID": "4", + "typeID": "Label", + "zOrder": "4", + "measuredW": "10", + "measuredH": "28", + "x": "63", + "y": "1", + "properties": { + "color": "16777215", + "size": "20", + "text": "/" } } ] @@ -1893,30 +1782,157 @@ } }, { - "ID": "2768", - "typeID": "Label", - "zOrder": "49", - "measuredW": "34", - "measuredH": "25", - "x": "1043", - "y": "859", + "ID": "3067", + "typeID": "Arrow", + "zOrder": "60", + "w": "127", + "h": "5", + "measuredW": "150", + "measuredH": "100", + "x": "971", + "y": "344", "properties": { - "text": "Unix", - "size": "17" + "color": "2848996", + "curvature": "-1", + "direction": "bottom", + "leftArrow": "false", + "rightArrow": "false", + "stroke": "dotted", + "p0": { + "x": 0, + "y": 4 + }, + "p1": { + "x": 0.6967712512585971, + "y": -0.0004234795649128249 + }, + "p2": { + "x": 126, + "y": 0 + } + } + }, + { + "ID": "3068", + "typeID": "Arrow", + "zOrder": "61", + "w": "120", + "h": "47", + "measuredW": "150", + "measuredH": "100", + "x": "975", + "y": "289", + "properties": { + "color": "2848996", + "curvature": "-1", + "direction": "bottom", + "leftArrow": "false", + "rightArrow": "false", + "stroke": "dotted", + "p0": { + "x": 0, + "y": 47 + }, + "p1": { + "x": 0.4946393327644539, + "y": -0.08428379340236354 + }, + "p2": { + "x": 121, + "y": 0 + } + } + }, + { + "ID": "3069", + "typeID": "Arrow", + "zOrder": "62", + "w": "122", + "h": "40", + "measuredW": "150", + "measuredH": "100", + "x": "971", + "y": "358", + "properties": { + "color": "2848996", + "curvature": "-1", + "direction": "bottom", + "leftArrow": "false", + "rightArrow": "false", + "stroke": "dotted", + "p0": { + "x": 0, + "y": 0 + }, + "p1": { + "x": 0.6732262460018726, + "y": 0.10948951153457914 + }, + "p2": { + "x": 122, + "y": 40 + } } }, { - "ID": "2769", + "ID": "3070", "typeID": "__group__", - "zOrder": "50", - "measuredW": "241", + "zOrder": "63", + "measuredW": "332", + "measuredH": "50", + "w": "332", + "h": "50", + "x": "646", + "y": "323", + "properties": { + "controlName": "100-language" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "332", + "h": "50", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "16776960" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "249", + "measuredH": "25", + "x": "41", + "y": "12", + "properties": { + "size": "17", + "text": "Learn a Programming Language" + } + } + ] + } + } + }, + { + "ID": "3071", + "typeID": "__group__", + "zOrder": "64", + "measuredW": "113", "measuredH": "47", - "w": "241", + "w": "113", "h": "47", - "x": "948", - "y": "942", + "x": "1194", + "y": "268", "properties": { - "controlName": "109-managing-servers:operating-system:net-bsd" + "controlName": "101-language:ruby" }, "children": { "controls": { @@ -1925,7 +1941,7 @@ "ID": "0", "typeID": "TextArea", "zOrder": "0", - "w": "232", + "w": "104", "h": "47", "measuredW": "200", "measuredH": "140", @@ -1939,14 +1955,14 @@ "ID": "1", "typeID": "Label", "zOrder": "1", - "w": "63", - "measuredW": "63", + "w": "45", + "measuredW": "39", "measuredH": "25", - "x": "81", + "x": "26", "y": "11", "properties": { - "text": "NetBSD", - "size": "17" + "size": "17", + "text": "Ruby" } }, { @@ -1957,7 +1973,7 @@ "measuredH": "24", "w": "24", "h": "24", - "x": "217", + "x": "89", "y": "12", "children": { "controls": { @@ -2019,63 +2035,110 @@ } }, { - "ID": "2770", + "ID": "3072", "typeID": "__group__", - "zOrder": "51", - "measuredW": "24", - "measuredH": "24", - "w": "24", - "h": "24", - "x": "1182", - "y": "842", + "zOrder": "65", + "measuredW": "109", + "measuredH": "47", + "w": "109", + "h": "47", + "x": "1080", + "y": "268", + "properties": { + "controlName": "100-language:python" + }, "children": { "controls": { "control": [ { "ID": "0", - "typeID": "Icon", + "typeID": "TextArea", "zOrder": "0", - "measuredW": "24", - "measuredH": "24", - "x": "0", + "w": "97", + "h": "47", + "measuredW": "200", + "measuredH": "140", + "x": "12", "y": "0", "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } + "color": "16770457" } }, { "ID": "1", - "typeID": "Icon", + "typeID": "Label", "zOrder": "1", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", + "measuredW": "53", + "measuredH": "25", + "x": "35", + "y": "11", "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } + "text": "Python", + "size": "17" } }, { "ID": "2", - "typeID": "Icon", + "typeID": "__group__", "zOrder": "2", "measuredW": "24", "measuredH": "24", + "w": "24", + "h": "24", "x": "0", - "y": "0", - "properties": { - "color": "3700253", - "icon": { - "ID": "check-circle", - "size": "small" + "y": "12", + "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": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "icon": { + "ID": "check-circle", + "size": "small" + }, + "color": "10027263" + } + } + ] } } } @@ -2084,134 +2147,17 @@ } }, { - "ID": "2771", - "typeID": "Arrow", - "zOrder": "52", - "w": "137", - "h": "12", - "measuredW": "150", - "measuredH": "100", - "x": "871", - "y": "796", - "properties": { - "color": "2848996", - "curvature": "-1", - "direction": "bottom", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "p0": { - "x": -0.5, - "y": 0 - }, - "p1": { - "x": 0.6326041194809348, - "y": 0.013003277465426736 - }, - "p2": { - "x": 136, - "y": 11.5 - } - } - }, - { - "ID": "2772", - "typeID": "Arrow", - "zOrder": "53", - "w": "169", - "h": "3", - "measuredW": "150", - "measuredH": "100", - "x": "514", - "y": "795", - "properties": { - "color": "2848996", - "curvature": "-1", - "direction": "bottom", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "p0": { - "x": 0, - "y": -0.5 - }, - "p1": { - "x": 0.3811746122917864, - "y": -0.010697874784606603 - }, - "p2": { - "x": 168.5, - "y": 2.5 - } - } - }, - { - "ID": "2773", - "typeID": "Arrow", - "zOrder": "54", - "w": "177", - "h": "54", - "measuredW": "150", - "measuredH": "100", - "x": "490", - "y": "810", - "properties": { - "color": "2848996", - "curvature": "-1", - "direction": "bottom", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "p0": { - "x": 0, - "y": 0 - }, - "p1": { - "x": 0.6008584576652427, - "y": 0.09670030334922308 - }, - "p2": { - "x": 176.5, - "y": 53.5 - } - } - }, - { - "ID": "2774", - "typeID": "TextArea", - "zOrder": "55", - "w": "208", - "h": "191", - "measuredW": "200", - "measuredH": "140", - "x": "985", - "y": "641" - }, - { - "ID": "2775", - "typeID": "Label", - "zOrder": "56", - "measuredW": "41", - "measuredH": "25", - "x": "1040", - "y": "794", - "properties": { - "text": "Linux", - "size": "17" - } - }, - { - "ID": "2776", + "ID": "3073", "typeID": "__group__", - "zOrder": "57", - "measuredW": "243", - "measuredH": "40", - "w": "243", - "h": "40", - "x": "935", - "y": "744", + "zOrder": "66", + "measuredW": "216", + "measuredH": "47", + "w": "216", + "h": "47", + "x": "1090", + "y": "369", "properties": { - "controlName": "104-managing-servers:operating-system:rhel" + "controlName": "102-language:javascript" }, "children": { "controls": { @@ -2220,27 +2166,28 @@ "ID": "0", "typeID": "TextArea", "zOrder": "0", - "w": "234", - "h": "40", + "w": "207", + "h": "47", "measuredW": "200", "measuredH": "140", - "x": "9", + "x": "0", "y": "0", "properties": { - "color": "16770457" + "color": "16770457", + "textColor": "16776960" } }, { "ID": "1", "typeID": "Label", "zOrder": "1", - "measuredW": "147", + "measuredW": "155", "measuredH": "25", - "x": "52", - "y": "7", + "x": "25", + "y": "11", "properties": { "size": "17", - "text": "RHEL / Derivatives" + "text": "JavaScript / Node.js" } }, { @@ -2251,8 +2198,8 @@ "measuredH": "24", "w": "24", "h": "24", - "x": "0", - "y": "8", + "x": "192", + "y": "12", "children": { "controls": { "control": [ @@ -2281,7 +2228,23 @@ "x": "0", "y": "0", "properties": { - "color": "10027263", + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "3700253", "icon": { "ID": "check-circle", "size": "small" @@ -2297,17 +2260,17 @@ } }, { - "ID": "2777", + "ID": "3074", "typeID": "__group__", - "zOrder": "58", - "measuredW": "245", - "measuredH": "40", - "w": "245", - "h": "40", - "x": "933", - "y": "653", + "zOrder": "67", + "measuredW": "107", + "measuredH": "47", + "w": "107", + "h": "47", + "x": "1082", + "y": "318", "properties": { - "controlName": "102-managing-servers:operating-system:ubuntu" + "controlName": "103-language:go" }, "children": { "controls": { @@ -2316,58 +2279,76 @@ "ID": "0", "typeID": "TextArea", "zOrder": "0", - "w": "234", - "h": "40", + "w": "97", + "h": "47", "measuredW": "200", "measuredH": "140", - "x": "11", + "x": "10", "y": "0", "properties": { - "color": "16770457" + "color": "16770457", + "textColor": "16776960" } }, { "ID": "1", "typeID": "Label", "zOrder": "1", - "measuredW": "128", + "measuredW": "23", "measuredH": "25", - "x": "64", - "y": "8", + "x": "47", + "y": "11", "properties": { "size": "17", - "text": "Ubuntu / Debian" + "text": "Go" } }, { "ID": "2", - "typeID": "Icon", + "typeID": "__group__", "zOrder": "2", "measuredW": "24", "measuredH": "24", + "w": "24", + "h": "24", "x": "0", - "y": "8", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "3", - "typeID": "Icon", - "zOrder": "3", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "8", - "properties": { - "color": "10027263", - "icon": { - "ID": "check-circle", - "size": "small" + "y": "12", + "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": "10027263", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] } } } @@ -2376,17 +2357,17 @@ } }, { - "ID": "2778", + "ID": "3075", "typeID": "__group__", - "zOrder": "59", - "measuredW": "246", - "measuredH": "40", - "w": "246", - "h": "40", - "x": "932", - "y": "699", + "zOrder": "68", + "measuredW": "112", + "measuredH": "47", + "w": "112", + "h": "47", + "x": "1194", + "y": "319", "properties": { - "controlName": "103-managing-servers:operating-system:suse-linux" + "controlName": "104-language:rust" }, "children": { "controls": { @@ -2395,75 +2376,170 @@ "ID": "0", "typeID": "TextArea", "zOrder": "0", - "w": "234", - "h": "40", + "w": "104", + "h": "47", "measuredW": "200", "measuredH": "140", - "x": "12", + "x": "0", "y": "0", "properties": { - "color": "16770457" + "color": "16770457", + "textColor": "16776960" } }, { "ID": "1", "typeID": "Label", "zOrder": "1", - "measuredW": "90", + "measuredW": "36", "measuredH": "25", - "x": "84", - "y": "7", + "x": "32", + "y": "11", "properties": { - "text": "SUSE Linux", - "size": "17" + "size": "17", + "text": "Rust" } }, { "ID": "2", - "typeID": "Icon", + "typeID": "__group__", "zOrder": "2", "measuredW": "24", "measuredH": "24", - "x": "0", - "y": "8", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" + "w": "24", + "h": "24", + "x": "88", + "y": "11", + "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": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "3700253", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] } } - }, + } + ] + } + } + }, + { + "ID": "3076", + "typeID": "Arrow", + "zOrder": "69", + "w": "1", + "h": "115", + "measuredW": "150", + "measuredH": "100", + "x": "809", + "y": "44", + "properties": { + "curvature": "0", + "leftArrow": "false", + "rightArrow": "false", + "color": "2848996", + "stroke": "dotted", + "p0": { + "x": 0, + "y": -0.06060606060606233 + }, + "p1": { + "x": 0.5, + "y": 0 + }, + "p2": { + "x": 0, + "y": 114.9603156901461 + } + } + }, + { + "ID": "3077", + "typeID": "__group__", + "zOrder": "239", + "measuredW": "251", + "measuredH": "49", + "w": "251", + "h": "49", + "x": "913", + "y": "482", + "properties": { + "controlName": "101-operating-systems" + }, + "children": { + "controls": { + "control": [ { - "ID": "3", - "typeID": "Icon", - "zOrder": "3", - "measuredW": "24", - "measuredH": "24", + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "251", + "h": "49", + "measuredW": "200", + "measuredH": "140", "x": "0", - "y": "8", + "y": "0", "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } + "color": "16776960" } }, { - "ID": "4", - "typeID": "Icon", - "zOrder": "4", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "8", + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "146", + "measuredH": "25", + "x": "53", + "y": "12", "properties": { - "color": "3700253", - "icon": { - "ID": "check-circle", - "size": "small" - } + "size": "17", + "text": "Operating Systems" } } ] @@ -2471,3353 +2547,59 @@ } }, { - "ID": "2779", + "ID": "3079", "typeID": "__group__", - "zOrder": "60", - "measuredW": "24", - "measuredH": "24", - "w": "24", - "h": "24", - "x": "1181", - "y": "812", + "zOrder": "70", + "measuredW": "147", + "measuredH": "43", + "w": "147", + "h": "43", + "x": "1072", + "y": "654", + "properties": { + "controlName": "101-operating-systems:unix:open-bsd" + }, "children": { "controls": { "control": [ { "ID": "0", - "typeID": "Icon", + "typeID": "TextArea", "zOrder": "0", - "measuredW": "24", - "measuredH": "24", + "w": "137", + "h": "43", + "measuredW": "200", + "measuredH": "140", "x": "0", "y": "0", "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } + "color": "16770457" } }, { "ID": "1", - "typeID": "Icon", + "typeID": "Label", "zOrder": "1", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "color": "10027263", - "icon": { - "ID": "check-circle", - "size": "small" - } - } - } - ] - } - } - }, - { - "ID": "2780", - "typeID": "Arrow", - "zOrder": "61", - "w": "74", - "h": "41", - "measuredW": "150", - "measuredH": "100", - "x": "856", - "y": "555", - "properties": { - "color": "2848996", - "curvature": "-1", - "direction": "bottom", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "p0": { - "x": 0, - "y": -0.5 - }, - "p1": { - "x": 0.3811746122917864, - "y": -0.010697874784606631 - }, - "p2": { - "x": 73.5, - "y": 40.5 - } - } - }, - { - "ID": "2781", - "typeID": "Arrow", - "zOrder": "62", - "w": "79", - "h": "43", - "measuredW": "150", - "measuredH": "100", - "x": "846", - "y": "502", - "properties": { - "color": "2848996", - "curvature": "-1", - "direction": "bottom", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "p0": { - "x": 0, - "y": 42.5 - }, - "p1": { - "x": 0.38117461229178634, - "y": -0.010697874784606655 - }, - "p2": { - "x": 79, - "y": -0.5 - } - } - }, - { - "ID": "2782", - "typeID": "Arrow", - "zOrder": "63", - "w": "96", - "h": "3", - "measuredW": "150", - "measuredH": "100", - "x": "842", - "y": "547", - "properties": { - "color": "2848996", - "curvature": "-1", - "direction": "bottom", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "p0": { - "x": 0, - "y": -0.5 - }, - "p1": { - "x": 0.38117461229178634, - "y": -0.010697874784606601 - }, - "p2": { - "x": 96, - "y": 2 - } - } - }, - { - "ID": "2783", - "typeID": "Arrow", - "zOrder": "64", - "w": "1", - "h": "77", - "measuredW": "150", - "measuredH": "100", - "x": "819", - "y": "555", - "properties": { - "color": "2848996", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "p0": { - "x": 0, - "y": 0 - }, - "p1": { - "x": 0.3856209150326797, - "y": 0.0065359477124183 - }, - "p2": { - "x": 0, - "y": 76.5 - } - } - }, - { - "ID": "2784", - "typeID": "Arrow", - "zOrder": "65", - "w": "224", - "h": "188", - "measuredW": "150", - "measuredH": "100", - "x": "506", - "y": "543", - "properties": { - "color": "2848996", - "leftArrow": "false", - "rightArrow": "false", - "p0": { - "x": 224, - "y": -0.5 - }, - "p1": { - "x": 0.5071028305356263, - "y": 0.24829052104046045 - }, - "p2": { - "x": 0, - "y": 185.5 - } - } - }, - { - "ID": "2785", - "typeID": "Arrow", - "zOrder": "66", - "w": "1", - "h": "77", - "measuredW": "150", - "measuredH": "100", - "x": "819", - "y": "465", - "properties": { - "color": "2848996", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "p0": { - "x": 0, - "y": 0 - }, - "p1": { - "x": 0.3856209150326797, - "y": 0.0065359477124183 - }, - "p2": { - "x": 0, - "y": 76.5 - } - } - }, - { - "ID": "2786", - "typeID": "Arrow", - "zOrder": "67", - "w": "108", - "h": "54", - "measuredW": "150", - "measuredH": "100", - "x": "427", - "y": "567", - "properties": { - "color": "2848996", - "curvature": "-1", - "direction": "bottom", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "p0": { - "x": -0.5, - "y": 53.5 - }, - "p1": { - "x": 0.42592592592592593, - "y": -0.05555555555555556 - }, - "p2": { - "x": 107.5, - "y": -0.5 - } - } - }, - { - "ID": "2787", - "typeID": "Arrow", - "zOrder": "68", - "w": "115", - "h": "12", - "measuredW": "150", - "measuredH": "100", - "x": "419", - "y": "562", - "properties": { - "color": "2848996", - "curvature": "-1", - "direction": "bottom", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "p0": { - "x": -0.5, - "y": 11.5 - }, - "p1": { - "x": 0.3983843219388136, - "y": -0.015483581419702295 - }, - "p2": { - "x": 114.5, - "y": -0.5 - } - } - }, - { - "ID": "2788", - "typeID": "Arrow", - "zOrder": "69", - "w": "119", - "h": "28", - "measuredW": "150", - "measuredH": "100", - "x": "418", - "y": "529", - "properties": { - "color": "2848996", - "curvature": "-1", - "direction": "bottom", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "p0": { - "x": -0.5, - "y": 0.5 - }, - "p1": { - "x": 0.4252927400468384, - "y": 0.049648711943793916 - }, - "p2": { - "x": 118.5, - "y": 28.5 - } - } - }, - { - "ID": "2789", - "typeID": "Arrow", - "zOrder": "70", - "w": "109", - "h": "66", - "measuredW": "150", - "measuredH": "100", - "x": "426", - "y": "486", - "properties": { - "color": "2848996", - "curvature": "-1", - "direction": "bottom", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "p0": { - "x": -0.5, - "y": 1.5 - }, - "p1": { - "x": 0.32020599818236906, - "y": 0.08966979703120266 - }, - "p2": { - "x": 108.5, - "y": 66.5 - } - } - }, - { - "ID": "2790", - "typeID": "Arrow", - "zOrder": "71", - "w": "1", - "h": "77", - "measuredW": "150", - "measuredH": "100", - "x": "602", - "y": "560", - "properties": { - "color": "2848996", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "p0": { - "x": 0, - "y": 0 - }, - "p1": { - "x": 0.3856209150326797, - "y": 0.0065359477124183 - }, - "p2": { - "x": 0, - "y": 76.5 - } - } - }, - { - "ID": "2791", - "typeID": "Arrow", - "zOrder": "72", - "w": "1", - "h": "77", - "measuredW": "150", - "measuredH": "100", - "x": "602", - "y": "470", - "properties": { - "color": "2848996", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "p0": { - "x": 0, - "y": 0 - }, - "p1": { - "x": 0.3856209150326797, - "y": 0.0065359477124183 - }, - "p2": { - "x": 0, - "y": 76.5 - } - } - }, - { - "ID": "2792", - "typeID": "Arrow", - "zOrder": "73", - "w": "44", - "h": "180", - "measuredW": "150", - "measuredH": "100", - "x": "693", - "y": "360", - "properties": { - "curvature": "-1", - "leftArrow": "false", - "rightArrow": "false", - "p0": { - "x": -0.5, - "y": 0 - }, - "p1": { - "x": 0.4520505316193087, - "y": 0.11905308783758752 - }, - "p2": { - "x": 38.5, - "y": 179.5 - }, - "color": "2848996" - } - }, - { - "ID": "2793", - "typeID": "__group__", - "zOrder": "74", - "measuredW": "341", - "measuredH": "53", - "w": "341", - "h": "53", - "x": "522", - "y": "524", - "properties": { - "controlName": "101-os-concepts" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "341", - "h": "53", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { - "color": "16776960" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "265", - "measuredH": "25", - "x": "38", - "y": "14", - "properties": { - "size": "17", - "text": "Understand different OS Concepts" - } - } - ] - } - } - }, - { - "ID": "2794", - "typeID": "__group__", - "zOrder": "75", - "measuredW": "116", - "measuredH": "40", - "w": "116", - "h": "40", - "x": "623", - "y": "149", - "properties": { - "controlName": "ext_link:roadmap.sh/devops" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Label", - "zOrder": "0", - "measuredW": "116", - "measuredH": "40", - "x": "0", - "y": "0", - "properties": { - "size": "32", - "text": "DevOps" - } - } - ] - } - } - }, - { - "ID": "2795", - "typeID": "Arrow", - "zOrder": "76", - "w": "14", - "h": "71", - "measuredW": "150", - "measuredH": "100", - "x": "700", - "y": "64", - "properties": { - "color": "2848996", - "curvature": "-1", - "direction": "bottom", - "leftArrow": "false", - "p0": { - "x": 10, - "y": 0 - }, - "p1": { - "x": 0.46601941747572834, - "y": 0.1067961165048544 - }, - "p2": { - "x": 0, - "y": 71 - }, - "rightArrow": "false", - "stroke": "dotted" - } - }, - { - "ID": "2796", - "typeID": "Arrow", - "zOrder": "77", - "w": "40", - "h": "140", - "measuredW": "150", - "measuredH": "100", - "x": "620", - "y": "200", - "properties": { - "color": "2848996", - "curvature": "-1", - "leftArrow": "false", - "rightArrow": "false", - "p0": { - "x": 40, - "y": 0 - }, - "p1": { - "x": 0.543, - "y": -0.201 - }, - "p2": { - "x": 20, - "y": 140 - } - } - }, - { - "ID": "2797", - "typeID": "__group__", - "zOrder": "78", - "measuredW": "302", - "measuredH": "50", - "w": "302", - "h": "50", - "x": "540", - "y": "326", - "properties": { - "controlName": "100-language" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "302", - "h": "50", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { - "color": "16776960" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "249", - "measuredH": "25", - "x": "26", - "y": "11", - "properties": { - "size": "17", - "text": "Learn a Programming Language" - } - } - ] - } - } - }, - { - "ID": "2798", - "typeID": "__group__", - "zOrder": "79", - "measuredW": "108", - "measuredH": "47", - "w": "108", - "h": "47", - "x": "1099", - "y": "271", - "properties": { - "controlName": "101-language:ruby" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "98", - "h": "47", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "w": "45", - "measuredW": "39", - "measuredH": "25", - "x": "26", - "y": "11", - "properties": { - "size": "17", - "text": "Ruby" - } - }, - { - "ID": "2", - "typeID": "__group__", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "w": "24", - "h": "24", - "x": "84", - "y": "12", - "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": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "2", - "typeID": "Icon", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "color": "3700253", - "icon": { - "ID": "check-circle", - "size": "small" - } - } - } - ] - } - } - } - ] - } - } - }, - { - "ID": "2799", - "typeID": "__group__", - "zOrder": "80", - "measuredW": "109", - "measuredH": "47", - "w": "109", - "h": "47", - "x": "985", - "y": "271", - "properties": { - "controlName": "100-language:python" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "97", - "h": "47", - "measuredW": "200", - "measuredH": "140", - "x": "12", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "53", - "measuredH": "25", - "x": "35", - "y": "11", - "properties": { - "text": "Python", - "size": "17" - } - }, - { - "ID": "2", - "typeID": "__group__", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "w": "24", - "h": "24", - "x": "0", - "y": "12", - "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": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "2", - "typeID": "Icon", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "icon": { - "ID": "check-circle", - "size": "small" - }, - "color": "10027263" - } - } - ] - } - } - } - ] - } - } - }, - { - "ID": "2800", - "typeID": "__group__", - "zOrder": "81", - "measuredW": "216", - "measuredH": "47", - "w": "216", - "h": "47", - "x": "995", - "y": "372", - "properties": { - "controlName": "102-language:javascript" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "207", - "h": "47", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { - "color": "16770457", - "textColor": "16776960" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "155", - "measuredH": "25", - "x": "25", - "y": "11", - "properties": { - "size": "17", - "text": "JavaScript / Node.js" - } - }, - { - "ID": "2", - "typeID": "__group__", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "w": "24", - "h": "24", - "x": "192", - "y": "12", - "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": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "2", - "typeID": "Icon", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "color": "3700253", - "icon": { - "ID": "check-circle", - "size": "small" - } - } - } - ] - } - } - } - ] - } - } - }, - { - "ID": "2801", - "typeID": "__group__", - "zOrder": "82", - "measuredW": "107", - "measuredH": "47", - "w": "107", - "h": "47", - "x": "987", - "y": "321", - "properties": { - "controlName": "103-language:go" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "97", - "h": "47", - "measuredW": "200", - "measuredH": "140", - "x": "10", - "y": "0", - "properties": { - "color": "16770457", - "textColor": "16776960" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "23", - "measuredH": "25", - "x": "47", - "y": "11", - "properties": { - "size": "17", - "text": "Go" - } - }, - { - "ID": "2", - "typeID": "__group__", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "w": "24", - "h": "24", - "x": "0", - "y": "12", - "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": "10027263", - "icon": { - "ID": "check-circle", - "size": "small" - } - } - } - ] - } - } - } - ] - } - } - }, - { - "ID": "2802", - "typeID": "__group__", - "zOrder": "83", - "measuredW": "110", - "measuredH": "47", - "w": "110", - "h": "47", - "x": "1099", - "y": "322", - "properties": { - "controlName": "104-language:rust" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "100", - "h": "47", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { - "color": "16770457", - "textColor": "16776960" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "36", - "measuredH": "25", - "x": "32", - "y": "11", - "properties": { - "size": "17", - "text": "Rust" - } - }, - { - "ID": "2", - "typeID": "__group__", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "w": "24", - "h": "24", - "x": "86", - "y": "11", - "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": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "2", - "typeID": "Icon", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "color": "3700253", - "icon": { - "ID": "check-circle", - "size": "small" - } - } - } - ] - } - } - } - ] - } - } - }, - { - "ID": "2803", - "typeID": "Canvas", - "zOrder": "84", - "w": "350", - "h": "141", - "measuredW": "100", - "measuredH": "70", - "x": "873", - "y": "61" - }, - { - "ID": "2804", - "typeID": "Label", - "zOrder": "85", - "measuredW": "314", - "measuredH": "25", - "x": "887", - "y": "78", - "properties": { - "size": "17", - "text": "Find the detailed version of this roadmap" - } - }, - { - "ID": "2805", - "typeID": "Label", - "zOrder": "86", - "measuredW": "319", - "measuredH": "25", - "x": "887", - "y": "106", - "properties": { - "size": "17", - "text": "along with resources and other roadmaps" - } - }, - { - "ID": "2806", - "typeID": "__group__", - "zOrder": "87", - "measuredW": "320", - "measuredH": "45", - "w": "320", - "h": "45", - "x": "888", - "y": "142", - "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": "__group__", - "zOrder": "1", - "measuredW": "181", - "measuredH": "29", - "w": "181", - "h": "29", - "x": "65", - "y": "8", - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Label", - "zOrder": "0", - "measuredW": "105", - "measuredH": "28", - "x": "76", - "y": "0", - "properties": { - "color": "16777215", - "size": "20", - "text": "roadmap.sh" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "45", - "measuredH": "28", - "x": "0", - "y": "0", - "properties": { - "color": "16777215", - "size": "20", - "text": "https" - } - }, - { - "ID": "2", - "typeID": "Label", - "zOrder": "2", - "measuredW": "5", - "measuredH": "28", - "x": "48", - "y": "0", - "properties": { - "bold": "true", - "color": "16777215", - "size": "20", - "text": ":" - } - }, - { - "ID": "3", - "typeID": "Label", - "zOrder": "3", - "measuredW": "10", - "measuredH": "28", - "x": "55", - "y": "1", - "properties": { - "color": "16777215", - "size": "20", - "text": "/" - } - }, - { - "ID": "4", - "typeID": "Label", - "zOrder": "4", - "measuredW": "10", - "measuredH": "28", - "x": "63", - "y": "1", - "properties": { - "color": "16777215", - "size": "20", - "text": "/" - } - } - ] - } - } - } - ] - } - } - }, - { - "ID": "2807", - "typeID": "__group__", - "zOrder": "88", - "measuredW": "420", - "measuredH": "130", - "w": "420", - "h": "130", - "x": "59", - "y": "51", - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Canvas", - "zOrder": "0", - "w": "420", - "h": "130", - "measuredW": "100", - "measuredH": "70", - "x": "0", - "y": "0" - }, - { - "ID": "1", - "typeID": "__group__", - "zOrder": "1", - "measuredW": "24", - "measuredH": "24", - "w": "24", - "h": "24", - "x": "23", - "y": "21", - "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": "10027263", - "icon": { - "ID": "check-circle", - "size": "small" - } - } - } - ] - } - } - }, - { - "ID": "2", - "typeID": "Label", - "zOrder": "2", - "measuredW": "269", - "measuredH": "24", - "x": "59", - "y": "21", - "properties": { - "size": "16", - "text": "Personal Recommendation / Opinion" - } - }, - { - "ID": "5", - "typeID": "Label", - "zOrder": "3", - "w": "324", - "measuredW": "315", - "measuredH": "24", - "x": "60", - "y": "86", - "properties": { - "size": "16", - "text": "Order in roadmap not strict (Learn anytime)" - } - }, - { - "ID": "6", - "typeID": "__group__", - "zOrder": "4", - "measuredW": "24", - "measuredH": "24", - "w": "24", - "h": "24", - "x": "23", - "y": "86", - "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": "7", - "typeID": "Label", - "zOrder": "5", - "measuredW": "272", - "measuredH": "24", - "x": "59", - "y": "54", - "properties": { - "size": "16", - "text": "Alternative Option - Pick this or purple" - } - }, - { - "ID": "8", - "typeID": "__group__", - "zOrder": "6", - "measuredW": "24", - "measuredH": "24", - "w": "24", - "h": "24", - "x": "23", - "y": "53", - "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": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "2", - "typeID": "Icon", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "color": "3700253", - "icon": { - "ID": "check-circle", - "size": "small" - } - } - } - ] - } - } - } - ] - } - } - }, - { - "ID": "2808", - "typeID": "__group__", - "zOrder": "89", - "measuredW": "208", - "measuredH": "47", - "w": "208", - "h": "47", - "x": "230", - "y": "552", - "properties": { - "controlName": "103-os-concepts:memory-storage" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "h": "47", - "measuredW": "200", - "measuredH": "140", - "x": "8", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "131", - "measuredH": "25", - "x": "50", - "y": "11", - "properties": { - "text": "Memory/Storage", - "size": "17" - } - }, - { - "ID": "2", - "typeID": "__group__", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "w": "24", - "h": "24", - "x": "0", - "y": "12", - "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": "10027263", - "icon": { - "ID": "check-circle", - "size": "small" - } - } - } - ] - } - } - } - ] - } - } - }, - { - "ID": "2809", - "typeID": "__group__", - "zOrder": "90", - "measuredW": "208", - "measuredH": "47", - "w": "208", - "h": "47", - "x": "230", - "y": "452", - "properties": { - "controlName": "101-os-concepts:io-management" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "h": "47", - "measuredW": "200", - "measuredH": "140", - "x": "8", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "133", - "measuredH": "25", - "x": "46", - "y": "11", - "properties": { - "text": "I/O Management", - "size": "17" - } - }, - { - "ID": "2", - "typeID": "__group__", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "w": "24", - "h": "24", - "x": "0", - "y": "12", - "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": "10027263", - "icon": { - "ID": "check-circle", - "size": "small" - } - } - } - ] - } - } - } - ] - } - } - }, - { - "ID": "2810", - "typeID": "__group__", - "zOrder": "91", - "measuredW": "208", - "measuredH": "47", - "w": "208", - "h": "47", - "x": "230", - "y": "502", - "properties": { - "controlName": "102-os-concepts:virtualization" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "h": "47", - "measuredW": "200", - "measuredH": "140", - "x": "8", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "99", - "measuredH": "25", - "x": "64", - "y": "11", - "properties": { - "text": "Virtualization", - "size": "17" - } - }, - { - "ID": "2", - "typeID": "__group__", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "w": "24", - "h": "24", - "x": "0", - "y": "12", - "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": "10027263", - "icon": { - "ID": "check-circle", - "size": "small" - } - } - } - ] - } - } - } - ] - } - } - }, - { - "ID": "2811", - "typeID": "__group__", - "zOrder": "92", - "measuredW": "208", - "measuredH": "47", - "w": "208", - "h": "47", - "x": "230", - "y": "603", - "properties": { - "controlName": "104-os-concepts:file-system" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "h": "47", - "measuredW": "200", - "measuredH": "140", - "x": "8", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "97", - "measuredH": "25", - "x": "65", - "y": "11", - "properties": { - "text": "File Systems", - "size": "17" - } - }, - { - "ID": "2", - "typeID": "__group__", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "w": "24", - "h": "24", - "x": "0", - "y": "12", - "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": "10027263", - "icon": { - "ID": "check-circle", - "size": "small" - } - } - } - ] - } - } - } - ] - } - } - }, - { - "ID": "2812", - "typeID": "__group__", - "zOrder": "93", - "measuredW": "284", - "measuredH": "47", - "w": "284", - "h": "47", - "x": "917", - "y": "478", - "properties": { - "controlName": "108-os-concepts:startup-management" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "274", - "h": "47", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "212", - "measuredH": "25", - "x": "25", - "y": "11", - "properties": { - "text": "Startup Management (initd)", - "size": "17" - } - }, - { - "ID": "2", - "typeID": "__group__", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "w": "24", - "h": "24", - "x": "260", - "y": "12", - "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": "10027263", - "icon": { - "ID": "check-circle", - "size": "small" - } - } - } - ] - } - } - } - ] - } - } - }, - { - "ID": "2813", - "typeID": "__group__", - "zOrder": "94", - "measuredW": "285", - "measuredH": "47", - "w": "285", - "h": "47", - "x": "917", - "y": "531", - "properties": { - "controlName": "109-os-concepts:service-management" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "274", - "h": "47", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "191", - "measuredH": "25", - "x": "41", - "y": "11", - "properties": { - "size": "17", - "text": "Service Mgmt. (systemd)" - } - }, - { - "ID": "2", - "typeID": "__group__", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "w": "24", - "h": "24", - "x": "261", - "y": "12", - "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": "10027263", - "icon": { - "ID": "check-circle", - "size": "small" - } - } - } - ] - } - } - } - ] - } - } - }, - { - "ID": "2814", - "typeID": "__group__", - "zOrder": "95", - "measuredW": "285", - "measuredH": "47", - "w": "285", - "h": "47", - "x": "918", - "y": "585", - "properties": { - "controlName": "110-os-concepts:threads-concurrency" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "274", - "h": "47", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "200", - "measuredH": "25", - "x": "37", - "y": "11", - "properties": { - "text": "Threads and Concurrency", - "size": "17" - } - }, - { - "ID": "2", - "typeID": "__group__", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "w": "24", - "h": "24", - "x": "261", - "y": "12", - "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": "10027263", - "icon": { - "ID": "check-circle", - "size": "small" - } - } - } - ] - } - } - } - ] - } - } - }, - { - "ID": "2815", - "typeID": "__group__", - "zOrder": "96", - "measuredW": "165", - "measuredH": "47", - "w": "165", - "h": "47", - "x": "512", - "y": "438", - "properties": { - "controlName": "100-os-concepts:networking" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "156", - "h": "47", - "measuredW": "200", - "measuredH": "140", - "x": "9", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "87", - "measuredH": "25", - "x": "43", - "y": "11", - "properties": { - "text": "Networking", - "size": "17" - } - }, - { - "ID": "2", - "typeID": "__group__", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "w": "24", - "h": "24", - "x": "0", - "y": "12", - "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": "10027263", - "icon": { - "ID": "check-circle", - "size": "small" - } - } - } - ] - } - } - } - ] - } - } - }, - { - "ID": "2816", - "typeID": "__group__", - "zOrder": "97", - "measuredW": "165", - "measuredH": "47", - "w": "165", - "h": "47", - "x": "512", - "y": "621", - "properties": { - "controlName": "105-os-concepts:sockets" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "156", - "h": "47", - "measuredW": "200", - "measuredH": "140", - "x": "9", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "61", - "measuredH": "25", - "x": "56", - "y": "11", - "properties": { - "text": "Sockets", - "size": "17" - } - }, - { - "ID": "2", - "typeID": "__group__", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "w": "24", - "h": "24", - "x": "0", - "y": "12", - "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": "10027263", - "icon": { - "ID": "check-circle", - "size": "small" - } - } - } - ] - } - } - } - ] - } - } - }, - { - "ID": "2817", - "typeID": "__group__", - "zOrder": "98", - "measuredW": "127", - "measuredH": "47", - "w": "127", - "h": "47", - "x": "765", - "y": "436", - "properties": { - "controlName": "106-os-concepts:posix" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "117", - "h": "47", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "49", - "measuredH": "25", - "x": "34", - "y": "11", - "properties": { - "text": "POSIX", - "size": "17" - } - }, - { - "ID": "2", - "typeID": "__group__", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "w": "24", - "h": "24", - "x": "103", - "y": "12", - "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": "10027263", - "icon": { - "ID": "check-circle", - "size": "small" - } - } - } - ] - } - } - } - ] - } - } - }, - { - "ID": "2818", - "typeID": "__group__", - "zOrder": "99", - "measuredW": "415", - "measuredH": "132", - "w": "415", - "h": "132", - "x": "122", - "y": "698", - "properties": { - "controlName": "102-managing-servers" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "415", - "h": "132", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { - "color": "16776960" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "252", - "measuredH": "26", - "x": "82", - "y": "14", - "properties": { - "text": "Learn about Managing Servers", - "size": "18" - } - }, - { - "ID": "2", - "typeID": "Label", - "zOrder": "2", - "measuredW": "375", - "measuredH": "24", - "x": "20", - "y": "47", - "properties": { - "text": "Get some administration knowledge in some OS. Go", - "size": "16" - } - }, - { - "ID": "3", - "typeID": "Label", - "zOrder": "3", - "measuredW": "367", - "measuredH": "24", - "x": "24", - "y": "71", - "properties": { - "text": "with any Linux distro. Pick Ubuntu if you have a little", - "size": "16" - } - }, - { - "ID": "4", - "typeID": "Label", - "zOrder": "4", - "measuredW": "201", - "measuredH": "24", - "x": "107", - "y": "96", - "properties": { - "text": "to no experience with Linux.", - "size": "16" - } - } - ] - } - } - }, - { - "ID": "2819", - "typeID": "__group__", - "zOrder": "100", - "measuredW": "127", - "measuredH": "47", - "w": "127", - "h": "47", - "x": "765", - "y": "621", - "properties": { - "controlName": "107-os-concepts:processes" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "117", - "h": "47", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "81", - "measuredH": "25", - "x": "18", - "y": "11", - "properties": { - "text": "Processes", - "size": "17" - } - }, - { - "ID": "2", - "typeID": "__group__", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "w": "24", - "h": "24", - "x": "103", - "y": "12", - "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": "10027263", - "icon": { - "ID": "check-circle", - "size": "small" - } - } - } - ] - } - } - } - ] - } - } - }, - { - "ID": "2820", - "typeID": "__group__", - "zOrder": "101", - "measuredW": "238", - "measuredH": "49", - "w": "238", - "h": "49", - "x": "653", - "y": "777", - "properties": { - "controlName": "100-managing-servers:operating-system" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "238", - "h": "49", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { - "color": "16776960" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "137", - "measuredH": "25", - "x": "50", - "y": "12", - "properties": { - "text": "Operating System", - "size": "17" - } - } - ] - } - } - }, - { - "ID": "2821", - "typeID": "__group__", - "zOrder": "102", - "measuredW": "238", - "measuredH": "49", - "w": "238", - "h": "49", - "x": "653", - "y": "846", - "properties": { - "controlName": "101-managing-servers:live-in-terminal" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "238", - "h": "49", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { - "color": "16776960" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "182", - "measuredH": "25", - "x": "28", - "y": "12", - "properties": { - "text": "Learn to live in Terminal", - "size": "17" - } - } - ] - } - } - }, - { - "ID": "2822", - "typeID": "TextArea", - "zOrder": "103", - "w": "213", - "h": "89", - "measuredW": "200", - "measuredH": "140", - "x": "987", - "y": "1019" - }, - { - "ID": "2823", - "typeID": "Label", - "zOrder": "104", - "measuredW": "159", - "measuredH": "25", - "x": "1015", - "y": "1026", - "properties": { - "text": "terminal multiplexers", - "size": "17" - } - }, - { - "ID": "2824", - "typeID": "__group__", - "zOrder": "105", - "measuredW": "98", - "measuredH": "40", - "w": "98", - "h": "40", - "x": "995", - "y": "1058", - "properties": { - "controlName": "100-managing-servers:live-in-terminal:screen-multiplexer" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "89", - "h": "40", - "measuredW": "200", - "measuredH": "140", - "x": "9", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "50", - "measuredH": "24", - "x": "30", - "y": "8", - "properties": { - "text": "screen", - "size": "16" - } - }, - { - "ID": "2", - "typeID": "__group__", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "w": "24", - "h": "24", - "x": "0", - "y": "8", - "properties": { - "controlName": "100-managing-servers:live-in-terminal:terminal-multiplexers" - }, - "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": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "2", - "typeID": "Icon", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "color": "3700253", - "icon": { - "ID": "check-circle", - "size": "small" - } - } - } - ] - } - } - } - ] - } - } - }, - { - "ID": "2825", - "typeID": "__group__", - "zOrder": "106", - "measuredW": "91", - "measuredH": "40", - "w": "91", - "h": "40", - "x": "1103", - "y": "1058", - "properties": { - "controlName": "101-managing-servers:live-in-terminal:tmux-multiplexer" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "80", - "h": "40", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "35", - "measuredH": "24", - "x": "23", - "y": "8", - "properties": { - "text": "tmux", - "size": "16" - } - }, - { - "ID": "2", - "typeID": "__group__", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "w": "24", - "h": "24", - "x": "67", - "y": "8", - "properties": { - "controlName": "100-managing-servers:live-in-terminal:terminal-multiplexers" - }, - "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": "10027263", - "icon": { - "ID": "check-circle", - "size": "small" - } - } - } - ] - } - } - } - ] - } - } - }, - { - "ID": "2826", - "typeID": "__group__", - "zOrder": "107", - "measuredW": "24", - "measuredH": "24", - "w": "24", - "h": "24", - "x": "1181", - "y": "1013", - "properties": { - "controlName": "100-managing-servers:live-in-terminal:terminal-multiplexers" - }, - "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": "2827", - "typeID": "__group__", - "zOrder": "108", - "measuredW": "161", - "measuredH": "42", - "w": "161", - "h": "42", - "x": "742", - "y": "707", - "properties": { - "controlName": "100-managing-servers:operating-system:windows" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "149", - "h": "42", - "measuredW": "200", - "measuredH": "140", - "x": "12", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "68", - "measuredH": "25", - "x": "53", - "y": "8", - "properties": { - "text": "Windows", - "size": "17" - } - }, - { - "ID": "2", - "typeID": "__group__", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "w": "24", - "h": "24", - "x": "0", - "y": "8", - "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": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "2", - "typeID": "Icon", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "color": "3700253", - "icon": { - "ID": "check-circle", - "size": "small" - } - } - } - ] - } - } - } - ] - } - } - }, - { - "ID": "2828", - "typeID": "__group__", - "zOrder": "109", - "measuredW": "311", - "measuredH": "47", - "w": "311", - "h": "47", - "x": "513", - "y": "919", - "properties": { - "controlName": "104-managing-servers:live-in-terminal:bash-scripting" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "300", - "h": "47", - "measuredW": "200", - "measuredH": "140", - "x": "11", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "161", - "measuredH": "25", - "x": "80", - "y": "11", - "properties": { - "text": "Learn Bash Scripting", - "size": "17" - } - }, - { - "ID": "2", - "typeID": "__group__", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "w": "24", - "h": "24", - "x": "0", - "y": "12", - "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": "10027263", - "icon": { - "ID": "check-circle", - "size": "small" - } - } - } - ] - } - } - } - ] - } - } - }, - { - "ID": "2829", - "typeID": "__group__", - "zOrder": "110", - "measuredW": "314", - "measuredH": "47", - "w": "314", - "h": "47", - "x": "511", - "y": "973", - "properties": { - "controlName": "105-managing-servers:live-in-terminal:editors" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "302", - "h": "47", - "measuredW": "200", - "measuredH": "140", - "x": "12", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "231", - "measuredH": "25", - "x": "47", - "y": "11", - "properties": { - "text": "Vim/Nano/PowerShell/Emacs", - "size": "17" - } - }, - { - "ID": "2", - "typeID": "__group__", - "zOrder": "2", + "w": "77", + "measuredW": "77", + "measuredH": "25", + "x": "30", + "y": "9", + "properties": { + "text": "OpenBSD", + "size": "17" + } + }, + { + "ID": "2", + "typeID": "__group__", + "zOrder": "2", "measuredW": "24", "measuredH": "24", "w": "24", "h": "24", - "x": "0", - "y": "12", + "x": "123", + "y": "9", "children": { "controls": { "control": [ @@ -5846,7 +2628,23 @@ "x": "0", "y": "0", "properties": { - "color": "10027263", + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "3700253", "icon": { "ID": "check-circle", "size": "small" @@ -5862,17 +2660,17 @@ } }, { - "ID": "2830", + "ID": "3080", "typeID": "__group__", - "zOrder": "111", - "measuredW": "312", - "measuredH": "76", - "w": "312", - "h": "76", - "x": "513", - "y": "1027", + "zOrder": "71", + "measuredW": "147", + "measuredH": "43", + "w": "147", + "h": "43", + "x": "1072", + "y": "608", "properties": { - "controlName": "106-managing-servers:live-in-terminal:compiling-apps" + "controlName": "100-operating-systems:unix:free-bsd" }, "children": { "controls": { @@ -5881,11 +2679,11 @@ "ID": "0", "typeID": "TextArea", "zOrder": "0", - "w": "302", - "h": "76", + "w": "137", + "h": "43", "measuredW": "200", "measuredH": "140", - "x": "10", + "x": "0", "y": "0", "properties": { "color": "16770457" @@ -5895,38 +2693,26 @@ "ID": "1", "typeID": "Label", "zOrder": "1", - "measuredW": "216", + "w": "71", + "measuredW": "71", "measuredH": "25", - "x": "51", - "y": "14", + "x": "33", + "y": "9", "properties": { - "text": "Compiling apps from source", + "text": "FreeBSD", "size": "17" } }, { "ID": "2", - "typeID": "Label", - "zOrder": "2", - "measuredW": "264", - "measuredH": "25", - "x": "29", - "y": "36", - "properties": { - "text": "(gcc, make and other related stuff)", - "size": "17" - } - }, - { - "ID": "3", "typeID": "__group__", - "zOrder": "3", + "zOrder": "2", "measuredW": "24", "measuredH": "24", "w": "24", "h": "24", - "x": "0", - "y": "26", + "x": "123", + "y": "10", "children": { "controls": { "control": [ @@ -5955,227 +2741,15 @@ "x": "0", "y": "0", "properties": { - "color": "10066329", + "color": "10027263", "icon": { "ID": "check-circle", "size": "small" } } } - ] - } - } - } - ] - } - } - }, - { - "ID": "2831", - "typeID": "TextArea", - "zOrder": "112", - "w": "294", - "h": "195", - "measuredW": "200", - "measuredH": "140", - "x": "532", - "y": "1121" - }, - { - "ID": "2832", - "typeID": "Label", - "zOrder": "113", - "measuredW": "180", - "measuredH": "25", - "x": "589", - "y": "1277", - "properties": { - "size": "17", - "text": "Text Manipulation Tools" - } - }, - { - "ID": "2833", - "typeID": "__group__", - "zOrder": "114", - "measuredW": "61", - "measuredH": "40", - "w": "61", - "h": "40", - "x": "548", - "y": "1136", - "properties": { - "controlName": "120-managing-servers:live-in-terminal:awk" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "61", - "h": "40", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "28", - "measuredH": "24", - "x": "16", - "y": "8", - "properties": { - "text": "awk", - "size": "16" - } - } - ] - } - } - }, - { - "ID": "2834", - "typeID": "__group__", - "zOrder": "115", - "measuredW": "61", - "measuredH": "40", - "w": "61", - "h": "40", - "x": "615", - "y": "1136", - "properties": { - "controlName": "121-managing-servers:live-in-terminal:sed" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "61", - "h": "40", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "27", - "measuredH": "24", - "x": "17", - "y": "8", - "properties": { - "text": "sed", - "size": "16" - } - } - ] - } - } - }, - { - "ID": "2835", - "typeID": "__group__", - "zOrder": "116", - "measuredW": "61", - "measuredH": "40", - "w": "61", - "h": "40", - "x": "683", - "y": "1136", - "properties": { - "controlName": "122-managing-servers:live-in-terminal:grep" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "61", - "h": "40", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "34", - "measuredH": "24", - "x": "14", - "y": "8", - "properties": { - "text": "grep", - "size": "16" - } - } - ] - } - } - }, - { - "ID": "2836", - "typeID": "__group__", - "zOrder": "117", - "measuredW": "61", - "measuredH": "40", - "w": "61", - "h": "40", - "x": "751", - "y": "1137", - "properties": { - "controlName": "123-managing-servers:live-in-terminal:sort" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "61", - "h": "40", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "28", - "measuredH": "24", - "x": "16", - "y": "8", - "properties": { - "text": "sort", - "size": "16" + ] + } } } ] @@ -6183,17 +2757,31 @@ } }, { - "ID": "2837", + "ID": "3081", + "typeID": "Label", + "zOrder": "72", + "w": "37", + "measuredW": "34", + "measuredH": "25", + "x": "1124", + "y": "577", + "properties": { + "text": "Unix", + "size": "17" + } + }, + { + "ID": "3082", "typeID": "__group__", - "zOrder": "118", - "measuredW": "61", + "zOrder": "73", + "measuredW": "148", "measuredH": "40", - "w": "61", + "w": "148", "h": "40", - "x": "615", - "y": "1182", + "x": "1071", + "y": "701", "properties": { - "controlName": "125-managing-servers:live-in-terminal:uniq" + "controlName": "102-operating-systems:unix:net-bsd" }, "children": { "controls": { @@ -6202,7 +2790,7 @@ "ID": "0", "typeID": "TextArea", "zOrder": "0", - "w": "61", + "w": "139", "h": "40", "measuredW": "200", "measuredH": "140", @@ -6216,13 +2804,79 @@ "ID": "1", "typeID": "Label", "zOrder": "1", - "measuredW": "32", + "w": "63", + "measuredW": "63", + "measuredH": "25", + "x": "32", + "y": "7", + "properties": { + "text": "NetBSD", + "size": "17" + } + }, + { + "ID": "2", + "typeID": "__group__", + "zOrder": "2", + "measuredW": "24", "measuredH": "24", - "x": "15", + "w": "24", + "h": "24", + "x": "124", "y": "8", - "properties": { - "text": "uniq", - "size": "16" + "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": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "3700253", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] + } } } ] @@ -6230,17 +2884,17 @@ } }, { - "ID": "2838", + "ID": "3084", "typeID": "__group__", - "zOrder": "119", - "measuredW": "61", - "measuredH": "40", - "w": "61", - "h": "40", - "x": "683", - "y": "1182", + "zOrder": "74", + "measuredW": "152", + "measuredH": "44", + "w": "152", + "h": "44", + "x": "672", + "y": "610", "properties": { - "controlName": "126-managing-servers:live-in-terminal:cat" + "controlName": "103-operating-systems:windows" }, "children": { "controls": { @@ -6249,11 +2903,11 @@ "ID": "0", "typeID": "TextArea", "zOrder": "0", - "w": "61", - "h": "40", + "w": "143", + "h": "44", "measuredW": "200", "measuredH": "140", - "x": "0", + "x": "9", "y": "0", "properties": { "color": "16770457" @@ -6263,13 +2917,78 @@ "ID": "1", "typeID": "Label", "zOrder": "1", - "measuredW": "23", - "measuredH": "24", - "x": "19", - "y": "8", + "measuredW": "68", + "measuredH": "25", + "x": "47", + "y": "9", "properties": { - "text": "cat", - "size": "16" + "text": "Windows", + "size": "17" + } + }, + { + "ID": "2", + "typeID": "__group__", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "w": "24", + "h": "24", + "x": "0", + "y": "10", + "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": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "3700253", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] + } } } ] @@ -6277,17 +2996,17 @@ } }, { - "ID": "2839", + "ID": "3085", "typeID": "__group__", - "zOrder": "120", - "measuredW": "61", - "measuredH": "40", - "w": "61", - "h": "40", - "x": "548", - "y": "1182", + "zOrder": "75", + "measuredW": "194", + "measuredH": "47", + "w": "194", + "h": "47", + "x": "765", + "y": "827", "properties": { - "controlName": "124-managing-servers:live-in-terminal:cut" + "controlName": "100-live-in-terminal:scripting:bash-scripting" }, "children": { "controls": { @@ -6296,8 +3015,8 @@ "ID": "0", "typeID": "TextArea", "zOrder": "0", - "w": "61", - "h": "40", + "w": "194", + "h": "47", "measuredW": "200", "measuredH": "140", "x": "0", @@ -6310,13 +3029,14 @@ "ID": "1", "typeID": "Label", "zOrder": "1", - "measuredW": "23", - "measuredH": "24", - "x": "19", - "y": "8", + "w": "119", + "measuredW": "112", + "measuredH": "25", + "x": "38", + "y": "11", "properties": { - "text": "cut", - "size": "16" + "text": "Bash Scripting", + "size": "17" } } ] @@ -6324,17 +3044,17 @@ } }, { - "ID": "2840", + "ID": "3086", "typeID": "__group__", - "zOrder": "121", - "measuredW": "61", - "measuredH": "40", - "w": "61", - "h": "40", - "x": "751", - "y": "1182", + "zOrder": "76", + "measuredW": "194", + "measuredH": "47", + "w": "194", + "h": "47", + "x": "765", + "y": "878", "properties": { - "controlName": "127-managing-servers:live-in-terminal:echo" + "controlName": "101-live-in-terminal:scripting:powershell" }, "children": { "controls": { @@ -6343,8 +3063,8 @@ "ID": "0", "typeID": "TextArea", "zOrder": "0", - "w": "61", - "h": "40", + "w": "194", + "h": "47", "measuredW": "200", "measuredH": "140", "x": "0", @@ -6357,13 +3077,14 @@ "ID": "1", "typeID": "Label", "zOrder": "1", - "measuredW": "36", - "measuredH": "24", - "x": "13", - "y": "8", + "w": "94", + "measuredW": "89", + "measuredH": "25", + "x": "50", + "y": "11", "properties": { - "text": "echo", - "size": "16" + "text": "Power Shell", + "size": "17" } } ] @@ -6371,17 +3092,30 @@ } }, { - "ID": "2841", + "ID": "3088", + "typeID": "Label", + "zOrder": "11", + "measuredW": "41", + "measuredH": "25", + "x": "934", + "y": "579", + "properties": { + "text": "Linux", + "size": "17" + } + }, + { + "ID": "3089", "typeID": "__group__", - "zOrder": "122", - "measuredW": "61", + "zOrder": "12", + "measuredW": "205", "measuredH": "40", - "w": "61", + "w": "205", "h": "40", - "x": "548", - "y": "1226", + "x": "852", + "y": "699", "properties": { - "controlName": "128-managing-servers:live-in-terminal:fmt" + "controlName": "102-operating-systems:linux:rhel" }, "children": { "controls": { @@ -6390,7 +3124,7 @@ "ID": "0", "typeID": "TextArea", "zOrder": "0", - "w": "61", + "w": "205", "h": "40", "measuredW": "200", "measuredH": "140", @@ -6404,13 +3138,13 @@ "ID": "1", "typeID": "Label", "zOrder": "1", - "measuredW": "24", - "measuredH": "24", - "x": "18", - "y": "8", + "measuredW": "147", + "measuredH": "25", + "x": "29", + "y": "7", "properties": { - "text": "fmt", - "size": "16" + "size": "17", + "text": "RHEL / Derivatives" } } ] @@ -6418,17 +3152,17 @@ } }, { - "ID": "2842", + "ID": "3090", "typeID": "__group__", - "zOrder": "123", - "measuredW": "61", + "zOrder": "13", + "measuredW": "204", "measuredH": "40", - "w": "61", + "w": "204", "h": "40", - "x": "615", - "y": "1227", + "x": "853", + "y": "612", "properties": { - "controlName": "129-managing-servers:live-in-terminal:tr" + "controlName": "100-operating-systems:linux:ubuntu" }, "children": { "controls": { @@ -6437,7 +3171,7 @@ "ID": "0", "typeID": "TextArea", "zOrder": "0", - "w": "61", + "w": "204", "h": "40", "measuredW": "200", "measuredH": "140", @@ -6451,13 +3185,13 @@ "ID": "1", "typeID": "Label", "zOrder": "1", - "measuredW": "11", - "measuredH": "24", - "x": "25", + "measuredW": "128", + "measuredH": "25", + "x": "38", "y": "8", "properties": { - "text": "tr", - "size": "16" + "size": "17", + "text": "Ubuntu / Debian" } } ] @@ -6465,17 +3199,17 @@ } }, { - "ID": "2843", + "ID": "3091", "typeID": "__group__", - "zOrder": "124", - "measuredW": "61", + "zOrder": "14", + "measuredW": "204", "measuredH": "40", - "w": "61", + "w": "204", "h": "40", - "x": "683", - "y": "1227", + "x": "853", + "y": "656", "properties": { - "controlName": "130-managing-servers:live-in-terminal:nl" + "controlName": "101-operating-systems:linux:suse-linux" }, "children": { "controls": { @@ -6484,7 +3218,7 @@ "ID": "0", "typeID": "TextArea", "zOrder": "0", - "w": "61", + "w": "204", "h": "40", "measuredW": "200", "measuredH": "140", @@ -6498,13 +3232,13 @@ "ID": "1", "typeID": "Label", "zOrder": "1", - "measuredW": "13", - "measuredH": "24", - "x": "24", - "y": "8", + "measuredW": "90", + "measuredH": "25", + "x": "59", + "y": "7", "properties": { - "text": "nl", - "size": "16" + "text": "SUSE Linux", + "size": "17" } } ] @@ -6512,17 +3246,17 @@ } }, { - "ID": "2844", + "ID": "3093", "typeID": "__group__", - "zOrder": "125", - "measuredW": "59", - "measuredH": "40", - "w": "59", - "h": "40", - "x": "752", - "y": "1227", + "zOrder": "77", + "measuredW": "332", + "measuredH": "49", + "w": "332", + "h": "49", + "x": "1013", + "y": "775", "properties": { - "controlName": "131-managing-servers:live-in-terminal:wc" + "controlName": "102-live-in-terminal" }, "children": { "controls": { @@ -6531,27 +3265,27 @@ "ID": "0", "typeID": "TextArea", "zOrder": "0", - "w": "59", - "h": "40", + "w": "332", + "h": "49", "measuredW": "200", "measuredH": "140", "x": "0", "y": "0", "properties": { - "color": "16770457" + "color": "16776960" } }, { "ID": "1", "typeID": "Label", "zOrder": "1", - "measuredW": "20", - "measuredH": "24", - "x": "20", - "y": "8", + "measuredW": "182", + "measuredH": "25", + "x": "75", + "y": "12", "properties": { - "text": "wc", - "size": "16" + "text": "Learn to live in Terminal", + "size": "17" } } ] @@ -6559,15 +3293,15 @@ } }, { - "ID": "2845", + "ID": "3094", "typeID": "__group__", - "zOrder": "126", + "zOrder": "78", "measuredW": "24", "measuredH": "24", "w": "24", "h": "24", - "x": "810", - "y": "1278", + "x": "943", + "y": "891", "children": { "controls": { "control": [ @@ -6596,11 +3330,11 @@ "x": "0", "y": "0", "properties": { - "color": "10027263", "icon": { "ID": "check-circle", "size": "small" - } + }, + "color": "3700253" } } ] @@ -6608,39 +3342,15 @@ } }, { - "ID": "2846", - "typeID": "TextArea", - "zOrder": "127", - "w": "294", - "h": "96", - "measuredW": "200", - "measuredH": "140", - "x": "909", - "y": "1118" - }, - { - "ID": "2847", - "typeID": "Label", - "zOrder": "128", - "measuredW": "149", - "measuredH": "25", - "x": "980", - "y": "1130", - "properties": { - "text": "Process Monitoring", - "size": "17" - } - }, - { - "ID": "2848", + "ID": "3095", "typeID": "__group__", - "zOrder": "129", + "zOrder": "79", "measuredW": "24", "measuredH": "24", "w": "24", "h": "24", - "x": "1187", - "y": "1110", + "x": "943", + "y": "837", "children": { "controls": { "control": [ @@ -6681,64 +3391,30 @@ } }, { - "ID": "2849", - "typeID": "__group__", - "zOrder": "130", - "measuredW": "48", - "measuredH": "40", - "w": "48", - "h": "40", - "x": "922", - "y": "1162", + "ID": "3096", + "typeID": "Label", + "zOrder": "80", + "measuredW": "68", + "measuredH": "25", + "x": "829", + "y": "787", "properties": { - "controlName": "102-managing-servers:live-in-terminal:ps" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "48", - "h": "40", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "18", - "measuredH": "24", - "x": "15", - "y": "9", - "properties": { - "size": "16", - "text": "ps" - } - } - ] - } + "size": "17", + "text": "Scripting" } }, { - "ID": "2850", + "ID": "3097", "typeID": "__group__", - "zOrder": "131", - "measuredW": "48", - "measuredH": "40", - "w": "48", - "h": "40", - "x": "976", - "y": "1162", + "zOrder": "240", + "measuredW": "190", + "measuredH": "47", + "w": "190", + "h": "47", + "x": "567", + "y": "825", "properties": { - "controlName": "102-managing-servers:live-in-terminal:top" + "controlName": "102-live-in-terminal:editors" }, "children": { "controls": { @@ -6747,8 +3423,8 @@ "ID": "0", "typeID": "TextArea", "zOrder": "0", - "w": "48", - "h": "40", + "w": "190", + "h": "47", "measuredW": "200", "measuredH": "140", "x": "0", @@ -6761,13 +3437,13 @@ "ID": "1", "typeID": "Label", "zOrder": "1", - "measuredW": "24", - "measuredH": "24", - "x": "12", - "y": "9", + "measuredW": "138", + "measuredH": "25", + "x": "25", + "y": "11", "properties": { - "size": "16", - "text": "top" + "text": "Vim/Nano/Emacs", + "size": "17" } } ] @@ -6775,46 +3451,48 @@ } }, { - "ID": "2851", + "ID": "3098", "typeID": "__group__", - "zOrder": "132", - "measuredW": "48", - "measuredH": "40", - "w": "48", - "h": "40", - "x": "1030", - "y": "1163", - "properties": { - "controlName": "103-managing-servers:live-in-terminal:htop" - }, + "zOrder": "241", + "measuredW": "24", + "measuredH": "24", + "w": "24", + "h": "24", + "x": "554", + "y": "837", "children": { "controls": { "control": [ { "ID": "0", - "typeID": "TextArea", + "typeID": "Icon", "zOrder": "0", - "w": "48", - "h": "40", - "measuredW": "200", - "measuredH": "140", + "measuredW": "24", + "measuredH": "24", "x": "0", "y": "0", "properties": { - "color": "16770457" + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } } }, { "ID": "1", - "typeID": "Label", + "typeID": "Icon", "zOrder": "1", - "measuredW": "32", + "measuredW": "24", "measuredH": "24", - "x": "8", - "y": "8", + "x": "0", + "y": "0", "properties": { - "size": "16", - "text": "htop" + "color": "10027263", + "icon": { + "ID": "check-circle", + "size": "small" + } } } ] @@ -6822,46 +3500,48 @@ } }, { - "ID": "2852", + "ID": "3106", "typeID": "__group__", - "zOrder": "133", - "measuredW": "48", - "measuredH": "40", - "w": "48", - "h": "40", - "x": "1085", - "y": "1163", - "properties": { - "controlName": "104-managing-servers:live-in-terminal:atop" - }, + "zOrder": "82", + "measuredW": "24", + "measuredH": "24", + "w": "24", + "h": "24", + "x": "1229", + "y": "865", "children": { "controls": { "control": [ { "ID": "0", - "typeID": "TextArea", + "typeID": "Icon", "zOrder": "0", - "w": "48", - "h": "40", - "measuredW": "200", - "measuredH": "140", + "measuredW": "24", + "measuredH": "24", "x": "0", "y": "0", "properties": { - "color": "16770457" + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } } }, { "ID": "1", - "typeID": "Label", + "typeID": "Icon", "zOrder": "1", - "measuredW": "33", + "measuredW": "24", "measuredH": "24", - "x": "8", - "y": "8", + "x": "0", + "y": "0", "properties": { - "size": "16", - "text": "atop" + "color": "10027263", + "icon": { + "ID": "check-circle", + "size": "small" + } } } ] @@ -6869,17 +3549,17 @@ } }, { - "ID": "2853", + "ID": "3114", "typeID": "__group__", - "zOrder": "134", - "measuredW": "48", - "measuredH": "40", - "w": "48", - "h": "40", - "x": "1142", - "y": "1163", + "zOrder": "243", + "measuredW": "225", + "measuredH": "49", + "w": "225", + "h": "49", + "x": "756", + "y": "1099", "properties": { - "controlName": "105-managing-servers:live-in-terminal:lsof" + "controlName": "103-version-control-systems" }, "children": { "controls": { @@ -6888,27 +3568,27 @@ "ID": "0", "typeID": "TextArea", "zOrder": "0", - "w": "48", - "h": "40", + "w": "225", + "h": "49", "measuredW": "200", "measuredH": "140", "x": "0", "y": "0", "properties": { - "color": "16770457" + "color": "16776960" } }, { "ID": "1", "typeID": "Label", "zOrder": "1", - "measuredW": "26", - "measuredH": "24", - "x": "10", - "y": "8", + "measuredW": "186", + "measuredH": "25", + "x": "20", + "y": "12", "properties": { - "size": "16", - "text": "lsof" + "size": "17", + "text": "Version Control Systems" } } ] @@ -6916,90 +3596,81 @@ } }, { - "ID": "2854", - "typeID": "TextArea", - "zOrder": "135", - "w": "298", - "h": "98", - "measuredW": "200", - "measuredH": "140", - "x": "904", - "y": "1235" - }, - { - "ID": "2855", - "typeID": "Label", - "zOrder": "136", - "measuredW": "160", - "measuredH": "25", - "x": "974", - "y": "1246", + "ID": "3122", + "typeID": "Icon", + "zOrder": "98", + "measuredW": "24", + "measuredH": "24", + "x": "554", + "y": "1023", "properties": { - "text": "System Performance", - "size": "17" + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } } }, { - "ID": "2856", - "typeID": "__group__", - "zOrder": "137", + "ID": "3123", + "typeID": "Icon", + "zOrder": "99", "measuredW": "24", "measuredH": "24", - "w": "24", - "h": "24", - "x": "1188", - "y": "1226", - "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": "10027263", - "icon": { - "ID": "check-circle", - "size": "small" - } - } - } - ] + "x": "554", + "y": "1023", + "properties": { + "icon": { + "ID": "check-circle", + "size": "small" + }, + "color": "3700253" + } + }, + { + "ID": "3124", + "typeID": "Icon", + "zOrder": "100", + "measuredW": "24", + "measuredH": "24", + "x": "556", + "y": "922", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "3125", + "typeID": "Icon", + "zOrder": "101", + "measuredW": "24", + "measuredH": "24", + "x": "556", + "y": "922", + "properties": { + "color": "10027263", + "icon": { + "ID": "check-circle", + "size": "small" } } }, { - "ID": "2857", + "ID": "3131", "typeID": "__group__", - "zOrder": "138", - "measuredW": "69", - "measuredH": "40", - "w": "69", - "h": "40", - "x": "917", - "y": "1279", + "zOrder": "102", + "measuredW": "166", + "measuredH": "46", + "w": "166", + "h": "46", + "x": "308", + "y": "798", "properties": { - "controlName": "106-managing-servers:live-in-terminal:nmon" + "controlName": "106-setting-up-x:apache" }, "children": { "controls": { @@ -7008,8 +3679,8 @@ "ID": "0", "typeID": "TextArea", "zOrder": "0", - "w": "69", - "h": "40", + "w": "166", + "h": "46", "measuredW": "200", "measuredH": "140", "x": "0", @@ -7022,13 +3693,13 @@ "ID": "1", "typeID": "Label", "zOrder": "1", - "measuredW": "41", - "measuredH": "24", - "x": "15", - "y": "9", + "measuredW": "59", + "measuredH": "25", + "x": "53", + "y": "10", "properties": { - "size": "16", - "text": "nmon" + "text": "Apache", + "size": "17" } } ] @@ -7036,17 +3707,17 @@ } }, { - "ID": "2858", + "ID": "3132", "typeID": "__group__", - "zOrder": "139", - "measuredW": "59", - "measuredH": "40", - "w": "59", - "h": "40", - "x": "994", - "y": "1280", + "zOrder": "103", + "measuredW": "166", + "measuredH": "47", + "w": "166", + "h": "47", + "x": "309", + "y": "697", "properties": { - "controlName": "107-managing-servers:live-in-terminal:iostat" + "controlName": "105-setting-up-x:nginx" }, "children": { "controls": { @@ -7055,8 +3726,8 @@ "ID": "0", "typeID": "TextArea", "zOrder": "0", - "w": "59", - "h": "40", + "w": "166", + "h": "47", "measuredW": "200", "measuredH": "140", "x": "0", @@ -7069,13 +3740,13 @@ "ID": "1", "typeID": "Label", "zOrder": "1", - "measuredW": "40", - "measuredH": "24", - "x": "9", - "y": "8", + "measuredW": "45", + "measuredH": "25", + "x": "60", + "y": "10", "properties": { - "size": "16", - "text": "iostat" + "text": "Nginx", + "size": "17" } } ] @@ -7083,17 +3754,17 @@ } }, { - "ID": "2859", + "ID": "3133", "typeID": "__group__", - "zOrder": "140", - "measuredW": "48", - "measuredH": "40", - "w": "48", - "h": "40", - "x": "1061", - "y": "1280", + "zOrder": "104", + "measuredW": "166", + "measuredH": "46", + "w": "166", + "h": "46", + "x": "308", + "y": "748", "properties": { - "controlName": "108-managing-servers:live-in-terminal:sar" + "controlName": "107-setting-up-x:tomcat" }, "children": { "controls": { @@ -7102,8 +3773,8 @@ "ID": "0", "typeID": "TextArea", "zOrder": "0", - "w": "48", - "h": "40", + "w": "166", + "h": "46", "measuredW": "200", "measuredH": "140", "x": "0", @@ -7116,13 +3787,13 @@ "ID": "1", "typeID": "Label", "zOrder": "1", - "measuredW": "23", - "measuredH": "24", - "x": "12", - "y": "8", + "measuredW": "57", + "measuredH": "25", + "x": "54", + "y": "10", "properties": { - "size": "16", - "text": "sar" + "text": "Tomcat", + "size": "17" } } ] @@ -7130,17 +3801,17 @@ } }, { - "ID": "2860", + "ID": "3134", "typeID": "__group__", - "zOrder": "141", - "measuredW": "72", - "measuredH": "40", - "w": "72", - "h": "40", - "x": "1118", - "y": "1280", + "zOrder": "105", + "measuredW": "166", + "measuredH": "46", + "w": "166", + "h": "46", + "x": "308", + "y": "847", "properties": { - "controlName": "109-managing-servers:live-in-terminal:vmstat" + "controlName": "108-setting-up-x:iis" }, "children": { "controls": { @@ -7149,8 +3820,8 @@ "ID": "0", "typeID": "TextArea", "zOrder": "0", - "w": "72", - "h": "40", + "w": "166", + "h": "46", "measuredW": "200", "measuredH": "140", "x": "0", @@ -7163,13 +3834,13 @@ "ID": "1", "typeID": "Label", "zOrder": "1", - "measuredW": "48", - "measuredH": "24", - "x": "11", - "y": "8", + "measuredW": "21", + "measuredH": "25", + "x": "72", + "y": "10", "properties": { - "size": "16", - "text": "vmstat" + "text": "IIS", + "size": "17" } } ] @@ -7177,41 +3848,17 @@ } }, { - "ID": "2861", - "typeID": "TextArea", - "zOrder": "142", - "w": "333", - "h": "189", - "measuredW": "200", - "measuredH": "140", - "x": "870", - "y": "1350" - }, - { - "ID": "2862", - "typeID": "Label", - "zOrder": "143", - "measuredW": "108", - "measuredH": "25", - "x": "983", - "y": "1502", - "properties": { - "size": "17", - "text": "Network Tools" - } - }, - { - "ID": "2863", + "ID": "3135", "typeID": "__group__", - "zOrder": "144", - "measuredW": "106", - "measuredH": "40", - "w": "106", - "h": "40", - "x": "886", - "y": "1363", + "zOrder": "256", + "measuredW": "309", + "measuredH": "49", + "w": "309", + "h": "49", + "x": "160", + "y": "1097", "properties": { - "controlName": "110-managing-servers:live-in-terminal:traceroute" + "controlName": "105-setting-up-x" }, "children": { "controls": { @@ -7220,27 +3867,27 @@ "ID": "0", "typeID": "TextArea", "zOrder": "0", - "w": "106", - "h": "40", + "w": "309", + "h": "49", "measuredW": "200", "measuredH": "140", "x": "0", "y": "0", "properties": { - "color": "16770457" + "color": "16776960" } }, { "ID": "1", "typeID": "Label", "zOrder": "1", - "measuredW": "76", - "measuredH": "24", - "x": "14", - "y": "8", + "measuredW": "272", + "measuredH": "25", + "x": "17", + "y": "12", "properties": { - "size": "16", - "text": "traceroute" + "size": "17", + "text": "What is and how to setup a _____?" } } ] @@ -7248,17 +3895,17 @@ } }, { - "ID": "2864", + "ID": "3136", "typeID": "__group__", - "zOrder": "145", - "measuredW": "49", - "measuredH": "40", - "w": "49", - "h": "40", - "x": "998", - "y": "1363", + "zOrder": "106", + "measuredW": "144", + "measuredH": "47", + "w": "144", + "h": "47", + "x": "158", + "y": "962", "properties": { - "controlName": "111-managing-servers:live-in-terminal:mtr" + "controlName": "102-setting-up-x:forward-proxy" }, "children": { "controls": { @@ -7267,8 +3914,8 @@ "ID": "0", "typeID": "TextArea", "zOrder": "0", - "w": "49", - "h": "40", + "w": "144", + "h": "47", "measuredW": "200", "measuredH": "140", "x": "0", @@ -7281,13 +3928,13 @@ "ID": "1", "typeID": "Label", "zOrder": "1", - "measuredW": "24", - "measuredH": "24", - "x": "12", - "y": "8", + "measuredW": "108", + "measuredH": "25", + "x": "23", + "y": "11", "properties": { - "size": "16", - "text": "mtr" + "text": "Forward Proxy", + "size": "17" } } ] @@ -7295,17 +3942,17 @@ } }, { - "ID": "2865", + "ID": "3137", "typeID": "__group__", - "zOrder": "146", - "measuredW": "61", - "measuredH": "40", - "w": "61", - "h": "40", - "x": "1052", - "y": "1363", + "zOrder": "107", + "measuredW": "161", + "measuredH": "46", + "w": "161", + "h": "46", + "x": "309", + "y": "964", "properties": { - "controlName": "112-managing-servers:live-in-terminal:ping" + "controlName": "101-setting-up-x:caching-server" }, "children": { "controls": { @@ -7314,8 +3961,8 @@ "ID": "0", "typeID": "TextArea", "zOrder": "0", - "w": "61", - "h": "40", + "w": "161", + "h": "46", "measuredW": "200", "measuredH": "140", "x": "0", @@ -7328,13 +3975,13 @@ "ID": "1", "typeID": "Label", "zOrder": "1", - "measuredW": "32", - "measuredH": "24", - "x": "15", - "y": "8", + "measuredW": "119", + "measuredH": "25", + "x": "21", + "y": "10", "properties": { - "size": "16", - "text": "ping" + "text": "Caching Server", + "size": "17" } } ] @@ -7342,17 +3989,17 @@ } }, { - "ID": "2866", + "ID": "3138", "typeID": "__group__", - "zOrder": "147", - "measuredW": "92", - "measuredH": "40", - "w": "92", - "h": "40", - "x": "1097", - "y": "1408", + "zOrder": "108", + "measuredW": "143", + "measuredH": "46", + "w": "143", + "h": "46", + "x": "159", + "y": "912", "properties": { - "controlName": "116-managing-servers:live-in-terminal:tcpdump" + "controlName": "100-setting-up-x:reverse-proxy" }, "children": { "controls": { @@ -7361,8 +4008,8 @@ "ID": "0", "typeID": "TextArea", "zOrder": "0", - "w": "92", - "h": "40", + "w": "143", + "h": "46", "measuredW": "200", "measuredH": "140", "x": "0", @@ -7375,13 +4022,13 @@ "ID": "1", "typeID": "Label", "zOrder": "1", - "measuredW": "64", - "measuredH": "24", - "x": "13", - "y": "8", + "measuredW": "111", + "measuredH": "25", + "x": "21", + "y": "10", "properties": { - "size": "16", - "text": "tcpdump" + "text": "Reverse Proxy", + "size": "17" } } ] @@ -7389,17 +4036,17 @@ } }, { - "ID": "2867", + "ID": "3139", "typeID": "__group__", - "zOrder": "148", - "measuredW": "79", - "measuredH": "40", - "w": "79", - "h": "40", - "x": "886", - "y": "1408", + "zOrder": "109", + "measuredW": "161", + "measuredH": "47", + "w": "161", + "h": "47", + "x": "309", + "y": "1014", "properties": { - "controlName": "114-managing-servers:live-in-terminal:netstat" + "controlName": "103-setting-up-x:load-balancer" }, "children": { "controls": { @@ -7408,8 +4055,8 @@ "ID": "0", "typeID": "TextArea", "zOrder": "0", - "w": "79", - "h": "40", + "w": "161", + "h": "47", "measuredW": "200", "measuredH": "140", "x": "0", @@ -7422,13 +4069,13 @@ "ID": "1", "typeID": "Label", "zOrder": "1", - "measuredW": "51", - "measuredH": "24", - "x": "14", - "y": "8", + "measuredW": "113", + "measuredH": "25", + "x": "26", + "y": "11", "properties": { - "size": "16", - "text": "netstat" + "text": "Load Balancer", + "size": "17" } } ] @@ -7436,17 +4083,17 @@ } }, { - "ID": "2868", + "ID": "3140", "typeID": "__group__", - "zOrder": "149", - "measuredW": "53", - "measuredH": "40", - "w": "53", - "h": "40", - "x": "1074", - "y": "1452", + "zOrder": "110", + "measuredW": "144", + "measuredH": "47", + "w": "144", + "h": "47", + "x": "158", + "y": "1013", "properties": { - "controlName": "119-managing-servers:live-in-terminal:dig" + "controlName": "104-setting-up-x:firewall" }, "children": { "controls": { @@ -7455,8 +4102,8 @@ "ID": "0", "typeID": "TextArea", "zOrder": "0", - "w": "53", - "h": "40", + "w": "144", + "h": "47", "measuredW": "200", "measuredH": "140", "x": "0", @@ -7469,13 +4116,13 @@ "ID": "1", "typeID": "Label", "zOrder": "1", - "measuredW": "23", - "measuredH": "24", - "x": "15", - "y": "8", + "measuredW": "59", + "measuredH": "25", + "x": "55", + "y": "11", "properties": { - "size": "16", - "text": "dig" + "text": "Firewall", + "size": "17" } } ] @@ -7483,46 +4130,48 @@ } }, { - "ID": "2869", + "ID": "3141", "typeID": "__group__", - "zOrder": "150", - "measuredW": "54", - "measuredH": "40", - "w": "54", - "h": "40", - "x": "1134", - "y": "1452", - "properties": { - "controlName": "141-managing-servers:live-in-terminal:scp" - }, + "zOrder": "111", + "measuredW": "24", + "measuredH": "24", + "w": "24", + "h": "24", + "x": "147", + "y": "923", "children": { "controls": { "control": [ { "ID": "0", - "typeID": "TextArea", + "typeID": "Icon", "zOrder": "0", - "w": "54", - "h": "40", - "measuredW": "200", - "measuredH": "140", + "measuredW": "24", + "measuredH": "24", "x": "0", "y": "0", "properties": { - "color": "16770457" + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } } }, { "ID": "1", - "typeID": "Label", + "typeID": "Icon", "zOrder": "1", - "measuredW": "26", + "measuredW": "24", "measuredH": "24", - "x": "14", - "y": "8", + "x": "0", + "y": "0", "properties": { - "size": "16", - "text": "scp" + "color": "10027263", + "icon": { + "ID": "check-circle", + "size": "small" + } } } ] @@ -7530,46 +4179,48 @@ } }, { - "ID": "2870", + "ID": "3142", "typeID": "__group__", - "zOrder": "151", - "measuredW": "182", - "measuredH": "40", - "w": "182", - "h": "40", - "x": "886", - "y": "1452", - "properties": { - "controlName": "118-managing-servers:live-in-terminal:iptables" - }, + "zOrder": "112", + "measuredW": "24", + "measuredH": "24", + "w": "24", + "h": "24", + "x": "147", + "y": "974", "children": { "controls": { "control": [ { "ID": "0", - "typeID": "TextArea", + "typeID": "Icon", "zOrder": "0", - "w": "182", - "h": "40", - "measuredW": "200", - "measuredH": "140", + "measuredW": "24", + "measuredH": "24", "x": "0", "y": "0", "properties": { - "color": "16770457" + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } } }, { "ID": "1", - "typeID": "Label", + "typeID": "Icon", "zOrder": "1", - "measuredW": "131", + "measuredW": "24", "measuredH": "24", - "x": "25", - "y": "8", + "x": "0", + "y": "0", "properties": { - "size": "16", - "text": "iptables / nftables" + "color": "10027263", + "icon": { + "ID": "check-circle", + "size": "small" + } } } ] @@ -7577,46 +4228,48 @@ } }, { - "ID": "2871", + "ID": "3143", "typeID": "__group__", - "zOrder": "152", - "measuredW": "122", - "measuredH": "40", - "w": "122", - "h": "40", - "x": "971", - "y": "1408", - "properties": { - "controlName": "142-managing-servers:live-in-terminal:ufw" - }, + "zOrder": "113", + "measuredW": "24", + "measuredH": "24", + "w": "24", + "h": "24", + "x": "147", + "y": "1024", "children": { "controls": { "control": [ { "ID": "0", - "typeID": "TextArea", + "typeID": "Icon", "zOrder": "0", - "w": "122", - "h": "40", - "measuredW": "200", - "measuredH": "140", + "measuredW": "24", + "measuredH": "24", "x": "0", "y": "0", "properties": { - "color": "16770457" + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } } }, { "ID": "1", - "typeID": "Label", + "typeID": "Icon", "zOrder": "1", - "measuredW": "100", + "measuredW": "24", "measuredH": "24", - "x": "11", - "y": "8", + "x": "0", + "y": "0", "properties": { - "size": "16", - "text": "ufw / firewalld" + "color": "10027263", + "icon": { + "ID": "check-circle", + "size": "small" + } } } ] @@ -7624,15 +4277,15 @@ } }, { - "ID": "2872", + "ID": "3144", "typeID": "__group__", - "zOrder": "153", + "zOrder": "114", "measuredW": "24", "measuredH": "24", "w": "24", "h": "24", - "x": "1187", - "y": "1522", + "x": "458", + "y": "975", "children": { "controls": { "control": [ @@ -7673,46 +4326,48 @@ } }, { - "ID": "2873", + "ID": "3145", "typeID": "__group__", - "zOrder": "154", - "measuredW": "70", - "measuredH": "40", - "w": "70", - "h": "40", - "x": "1119", - "y": "1363", - "properties": { - "controlName": "113-managing-servers:live-in-terminal:nmap" - }, + "zOrder": "115", + "measuredW": "24", + "measuredH": "24", + "w": "24", + "h": "24", + "x": "459", + "y": "1026", "children": { "controls": { "control": [ { "ID": "0", - "typeID": "TextArea", + "typeID": "Icon", "zOrder": "0", - "w": "70", - "h": "40", - "measuredW": "200", - "measuredH": "140", + "measuredW": "24", + "measuredH": "24", "x": "0", "y": "0", "properties": { - "color": "16770457" + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } } }, { "ID": "1", - "typeID": "Label", + "typeID": "Icon", "zOrder": "1", - "measuredW": "41", + "measuredW": "24", "measuredH": "24", - "x": "14", - "y": "8", + "x": "0", + "y": "0", "properties": { - "size": "16", - "text": "nmap" + "color": "10027263", + "icon": { + "ID": "check-circle", + "size": "small" + } } } ] @@ -7720,44 +4375,17 @@ } }, { - "ID": "2874", - "typeID": "TextArea", - "zOrder": "155", - "w": "301", - "h": "143", - "measuredW": "200", - "measuredH": "140", - "x": "530", - "y": "1327", - "properties": { - "bold": "true" - } - }, - { - "ID": "2875", - "typeID": "Label", - "zOrder": "156", - "measuredW": "53", - "measuredH": "25", - "x": "660", - "y": "1433", - "properties": { - "size": "17", - "text": "Others" - } - }, - { - "ID": "2876", + "ID": "3146", "typeID": "__group__", - "zOrder": "157", - "measuredW": "77", - "measuredH": "40", - "w": "77", - "h": "40", - "x": "542", - "y": "1339", + "zOrder": "116", + "measuredW": "167", + "measuredH": "47", + "w": "167", + "h": "47", + "x": "244", + "y": "1231", "properties": { - "controlName": "134-managing-servers:live-in-terminal:strace" + "controlName": "106-containers" }, "children": { "controls": { @@ -7766,28 +4394,28 @@ "ID": "0", "typeID": "TextArea", "zOrder": "0", - "w": "77", - "h": "40", + "w": "167", + "h": "47", "measuredW": "200", "measuredH": "140", "x": "0", "y": "0", "properties": { - "color": "16770457", - "bold": "true" + "color": "16776960" } }, { "ID": "1", "typeID": "Label", "zOrder": "1", - "measuredW": "46", - "measuredH": "24", - "x": "15", - "y": "8", + "w": "85", + "measuredW": "85", + "measuredH": "25", + "x": "41", + "y": "11", "properties": { - "size": "16", - "text": "strace" + "text": "Containers", + "size": "17" } } ] @@ -7795,17 +4423,17 @@ } }, { - "ID": "2877", + "ID": "3148", "typeID": "__group__", - "zOrder": "158", - "measuredW": "77", - "measuredH": "40", - "w": "77", - "h": "40", - "x": "628", - "y": "1339", + "zOrder": "118", + "measuredW": "178", + "measuredH": "47", + "w": "178", + "h": "47", + "x": "465", + "y": "1207", "properties": { - "controlName": "135-managing-servers:live-in-terminal:dtrace" + "controlName": "100-containers:lxc" }, "children": { "controls": { @@ -7814,28 +4442,92 @@ "ID": "0", "typeID": "TextArea", "zOrder": "0", - "w": "77", - "h": "40", + "w": "167", + "h": "47", "measuredW": "200", "measuredH": "140", "x": "0", "y": "0", "properties": { - "color": "16770457", - "bold": "true" + "color": "16770457" } }, { "ID": "1", "typeID": "Label", "zOrder": "1", - "measuredW": "47", - "measuredH": "24", - "x": "15", - "y": "8", + "measuredW": "32", + "measuredH": "25", + "x": "68", + "y": "11", "properties": { - "size": "16", - "text": "dtrace" + "text": "LXC", + "size": "17" + } + }, + { + "ID": "2", + "typeID": "__group__", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "w": "24", + "h": "24", + "x": "154", + "y": "11", + "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": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "3700253", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] + } } } ] @@ -7843,17 +4535,17 @@ } }, { - "ID": "2878", + "ID": "3151", "typeID": "__group__", - "zOrder": "159", - "measuredW": "105", - "measuredH": "40", - "w": "105", - "h": "40", - "x": "713", - "y": "1339", + "zOrder": "119", + "measuredW": "159", + "measuredH": "47", + "w": "159", + "h": "47", + "x": "271", + "y": "1648", "properties": { - "controlName": "136-managing-servers:live-in-terminal:systemtap" + "controlName": "103-infrastructure-provisioning:terraform" }, "children": { "controls": { @@ -7862,28 +4554,28 @@ "ID": "0", "typeID": "TextArea", "zOrder": "0", - "w": "105", - "h": "40", + "w": "159", + "h": "47", "measuredW": "200", "measuredH": "140", "x": "0", "y": "0", "properties": { - "color": "16770457", - "bold": "true" + "color": "16770457" } }, { "ID": "1", "typeID": "Label", "zOrder": "1", - "measuredW": "74", - "measuredH": "24", - "x": "15", - "y": "8", + "w": "75", + "measuredW": "75", + "measuredH": "25", + "x": "42", + "y": "11", "properties": { - "size": "16", - "text": "systemtap" + "text": "Terraform", + "size": "17" } } ] @@ -7891,17 +4583,17 @@ } }, { - "ID": "2879", + "ID": "3152", "typeID": "__group__", - "zOrder": "160", - "measuredW": "75", - "measuredH": "40", - "w": "75", - "h": "40", - "x": "542", - "y": "1384", + "zOrder": "120", + "measuredW": "158", + "measuredH": "47", + "w": "158", + "h": "47", + "x": "270", + "y": "1495", "properties": { - "controlName": "137-managing-servers:live-in-terminal:uname" + "controlName": "100-infrastructure-provisioning:aws-cdk" }, "children": { "controls": { @@ -7910,28 +4602,27 @@ "ID": "0", "typeID": "TextArea", "zOrder": "0", - "w": "75", - "h": "40", + "w": "158", + "h": "47", "measuredW": "200", "measuredH": "140", "x": "0", "y": "0", "properties": { - "color": "16770457", - "bold": "true" + "color": "16770457" } }, { "ID": "1", "typeID": "Label", "zOrder": "1", - "measuredW": "50", - "measuredH": "24", - "x": "13", - "y": "8", + "measuredW": "76", + "measuredH": "25", + "x": "41", + "y": "11", "properties": { - "size": "16", - "text": "uname" + "size": "17", + "text": "AWS CDK" } } ] @@ -7939,17 +4630,17 @@ } }, { - "ID": "2880", + "ID": "3153", "typeID": "__group__", - "zOrder": "161", - "measuredW": "47", - "measuredH": "40", - "w": "47", - "h": "40", - "x": "629", - "y": "1384", + "zOrder": "121", + "measuredW": "158", + "measuredH": "47", + "w": "158", + "h": "47", + "x": "271", + "y": "1597", "properties": { - "controlName": "138-managing-servers:live-in-terminal:df" + "controlName": "103-infrastructure-provisioning:pulumi" }, "children": { "controls": { @@ -7958,28 +4649,27 @@ "ID": "0", "typeID": "TextArea", "zOrder": "0", - "w": "47", - "h": "40", + "w": "158", + "h": "47", "measuredW": "200", "measuredH": "140", "x": "0", "y": "0", "properties": { - "color": "16770457", - "bold": "true" + "color": "16770457" } }, { "ID": "1", "typeID": "Label", "zOrder": "1", - "measuredW": "15", - "measuredH": "24", - "x": "16", - "y": "8", + "measuredW": "52", + "measuredH": "25", + "x": "53", + "y": "11", "properties": { - "size": "16", - "text": "df" + "text": "Pulumi", + "size": "17" } } ] @@ -7987,17 +4677,17 @@ } }, { - "ID": "2881", + "ID": "3154", "typeID": "__group__", - "zOrder": "162", - "measuredW": "79", - "measuredH": "40", - "w": "79", - "h": "40", - "x": "682", - "y": "1384", + "zOrder": "122", + "measuredW": "159", + "measuredH": "47", + "w": "159", + "h": "47", + "x": "270", + "y": "1546", "properties": { - "controlName": "139-managing-servers:live-in-terminal:history" + "controlName": "102-infrastructure-provisioning:cloudformation" }, "children": { "controls": { @@ -8006,28 +4696,27 @@ "ID": "0", "typeID": "TextArea", "zOrder": "0", - "w": "79", - "h": "40", + "w": "159", + "h": "47", "measuredW": "200", "measuredH": "140", "x": "0", "y": "0", "properties": { - "color": "16770457", - "bold": "true" + "color": "16770457" } }, { "ID": "1", "typeID": "Label", "zOrder": "1", - "measuredW": "48", - "measuredH": "24", - "x": "15", - "y": "8", + "measuredW": "123", + "measuredH": "25", + "x": "20", + "y": "11", "properties": { - "size": "16", - "text": "history" + "size": "17", + "text": "CloudFormation" } } ] @@ -8035,47 +4724,48 @@ } }, { - "ID": "2882", + "ID": "3155", "typeID": "__group__", - "zOrder": "163", - "measuredW": "51", - "measuredH": "40", - "w": "51", - "h": "40", - "x": "767", - "y": "1384", - "properties": { - "controlName": "140-managing-servers:live-in-terminal:du" - }, + "zOrder": "123", + "measuredW": "24", + "measuredH": "24", + "w": "24", + "h": "24", + "x": "260", + "y": "1660", "children": { "controls": { "control": [ { "ID": "0", - "typeID": "TextArea", + "typeID": "Icon", "zOrder": "0", - "w": "51", - "h": "40", - "measuredW": "200", - "measuredH": "140", + "measuredW": "24", + "measuredH": "24", "x": "0", "y": "0", "properties": { - "color": "16770457", - "bold": "true" + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } } }, { "ID": "1", - "typeID": "Label", + "typeID": "Icon", "zOrder": "1", - "measuredW": "19", + "measuredW": "24", "measuredH": "24", - "x": "16", - "y": "8", + "x": "0", + "y": "0", "properties": { - "size": "16", - "text": "du" + "color": "10027263", + "icon": { + "ID": "check-circle", + "size": "small" + } } } ] @@ -8083,15 +4773,15 @@ } }, { - "ID": "2883", + "ID": "3156", "typeID": "__group__", - "zOrder": "164", + "zOrder": "124", "measuredW": "24", "measuredH": "24", "w": "24", "h": "24", - "x": "817", - "y": "1432", + "x": "260", + "y": "1506", "children": { "controls": { "control": [ @@ -8120,207 +4810,92 @@ "x": "0", "y": "0", "properties": { - "color": "10027263", + "color": "16777215", "icon": { - "ID": "check-circle", + "ID": "circle", "size": "small" } } - } - ] - } - } - }, - { - "ID": "2884", - "typeID": "Arrow", - "zOrder": "165", - "w": "23", - "h": "130", - "measuredW": "150", - "measuredH": "100", - "x": "115", - "y": "940", - "properties": { - "color": "2848996", - "direction": "bottom", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "p0": { - "x": 23, - "y": -0.5 - }, - "p1": { - "x": 0.5076923076923077, - "y": -0.17692307692307693 - }, - "p2": { - "x": 23, - "y": 129.5 - } - } - }, - { - "ID": "2885", - "typeID": "Arrow", - "zOrder": "166", - "w": "1", - "h": "216", - "measuredW": "150", - "measuredH": "100", - "x": "252", - "y": "1087", - "properties": { - "color": "2848996", - "direction": "bottom", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "p0": { - "x": 0, - "y": -0.5 - }, - "p1": { - "x": 0.5331695331695332, - "y": 0 - }, - "p2": { - "x": 0, - "y": 215.5 - } - } - }, - { - "ID": "2886", - "typeID": "Arrow", - "zOrder": "167", - "w": "2", - "h": "49", - "measuredW": "150", - "measuredH": "100", - "x": "180", - "y": "1079", - "properties": { - "color": "2848996", - "direction": "bottom", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "p0": { - "x": 0, - "y": -0.5 - }, - "p1": { - "x": 0.5409978308026031, - "y": 0.0321041214750543 - }, - "p2": { - "x": 0.5, - "y": 48.5 - } - } - }, - { - "ID": "2887", - "typeID": "Arrow", - "zOrder": "168", - "w": "33", - "h": "51", - "measuredW": "150", - "measuredH": "100", - "x": "205", - "y": "1012", - "properties": { - "color": "2848996", - "direction": "bottom", - "leftArrow": "false", - "p0": { - "x": 33, - "y": -0.5 - }, - "p1": { - "x": 0.5409978308026031, - "y": 0.032104121475054294 - }, - "p2": { - "x": 0, - "y": 50.5 - }, - "rightArrow": "false", - "stroke": "dotted" - } - }, - { - "ID": "2888", - "typeID": "Arrow", - "zOrder": "169", - "w": "1", - "h": "51", - "measuredW": "150", - "measuredH": "100", - "x": "341", - "y": "938", - "properties": { - "color": "2848996", - "leftArrow": "false", - "p0": { - "x": 0, - "y": 50.5 - }, - "p1": { - "x": 0.4034892942109438, - "y": -0.01554321966693101 - }, - "p2": { - "x": 0, - "y": -0.5 - }, - "rightArrow": "false", - "stroke": "dotted" + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "3700253", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] + } } }, { - "ID": "2889", + "ID": "3157", "typeID": "__group__", - "zOrder": "170", - "measuredW": "125", - "measuredH": "47", - "w": "125", - "h": "47", - "x": "286", - "y": "863", - "properties": { - "controlName": "101-networking-protocols:dns" - }, + "zOrder": "125", + "measuredW": "24", + "measuredH": "24", + "w": "24", + "h": "24", + "x": "260", + "y": "1558", "children": { "controls": { "control": [ { "ID": "0", - "typeID": "TextArea", + "typeID": "Icon", "zOrder": "0", - "w": "125", - "h": "47", - "measuredW": "200", - "measuredH": "140", + "measuredW": "24", + "measuredH": "24", "x": "0", "y": "0", "properties": { - "color": "16770457" + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } } }, { "ID": "1", - "typeID": "Label", + "typeID": "Icon", "zOrder": "1", - "measuredW": "36", - "measuredH": "25", - "x": "45", - "y": "11", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", "properties": { - "text": "DNS", - "size": "17" + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "3700253", + "icon": { + "ID": "check-circle", + "size": "small" + } } } ] @@ -8328,46 +4903,64 @@ } }, { - "ID": "2890", + "ID": "3158", "typeID": "__group__", - "zOrder": "171", - "measuredW": "125", - "measuredH": "47", - "w": "125", - "h": "47", - "x": "286", - "y": "914", - "properties": { - "controlName": "100-networking-protocols:osi-model" - }, + "zOrder": "126", + "measuredW": "24", + "measuredH": "24", + "w": "24", + "h": "24", + "x": "260", + "y": "1610", "children": { "controls": { "control": [ { "ID": "0", - "typeID": "TextArea", + "typeID": "Icon", "zOrder": "0", - "w": "125", - "h": "47", - "measuredW": "200", - "measuredH": "140", + "measuredW": "24", + "measuredH": "24", "x": "0", "y": "0", "properties": { - "color": "16770457" + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } } }, { "ID": "1", - "typeID": "Label", + "typeID": "Icon", "zOrder": "1", - "measuredW": "81", - "measuredH": "25", - "x": "22", - "y": "11", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", "properties": { - "text": "OSI Model", - "size": "17" + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "3700253", + "icon": { + "ID": "check-circle", + "size": "small" + } } } ] @@ -8375,48 +4968,45 @@ } }, { - "ID": "2891", + "ID": "3159", "typeID": "Arrow", - "zOrder": "172", - "w": "1", - "h": "63", + "zOrder": "127", + "w": "947", + "h": "1", "measuredW": "150", "measuredH": "100", - "x": "340", - "y": "1017", + "x": "346", + "y": "2370", "properties": { - "color": "2848996", - "curvature": "-1", - "direction": "bottom", "leftArrow": "false", + "rightArrow": "false", + "color": "10027263", "p0": { - "x": 1, - "y": 63 + "x": 0.35062613569874657, + "y": 0 }, "p1": { - "x": 0.521922991319831, - "y": 0.015579790785666594 + "x": 0.49999999999999983, + "y": 0 }, "p2": { - "x": 1, + "x": 947.3333333333333, "y": 0 - }, - "rightArrow": "false", - "stroke": "dotted" + } } }, { - "ID": "2892", + "ID": "3160", "typeID": "__group__", - "zOrder": "173", - "measuredW": "156", - "measuredH": "48", - "w": "156", - "h": "48", - "x": "273", - "y": "1047", + "zOrder": "128", + "measuredW": "238", + "measuredH": "47", + "w": "238", + "h": "47", + "x": "1135", + "y": "2231", "properties": { - "controlName": "102-networking-protocols:http" + "controlName": "114-infrastructure-monitoring" }, "children": { "controls": { @@ -8425,94 +5015,45 @@ "ID": "0", "typeID": "TextArea", "zOrder": "0", - "w": "150", - "h": "40", + "w": "238", + "h": "47", "measuredW": "200", "measuredH": "140", "x": "0", - "y": "8", + "y": "0", "properties": { - "color": "16770457" + "color": "16776960" } }, { "ID": "1", "typeID": "Label", "zOrder": "1", - "measuredW": "44", + "measuredW": "191", "measuredH": "25", - "x": "52", - "y": "17", + "x": "23", + "y": "11", "properties": { - "text": "HTTP", + "text": "Infrastructure Monitoring", "size": "17" } - }, - { - "ID": "2", - "typeID": "__group__", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "w": "24", - "h": "24", - "x": "132", - "y": "0", - "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": "10027263", - "icon": { - "ID": "check-circle", - "size": "small" - } - } - } - ] - } - } } ] } } }, { - "ID": "2893", + "ID": "3161", "typeID": "__group__", - "zOrder": "174", - "measuredW": "156", - "measuredH": "44", - "w": "156", - "h": "44", - "x": "273", - "y": "1095", + "zOrder": "129", + "measuredW": "140", + "measuredH": "47", + "w": "140", + "h": "47", + "x": "928", + "y": "2260", "properties": { - "controlName": "103-networking-protocols:https" + "controlName": "102-infrastructure-monitoring:grafana" }, "children": { "controls": { @@ -8521,12 +5062,12 @@ "ID": "0", "typeID": "TextArea", "zOrder": "0", - "w": "150", - "h": "40", + "w": "130", + "h": "47", "measuredW": "200", "measuredH": "140", "x": "0", - "y": "4", + "y": "0", "properties": { "color": "16770457" } @@ -8535,12 +5076,12 @@ "ID": "1", "typeID": "Label", "zOrder": "1", - "measuredW": "54", + "measuredW": "62", "measuredH": "25", - "x": "49", - "y": "13", + "x": "33", + "y": "11", "properties": { - "text": "HTTPS", + "text": "Grafana", "size": "17" } }, @@ -8552,8 +5093,8 @@ "measuredH": "24", "w": "24", "h": "24", - "x": "132", - "y": "0", + "x": "116", + "y": "12", "children": { "controls": { "control": [ @@ -8598,17 +5139,17 @@ } }, { - "ID": "2894", + "ID": "3162", "typeID": "__group__", - "zOrder": "175", - "measuredW": "157", - "measuredH": "45", - "w": "157", - "h": "45", - "x": "272", - "y": "1138", + "zOrder": "130", + "measuredW": "140", + "measuredH": "47", + "w": "140", + "h": "47", + "x": "783", + "y": "2259", "properties": { - "controlName": "104-networking-protocols:ftp" + "controlName": "102-infrastructure-monitoring:datadog" }, "children": { "controls": { @@ -8617,12 +5158,12 @@ "ID": "0", "typeID": "TextArea", "zOrder": "0", - "w": "151", - "h": "40", + "w": "130", + "h": "47", "measuredW": "200", "measuredH": "140", - "x": "0", - "y": "5", + "x": "10", + "y": "0", "properties": { "color": "16770457" } @@ -8631,13 +5172,13 @@ "ID": "1", "typeID": "Label", "zOrder": "1", - "measuredW": "89", + "measuredW": "66", "measuredH": "25", - "x": "31", - "y": "13", + "x": "42", + "y": "11", "properties": { - "size": "17", - "text": "FTP / SFTP" + "text": "Datadog", + "size": "17" } }, { @@ -8648,8 +5189,8 @@ "measuredH": "24", "w": "24", "h": "24", - "x": "133", - "y": "0", + "x": "0", + "y": "12", "children": { "controls": { "control": [ @@ -8678,12 +5219,28 @@ "x": "0", "y": "0", "properties": { - "color": "10027263", + "color": "16777215", "icon": { - "ID": "check-circle", + "ID": "circle", "size": "small" } } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "icon": { + "ID": "check-circle", + "size": "small" + }, + "color": "10027263" + } } ] } @@ -8694,17 +5251,17 @@ } }, { - "ID": "2895", + "ID": "3163", "typeID": "__group__", - "zOrder": "176", - "measuredW": "157", - "measuredH": "41", - "w": "157", - "h": "41", - "x": "272", - "y": "1186", + "zOrder": "131", + "measuredW": "139", + "measuredH": "47", + "w": "139", + "h": "47", + "x": "783", + "y": "2208", "properties": { - "controlName": "105-networking-protocols:ssl-tls" + "controlName": "102-infrastructure-monitoring:zabbix" }, "children": { "controls": { @@ -8713,12 +5270,12 @@ "ID": "0", "typeID": "TextArea", "zOrder": "0", - "w": "151", - "h": "40", + "w": "129", + "h": "47", "measuredW": "200", "measuredH": "140", - "x": "0", - "y": "1", + "x": "10", + "y": "0", "properties": { "color": "16770457" } @@ -8727,12 +5284,12 @@ "ID": "1", "typeID": "Label", "zOrder": "1", - "measuredW": "77", + "measuredW": "52", "measuredH": "25", - "x": "39", - "y": "10", + "x": "49", + "y": "11", "properties": { - "text": "SSL / TLS", + "text": "Zabbix", "size": "17" } }, @@ -8744,8 +5301,8 @@ "measuredH": "24", "w": "24", "h": "24", - "x": "133", - "y": "0", + "x": "0", + "y": "12", "children": { "controls": { "control": [ @@ -8774,7 +5331,23 @@ "x": "0", "y": "0", "properties": { - "color": "10027263", + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "3700253", "icon": { "ID": "check-circle", "size": "small" @@ -8790,17 +5363,17 @@ } }, { - "ID": "2896", + "ID": "3164", "typeID": "__group__", - "zOrder": "177", - "measuredW": "157", - "measuredH": "44", - "w": "157", - "h": "44", - "x": "272", - "y": "1227", + "zOrder": "132", + "measuredW": "140", + "measuredH": "47", + "w": "140", + "h": "47", + "x": "928", + "y": "2208", "properties": { - "controlName": "106-networking-protocols:ssh" + "controlName": "100-infrastructure-monitoring:prometheus" }, "children": { "controls": { @@ -8809,12 +5382,12 @@ "ID": "0", "typeID": "TextArea", "zOrder": "0", - "w": "151", - "h": "40", + "w": "130", + "h": "47", "measuredW": "200", "measuredH": "140", "x": "0", - "y": "4", + "y": "0", "properties": { "color": "16770457" } @@ -8823,12 +5396,12 @@ "ID": "1", "typeID": "Label", "zOrder": "1", - "measuredW": "33", + "measuredW": "93", "measuredH": "25", - "x": "59", - "y": "13", + "x": "16", + "y": "11", "properties": { - "text": "SSH", + "text": "Prometheus", "size": "17" } }, @@ -8840,8 +5413,8 @@ "measuredH": "24", "w": "24", "h": "24", - "x": "133", - "y": "0", + "x": "116", + "y": "12", "children": { "controls": { "control": [ @@ -8886,17 +5459,17 @@ } }, { - "ID": "2897", + "ID": "3165", "typeID": "__group__", - "zOrder": "178", - "measuredW": "158", - "measuredH": "43", - "w": "158", - "h": "43", - "x": "272", - "y": "1272", + "zOrder": "133", + "measuredW": "235", + "measuredH": "49", + "w": "235", + "h": "49", + "x": "443", + "y": "2344", "properties": { - "controlName": "107-networking-protocols:port-forwarding" + "controlName": "115-application-monitoring" }, "children": { "controls": { @@ -8905,75 +5478,105 @@ "ID": "0", "typeID": "TextArea", "zOrder": "0", - "w": "152", - "h": "40", + "w": "235", + "h": "49", "measuredW": "200", "measuredH": "140", "x": "0", - "y": "3", + "y": "0", "properties": { - "color": "16770457" + "color": "16776960" } }, { "ID": "1", "typeID": "Label", "zOrder": "1", - "measuredW": "122", + "measuredW": "172", "measuredH": "25", - "x": "19", + "x": "32", "y": "12", "properties": { - "text": "Port Forwarding", + "text": "Application Monitoring", + "size": "17" + } + } + ] + } + } + }, + { + "ID": "3166", + "typeID": "__group__", + "zOrder": "134", + "measuredW": "153", + "measuredH": "47", + "w": "153", + "h": "47", + "x": "405", + "y": "2155", + "properties": { + "controlName": "100-application-monitoring:jaeger" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "143", + "h": "47", + "measuredW": "200", + "measuredH": "140", + "x": "10", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "55", + "measuredH": "25", + "x": "58", + "y": "11", + "properties": { + "text": "Jaeger", "size": "17" } }, { "ID": "2", - "typeID": "__group__", + "typeID": "Icon", "zOrder": "2", "measuredW": "24", "measuredH": "24", - "w": "24", - "h": "24", - "x": "134", - "y": "0", - "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": "10027263", - "icon": { - "ID": "check-circle", - "size": "small" - } - } - } - ] + "x": "0", + "y": "12", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "3", + "typeID": "Icon", + "zOrder": "3", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "12", + "properties": { + "color": "10027263", + "icon": { + "ID": "check-circle", + "size": "small" } } } @@ -8982,66 +5585,46 @@ } }, { - "ID": "2898", + "ID": "3167", "typeID": "__group__", - "zOrder": "179", - "measuredW": "368", - "measuredH": "56", - "w": "368", - "h": "56", - "x": "128", - "y": "971", + "zOrder": "135", + "measuredW": "149", + "measuredH": "47", + "w": "149", + "h": "47", + "x": "565", + "y": "2155", "properties": { - "controlName": "103-networking-protocols" + "controlName": "101-application-monitoring:new-relic" }, "children": { "controls": { "control": [ { "ID": "0", - "typeID": "__group__", + "typeID": "TextArea", "zOrder": "0", - "measuredW": "364", - "measuredH": "49", - "w": "364", - "h": "49", - "x": "4", - "y": "7", - "properties": { - "controlName": "103-networking-protocols" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "364", - "h": "49", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { - "color": "16776960" - } - } - ] - } + "w": "139", + "h": "47", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" } }, { "ID": "1", "typeID": "Label", "zOrder": "1", - "measuredW": "265", + "measuredW": "78", "measuredH": "25", - "x": "53", - "y": "19", + "x": "23", + "y": "11", "properties": { "size": "17", - "text": "Networking, Security and Protocols" + "text": "New Relic" } }, { @@ -9052,8 +5635,8 @@ "measuredH": "24", "w": "24", "h": "24", - "x": "0", - "y": "0", + "x": "125", + "y": "12", "children": { "controls": { "control": [ @@ -9098,17 +5681,17 @@ } }, { - "ID": "2899", + "ID": "3168", "typeID": "__group__", - "zOrder": "180", - "measuredW": "166", + "zOrder": "136", + "measuredW": "154", "measuredH": "47", - "w": "166", + "w": "154", "h": "47", - "x": "99", - "y": "1055", + "x": "404", + "y": "2207", "properties": { - "controlName": "103-networking-protocols:emails" + "controlName": "102-monitoring:application-monitoring:app-dynamics" }, "children": { "controls": { @@ -9117,7 +5700,7 @@ "ID": "0", "typeID": "TextArea", "zOrder": "0", - "w": "155", + "w": "143", "h": "47", "measuredW": "200", "measuredH": "140", @@ -9131,12 +5714,12 @@ "ID": "1", "typeID": "Label", "zOrder": "1", - "measuredW": "52", + "measuredW": "105", "measuredH": "25", - "x": "65", + "x": "30", "y": "11", "properties": { - "text": "Emails", + "text": "AppDynamics", "size": "17" } }, @@ -9149,7 +5732,7 @@ "w": "24", "h": "24", "x": "0", - "y": "10", + "y": "12", "children": { "controls": { "control": [ @@ -9178,7 +5761,23 @@ "x": "0", "y": "0", "properties": { - "color": "10066329", + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "3700253", "icon": { "ID": "check-circle", "size": "small" @@ -9194,17 +5793,17 @@ } }, { - "ID": "2900", + "ID": "3169", "typeID": "__group__", - "zOrder": "181", - "measuredW": "129", + "zOrder": "137", + "measuredW": "298", "measuredH": "47", - "w": "129", + "w": "298", "h": "47", - "x": "111", - "y": "1121", + "x": "406", + "y": "2259", "properties": { - "controlName": "101-networking-protocols:emails:smtp" + "controlName": "104-application-monitoring:open-telemetry" }, "children": { "controls": { @@ -9213,11 +5812,11 @@ "ID": "0", "typeID": "TextArea", "zOrder": "0", - "w": "129", + "w": "289", "h": "47", "measuredW": "200", "measuredH": "140", - "x": "0", + "x": "9", "y": "0", "properties": { "color": "16770457" @@ -9227,60 +5826,78 @@ "ID": "1", "typeID": "Label", "zOrder": "1", - "measuredW": "46", + "measuredW": "119", "measuredH": "25", - "x": "43", + "x": "94", "y": "11", "properties": { - "text": "SMTP", - "size": "17" - } - } - ] - } - } - }, - { - "ID": "2901", - "typeID": "__group__", - "zOrder": "182", - "measuredW": "129", - "measuredH": "47", - "w": "129", - "h": "47", - "x": "111", - "y": "1171", - "properties": { - "controlName": "102-networking-protocols:emails:imaps" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "129", - "h": "47", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" + "size": "17", + "text": "OpenTelemetry" } }, { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "52", - "measuredH": "25", - "x": "40", - "y": "11", - "properties": { - "text": "IMAPS", - "size": "17" + "ID": "2", + "typeID": "__group__", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "w": "24", + "h": "24", + "x": "0", + "y": "8", + "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": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "3700253", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] + } } } ] @@ -9288,17 +5905,17 @@ } }, { - "ID": "2902", + "ID": "3170", "typeID": "__group__", - "zOrder": "183", - "measuredW": "129", + "zOrder": "138", + "measuredW": "149", "measuredH": "47", - "w": "129", + "w": "149", "h": "47", - "x": "111", - "y": "1222", + "x": "565", + "y": "2207", "properties": { - "controlName": "103-networking-protocols:emails:pop3s" + "controlName": "102-application-monitoring:datadog" }, "children": { "controls": { @@ -9307,7 +5924,7 @@ "ID": "0", "typeID": "TextArea", "zOrder": "0", - "w": "129", + "w": "139", "h": "47", "measuredW": "200", "measuredH": "140", @@ -9321,13 +5938,62 @@ "ID": "1", "typeID": "Label", "zOrder": "1", - "measuredW": "56", + "measuredW": "66", "measuredH": "25", - "x": "39", + "x": "37", "y": "11", "properties": { - "text": "POP3S", - "size": "17" + "size": "17", + "text": "Datadog" + } + }, + { + "ID": "2", + "typeID": "__group__", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "w": "24", + "h": "24", + "x": "125", + "y": "12", + "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": "10027263", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] + } } } ] @@ -9335,17 +6001,17 @@ } }, { - "ID": "2903", + "ID": "3183", "typeID": "__group__", - "zOrder": "184", - "measuredW": "129", - "measuredH": "47", - "w": "129", - "h": "47", - "x": "136", - "y": "1289", + "zOrder": "142", + "measuredW": "304", + "measuredH": "49", + "w": "304", + "h": "49", + "x": "696", + "y": "1337", "properties": { - "controlName": "104-networking-protocols:emails:dmarc" + "controlName": "107-cloud-providers" }, "children": { "controls": { @@ -9354,27 +6020,27 @@ "ID": "0", "typeID": "TextArea", "zOrder": "0", - "w": "129", - "h": "47", + "w": "304", + "h": "49", "measuredW": "200", "measuredH": "140", "x": "0", "y": "0", "properties": { - "color": "16770457" + "color": "16776960" } }, { "ID": "1", "typeID": "Label", "zOrder": "1", - "measuredW": "62", + "measuredW": "122", "measuredH": "25", - "x": "37", - "y": "11", + "x": "91", + "y": "12", "properties": { - "text": "DMARC", - "size": "17" + "size": "17", + "text": "Cloud Providers" } } ] @@ -9382,17 +6048,17 @@ } }, { - "ID": "2904", + "ID": "3184", "typeID": "__group__", - "zOrder": "185", - "measuredW": "129", - "measuredH": "47", - "w": "129", - "h": "47", - "x": "136", - "y": "1339", + "zOrder": "143", + "measuredW": "152", + "measuredH": "46", + "w": "152", + "h": "46", + "x": "690", + "y": "1208", "properties": { - "controlName": "105-networking-protocols:emails:spf" + "controlName": "100-cloud-providers:aws" }, "children": { "controls": { @@ -9401,11 +6067,11 @@ "ID": "0", "typeID": "TextArea", "zOrder": "0", - "w": "129", - "h": "47", + "w": "141", + "h": "46", "measuredW": "200", "measuredH": "140", - "x": "0", + "x": "11", "y": "0", "properties": { "color": "16770457" @@ -9415,31 +6081,80 @@ "ID": "1", "typeID": "Label", "zOrder": "1", - "measuredW": "32", + "measuredW": "36", "measuredH": "25", - "x": "50", - "y": "11", + "x": "64", + "y": "10", "properties": { - "text": "SPF", + "text": "AWS", "size": "17" } + }, + { + "ID": "2", + "typeID": "__group__", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "w": "24", + "h": "24", + "x": "0", + "y": "11", + "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": "10027263", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] + } + } } ] } } }, { - "ID": "2905", + "ID": "3185", "typeID": "__group__", - "zOrder": "186", - "measuredW": "129", + "zOrder": "144", + "measuredW": "161", "measuredH": "47", - "w": "129", + "w": "161", "h": "47", - "x": "136", - "y": "1390", + "x": "849", + "y": "1207", "properties": { - "controlName": "106-networking-protocols:emails:domain-keys" + "controlName": "101-cloud-providers:google-cloud" }, "children": { "controls": { @@ -9448,7 +6163,7 @@ "ID": "0", "typeID": "TextArea", "zOrder": "0", - "w": "129", + "w": "149", "h": "47", "measuredW": "200", "measuredH": "140", @@ -9462,31 +6177,96 @@ "ID": "1", "typeID": "Label", "zOrder": "1", - "measuredW": "101", + "measuredW": "105", "measuredH": "25", - "x": "19", + "x": "16", "y": "11", "properties": { - "text": "Domain Keys", + "text": "Google Cloud", "size": "17" } + }, + { + "ID": "2", + "typeID": "__group__", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "w": "24", + "h": "24", + "x": "137", + "y": "12", + "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": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "icon": { + "ID": "check-circle", + "size": "small" + }, + "color": "10027263" + } + } + ] + } + } } ] } } }, { - "ID": "2906", + "ID": "3186", "typeID": "__group__", - "zOrder": "187", - "measuredW": "164", + "zOrder": "145", + "measuredW": "155", "measuredH": "47", - "w": "164", + "w": "155", "h": "47", - "x": "105", - "y": "915", + "x": "689", + "y": "1258", "properties": { - "controlName": "100-networking-protocols:emails:white-grey-listing" + "controlName": "102-cloud-providers:azure" }, "children": { "controls": { @@ -9495,11 +6275,11 @@ "ID": "0", "typeID": "TextArea", "zOrder": "0", - "w": "164", + "w": "144", "h": "47", "measuredW": "200", "measuredH": "140", - "x": "0", + "x": "11", "y": "0", "properties": { "color": "16770457" @@ -9509,89 +6289,96 @@ "ID": "1", "typeID": "Label", "zOrder": "1", - "measuredW": "142", + "measuredW": "44", "measuredH": "25", - "x": "11", + "x": "64", "y": "11", "properties": { - "text": "White/Grey Listing", + "text": "Azure", "size": "17" } - } - ] - } - } - }, - { - "ID": "2907", - "typeID": "Arrow", - "zOrder": "188", - "w": "30", - "h": "54", - "measuredW": "150", - "measuredH": "100", - "x": "305", - "y": "1497", - "properties": { - "color": "2848996", - "leftArrow": "false", - "p0": { - "x": 30, - "y": 54 - }, - "p1": { - "x": 0.31900452488687786, - "y": -0.0067873303167421736 - }, - "p2": { - "x": 0, - "y": 0 - }, - "rightArrow": "false", - "stroke": "dotted" - } - }, - { - "ID": "2908", - "typeID": "Arrow", - "zOrder": "189", - "w": "45", - "h": "66", - "measuredW": "150", - "measuredH": "100", - "x": "199", - "y": "1486", - "properties": { - "color": "2848996", - "leftArrow": "false", - "p0": { - "x": 0, - "y": 66 - }, - "p1": { - "x": 0.31900452488687786, - "y": -0.006787330316742089 - }, - "p2": { - "x": 45, - "y": 0 - }, - "rightArrow": "false", - "stroke": "dotted" + }, + { + "ID": "2", + "typeID": "__group__", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "w": "24", + "h": "24", + "x": "0", + "y": "12", + "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": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "icon": { + "ID": "check-circle", + "size": "small" + }, + "color": "10027263" + } + } + ] + } + } + } + ] + } } }, { - "ID": "2909", + "ID": "3187", "typeID": "__group__", - "zOrder": "190", - "measuredW": "313", - "measuredH": "49", - "w": "313", - "h": "49", - "x": "105", - "y": "1459", + "zOrder": "146", + "measuredW": "160", + "measuredH": "47", + "w": "160", + "h": "47", + "x": "850", + "y": "1258", "properties": { - "controlName": "104-setting-up-x" + "controlName": "104-cloud-providers:digital-ocean" }, "children": { "controls": { @@ -9600,27 +6387,76 @@ "ID": "0", "typeID": "TextArea", "zOrder": "0", - "w": "313", - "h": "49", + "w": "149", + "h": "47", "measuredW": "200", "measuredH": "140", "x": "0", "y": "0", "properties": { - "color": "16776960" + "color": "16770457" } }, { "ID": "1", "typeID": "Label", "zOrder": "1", - "measuredW": "272", + "measuredW": "105", "measuredH": "25", - "x": "21", - "y": "12", + "x": "22", + "y": "11", "properties": { - "size": "17", - "text": "What is and how to setup a _____?" + "text": "Digital Ocean", + "size": "17" + } + }, + { + "ID": "2", + "typeID": "__group__", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "w": "24", + "h": "24", + "x": "136", + "y": "12", + "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": { + "icon": { + "ID": "check-circle", + "size": "small" + }, + "color": "3700253" + } + } + ] + } } } ] @@ -9628,17 +6464,17 @@ } }, { - "ID": "2910", + "ID": "3188", "typeID": "__group__", - "zOrder": "191", - "measuredW": "153", + "zOrder": "147", + "measuredW": "160", "measuredH": "47", - "w": "153", + "w": "160", "h": "47", - "x": "98", - "y": "1590", + "x": "685", + "y": "1465", "properties": { - "controlName": "102-setting-up-x:forward-proxy" + "controlName": "103-cloud-providers:heroku" }, "children": { "controls": { @@ -9647,26 +6483,26 @@ "ID": "0", "typeID": "TextArea", "zOrder": "0", - "w": "144", + "w": "149", "h": "47", "measuredW": "200", "measuredH": "140", - "x": "9", + "x": "11", "y": "0", "properties": { - "color": "16776960" + "color": "16770457" } }, { "ID": "1", "typeID": "Label", "zOrder": "1", - "measuredW": "108", + "measuredW": "56", "measuredH": "25", - "x": "30", + "x": "58", "y": "11", "properties": { - "text": "Forward Proxy", + "text": "Heroku", "size": "17" } }, @@ -9708,7 +6544,23 @@ "x": "0", "y": "0", "properties": { - "color": "10027263", + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "3700253", "icon": { "ID": "check-circle", "size": "small" @@ -9724,17 +6576,17 @@ } }, { - "ID": "2911", + "ID": "3189", "typeID": "__group__", - "zOrder": "192", - "measuredW": "170", - "measuredH": "46", - "w": "170", - "h": "46", - "x": "257", - "y": "1540", + "zOrder": "148", + "measuredW": "160", + "measuredH": "47", + "w": "160", + "h": "47", + "x": "851", + "y": "1413", "properties": { - "controlName": "101-setting-up-x:caching-server" + "controlName": "105-cloud-providers:linode" }, "children": { "controls": { @@ -9743,26 +6595,26 @@ "ID": "0", "typeID": "TextArea", "zOrder": "0", - "w": "161", - "h": "46", + "w": "149", + "h": "47", "measuredW": "200", "measuredH": "140", "x": "0", "y": "0", "properties": { - "color": "16776960" + "color": "16770457" } }, { "ID": "1", "typeID": "Label", "zOrder": "1", - "measuredW": "119", + "measuredW": "53", "measuredH": "25", - "x": "21", - "y": "10", + "x": "48", + "y": "11", "properties": { - "text": "Caching Server", + "text": "Linode", "size": "17" } }, @@ -9774,8 +6626,8 @@ "measuredH": "24", "w": "24", "h": "24", - "x": "146", - "y": "11", + "x": "136", + "y": "12", "children": { "controls": { "control": [ @@ -9804,7 +6656,23 @@ "x": "0", "y": "0", "properties": { - "color": "10027263", + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "3700253", "icon": { "ID": "check-circle", "size": "small" @@ -9820,17 +6688,17 @@ } }, { - "ID": "2912", + "ID": "3190", "typeID": "__group__", - "zOrder": "193", - "measuredW": "153", - "measuredH": "46", - "w": "153", - "h": "46", - "x": "98", - "y": "1540", + "zOrder": "149", + "measuredW": "160", + "measuredH": "47", + "w": "160", + "h": "47", + "x": "851", + "y": "1465", "properties": { - "controlName": "100-setting-up-x:reverse-proxy" + "controlName": "106-cloud-providers:vultr" }, "children": { "controls": { @@ -9839,26 +6707,26 @@ "ID": "0", "typeID": "TextArea", "zOrder": "0", - "w": "143", - "h": "46", + "w": "149", + "h": "47", "measuredW": "200", "measuredH": "140", - "x": "10", + "x": "0", "y": "0", "properties": { - "color": "16776960" + "color": "16770457" } }, { "ID": "1", "typeID": "Label", "zOrder": "1", - "measuredW": "111", + "measuredW": "35", "measuredH": "25", - "x": "28", - "y": "10", + "x": "57", + "y": "11", "properties": { - "text": "Reverse Proxy", + "text": "Vultr", "size": "17" } }, @@ -9870,8 +6738,8 @@ "measuredH": "24", "w": "24", "h": "24", - "x": "0", - "y": "11", + "x": "136", + "y": "12", "children": { "controls": { "control": [ @@ -9900,7 +6768,23 @@ "x": "0", "y": "0", "properties": { - "color": "10027263", + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "3700253", "icon": { "ID": "check-circle", "size": "small" @@ -9916,17 +6800,17 @@ } }, { - "ID": "2913", + "ID": "3191", "typeID": "__group__", - "zOrder": "194", - "measuredW": "174", - "measuredH": "47", - "w": "174", - "h": "47", - "x": "256", - "y": "1590", + "zOrder": "150", + "measuredW": "160", + "measuredH": "46", + "w": "160", + "h": "46", + "x": "685", + "y": "1413", "properties": { - "controlName": "103-setting-up-x:load-balancer" + "controlName": "104-cloud-providers:albaba-cloud" }, "children": { "controls": { @@ -9935,26 +6819,26 @@ "ID": "0", "typeID": "TextArea", "zOrder": "0", - "w": "161", - "h": "47", + "w": "149", + "h": "46", "measuredW": "200", "measuredH": "140", - "x": "0", + "x": "11", "y": "0", "properties": { - "color": "16776960" + "color": "16770457" } }, { "ID": "1", "typeID": "Label", "zOrder": "1", - "measuredW": "113", + "measuredW": "106", "measuredH": "25", - "x": "26", - "y": "11", + "x": "35", + "y": "10", "properties": { - "text": "Load Balancer", + "text": "Alibaba Cloud", "size": "17" } }, @@ -9966,8 +6850,8 @@ "measuredH": "24", "w": "24", "h": "24", - "x": "150", - "y": "12", + "x": "0", + "y": "11", "children": { "controls": { "control": [ @@ -9996,7 +6880,23 @@ "x": "0", "y": "0", "properties": { - "color": "10027263", + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "3700253", "icon": { "ID": "check-circle", "size": "small" @@ -10012,17 +6912,179 @@ } }, { - "ID": "2914", + "ID": "3192", + "typeID": "Arrow", + "zOrder": "151", + "w": "1", + "h": "411", + "measuredW": "150", + "measuredH": "100", + "x": "1297", + "y": "1356", + "properties": { + "leftArrow": "false", + "rightArrow": "false", + "color": "2848996", + "p0": { + "x": 0, + "y": 0.060606060606005485 + }, + "p1": { + "x": 0.5, + "y": 0 + }, + "p2": { + "x": 0, + "y": 411.42424242424227 + } + } + }, + { + "ID": "3193", + "typeID": "Arrow", + "zOrder": "152", + "w": "102", + "h": "45", + "measuredW": "150", + "measuredH": "100", + "x": "472", + "y": "1908", + "properties": { + "leftArrow": "false", + "rightArrow": "false", + "color": "2848996", + "stroke": "dotted", + "p0": { + "x": 101.78787878787875, + "y": 45.24242424242402 + }, + "p1": { + "x": 0.5588677785233922, + "y": -0.08999009399049802 + }, + "p2": { + "x": 0.27272727272725206, + "y": -0.21212121212124657 + } + } + }, + { + "ID": "3194", + "typeID": "Arrow", + "zOrder": "153", + "w": "103", + "h": "44", + "measuredW": "150", + "measuredH": "100", + "x": "471", + "y": "1841", + "properties": { + "leftArrow": "false", + "rightArrow": "false", + "color": "2848996", + "stroke": "dotted", + "p0": { + "x": 102.78787878787875, + "y": 0.12121212121201097 + }, + "p1": { + "x": 0.46166514181152746, + "y": 0.08252516010978925 + }, + "p2": { + "x": -0.24242424242424931, + "y": 44.060606060606005 + } + } + }, + { + "ID": "3195", + "typeID": "Arrow", + "zOrder": "154", + "w": "109", + "h": "1", + "measuredW": "150", + "measuredH": "100", + "x": "467", + "y": "1896", + "properties": { + "leftArrow": "false", + "rightArrow": "false", + "color": "2848996", + "stroke": "dotted", + "p0": { + "x": 108.34848484848499, + "y": 0.3030303030302548 + }, + "p1": { + "x": 0.49956677529873256, + "y": 0 + }, + "p2": { + "x": -0.30303030303031164, + "y": 0.3030303030302548 + } + } + }, + { + "ID": "3196", "typeID": "__group__", - "zOrder": "195", - "measuredW": "153", + "zOrder": "155", + "measuredW": "251", + "measuredH": "49", + "w": "251", + "h": "49", + "x": "236", + "y": "1872", + "properties": { + "controlName": "111-configuration-management" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "251", + "h": "49", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "16776960" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "210", + "measuredH": "25", + "x": "21", + "y": "12", + "properties": { + "size": "17", + "text": "Configuration Management" + } + } + ] + } + } + }, + { + "ID": "3197", + "typeID": "__group__", + "zOrder": "156", + "measuredW": "154", "measuredH": "47", - "w": "153", + "w": "154", "h": "47", - "x": "98", - "y": "1641", + "x": "562", + "y": "1823", "properties": { - "controlName": "104-setting-up-x:firewall" + "controlName": "100-configuration-management:ansible" }, "children": { "controls": { @@ -10031,76 +7093,74 @@ "ID": "0", "typeID": "TextArea", "zOrder": "0", - "w": "144", + "w": "154", "h": "47", "measuredW": "200", "measuredH": "140", - "x": "9", + "x": "0", "y": "0", "properties": { - "color": "16776960" + "color": "16770457" } }, { "ID": "1", "typeID": "Label", "zOrder": "1", - "measuredW": "59", + "measuredW": "56", "measuredH": "25", - "x": "54", + "x": "46", "y": "11", "properties": { - "text": "Firewall", + "text": "Ansible", "size": "17" } - }, + } + ] + } + } + }, + { + "ID": "3198", + "typeID": "__group__", + "zOrder": "157", + "measuredW": "154", + "measuredH": "47", + "w": "154", + "h": "47", + "x": "562", + "y": "1873", + "properties": { + "controlName": "101-configuration-management:chef" + }, + "children": { + "controls": { + "control": [ { - "ID": "2", - "typeID": "__group__", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "w": "24", - "h": "24", + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "154", + "h": "47", + "measuredW": "200", + "measuredH": "140", "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "37", + "measuredH": "25", + "x": "56", "y": "11", - "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": "10027263", - "icon": { - "ID": "check-circle", - "size": "small" - } - } - } - ] - } + "properties": { + "text": "Chef", + "size": "17" } } ] @@ -10108,17 +7168,17 @@ } }, { - "ID": "2915", + "ID": "3199", "typeID": "__group__", - "zOrder": "196", - "measuredW": "233", - "measuredH": "49", - "w": "233", - "h": "49", - "x": "505", - "y": "1679", + "zOrder": "158", + "measuredW": "154", + "measuredH": "47", + "w": "154", + "h": "47", + "x": "562", + "y": "1923", "properties": { - "controlName": "105-infrastructure-as-code" + "controlName": "102-configuration-management:puppet" }, "children": { "controls": { @@ -10127,27 +7187,27 @@ "ID": "0", "typeID": "TextArea", "zOrder": "0", - "w": "233", - "h": "49", + "w": "154", + "h": "47", "measuredW": "200", "measuredH": "140", "x": "0", "y": "0", "properties": { - "color": "16776960" + "color": "16770457" } }, { "ID": "1", "typeID": "Label", "zOrder": "1", - "measuredW": "174", + "measuredW": "56", "measuredH": "25", - "x": "30", - "y": "12", + "x": "47", + "y": "11", "properties": { - "size": "17", - "text": "Infrastructure as Code" + "text": "Puppet", + "size": "17" } } ] @@ -10155,46 +7215,48 @@ } }, { - "ID": "2916", + "ID": "3200", "typeID": "__group__", - "zOrder": "197", - "measuredW": "117", - "measuredH": "47", - "w": "117", - "h": "47", - "x": "575", - "y": "1579", - "properties": { - "controlName": "101-infrastructure-as-code:containers" - }, + "zOrder": "159", + "measuredW": "24", + "measuredH": "24", + "w": "24", + "h": "24", + "x": "703", + "y": "1835", "children": { "controls": { "control": [ { "ID": "0", - "typeID": "TextArea", + "typeID": "Icon", "zOrder": "0", - "w": "117", - "h": "47", - "measuredW": "200", - "measuredH": "140", + "measuredW": "24", + "measuredH": "24", "x": "0", "y": "0", "properties": { - "color": "16776960" + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } } }, { "ID": "1", - "typeID": "Label", + "typeID": "Icon", "zOrder": "1", - "measuredW": "85", - "measuredH": "25", - "x": "16", - "y": "11", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", "properties": { - "size": "17", - "text": "Containers" + "color": "10027263", + "icon": { + "ID": "check-circle", + "size": "small" + } } } ] @@ -10202,94 +7264,63 @@ } }, { - "ID": "2917", + "ID": "3201", "typeID": "__group__", - "zOrder": "198", - "measuredW": "104", - "measuredH": "47", - "w": "104", - "h": "47", - "x": "727", - "y": "1550", - "properties": { - "controlName": "100-infrastructure-as-code:docker" - }, + "zOrder": "160", + "measuredW": "24", + "measuredH": "24", + "w": "24", + "h": "24", + "x": "703", + "y": "1885", "children": { "controls": { "control": [ { "ID": "0", - "typeID": "TextArea", + "typeID": "Icon", "zOrder": "0", - "w": "94", - "h": "47", - "measuredW": "200", - "measuredH": "140", + "measuredW": "24", + "measuredH": "24", "x": "0", "y": "0", "properties": { - "color": "16770457" + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } } }, { "ID": "1", - "typeID": "Label", + "typeID": "Icon", "zOrder": "1", - "measuredW": "56", - "measuredH": "25", - "x": "19", - "y": "11", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", "properties": { - "text": "Docker", - "size": "17" + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } } }, { "ID": "2", - "typeID": "__group__", + "typeID": "Icon", "zOrder": "2", "measuredW": "24", "measuredH": "24", - "w": "24", - "h": "24", - "x": "80", - "y": "10", - "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": "10027263", - "icon": { - "ID": "check-circle", - "size": "small" - } - } - } - ] + "x": "0", + "y": "0", + "properties": { + "color": "3700253", + "icon": { + "ID": "check-circle", + "size": "small" } } } @@ -10298,110 +7329,63 @@ } }, { - "ID": "2918", + "ID": "3202", "typeID": "__group__", - "zOrder": "199", - "measuredW": "103", - "measuredH": "47", - "w": "103", - "h": "47", - "x": "728", - "y": "1605", - "properties": { - "controlName": "101-infrastructure-as-code:lxc" - }, + "zOrder": "161", + "measuredW": "24", + "measuredH": "24", + "w": "24", + "h": "24", + "x": "703", + "y": "1934", "children": { "controls": { "control": [ { "ID": "0", - "typeID": "TextArea", + "typeID": "Icon", "zOrder": "0", - "w": "93", - "h": "47", - "measuredW": "200", - "measuredH": "140", + "measuredW": "24", + "measuredH": "24", "x": "0", "y": "0", "properties": { - "color": "16770457" + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } } }, { "ID": "1", - "typeID": "Label", + "typeID": "Icon", "zOrder": "1", - "measuredW": "32", - "measuredH": "25", - "x": "31", - "y": "11", - "properties": { - "text": "LXC", - "size": "17" - } - }, - { - "ID": "2", - "typeID": "__group__", - "zOrder": "2", "measuredW": "24", "measuredH": "24", - "w": "24", - "h": "24", - "x": "79", - "y": "10", - "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": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "2", - "typeID": "Icon", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "color": "3700253", - "icon": { - "ID": "check-circle", - "size": "small" - } - } - } - ] + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "3700253", + "icon": { + "ID": "check-circle", + "size": "small" } } } @@ -10410,41 +7394,92 @@ } }, { - "ID": "2919", - "typeID": "TextArea", - "zOrder": "200", - "w": "240", - "h": "205", - "measuredW": "200", - "measuredH": "140", - "x": "963", - "y": "1961" + "ID": "3203", + "typeID": "Arrow", + "zOrder": "162", + "w": "1008", + "h": "1", + "measuredW": "150", + "measuredH": "100", + "x": "343", + "y": "2546", + "properties": { + "leftArrow": "false", + "rightArrow": "false", + "color": "10027263", + "p0": { + "x": 0.43913392152268216, + "y": 0 + }, + "p1": { + "x": 0.49999999999999983, + "y": 0 + }, + "p2": { + "x": 1008.339748009606, + "y": 0 + } + } }, { - "ID": "2920", - "typeID": "Label", - "zOrder": "201", - "measuredW": "186", - "measuredH": "25", - "x": "981", - "y": "1974", + "ID": "3204", + "typeID": "__group__", + "zOrder": "163", + "measuredW": "210", + "measuredH": "49", + "w": "210", + "h": "49", + "x": "442", + "y": "2522", "properties": { - "size": "17", - "text": "Container Orchestration" + "controlName": "116-logs-management" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "210", + "h": "49", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "16776960" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "145", + "measuredH": "25", + "x": "32", + "y": "12", + "properties": { + "text": "Logs Management", + "size": "17" + } + } + ] + } } }, { - "ID": "2921", + "ID": "3205", "typeID": "__group__", - "zOrder": "202", - "measuredW": "203", - "measuredH": "46", - "w": "203", - "h": "46", - "x": "981", - "y": "2007", + "zOrder": "164", + "measuredW": "160", + "measuredH": "47", + "w": "160", + "h": "47", + "x": "410", + "y": "2445", "properties": { - "controlName": "104-infrastructure-as-code:kubernetes" + "controlName": "100-logs-management:elastic-stack" }, "children": { "controls": { @@ -10453,11 +7488,11 @@ "ID": "0", "typeID": "TextArea", "zOrder": "0", - "w": "193", - "h": "46", + "w": "149", + "h": "47", "measuredW": "200", "measuredH": "140", - "x": "0", + "x": "11", "y": "0", "properties": { "color": "16770457" @@ -10467,12 +7502,12 @@ "ID": "1", "typeID": "Label", "zOrder": "1", - "measuredW": "90", + "measuredW": "98", "measuredH": "25", - "x": "56", - "y": "10", + "x": "39", + "y": "11", "properties": { - "text": "Kubernetes", + "text": "Elastic Stack", "size": "17" } }, @@ -10484,8 +7519,8 @@ "measuredH": "24", "w": "24", "h": "24", - "x": "179", - "y": "11", + "x": "0", + "y": "12", "children": { "controls": { "control": [ @@ -10530,17 +7565,17 @@ } }, { - "ID": "2922", + "ID": "3206", "typeID": "__group__", - "zOrder": "203", - "measuredW": "202", - "measuredH": "46", - "w": "202", - "h": "46", - "x": "981", - "y": "2056", + "zOrder": "165", + "measuredW": "161", + "measuredH": "47", + "w": "161", + "h": "47", + "x": "410", + "y": "2612", "properties": { - "controlName": "104-infrastructure-as-code:docker-swarm" + "controlName": "101-logs-management:graylog" }, "children": { "controls": { @@ -10549,11 +7584,11 @@ "ID": "0", "typeID": "TextArea", "zOrder": "0", - "w": "193", - "h": "46", + "w": "149", + "h": "47", "measuredW": "200", "measuredH": "140", - "x": "0", + "x": "12", "y": "0", "properties": { "color": "16770457" @@ -10563,12 +7598,13 @@ "ID": "1", "typeID": "Label", "zOrder": "1", - "measuredW": "111", + "w": "59", + "measuredW": "59", "measuredH": "25", - "x": "45", - "y": "10", + "x": "53", + "y": "11", "properties": { - "text": "Docker Swarm", + "text": "Graylog", "size": "17" } }, @@ -10580,8 +7616,8 @@ "measuredH": "24", "w": "24", "h": "24", - "x": "178", - "y": "11", + "x": "0", + "y": "12", "children": { "controls": { "control": [ @@ -10642,17 +7678,17 @@ } }, { - "ID": "2923", + "ID": "3207", "typeID": "__group__", - "zOrder": "204", - "measuredW": "200", - "measuredH": "46", - "w": "200", - "h": "46", - "x": "981", - "y": "2106", + "zOrder": "166", + "measuredW": "98", + "measuredH": "47", + "w": "98", + "h": "47", + "x": "575", + "y": "2612", "properties": { - "controlName": "104-infrastructure-as-code:nomad" + "controlName": "102-logs-management:splunk" }, "children": { "controls": { @@ -10661,8 +7697,8 @@ "ID": "0", "typeID": "TextArea", "zOrder": "0", - "w": "194", - "h": "46", + "w": "86", + "h": "47", "measuredW": "200", "measuredH": "140", "x": "0", @@ -10675,12 +7711,13 @@ "ID": "1", "typeID": "Label", "zOrder": "1", - "measuredW": "56", + "w": "53", + "measuredW": "52", "measuredH": "25", - "x": "74", - "y": "10", + "x": "14", + "y": "11", "properties": { - "text": "Nomad", + "text": "Splunk", "size": "17" } }, @@ -10692,8 +7729,8 @@ "measuredH": "24", "w": "24", "h": "24", - "x": "176", - "y": "10", + "x": "74", + "y": "12", "children": { "controls": { "control": [ @@ -10754,94 +7791,17 @@ } }, { - "ID": "2924", - "typeID": "Arrow", - "zOrder": "205", - "w": "2", - "h": "66", - "measuredW": "150", - "measuredH": "100", - "x": "606", - "y": "1929", - "properties": { - "color": "2848996", - "curvature": "-1", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "p0": { - "x": 2, - "y": 0 - }, - "p1": { - "x": 0.5684273538382603, - "y": -0.0168752316068527 - }, - "p2": { - "x": 1.264771935838894, - "y": 66.13386083375576 - } - } - }, - { - "ID": "2925", - "typeID": "__group__", - "zOrder": "206", - "measuredW": "253", - "measuredH": "49", - "w": "253", - "h": "49", - "x": "470", - "y": "1912", - "properties": { - "controlName": "103-infrastructure-as-code:infrastructure-provisioning" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "253", - "h": "49", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { - "color": "16776960" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "203", - "measuredH": "25", - "x": "23", - "y": "12", - "properties": { - "size": "17", - "text": "Infrastructure Provisioning" - } - } - ] - } - } - }, - { - "ID": "2926", + "ID": "3208", "typeID": "__group__", - "zOrder": "207", - "measuredW": "183", + "zOrder": "167", + "measuredW": "252", "measuredH": "47", - "w": "183", + "w": "252", "h": "47", - "x": "512", - "y": "1982", + "x": "410", + "y": "2663", "properties": { - "controlName": "100-infrastructure-as-code:infrastructure-provisioning:terraform" + "controlName": "102-logs-management:papertrail" }, "children": { "controls": { @@ -10850,11 +7810,11 @@ "ID": "0", "typeID": "TextArea", "zOrder": "0", - "w": "174", + "w": "240", "h": "47", "measuredW": "200", "measuredH": "140", - "x": "0", + "x": "12", "y": "0", "properties": { "color": "16770457" @@ -10864,13 +7824,13 @@ "ID": "1", "typeID": "Label", "zOrder": "1", - "w": "75", + "w": "79", "measuredW": "75", "measuredH": "25", - "x": "49", + "x": "92", "y": "11", "properties": { - "text": "Terraform", + "text": "Papertrail", "size": "17" } }, @@ -10882,7 +7842,7 @@ "measuredH": "24", "w": "24", "h": "24", - "x": "159", + "x": "0", "y": "12", "children": { "controls": { @@ -10912,7 +7872,23 @@ "x": "0", "y": "0", "properties": { - "color": "10027263", + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "3700253", "icon": { "ID": "check-circle", "size": "small" @@ -10928,17 +7904,17 @@ } }, { - "ID": "2927", + "ID": "3209", "typeID": "__group__", - "zOrder": "208", - "measuredW": "184", + "zOrder": "168", + "measuredW": "98", "measuredH": "47", - "w": "184", + "w": "98", "h": "47", - "x": "512", - "y": "2034", + "x": "574", + "y": "2445", "properties": { - "controlName": "101-infrastructure-as-code:infrastructure-provisioning:aws-cdk" + "controlName": "103-logs-management:loki" }, "children": { "controls": { @@ -10947,7 +7923,7 @@ "ID": "0", "typeID": "TextArea", "zOrder": "0", - "w": "174", + "w": "88", "h": "47", "measuredW": "200", "measuredH": "140", @@ -10961,24 +7937,24 @@ "ID": "1", "typeID": "Label", "zOrder": "1", - "measuredW": "76", + "measuredW": "32", "measuredH": "25", - "x": "49", + "x": "28", "y": "11", "properties": { "size": "17", - "text": "AWS CDK" + "text": "Loki" } }, { - "ID": "2", + "ID": "3", "typeID": "__group__", "zOrder": "2", "measuredW": "24", "measuredH": "24", "w": "24", "h": "24", - "x": "160", + "x": "74", "y": "12", "children": { "controls": { @@ -11008,23 +7984,7 @@ "x": "0", "y": "0", "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "2", - "typeID": "Icon", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "color": "3700253", + "color": "10027263", "icon": { "ID": "check-circle", "size": "small" @@ -11040,17 +8000,17 @@ } }, { - "ID": "2928", + "ID": "3210", "typeID": "__group__", - "zOrder": "209", - "measuredW": "185", + "zOrder": "169", + "measuredW": "239", "measuredH": "47", - "w": "185", + "w": "239", "h": "47", - "x": "512", - "y": "2137", + "x": "754", + "y": "2523", "properties": { - "controlName": "103-infrastructure-as-code:infrastructure-provisioning:pulumi" + "controlName": "117-containers" }, "children": { "controls": { @@ -11059,26 +8019,73 @@ "ID": "0", "typeID": "TextArea", "zOrder": "0", - "w": "174", + "w": "239", "h": "47", "measuredW": "200", "measuredH": "140", "x": "0", "y": "0", "properties": { - "color": "16770457" + "color": "16776960" } }, { "ID": "1", "typeID": "Label", "zOrder": "1", - "measuredW": "52", + "measuredW": "186", "measuredH": "25", - "x": "61", + "x": "27", "y": "11", "properties": { - "text": "Pulumi", + "text": "Container Orchestration", + "size": "17" + } + } + ] + } + } + }, + { + "ID": "3211", + "typeID": "__group__", + "zOrder": "170", + "measuredW": "202", + "measuredH": "46", + "w": "202", + "h": "46", + "x": "769", + "y": "2610", + "properties": { + "controlName": "100-containers:docker-swarm" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "193", + "h": "46", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "111", + "measuredH": "25", + "x": "45", + "y": "10", + "properties": { + "text": "Docker Swarm", "size": "17" } }, @@ -11090,8 +8097,8 @@ "measuredH": "24", "w": "24", "h": "24", - "x": "161", - "y": "12", + "x": "178", + "y": "11", "children": { "controls": { "control": [ @@ -11152,17 +8159,139 @@ } }, { - "ID": "2929", + "ID": "3220", + "typeID": "Arrow", + "zOrder": "174", + "w": "1009", + "h": "1", + "measuredW": "150", + "measuredH": "100", + "x": "343", + "y": "2759", + "properties": { + "leftArrow": "false", + "rightArrow": "false", + "color": "10027263", + "p0": { + "x": -0.16288012565826193, + "y": 0 + }, + "p1": { + "x": 0.4999999999999999, + "y": 0 + }, + "p2": { + "x": 1008.6363636363635, + "y": 0 + } + } + }, + { + "ID": "3221", "typeID": "__group__", - "zOrder": "210", - "measuredW": "185", + "zOrder": "175", + "measuredW": "141", + "measuredH": "47", + "w": "141", + "h": "47", + "x": "1111", + "y": "2736", + "properties": { + "controlName": "119-gitops" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "141", + "h": "47", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "16776960" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "54", + "measuredH": "25", + "x": "44", + "y": "11", + "properties": { + "size": "17", + "text": "GitOps" + } + } + ] + } + } + }, + { + "ID": "3222", + "typeID": "__group__", + "zOrder": "176", + "measuredW": "207", + "measuredH": "47", + "w": "207", + "h": "47", + "x": "761", + "y": "2733", + "properties": { + "controlName": "120-service-mesh" + }, + "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": "105", + "measuredH": "25", + "x": "51", + "y": "11", + "properties": { + "text": "Service Mesh", + "size": "17" + } + } + ] + } + } + }, + { + "ID": "3223", + "typeID": "__group__", + "zOrder": "177", + "measuredW": "110", "measuredH": "47", - "w": "185", + "w": "110", "h": "47", - "x": "512", - "y": "2086", + "x": "868", + "y": "2818", "properties": { - "controlName": "102-infrastructure-as-code:infrastructure-provisioning:cloudformation" + "controlName": "101-service-mesh:consul" }, "children": { "controls": { @@ -11171,7 +8300,7 @@ "ID": "0", "typeID": "TextArea", "zOrder": "0", - "w": "174", + "w": "99", "h": "47", "measuredW": "200", "measuredH": "140", @@ -11185,13 +8314,13 @@ "ID": "1", "typeID": "Label", "zOrder": "1", - "measuredW": "123", + "measuredW": "54", "measuredH": "25", "x": "25", "y": "11", "properties": { - "size": "17", - "text": "CloudFormation" + "text": "Consul", + "size": "17" } }, { @@ -11202,7 +8331,7 @@ "measuredH": "24", "w": "24", "h": "24", - "x": "161", + "x": "86", "y": "12", "children": { "controls": { @@ -11232,23 +8361,7 @@ "x": "0", "y": "0", "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "2", - "typeID": "Icon", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "color": "3700253", + "color": "10027263", "icon": { "ID": "check-circle", "size": "small" @@ -11260,81 +8373,21 @@ } } ] - } - } - }, - { - "ID": "2930", - "typeID": "Arrow", - "zOrder": "211", - "w": "21", - "h": "46", - "measuredW": "150", - "measuredH": "100", - "x": "194", - "y": "1995", - "properties": { - "color": "2848996", - "direction": "bottom", - "leftArrow": "false", - "p0": { - "x": 21, - "y": 0 - }, - "p1": { - "x": 0.56842735383826, - "y": -0.016875231606852847 - }, - "p2": { - "x": 0, - "y": 46 - }, - "rightArrow": "false", - "stroke": "dotted" - } - }, - { - "ID": "2931", - "typeID": "Arrow", - "zOrder": "212", - "w": "23", - "h": "46", - "measuredW": "150", - "measuredH": "100", - "x": "297", - "y": "1995", - "properties": { - "color": "2848996", - "direction": "bottom", - "leftArrow": "false", - "p0": { - "x": 0, - "y": 0 - }, - "p1": { - "x": 0.5684273538382602, - "y": -0.01687523160685285 - }, - "p2": { - "x": 23, - "y": 46 - }, - "rightArrow": "false", - "stroke": "dotted" + } } }, { - "ID": "2932", + "ID": "3224", "typeID": "__group__", - "zOrder": "213", - "measuredW": "318", - "measuredH": "56", - "w": "318", - "h": "56", - "x": "119", - "y": "1951", + "zOrder": "178", + "measuredW": "107", + "measuredH": "47", + "w": "107", + "h": "47", + "x": "756", + "y": "2818", "properties": { - "controlName": "106-ci-cd" + "controlName": "100-service-mesh:istio" }, "children": { "controls": { @@ -11343,27 +8396,27 @@ "ID": "0", "typeID": "TextArea", "zOrder": "0", - "w": "311", - "h": "49", + "w": "99", + "h": "47", "measuredW": "200", "measuredH": "140", - "x": "7", - "y": "7", + "x": "8", + "y": "0", "properties": { - "color": "16776960" + "color": "16770457" } }, { "ID": "1", "typeID": "Label", "zOrder": "1", - "measuredW": "182", + "measuredW": "33", "measuredH": "25", - "x": "72", - "y": "19", + "x": "40", + "y": "9", "properties": { - "size": "17", - "text": "Learn some CI/CD Tool" + "text": "Istio", + "size": "17" } }, { @@ -11375,7 +8428,7 @@ "w": "24", "h": "24", "x": "0", - "y": "0", + "y": "10", "children": { "controls": { "control": [ @@ -11420,17 +8473,17 @@ } }, { - "ID": "2933", + "ID": "3225", "typeID": "__group__", - "zOrder": "214", - "measuredW": "134", - "measuredH": "46", - "w": "134", - "h": "46", - "x": "274", - "y": "2033", + "zOrder": "179", + "measuredW": "109", + "measuredH": "47", + "w": "109", + "h": "47", + "x": "868", + "y": "2870", "properties": { - "controlName": "101-ci-cd:jenkins" + "controlName": "103-service-mesh:envoy" }, "children": { "controls": { @@ -11439,8 +8492,8 @@ "ID": "0", "typeID": "TextArea", "zOrder": "0", - "w": "124", - "h": "46", + "w": "99", + "h": "47", "measuredW": "200", "measuredH": "140", "x": "0", @@ -11453,12 +8506,12 @@ "ID": "1", "typeID": "Label", "zOrder": "1", - "measuredW": "59", + "measuredW": "47", "measuredH": "25", - "x": "32", - "y": "10", + "x": "29", + "y": "11", "properties": { - "text": "Jenkins", + "text": "Envoy", "size": "17" } }, @@ -11470,8 +8523,8 @@ "measuredH": "24", "w": "24", "h": "24", - "x": "110", - "y": "11", + "x": "85", + "y": "12", "children": { "controls": { "control": [ @@ -11500,7 +8553,23 @@ "x": "0", "y": "0", "properties": { - "color": "10027263", + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "3700253", "icon": { "ID": "check-circle", "size": "small" @@ -11516,17 +8585,17 @@ } }, { - "ID": "2934", + "ID": "3226", "typeID": "__group__", - "zOrder": "215", - "measuredW": "147", - "measuredH": "46", - "w": "147", - "h": "46", - "x": "119", - "y": "2033", + "zOrder": "180", + "measuredW": "108", + "measuredH": "47", + "w": "108", + "h": "47", + "x": "755", + "y": "2869", "properties": { - "controlName": "100-ci-cd:gitlab-ci" + "controlName": "102-service-mesh:linkerd" }, "children": { "controls": { @@ -11535,11 +8604,11 @@ "ID": "0", "typeID": "TextArea", "zOrder": "0", - "w": "137", - "h": "46", + "w": "99", + "h": "47", "measuredW": "200", "measuredH": "140", - "x": "10", + "x": "9", "y": "0", "properties": { "color": "16770457" @@ -11549,12 +8618,12 @@ "ID": "1", "typeID": "Label", "zOrder": "1", - "measuredW": "67", + "measuredW": "58", "measuredH": "25", - "x": "45", - "y": "10", + "x": "32", + "y": "11", "properties": { - "text": "Gitlab CI", + "text": "Linkerd", "size": "17" } }, @@ -11567,7 +8636,7 @@ "w": "24", "h": "24", "x": "0", - "y": "11", + "y": "12", "children": { "controls": { "control": [ @@ -11596,7 +8665,23 @@ "x": "0", "y": "0", "properties": { - "color": "10027263", + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "3700253", "icon": { "ID": "check-circle", "size": "small" @@ -11612,17 +8697,169 @@ } }, { - "ID": "2935", + "ID": "3227", + "typeID": "Arrow", + "zOrder": "181", + "w": "1", + "h": "315", + "measuredW": "150", + "measuredH": "100", + "x": "342", + "y": "2760", + "properties": { + "leftArrow": "false", + "rightArrow": "false", + "color": "2848996", + "p0": { + "x": 0, + "y": 0.4145245849647381 + }, + "p1": { + "x": 0.49999999999999983, + "y": 0 + }, + "p2": { + "x": 0, + "y": 315.12848853367905 + } + } + }, + { + "ID": "3228", + "typeID": "Arrow", + "zOrder": "182", + "w": "572", + "h": "1", + "measuredW": "150", + "measuredH": "100", + "x": "342", + "y": "3075", + "properties": { + "leftArrow": "false", + "rightArrow": "false", + "color": "10027263", + "p0": { + "x": -0.09090909090912191, + "y": 0 + }, + "p1": { + "x": 0.5000000000000001, + "y": 0 + }, + "p2": { + "x": 572.0387075579786, + "y": 0 + } + } + }, + { + "ID": "3229", + "typeID": "__group__", + "zOrder": "183", + "measuredW": "254", + "measuredH": "47", + "w": "254", + "h": "47", + "x": "419", + "y": "2737", + "properties": { + "controlName": "ext_link:bit.ly/cloud-arch-patterns" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "254", + "h": "47", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "4273622", + "borderColor": "4273622" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "172", + "measuredH": "25", + "x": "42", + "y": "11", + "properties": { + "size": "17", + "text": "Cloud Design Patterns", + "color": "16777215" + } + } + ] + } + } + }, + { + "ID": "3230", "typeID": "__group__", - "zOrder": "216", - "measuredW": "120", - "measuredH": "46", - "w": "120", - "h": "46", - "x": "289", - "y": "2084", + "zOrder": "184", + "measuredW": "255", + "measuredH": "47", + "w": "255", + "h": "47", + "x": "419", + "y": "2819", "properties": { - "controlName": "103-ci-cd:travis-ci" + "controlName": "109-availability" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "255", + "h": "47", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "80", + "measuredH": "25", + "x": "88", + "y": "11", + "properties": { + "text": "Availability", + "size": "17" + } + } + ] + } + } + }, + { + "ID": "3231", + "typeID": "__group__", + "zOrder": "185", + "measuredW": "254", + "measuredH": "47", + "w": "254", + "h": "47", + "x": "420", + "y": "2872", + "properties": { + "controlName": "110-data-management" }, "children": { "controls": { @@ -11631,8 +8868,8 @@ "ID": "0", "typeID": "TextArea", "zOrder": "0", - "w": "109", - "h": "46", + "w": "254", + "h": "47", "measuredW": "200", "measuredH": "140", "x": "0", @@ -11645,96 +8882,31 @@ "ID": "1", "typeID": "Label", "zOrder": "1", - "measuredW": "68", + "measuredW": "144", "measuredH": "25", - "x": "18", - "y": "10", + "x": "55", + "y": "11", "properties": { - "text": "Travis CI", + "text": "Data Management", "size": "17" } - }, - { - "ID": "2", - "typeID": "__group__", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "w": "24", - "h": "24", - "x": "96", - "y": "11", - "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": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "2", - "typeID": "Icon", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "color": "3700253", - "icon": { - "ID": "check-circle", - "size": "small" - } - } - } - ] - } - } } ] } } }, { - "ID": "2936", + "ID": "3232", "typeID": "__group__", - "zOrder": "217", - "measuredW": "162", - "measuredH": "46", - "w": "162", - "h": "46", - "x": "119", - "y": "2084", + "zOrder": "186", + "measuredW": "255", + "measuredH": "47", + "w": "255", + "h": "47", + "x": "419", + "y": "2924", "properties": { - "controlName": "102-ci-cd:github-actions" + "controlName": "111-design-and-implementation" }, "children": { "controls": { @@ -11743,11 +8915,11 @@ "ID": "0", "typeID": "TextArea", "zOrder": "0", - "w": "151", - "h": "46", + "w": "255", + "h": "47", "measuredW": "200", "measuredH": "140", - "x": "11", + "x": "0", "y": "0", "properties": { "color": "16770457" @@ -11757,80 +8929,31 @@ "ID": "1", "typeID": "Label", "zOrder": "1", - "measuredW": "114", + "measuredW": "212", "measuredH": "25", - "x": "30", - "y": "10", + "x": "22", + "y": "11", "properties": { - "text": "GitHub Actions", + "text": "Design and Implementation", "size": "17" } - }, - { - "ID": "2", - "typeID": "__group__", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "w": "24", - "h": "24", - "x": "0", - "y": "11", - "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": "10027263", - "icon": { - "ID": "check-circle", - "size": "small" - } - } - } - ] - } - } } ] } } }, { - "ID": "2937", + "ID": "3233", "typeID": "__group__", - "zOrder": "218", - "measuredW": "276", + "zOrder": "187", + "measuredW": "255", "measuredH": "47", - "w": "276", + "w": "255", "h": "47", - "x": "132", - "y": "2136", + "x": "419", + "y": "2976", "properties": { - "controlName": "105-ci-cd:teamcity" + "controlName": "112-management-and-monitoring" }, "children": { "controls": { @@ -11839,7 +8962,7 @@ "ID": "0", "typeID": "TextArea", "zOrder": "0", - "w": "267", + "w": "255", "h": "47", "measuredW": "200", "measuredH": "140", @@ -11853,96 +8976,98 @@ "ID": "1", "typeID": "Label", "zOrder": "1", - "measuredW": "72", + "measuredW": "223", "measuredH": "25", - "x": "98", + "x": "16", "y": "11", "properties": { - "text": "TeamCity", + "text": "Management and Monitoring", "size": "17" } - }, + } + ] + } + } + }, + { + "ID": "3234", + "typeID": "__group__", + "zOrder": "188", + "measuredW": "316", + "measuredH": "49", + "w": "316", + "h": "49", + "x": "1065", + "y": "1337", + "properties": { + "controlName": "108-networking-protocols" + }, + "children": { + "controls": { + "control": [ { - "ID": "2", + "ID": "0", "typeID": "__group__", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "w": "24", - "h": "24", - "x": "252", - "y": "12", + "zOrder": "0", + "measuredW": "316", + "measuredH": "49", + "w": "316", + "h": "49", + "x": "0", + "y": "0", + "properties": { + "controlName": "103-networking-protocols" + }, "children": { "controls": { "control": [ { "ID": "0", - "typeID": "Icon", + "typeID": "TextArea", "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": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "2", - "typeID": "Icon", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", + "w": "316", + "h": "49", + "measuredW": "200", + "measuredH": "140", "x": "0", "y": "0", "properties": { - "color": "3700253", - "icon": { - "ID": "check-circle", - "size": "small" - } + "color": "16776960" } } ] } } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "265", + "measuredH": "25", + "x": "25", + "y": "12", + "properties": { + "size": "17", + "text": "Networking, Security and Protocols" + } } ] } } }, { - "ID": "2938", + "ID": "3235", "typeID": "__group__", - "zOrder": "219", - "measuredW": "136", + "zOrder": "189", + "measuredW": "114", "measuredH": "47", - "w": "136", + "w": "114", "h": "47", - "x": "120", - "y": "2241", + "x": "1233", + "y": "1156", "properties": { - "controlName": "107-ci-cd:circle-ci" + "controlName": "101-networking-protocols:dns" }, "children": { "controls": { @@ -11951,11 +9076,11 @@ "ID": "0", "typeID": "TextArea", "zOrder": "0", - "w": "125", + "w": "114", "h": "47", "measuredW": "200", "measuredH": "140", - "x": "11", + "x": "0", "y": "0", "properties": { "color": "16770457" @@ -11965,12 +9090,59 @@ "ID": "1", "typeID": "Label", "zOrder": "1", - "measuredW": "67", + "measuredW": "36", "measuredH": "25", - "x": "41", + "x": "22", "y": "11", "properties": { - "text": "Circle CI", + "text": "DNS", + "size": "17" + } + } + ] + } + } + }, + { + "ID": "3236", + "typeID": "__group__", + "zOrder": "190", + "measuredW": "159", + "measuredH": "47", + "w": "159", + "h": "47", + "x": "1066", + "y": "1207", + "properties": { + "controlName": "102-networking-protocols:http" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "149", + "h": "47", + "measuredW": "200", + "measuredH": "140", + "x": "10", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "44", + "measuredH": "25", + "x": "63", + "y": "11", + "properties": { + "text": "HTTP", "size": "17" } }, @@ -12028,17 +9200,17 @@ } }, { - "ID": "2939", + "ID": "3237", "typeID": "__group__", - "zOrder": "220", - "measuredW": "148", + "zOrder": "191", + "measuredW": "124", "measuredH": "47", - "w": "148", + "w": "124", "h": "47", - "x": "263", - "y": "2241", + "x": "1233", + "y": "1207", "properties": { - "controlName": "108-ci-cd:drone" + "controlName": "103-networking-protocols:https" }, "children": { "controls": { @@ -12047,7 +9219,7 @@ "ID": "0", "typeID": "TextArea", "zOrder": "0", - "w": "137", + "w": "116", "h": "47", "measuredW": "200", "measuredH": "140", @@ -12061,13 +9233,13 @@ "ID": "1", "typeID": "Label", "zOrder": "1", - "measuredW": "48", + "measuredW": "54", "measuredH": "25", - "x": "42", + "x": "19", "y": "11", "properties": { - "size": "17", - "text": "Drone" + "text": "HTTPS", + "size": "17" } }, { @@ -12078,7 +9250,7 @@ "measuredH": "24", "w": "24", "h": "24", - "x": "124", + "x": "100", "y": "12", "children": { "controls": { @@ -12108,23 +9280,7 @@ "x": "0", "y": "0", "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "2", - "typeID": "Icon", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "color": "3700253", + "color": "10027263", "icon": { "ID": "check-circle", "size": "small" @@ -12140,17 +9296,17 @@ } }, { - "ID": "2940", + "ID": "3238", "typeID": "__group__", - "zOrder": "221", - "measuredW": "281", + "zOrder": "192", + "measuredW": "160", "measuredH": "47", - "w": "281", + "w": "160", "h": "47", - "x": "119", - "y": "2188", + "x": "1066", + "y": "1156", "properties": { - "controlName": "106-ci-cd:azure-devops-services" + "controlName": "104-networking-protocols:ftp" }, "children": { "controls": { @@ -12159,11 +9315,11 @@ "ID": "0", "typeID": "TextArea", "zOrder": "0", - "w": "269", + "w": "151", "h": "47", "measuredW": "200", "measuredH": "140", - "x": "12", + "x": "9", "y": "0", "properties": { "color": "16770457" @@ -12173,13 +9329,13 @@ "ID": "1", "typeID": "Label", "zOrder": "1", - "measuredW": "181", + "measuredW": "89", "measuredH": "25", - "x": "61", + "x": "38", "y": "11", "properties": { - "text": "Azure DevOps Services", - "size": "17" + "size": "17", + "text": "FTP / SFTP" } }, { @@ -12220,23 +9376,7 @@ "x": "0", "y": "0", "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "2", - "typeID": "Icon", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "color": "3700253", + "color": "10027263", "icon": { "ID": "check-circle", "size": "small" @@ -12252,111 +9392,17 @@ } }, { - "ID": "2941", - "typeID": "__group__", - "zOrder": "222", - "measuredW": "426", - "measuredH": "50", - "w": "426", - "h": "50", - "x": "550", - "y": "2343", - "properties": { - "controlName": "107-monitoring" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "426", - "h": "50", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { - "color": "16776960" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "373", - "measuredH": "25", - "x": "26", - "y": "12", - "properties": { - "size": "17", - "text": "Learn how to monitor software and infrastructure" - } - } - ] - } - } - }, - { - "ID": "2942", - "typeID": "__group__", - "zOrder": "223", - "measuredW": "238", - "measuredH": "47", - "w": "238", - "h": "47", - "x": "740", - "y": "2266", - "properties": { - "controlName": "100-monitoring:infrastructure-monitoring" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "238", - "h": "47", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { - "color": "16776960" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "191", - "measuredH": "25", - "x": "23", - "y": "11", - "properties": { - "text": "Infrastructure Monitoring", - "size": "17" - } - } - ] - } - } - }, - { - "ID": "2943", + "ID": "3239", "typeID": "__group__", - "zOrder": "224", - "measuredW": "140", + "zOrder": "193", + "measuredW": "159", "measuredH": "47", - "w": "140", + "w": "159", "h": "47", - "x": "1053", - "y": "2254", + "x": "1068", + "y": "1258", "properties": { - "controlName": "101-monitoring:infrastructure-monitoring:nagios" + "controlName": "105-networking-protocols:ssl-tls" }, "children": { "controls": { @@ -12365,11 +9411,11 @@ "ID": "0", "typeID": "TextArea", "zOrder": "0", - "w": "130", + "w": "151", "h": "47", "measuredW": "200", "measuredH": "140", - "x": "0", + "x": "8", "y": "0", "properties": { "color": "16770457" @@ -12379,12 +9425,12 @@ "ID": "1", "typeID": "Label", "zOrder": "1", - "measuredW": "55", + "measuredW": "77", "measuredH": "25", - "x": "37", + "x": "47", "y": "11", "properties": { - "text": "Nagios", + "text": "SSL / TLS", "size": "17" } }, @@ -12396,7 +9442,7 @@ "measuredH": "24", "w": "24", "h": "24", - "x": "116", + "x": "0", "y": "12", "children": { "controls": { @@ -12426,23 +9472,7 @@ "x": "0", "y": "0", "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "2", - "typeID": "Icon", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "color": "3700253", + "color": "10027263", "icon": { "ID": "check-circle", "size": "small" @@ -12458,17 +9488,17 @@ } }, { - "ID": "2944", + "ID": "3240", "typeID": "__group__", - "zOrder": "225", - "measuredW": "140", + "zOrder": "194", + "measuredW": "127", "measuredH": "47", - "w": "140", + "w": "127", "h": "47", - "x": "1053", - "y": "2306", + "x": "1233", + "y": "1258", "properties": { - "controlName": "102-monitoring:infrastructure-monitoring:grafana" + "controlName": "106-networking-protocols:ssh" }, "children": { "controls": { @@ -12477,7 +9507,7 @@ "ID": "0", "typeID": "TextArea", "zOrder": "0", - "w": "130", + "w": "116", "h": "47", "measuredW": "200", "measuredH": "140", @@ -12491,12 +9521,12 @@ "ID": "1", "typeID": "Label", "zOrder": "1", - "measuredW": "62", + "measuredW": "33", "measuredH": "25", - "x": "34", + "x": "39", "y": "11", "properties": { - "text": "Grafana", + "text": "SSH", "size": "17" } }, @@ -12508,7 +9538,7 @@ "measuredH": "24", "w": "24", "h": "24", - "x": "116", + "x": "103", "y": "12", "children": { "controls": { @@ -12554,17 +9584,66 @@ } }, { - "ID": "2945", + "ID": "3241", "typeID": "__group__", - "zOrder": "226", - "measuredW": "139", + "zOrder": "195", + "measuredW": "24", + "measuredH": "24", + "w": "24", + "h": "24", + "x": "1332", + "y": "1168", + "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": "10027263", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] + } + } + }, + { + "ID": "3242", + "typeID": "__group__", + "zOrder": "196", + "measuredW": "166", "measuredH": "47", - "w": "139", + "w": "166", "h": "47", - "x": "1053", - "y": "2462", + "x": "1051", + "y": "1465", "properties": { - "controlName": "102-monitoring:infrastructure-monitoring:datadog" + "controlName": "103-networking-protocols:emails" }, "children": { "controls": { @@ -12573,11 +9652,11 @@ "ID": "0", "typeID": "TextArea", "zOrder": "0", - "w": "130", + "w": "155", "h": "47", "measuredW": "200", "measuredH": "140", - "x": "0", + "x": "11", "y": "0", "properties": { "color": "16770457" @@ -12587,13 +9666,13 @@ "ID": "1", "typeID": "Label", "zOrder": "1", - "measuredW": "66", + "measuredW": "43", "measuredH": "25", - "x": "32", + "x": "67", "y": "11", "properties": { - "text": "Datadog", - "size": "17" + "size": "17", + "text": "Email" } }, { @@ -12604,8 +9683,8 @@ "measuredH": "24", "w": "24", "h": "24", - "x": "115", - "y": "12", + "x": "0", + "y": "10", "children": { "controls": { "control": [ @@ -12634,27 +9713,11 @@ "x": "0", "y": "0", "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "2", - "typeID": "Icon", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { + "color": "10066329", "icon": { "ID": "check-circle", "size": "small" - }, - "color": "10027263" + } } } ] @@ -12666,17 +9729,64 @@ } }, { - "ID": "2946", + "ID": "3243", "typeID": "__group__", - "zOrder": "227", - "measuredW": "139", + "zOrder": "197", + "measuredW": "129", "measuredH": "47", - "w": "139", + "w": "129", "h": "47", - "x": "1053", - "y": "2358", + "x": "954", + "y": "1588", + "properties": { + "controlName": "101-networking-protocols:emails:smtp" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "129", + "h": "47", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "46", + "measuredH": "25", + "x": "43", + "y": "11", + "properties": { + "text": "SMTP", + "size": "17" + } + } + ] + } + } + }, + { + "ID": "3244", + "typeID": "__group__", + "zOrder": "198", + "measuredW": "129", + "measuredH": "47", + "w": "129", + "h": "47", + "x": "954", + "y": "1638", "properties": { - "controlName": "102-monitoring:infrastructure-monitoring:zabbix" + "controlName": "102-networking-protocols:emails:imaps" }, "children": { "controls": { @@ -12701,76 +9811,58 @@ "zOrder": "1", "measuredW": "52", "measuredH": "25", - "x": "39", + "x": "40", "y": "11", "properties": { - "text": "Zabbix", + "text": "IMAPS", "size": "17" } + } + ] + } + } + }, + { + "ID": "3245", + "typeID": "__group__", + "zOrder": "199", + "measuredW": "129", + "measuredH": "47", + "w": "129", + "h": "47", + "x": "954", + "y": "1689", + "properties": { + "controlName": "103-networking-protocols:emails:pop3s" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "129", + "h": "47", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } }, { - "ID": "2", - "typeID": "__group__", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "w": "24", - "h": "24", - "x": "115", - "y": "12", - "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": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "2", - "typeID": "Icon", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "color": "3700253", - "icon": { - "ID": "check-circle", - "size": "small" - } - } - } - ] - } + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "56", + "measuredH": "25", + "x": "39", + "y": "11", + "properties": { + "text": "POP3S", + "size": "17" } } ] @@ -12778,17 +9870,17 @@ } }, { - "ID": "2947", + "ID": "3246", "typeID": "__group__", - "zOrder": "228", - "measuredW": "139", + "zOrder": "200", + "measuredW": "129", "measuredH": "47", - "w": "139", + "w": "129", "h": "47", - "x": "1053", - "y": "2410", + "x": "1088", + "y": "1589", "properties": { - "controlName": "102-monitoring:infrastructure-monitoring:monit" + "controlName": "104-networking-protocols:emails:dmarc" }, "children": { "controls": { @@ -12811,96 +9903,31 @@ "ID": "1", "typeID": "Label", "zOrder": "1", - "measuredW": "44", + "measuredW": "62", "measuredH": "25", - "x": "43", + "x": "37", "y": "11", "properties": { - "text": "Monit", + "text": "DMARC", "size": "17" } - }, - { - "ID": "2", - "typeID": "__group__", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "w": "24", - "h": "24", - "x": "115", - "y": "12", - "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": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "2", - "typeID": "Icon", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "color": "3700253", - "icon": { - "ID": "check-circle", - "size": "small" - } - } - } - ] - } - } } ] } } }, { - "ID": "2948", + "ID": "3247", "typeID": "__group__", - "zOrder": "229", - "measuredW": "140", + "zOrder": "201", + "measuredW": "129", "measuredH": "47", - "w": "140", + "w": "129", "h": "47", - "x": "1053", - "y": "2203", + "x": "1088", + "y": "1639", "properties": { - "controlName": "100-monitoring:infrastructure-monitoring:prometheus" + "controlName": "105-networking-protocols:emails:spf" }, "children": { "controls": { @@ -12909,7 +9936,7 @@ "ID": "0", "typeID": "TextArea", "zOrder": "0", - "w": "130", + "w": "129", "h": "47", "measuredW": "200", "measuredH": "140", @@ -12923,80 +9950,31 @@ "ID": "1", "typeID": "Label", "zOrder": "1", - "measuredW": "93", + "measuredW": "32", "measuredH": "25", - "x": "18", + "x": "50", "y": "11", "properties": { - "text": "Prometheus", + "text": "SPF", "size": "17" } - }, - { - "ID": "2", - "typeID": "__group__", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "w": "24", - "h": "24", - "x": "116", - "y": "12", - "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": "10027263", - "icon": { - "ID": "check-circle", - "size": "small" - } - } - } - ] - } - } } ] } } }, { - "ID": "2949", + "ID": "3248", "typeID": "__group__", - "zOrder": "230", - "measuredW": "289", - "measuredH": "49", - "w": "289", - "h": "49", - "x": "685", - "y": "2419", + "zOrder": "202", + "measuredW": "129", + "measuredH": "47", + "w": "129", + "h": "47", + "x": "1088", + "y": "1690", "properties": { - "controlName": "101-monitoring:application-monitoring" + "controlName": "106-networking-protocols:emails:domain-keys" }, "children": { "controls": { @@ -13005,26 +9983,26 @@ "ID": "0", "typeID": "TextArea", "zOrder": "0", - "w": "289", - "h": "49", + "w": "129", + "h": "47", "measuredW": "200", "measuredH": "140", "x": "0", "y": "0", "properties": { - "color": "16776960" + "color": "16770457" } }, { "ID": "1", "typeID": "Label", "zOrder": "1", - "measuredW": "172", + "measuredW": "101", "measuredH": "25", - "x": "59", - "y": "12", + "x": "19", + "y": "11", "properties": { - "text": "Application Monitoring", + "text": "Domain Keys", "size": "17" } } @@ -13033,17 +10011,17 @@ } }, { - "ID": "2950", + "ID": "3249", "typeID": "__group__", - "zOrder": "231", - "measuredW": "153", + "zOrder": "203", + "measuredW": "264", "measuredH": "47", - "w": "153", + "w": "264", "h": "47", - "x": "675", - "y": "2504", + "x": "954", + "y": "1538", "properties": { - "controlName": "100-monitoring:application-monitoring:jaeger" + "controlName": "100-networking-protocols:emails:white-grey-listing" }, "children": { "controls": { @@ -13052,11 +10030,11 @@ "ID": "0", "typeID": "TextArea", "zOrder": "0", - "w": "143", + "w": "264", "h": "47", "measuredW": "200", "measuredH": "140", - "x": "10", + "x": "0", "y": "0", "properties": { "color": "16770457" @@ -13066,45 +10044,88 @@ "ID": "1", "typeID": "Label", "zOrder": "1", - "measuredW": "55", + "measuredW": "142", "measuredH": "25", - "x": "58", + "x": "61", "y": "11", "properties": { - "text": "Jaeger", + "text": "White/Grey Listing", "size": "17" } - }, + } + ] + } + } + }, + { + "ID": "3250", + "typeID": "Arrow", + "zOrder": "204", + "w": "1032", + "h": "1", + "measuredW": "150", + "measuredH": "100", + "x": "265", + "y": "1770", + "properties": { + "leftArrow": "false", + "rightArrow": "false", + "color": "10027263", + "p0": { + "x": -0.30303030303031164, + "y": 0 + }, + "p1": { + "x": 0.5000000000000002, + "y": 0 + }, + "p2": { + "x": 1031.2121212121212, + "y": 0 + } + } + }, + { + "ID": "3271", + "typeID": "__group__", + "zOrder": "212", + "measuredW": "253", + "measuredH": "49", + "w": "253", + "h": "49", + "x": "235", + "y": "1746", + "properties": { + "controlName": "110-infrastructure-provisioning" + }, + "children": { + "controls": { + "control": [ { - "ID": "2", - "typeID": "Icon", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "253", + "h": "49", + "measuredW": "200", + "measuredH": "140", "x": "0", - "y": "12", + "y": "0", "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } + "color": "16776960" } }, { - "ID": "3", - "typeID": "Icon", - "zOrder": "3", - "measuredW": "24", - "measuredH": "24", - "x": "0", + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "203", + "measuredH": "25", + "x": "23", "y": "12", "properties": { - "color": "10027263", - "icon": { - "ID": "check-circle", - "size": "small" - } + "size": "17", + "text": "Infrastructure Provisioning" } } ] @@ -13112,17 +10133,103 @@ } }, { - "ID": "2951", + "ID": "3272", + "typeID": "Arrow", + "zOrder": "213", + "w": "1027", + "h": "1", + "measuredW": "150", + "measuredH": "100", + "x": "344", + "y": "2024", + "properties": { + "leftArrow": "false", + "rightArrow": "false", + "color": "10027263", + "p0": { + "x": -0.30303030303031164, + "y": 0 + }, + "p1": { + "x": 0.5000000000000001, + "y": 0 + }, + "p2": { + "x": 1026.9071308398989, + "y": 0 + } + } + }, + { + "ID": "3273", + "typeID": "Arrow", + "zOrder": "214", + "w": "1", + "h": "79", + "measuredW": "150", + "measuredH": "100", + "x": "1320", + "y": "1946", + "properties": { + "leftArrow": "false", + "rightArrow": "false", + "color": "2848996", + "stroke": "dotted", + "p0": { + "x": 0, + "y": 0 + }, + "p1": { + "x": 0.5010057587596869, + "y": 0 + }, + "p2": { + "x": 0, + "y": 78 + } + } + }, + { + "ID": "3274", + "typeID": "Arrow", + "zOrder": "215", + "w": "1", + "h": "79", + "measuredW": "150", + "measuredH": "100", + "x": "1202", + "y": "1946", + "properties": { + "leftArrow": "false", + "rightArrow": "false", + "color": "2848996", + "stroke": "dotted", + "p0": { + "x": 0, + "y": 0 + }, + "p1": { + "x": 0.5010057587596869, + "y": 0 + }, + "p2": { + "x": 0, + "y": 78 + } + } + }, + { + "ID": "3275", "typeID": "__group__", - "zOrder": "232", - "measuredW": "149", + "zOrder": "216", + "measuredW": "237", "measuredH": "47", - "w": "149", + "w": "237", "h": "47", - "x": "835", - "y": "2504", + "x": "1137", + "y": "2001", "properties": { - "controlName": "101-monitoring:application-monitoring:new-relic" + "controlName": "113-secret-management" }, "children": { "controls": { @@ -13131,76 +10238,27 @@ "ID": "0", "typeID": "TextArea", "zOrder": "0", - "w": "139", + "w": "237", "h": "47", "measuredW": "200", "measuredH": "140", "x": "0", "y": "0", "properties": { - "color": "16770457" + "color": "16776960" } }, { "ID": "1", "typeID": "Label", "zOrder": "1", - "measuredW": "78", + "measuredW": "158", "measuredH": "25", - "x": "23", + "x": "40", "y": "11", "properties": { "size": "17", - "text": "New Relic" - } - }, - { - "ID": "2", - "typeID": "__group__", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "w": "24", - "h": "24", - "x": "125", - "y": "12", - "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": "10027263", - "icon": { - "ID": "check-circle", - "size": "small" - } - } - } - ] - } + "text": "Secret Management" } } ] @@ -13208,17 +10266,17 @@ } }, { - "ID": "2952", + "ID": "3276", "typeID": "__group__", - "zOrder": "233", - "measuredW": "154", + "zOrder": "217", + "measuredW": "133", "measuredH": "47", - "w": "154", + "w": "133", "h": "47", - "x": "674", - "y": "2556", + "x": "1128", + "y": "1924", "properties": { - "controlName": "102-monitoring:application-monitoring:app-dynamics" + "controlName": "100-secret-management:vault" }, "children": { "controls": { @@ -13227,11 +10285,11 @@ "ID": "0", "typeID": "TextArea", "zOrder": "0", - "w": "143", + "w": "124", "h": "47", "measuredW": "200", "measuredH": "140", - "x": "11", + "x": "9", "y": "0", "properties": { "color": "16770457" @@ -13241,13 +10299,13 @@ "ID": "1", "typeID": "Label", "zOrder": "1", - "measuredW": "105", + "measuredW": "38", "measuredH": "25", - "x": "30", + "x": "50", "y": "11", "properties": { - "text": "AppDynamics", - "size": "17" + "size": "17", + "text": "Vault" } }, { @@ -13288,23 +10346,7 @@ "x": "0", "y": "0", "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "2", - "typeID": "Icon", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "color": "3700253", + "color": "10027263", "icon": { "ID": "check-circle", "size": "small" @@ -13320,17 +10362,17 @@ } }, { - "ID": "2953", + "ID": "3277", "typeID": "__group__", - "zOrder": "234", - "measuredW": "148", + "zOrder": "218", + "measuredW": "240", "measuredH": "47", - "w": "148", + "w": "240", "h": "47", - "x": "835", - "y": "2556", + "x": "1135", + "y": "1822", "properties": { - "controlName": "103-monitoring:application-monitoring:instana" + "controlName": "102-secret-management:sealed-secrets" }, "children": { "controls": { @@ -13339,7 +10381,7 @@ "ID": "0", "typeID": "TextArea", "zOrder": "0", - "w": "139", + "w": "240", "h": "47", "measuredW": "200", "measuredH": "140", @@ -13353,78 +10395,13 @@ "ID": "1", "typeID": "Label", "zOrder": "1", - "measuredW": "58", + "measuredW": "117", "measuredH": "25", - "x": "35", + "x": "62", "y": "11", "properties": { - "text": "Instana", - "size": "17" - } - }, - { - "ID": "2", - "typeID": "__group__", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "w": "24", - "h": "24", - "x": "124", - "y": "12", - "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": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "2", - "typeID": "Icon", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "color": "3700253", - "icon": { - "ID": "check-circle", - "size": "small" - } - } - } - ] - } + "size": "17", + "text": "Sealed Secrets" } } ] @@ -13432,17 +10409,17 @@ } }, { - "ID": "2954", + "ID": "3278", "typeID": "__group__", - "zOrder": "235", - "measuredW": "298", + "zOrder": "219", + "measuredW": "122", "measuredH": "47", - "w": "298", + "w": "122", "h": "47", - "x": "676", - "y": "2609", + "x": "1266", + "y": "1924", "properties": { - "controlName": "104-monitoring:application-monitoring:open-telemetry" + "controlName": "101-secret-management:sops" }, "children": { "controls": { @@ -13451,11 +10428,11 @@ "ID": "0", "typeID": "TextArea", "zOrder": "0", - "w": "289", + "w": "110", "h": "47", "measuredW": "200", "measuredH": "140", - "x": "9", + "x": "0", "y": "0", "properties": { "color": "16770457" @@ -13465,13 +10442,13 @@ "ID": "1", "typeID": "Label", "zOrder": "1", - "measuredW": "119", + "measuredW": "45", "measuredH": "25", - "x": "94", + "x": "32", "y": "11", "properties": { "size": "17", - "text": "OpenTelemetry" + "text": "SOPS" } }, { @@ -13482,8 +10459,8 @@ "measuredH": "24", "w": "24", "h": "24", - "x": "0", - "y": "8", + "x": "98", + "y": "12", "children": { "controls": { "control": [ @@ -13512,27 +10489,11 @@ "x": "0", "y": "0", "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "2", - "typeID": "Icon", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "color": "3700253", "icon": { "ID": "check-circle", "size": "small" - } + }, + "color": "3700253" } } ] @@ -13544,137 +10505,220 @@ } }, { - "ID": "2955", - "typeID": "Arrow", - "zOrder": "236", - "w": "65", - "h": "113", - "measuredW": "150", - "measuredH": "100", - "x": "267", - "y": "2437", + "ID": "3279", + "typeID": "__group__", + "zOrder": "220", + "measuredW": "242", + "measuredH": "47", + "w": "242", + "h": "47", + "x": "1135", + "y": "1873", "properties": { - "color": "2848996", - "curvature": "-1", - "direction": "bottom", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "p0": { - "x": 65, - "y": 0 - }, - "p1": { - "x": 0.5357516138948663, - "y": 0.13107900399631106 - }, - "p2": { - "x": 0, - "y": 113 + "controlName": "103-secret-management:cloud-specific-tools" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "242", + "h": "47", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "154", + "measuredH": "25", + "x": "44", + "y": "11", + "properties": { + "size": "17", + "text": "Cloud Specific Tools" + } + } + ] } } }, { - "ID": "2956", - "typeID": "Arrow", - "zOrder": "237", - "w": "84", - "h": "22", - "measuredW": "150", - "measuredH": "100", - "x": "254", - "y": "2421", - "properties": { - "color": "2848996", - "direction": "bottom", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "p0": { - "x": 84, - "y": 0 - }, - "p1": { - "x": 0.47002652519893895, - "y": 0.06737400530503979 - }, - "p2": { - "x": 0, - "y": 22 + "ID": "3280", + "typeID": "__group__", + "zOrder": "221", + "measuredW": "24", + "measuredH": "24", + "w": "24", + "h": "24", + "x": "1361", + "y": "1834", + "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": { + "icon": { + "ID": "check-circle", + "size": "small" + }, + "color": "3700253" + } + } + ] + } + } + }, + { + "ID": "3281", + "typeID": "__group__", + "zOrder": "222", + "measuredW": "24", + "measuredH": "24", + "w": "24", + "h": "24", + "x": "1362", + "y": "1885", + "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": { + "icon": { + "ID": "check-circle", + "size": "small" + }, + "color": "3700253" + } + } + ] } } }, { - "ID": "2957", + "ID": "3282", "typeID": "Arrow", - "zOrder": "238", - "w": "67", - "h": "36", + "zOrder": "223", + "w": "1", + "h": "172", "measuredW": "150", "measuredH": "100", - "x": "264", - "y": "2384", + "x": "1001", + "y": "1929", "properties": { - "color": "2848996", - "direction": "bottom", "leftArrow": "false", "rightArrow": "false", + "color": "2848996", "stroke": "dotted", "p0": { - "x": 67, - "y": 36 + "x": 0, + "y": 0.10981084062700575 }, "p1": { - "x": 0.4968020743301642, - "y": -0.0912705272255834 + "x": 0.49956677529873256, + "y": 0 }, "p2": { "x": 0, - "y": 0 + "y": 172.07603692056045 } } }, { - "ID": "2958", + "ID": "3283", "typeID": "Arrow", - "zOrder": "239", - "w": "75", - "h": "76", + "zOrder": "224", + "w": "1", + "h": "171", "measuredW": "150", "measuredH": "100", - "x": "267", - "y": "2422", + "x": "870", + "y": "1929", "properties": { - "color": "2848996", "leftArrow": "false", "rightArrow": "false", + "color": "2848996", "stroke": "dotted", "p0": { "x": 0, - "y": 76 + "y": 0.10981084062700575 }, "p1": { - "x": 0.30409613191825274, - "y": -0.08148408034382948 + "x": 0.4995667752987326, + "y": 0 }, "p2": { - "x": 75, - "y": 0 + "x": 0, + "y": 170.6390207091033 } } }, { - "ID": "2959", + "ID": "3284", "typeID": "__group__", - "zOrder": "240", - "measuredW": "210", + "zOrder": "225", + "measuredW": "260", "measuredH": "49", - "w": "210", + "w": "260", "h": "49", - "x": "322", - "y": "2403", + "x": "798", + "y": "2000", "properties": { - "controlName": "102-monitoring:logs-management" + "controlName": "112-ci-cd" }, "children": { "controls": { @@ -13683,7 +10727,7 @@ "ID": "0", "typeID": "TextArea", "zOrder": "0", - "w": "210", + "w": "260", "h": "49", "measuredW": "200", "measuredH": "140", @@ -13697,13 +10741,13 @@ "ID": "1", "typeID": "Label", "zOrder": "1", - "measuredW": "145", + "measuredW": "182", "measuredH": "25", - "x": "32", + "x": "39", "y": "12", "properties": { - "text": "Logs Management", - "size": "17" + "size": "17", + "text": "Learn some CI/CD Tool" } } ] @@ -13711,17 +10755,17 @@ } }, { - "ID": "2960", + "ID": "3285", "typeID": "__group__", - "zOrder": "241", - "measuredW": "160", - "measuredH": "47", - "w": "160", - "h": "47", - "x": "118", - "y": "2309", + "zOrder": "226", + "measuredW": "121", + "measuredH": "46", + "w": "121", + "h": "46", + "x": "953", + "y": "1824", "properties": { - "controlName": "100-monitoring:logs-management:elastic-stack" + "controlName": "101-ci-cd:jenkins" }, "children": { "controls": { @@ -13730,11 +10774,11 @@ "ID": "0", "typeID": "TextArea", "zOrder": "0", - "w": "149", - "h": "47", + "w": "111", + "h": "46", "measuredW": "200", "measuredH": "140", - "x": "11", + "x": "0", "y": "0", "properties": { "color": "16770457" @@ -13744,12 +10788,12 @@ "ID": "1", "typeID": "Label", "zOrder": "1", - "measuredW": "98", + "measuredW": "59", "measuredH": "25", - "x": "39", - "y": "11", + "x": "26", + "y": "10", "properties": { - "text": "Elastic Stack", + "text": "Jenkins", "size": "17" } }, @@ -13761,8 +10805,8 @@ "measuredH": "24", "w": "24", "h": "24", - "x": "0", - "y": "12", + "x": "97", + "y": "11", "children": { "controls": { "control": [ @@ -13807,17 +10851,17 @@ } }, { - "ID": "2961", + "ID": "3286", "typeID": "__group__", - "zOrder": "242", - "measuredW": "161", - "measuredH": "47", - "w": "161", - "h": "47", - "x": "118", - "y": "2362", + "zOrder": "227", + "measuredW": "163", + "measuredH": "46", + "w": "163", + "h": "46", + "x": "785", + "y": "1824", "properties": { - "controlName": "101-monitoring:logs-management:graylog" + "controlName": "100-ci-cd:gitlab-ci" }, "children": { "controls": { @@ -13826,11 +10870,11 @@ "ID": "0", "typeID": "TextArea", "zOrder": "0", - "w": "149", - "h": "47", + "w": "153", + "h": "46", "measuredW": "200", "measuredH": "140", - "x": "12", + "x": "10", "y": "0", "properties": { "color": "16770457" @@ -13840,13 +10884,12 @@ "ID": "1", "typeID": "Label", "zOrder": "1", - "w": "59", - "measuredW": "59", + "measuredW": "67", "measuredH": "25", "x": "53", - "y": "11", + "y": "10", "properties": { - "text": "Graylog", + "text": "Gitlab CI", "size": "17" } }, @@ -13859,7 +10902,7 @@ "w": "24", "h": "24", "x": "0", - "y": "12", + "y": "11", "children": { "controls": { "control": [ @@ -13888,23 +10931,7 @@ "x": "0", "y": "0", "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "2", - "typeID": "Icon", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "color": "3700253", + "color": "10027263", "icon": { "ID": "check-circle", "size": "small" @@ -13920,17 +10947,17 @@ } }, { - "ID": "2962", + "ID": "3287", "typeID": "__group__", - "zOrder": "243", - "measuredW": "161", - "measuredH": "47", - "w": "161", - "h": "47", - "x": "118", - "y": "2416", + "zOrder": "228", + "measuredW": "122", + "measuredH": "46", + "w": "122", + "h": "46", + "x": "953", + "y": "1873", "properties": { - "controlName": "102-monitoring:logs-management:splunk" + "controlName": "103-ci-cd:travis-ci" }, "children": { "controls": { @@ -13939,11 +10966,11 @@ "ID": "0", "typeID": "TextArea", "zOrder": "0", - "w": "149", - "h": "47", + "w": "111", + "h": "46", "measuredW": "200", "measuredH": "140", - "x": "12", + "x": "0", "y": "0", "properties": { "color": "16770457" @@ -13953,13 +10980,12 @@ "ID": "1", "typeID": "Label", "zOrder": "1", - "w": "53", - "measuredW": "52", + "measuredW": "68", "measuredH": "25", - "x": "61", - "y": "11", + "x": "20", + "y": "10", "properties": { - "text": "Splunk", + "text": "Travis CI", "size": "17" } }, @@ -13971,8 +10997,8 @@ "measuredH": "24", "w": "24", "h": "24", - "x": "0", - "y": "12", + "x": "98", + "y": "11", "children": { "controls": { "control": [ @@ -14033,17 +11059,17 @@ } }, { - "ID": "2963", + "ID": "3288", "typeID": "__group__", - "zOrder": "244", - "measuredW": "161", - "measuredH": "47", - "w": "161", - "h": "47", - "x": "119", - "y": "2469", + "zOrder": "229", + "measuredW": "163", + "measuredH": "46", + "w": "163", + "h": "46", + "x": "785", + "y": "1873", "properties": { - "controlName": "102-monitoring:logs-management:papertrail" + "controlName": "102-ci-cd:github-actions" }, "children": { "controls": { @@ -14052,11 +11078,11 @@ "ID": "0", "typeID": "TextArea", "zOrder": "0", - "w": "149", - "h": "47", + "w": "152", + "h": "46", "measuredW": "200", "measuredH": "140", - "x": "12", + "x": "11", "y": "0", "properties": { "color": "16770457" @@ -14066,13 +11092,12 @@ "ID": "1", "typeID": "Label", "zOrder": "1", - "w": "79", - "measuredW": "75", + "measuredW": "114", "measuredH": "25", - "x": "51", - "y": "11", + "x": "30", + "y": "10", "properties": { - "text": "Papertrail", + "text": "GitHub Actions", "size": "17" } }, @@ -14085,7 +11110,7 @@ "w": "24", "h": "24", "x": "0", - "y": "12", + "y": "11", "children": { "controls": { "control": [ @@ -14114,23 +11139,7 @@ "x": "0", "y": "0", "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "2", - "typeID": "Icon", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "color": "3700253", + "color": "10027263", "icon": { "ID": "check-circle", "size": "small" @@ -14146,17 +11155,17 @@ } }, { - "ID": "2964", + "ID": "3289", "typeID": "__group__", - "zOrder": "245", - "measuredW": "304", - "measuredH": "49", - "w": "304", - "h": "49", - "x": "144", - "y": "2595", + "zOrder": "230", + "measuredW": "276", + "measuredH": "47", + "w": "276", + "h": "47", + "x": "796", + "y": "2077", "properties": { - "controlName": "108-cloud-providers" + "controlName": "105-ci-cd:teamcity" }, "children": { "controls": { @@ -14165,59 +11174,12 @@ "ID": "0", "typeID": "TextArea", "zOrder": "0", - "w": "304", - "h": "49", + "w": "267", + "h": "47", "measuredW": "200", "measuredH": "140", "x": "0", "y": "0", - "properties": { - "color": "16776960" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "122", - "measuredH": "25", - "x": "91", - "y": "12", - "properties": { - "size": "17", - "text": "Cloud Providers" - } - } - ] - } - } - }, - { - "ID": "2965", - "typeID": "__group__", - "zOrder": "246", - "measuredW": "160", - "measuredH": "46", - "w": "160", - "h": "46", - "x": "133", - "y": "2680", - "properties": { - "controlName": "100-cloud-providers:aws" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "149", - "h": "46", - "measuredW": "200", - "measuredH": "140", - "x": "11", - "y": "0", "properties": { "color": "16770457" } @@ -14226,12 +11188,12 @@ "ID": "1", "typeID": "Label", "zOrder": "1", - "measuredW": "36", + "measuredW": "72", "measuredH": "25", - "x": "68", - "y": "10", + "x": "98", + "y": "11", "properties": { - "text": "AWS", + "text": "TeamCity", "size": "17" } }, @@ -14243,8 +11205,8 @@ "measuredH": "24", "w": "24", "h": "24", - "x": "0", - "y": "11", + "x": "252", + "y": "12", "children": { "controls": { "control": [ @@ -14273,7 +11235,23 @@ "x": "0", "y": "0", "properties": { - "color": "10027263", + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "3700253", "icon": { "ID": "check-circle", "size": "small" @@ -14289,17 +11267,17 @@ } }, { - "ID": "2966", + "ID": "3290", "typeID": "__group__", - "zOrder": "247", - "measuredW": "160", + "zOrder": "231", + "measuredW": "163", "measuredH": "47", - "w": "160", + "w": "163", "h": "47", - "x": "133", - "y": "2730", + "x": "785", + "y": "1923", "properties": { - "controlName": "101-cloud-providers:google-cloud" + "controlName": "107-ci-cd:circle-ci" }, "children": { "controls": { @@ -14308,7 +11286,7 @@ "ID": "0", "typeID": "TextArea", "zOrder": "0", - "w": "149", + "w": "152", "h": "47", "measuredW": "200", "measuredH": "140", @@ -14322,12 +11300,12 @@ "ID": "1", "typeID": "Label", "zOrder": "1", - "measuredW": "105", + "measuredW": "67", "measuredH": "25", - "x": "33", + "x": "53", "y": "11", "properties": { - "text": "Google Cloud", + "text": "Circle CI", "size": "17" } }, @@ -14369,27 +11347,11 @@ "x": "0", "y": "0", "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "2", - "typeID": "Icon", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { + "color": "10027263", "icon": { "ID": "check-circle", "size": "small" - }, - "color": "10027263" + } } } ] @@ -14401,17 +11363,17 @@ } }, { - "ID": "2967", + "ID": "3291", "typeID": "__group__", - "zOrder": "248", - "measuredW": "160", + "zOrder": "232", + "measuredW": "123", "measuredH": "47", - "w": "160", + "w": "123", "h": "47", - "x": "133", - "y": "2782", + "x": "953", + "y": "1923", "properties": { - "controlName": "102-cloud-providers:azure" + "controlName": "108-ci-cd:drone" }, "children": { "controls": { @@ -14420,11 +11382,11 @@ "ID": "0", "typeID": "TextArea", "zOrder": "0", - "w": "149", + "w": "112", "h": "47", "measuredW": "200", "measuredH": "140", - "x": "11", + "x": "0", "y": "0", "properties": { "color": "16770457" @@ -14434,13 +11396,13 @@ "ID": "1", "typeID": "Label", "zOrder": "1", - "measuredW": "44", + "measuredW": "48", "measuredH": "25", - "x": "64", + "x": "32", "y": "11", "properties": { - "text": "Azure", - "size": "17" + "size": "17", + "text": "Drone" } }, { @@ -14451,7 +11413,7 @@ "measuredH": "24", "w": "24", "h": "24", - "x": "0", + "x": "99", "y": "12", "children": { "controls": { @@ -14513,17 +11475,17 @@ } }, { - "ID": "2968", + "ID": "3292", "typeID": "__group__", - "zOrder": "249", - "measuredW": "160", + "zOrder": "233", + "measuredW": "279", "measuredH": "47", - "w": "160", + "w": "279", "h": "47", - "x": "299", - "y": "2730", + "x": "795", + "y": "2139", "properties": { - "controlName": "104-cloud-providers:digital-ocean" + "controlName": "106-ci-cd:azure-devops-services" }, "children": { "controls": { @@ -14532,7 +11494,7 @@ "ID": "0", "typeID": "TextArea", "zOrder": "0", - "w": "149", + "w": "269", "h": "47", "measuredW": "200", "measuredH": "140", @@ -14546,12 +11508,12 @@ "ID": "1", "typeID": "Label", "zOrder": "1", - "measuredW": "105", + "measuredW": "181", "measuredH": "25", - "x": "22", + "x": "49", "y": "11", "properties": { - "text": "Digital Ocean", + "text": "Azure DevOps Services", "size": "17" } }, @@ -14563,7 +11525,7 @@ "measuredH": "24", "w": "24", "h": "24", - "x": "136", + "x": "255", "y": "12", "children": { "controls": { @@ -14593,7 +11555,23 @@ "x": "0", "y": "0", "properties": { - "color": "10027263", + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "3700253", "icon": { "ID": "check-circle", "size": "small" @@ -14609,110 +11587,324 @@ } }, { - "ID": "2969", - "typeID": "__group__", - "zOrder": "250", - "measuredW": "160", - "measuredH": "47", - "w": "160", - "h": "47", - "x": "133", - "y": "2834", + "ID": "3295", + "typeID": "Arrow", + "zOrder": "235", + "w": "1", + "h": "94", + "measuredW": "150", + "measuredH": "100", + "x": "913", + "y": "3076", "properties": { - "controlName": "103-cloud-providers:heroku" - }, + "leftArrow": "false", + "rightArrow": "false", + "color": "2848996", + "p0": { + "x": 0, + "y": 0.4145245849647381 + }, + "p1": { + "x": 0.4999999999999999, + "y": 0 + }, + "p2": { + "x": 0, + "y": 93.99315759031742 + } + } + }, + { + "ID": "3296", + "typeID": "Label", + "zOrder": "236", + "measuredW": "187", + "measuredH": "36", + "x": "825", + "y": "3187", + "properties": { + "size": "28", + "text": "Keep Learning" + } + }, + { + "ID": "3297", + "typeID": "Arrow", + "zOrder": "237", + "w": "1", + "h": "73", + "measuredW": "150", + "measuredH": "100", + "x": "913", + "y": "3244", + "properties": { + "leftArrow": "false", + "rightArrow": "false", + "color": "2848996", + "p0": { + "x": 0, + "y": 0.4145245849647381 + }, + "p1": { + "x": 0.49999999999999994, + "y": 0 + }, + "p2": { + "x": 0, + "y": 73.58743309002512 + }, + "stroke": "dotted" + } + }, + { + "ID": "3299", + "typeID": "Arrow", + "zOrder": "238", + "w": "496", + "h": "1", + "measuredW": "150", + "measuredH": "100", + "x": "811", + "y": "506", + "properties": { + "leftArrow": "false", + "rightArrow": "false", + "color": "2848996", + "p0": { + "x": 495.530303030303, + "y": -0.42424242424249314 + }, + "p1": { + "x": 0.4999999999999999, + "y": 0 + }, + "p2": { + "x": 0, + "y": -0.42424242424249314 + } + } + }, + { + "ID": "3300", + "typeID": "Arrow", + "zOrder": "9", + "w": "1", + "h": "616", + "measuredW": "150", + "measuredH": "100", + "x": "1308", + "y": "508", + "properties": { + "leftArrow": "false", + "rightArrow": "false", + "color": "2848996", + "p0": { + "x": 0, + "y": 0 + }, + "p1": { + "x": 0.4999999999999998, + "y": 0 + }, + "p2": { + "x": 0, + "y": 616.2424242424242 + } + } + }, + { + "ID": "3301", + "typeID": "Arrow", + "zOrder": "8", + "w": "1", + "h": "67", + "measuredW": "150", + "measuredH": "100", + "x": "1118", + "y": "807", + "properties": { + "leftArrow": "false", + "rightArrow": "false", + "color": "2848996", + "stroke": "dotted", + "p0": { + "x": -0.17226529262484291, + "y": 0.12121212121212466 + }, + "p1": { + "x": 0.4999999999999999, + "y": 0 + }, + "p2": { + "x": -0.17226529262484291, + "y": 67.5 + } + } + }, + { + "ID": "3303", + "typeID": "Arrow", + "zOrder": "242", + "w": "979", + "h": "1", + "measuredW": "150", + "measuredH": "100", + "x": "329", + "y": "1125", + "properties": { + "leftArrow": "false", + "rightArrow": "false", + "color": "2848996", + "p0": { + "x": 978.5454545454545, + "y": -0.3574432865241306 + }, + "p1": { + "x": 0.5000000000000002, + "y": 0 + }, + "p2": { + "x": -0.21212121212124657, + "y": -0.3574432865241306 + } + } + }, + { + "ID": "3306", + "typeID": "Label", + "zOrder": "245", + "measuredW": "98", + "measuredH": "25", + "x": "343", + "y": "922", + "properties": { + "size": "17", + "text": "Web Servers" + } + }, + { + "ID": "3307", + "typeID": "__group__", + "zOrder": "246", + "measuredW": "24", + "measuredH": "24", + "w": "24", + "h": "24", + "x": "458", + "y": "856", "children": { "controls": { "control": [ { "ID": "0", - "typeID": "TextArea", + "typeID": "Icon", "zOrder": "0", - "w": "149", - "h": "47", - "measuredW": "200", - "measuredH": "140", - "x": "11", + "measuredW": "24", + "measuredH": "24", + "x": "0", "y": "0", "properties": { - "color": "16770457" + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "1", + "typeID": "Icon", + "zOrder": "1", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "3700253", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] + } + } + }, + { + "ID": "3308", + "typeID": "__group__", + "zOrder": "247", + "measuredW": "24", + "measuredH": "24", + "w": "24", + "h": "24", + "x": "458", + "y": "809", + "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": "Label", + "typeID": "Icon", "zOrder": "1", - "measuredW": "56", - "measuredH": "25", - "x": "58", - "y": "11", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", "properties": { - "text": "Heroku", - "size": "17" + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } } }, { "ID": "2", - "typeID": "__group__", + "typeID": "Icon", "zOrder": "2", "measuredW": "24", "measuredH": "24", - "w": "24", - "h": "24", "x": "0", - "y": "12", - "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": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "2", - "typeID": "Icon", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "color": "3700253", - "icon": { - "ID": "check-circle", - "size": "small" - } - } - } - ] + "y": "0", + "properties": { + "color": "3700253", + "icon": { + "ID": "check-circle", + "size": "small" } } } @@ -14721,110 +11913,272 @@ } }, { - "ID": "2970", - "typeID": "__group__", + "ID": "3309", + "typeID": "Arrow", + "zOrder": "7", + "w": "1", + "h": "92", + "measuredW": "150", + "measuredH": "100", + "x": "219", + "y": "1032", + "properties": { + "leftArrow": "false", + "rightArrow": "false", + "color": "2848996", + "stroke": "dotted", + "p0": { + "x": 0, + "y": 0.030303030303002743 + }, + "p1": { + "x": 0.4999999999999999, + "y": 0 + }, + "p2": { + "x": 0, + "y": 92.24242424242425 + } + } + }, + { + "ID": "3310", + "typeID": "Arrow", + "zOrder": "6", + "w": "1", + "h": "98", + "measuredW": "150", + "measuredH": "100", + "x": "383", + "y": "1026", + "properties": { + "leftArrow": "false", + "rightArrow": "false", + "color": "2848996", + "stroke": "dotted", + "p0": { + "x": 0, + "y": 0.030303030303002743 + }, + "p1": { + "x": 0.4999999999999999, + "y": 0 + }, + "p2": { + "x": 0, + "y": 97.5454545454545 + } + } + }, + { + "ID": "3311", + "typeID": "Arrow", + "zOrder": "5", + "w": "80", + "h": "28", + "measuredW": "150", + "measuredH": "100", + "x": "395", + "y": "1262", + "properties": { + "leftArrow": "false", + "rightArrow": "false", + "color": "2848996", + "stroke": "dotted", + "p0": { + "x": 80, + "y": 28 + }, + "p1": { + "x": 0.39237507110558384, + "y": -0.1516838766281981 + }, + "p2": { + "x": 0, + "y": 0 + } + } + }, + { + "ID": "3312", + "typeID": "Arrow", + "zOrder": "4", + "w": "1", + "h": "78", + "measuredW": "150", + "measuredH": "100", + "x": "1296", + "y": "1278", + "properties": { + "leftArrow": "false", + "rightArrow": "false", + "color": "2848996", + "stroke": "dotted", + "p0": { + "x": 0, + "y": -0.24242424242424931 + }, + "p1": { + "x": 0.4988928776156576, + "y": 0 + }, + "p2": { + "x": 0, + "y": 78 + } + } + }, + { + "ID": "3313", + "typeID": "Arrow", + "zOrder": "3", + "w": "1", + "h": "75", + "measuredW": "150", + "measuredH": "100", + "x": "1158", + "y": "1492", + "properties": { + "leftArrow": "false", + "rightArrow": "false", + "color": "2848996", + "stroke": "dotted", + "p0": { + "x": 0, + "y": -0.24242424242424931 + }, + "p1": { + "x": 0.4988928776156576, + "y": 0 + }, + "p2": { + "x": 0, + "y": 74.66666666666652 + } + } + }, + { + "ID": "3314", + "typeID": "Icon", + "zOrder": "248", + "measuredW": "24", + "measuredH": "24", + "x": "843", + "y": "620", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "3315", + "typeID": "Icon", + "zOrder": "249", + "measuredW": "24", + "measuredH": "24", + "x": "843", + "y": "620", + "properties": { + "color": "10027263", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + }, + { + "ID": "3316", + "typeID": "Icon", + "zOrder": "250", + "measuredW": "24", + "measuredH": "24", + "x": "842", + "y": "664", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "3317", + "typeID": "Icon", "zOrder": "251", - "measuredW": "160", - "measuredH": "47", - "w": "160", - "h": "47", - "x": "299", - "y": "2782", + "measuredW": "24", + "measuredH": "24", + "x": "842", + "y": "664", "properties": { - "controlName": "105-cloud-providers:linode" - }, + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "3318", + "typeID": "Icon", + "zOrder": "252", + "measuredW": "24", + "measuredH": "24", + "x": "842", + "y": "664", + "properties": { + "color": "3700253", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + }, + { + "ID": "3319", + "typeID": "__group__", + "zOrder": "253", + "measuredW": "24", + "measuredH": "24", + "w": "24", + "h": "24", + "x": "842", + "y": "707", "children": { "controls": { "control": [ { "ID": "0", - "typeID": "TextArea", + "typeID": "Icon", "zOrder": "0", - "w": "149", - "h": "47", - "measuredW": "200", - "measuredH": "140", + "measuredW": "24", + "measuredH": "24", "x": "0", "y": "0", "properties": { - "color": "16770457" + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } } }, { "ID": "1", - "typeID": "Label", + "typeID": "Icon", "zOrder": "1", - "measuredW": "53", - "measuredH": "25", - "x": "48", - "y": "11", - "properties": { - "text": "Linode", - "size": "17" - } - }, - { - "ID": "2", - "typeID": "__group__", - "zOrder": "2", "measuredW": "24", "measuredH": "24", - "w": "24", - "h": "24", - "x": "136", - "y": "12", - "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": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "2", - "typeID": "Icon", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "color": "3700253", - "icon": { - "ID": "check-circle", - "size": "small" - } - } - } - ] + "x": "0", + "y": "0", + "properties": { + "color": "10027263", + "icon": { + "ID": "check-circle", + "size": "small" } } } @@ -14833,110 +12187,147 @@ } }, { - "ID": "2971", - "typeID": "__group__", - "zOrder": "252", - "measuredW": "160", - "measuredH": "47", - "w": "160", + "ID": "3320", + "typeID": "Arrow", + "zOrder": "2", + "w": "1", "h": "47", - "x": "299", - "y": "2834", + "measuredW": "150", + "measuredH": "100", + "x": "953", + "y": "522", "properties": { - "controlName": "106-cloud-providers:vultr" - }, + "leftArrow": "false", + "rightArrow": "false", + "color": "2848996", + "stroke": "dotted", + "p0": { + "x": 0, + "y": 0 + }, + "p1": { + "x": 0.5020600744284955, + "y": -0.0018326094960089672 + }, + "p2": { + "x": 0, + "y": 47 + } + } + }, + { + "ID": "3618", + "typeID": "Label", + "zOrder": "254", + "measuredW": "55", + "measuredH": "25", + "x": "631", + "y": "787", + "properties": { + "size": "17", + "text": "Editors" + } + }, + { + "ID": "3620", + "typeID": "Arrow", + "zOrder": "1", + "w": "236", + "h": "1", + "measuredW": "150", + "measuredH": "100", + "x": "911", + "y": "799", + "properties": { + "leftArrow": "false", + "rightArrow": "false", + "color": "2848996", + "p0": { + "x": 236.530303030303, + "y": -0.42424242424249314 + }, + "p1": { + "x": 0.4999999999999999, + "y": 0 + }, + "p2": { + "x": 0.4393939393939945, + "y": -0.42424242424249314 + }, + "stroke": "dotted" + } + }, + { + "ID": "3621", + "typeID": "Arrow", + "zOrder": "255", + "w": "114", + "h": "1", + "measuredW": "150", + "measuredH": "100", + "x": "701", + "y": "799", + "properties": { + "leftArrow": "false", + "rightArrow": "false", + "color": "2848996", + "stroke": "dotted", + "p0": { + "x": 114.07575757575762, + "y": -0.42424242424249314 + }, + "p1": { + "x": 0.4999999999999998, + "y": 0 + }, + "p2": { + "x": 0.0454545454546178, + "y": -0.42424242424249314 + } + } + }, + { + "ID": "3622", + "typeID": "__group__", + "zOrder": "257", + "measuredW": "24", + "measuredH": "24", + "w": "24", + "h": "24", + "x": "458", + "y": "708", "children": { "controls": { "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "149", - "h": "47", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "35", - "measuredH": "25", - "x": "57", - "y": "11", - "properties": { - "text": "Vultr", - "size": "17" - } - }, - { - "ID": "2", - "typeID": "__group__", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "w": "24", - "h": "24", - "x": "136", - "y": "12", - "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": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "2", - "typeID": "Icon", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "color": "3700253", - "icon": { - "ID": "check-circle", - "size": "small" - } - } - } - ] + { + "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": "10027263", + "icon": { + "ID": "check-circle", + "size": "small" } } } @@ -14945,110 +12336,63 @@ } }, { - "ID": "2972", + "ID": "3623", "typeID": "__group__", - "zOrder": "253", - "measuredW": "161", - "measuredH": "46", - "w": "161", - "h": "46", - "x": "299", - "y": "2680", - "properties": { - "controlName": "104-cloud-providers:albaba-cloud" - }, + "zOrder": "258", + "measuredW": "24", + "measuredH": "24", + "w": "24", + "h": "24", + "x": "458", + "y": "759", "children": { "controls": { "control": [ { "ID": "0", - "typeID": "TextArea", + "typeID": "Icon", "zOrder": "0", - "w": "149", - "h": "46", - "measuredW": "200", - "measuredH": "140", + "measuredW": "24", + "measuredH": "24", "x": "0", "y": "0", "properties": { - "color": "16770457" + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } } }, { "ID": "1", - "typeID": "Label", + "typeID": "Icon", "zOrder": "1", - "measuredW": "106", - "measuredH": "25", - "x": "22", - "y": "10", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", "properties": { - "text": "Alibaba Cloud", - "size": "17" + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } } }, { "ID": "2", - "typeID": "__group__", + "typeID": "Icon", "zOrder": "2", "measuredW": "24", "measuredH": "24", - "w": "24", - "h": "24", - "x": "137", - "y": "11", - "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": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "2", - "typeID": "Icon", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "color": "3700253", - "icon": { - "ID": "check-circle", - "size": "small" - } - } - } - ] + "x": "0", + "y": "0", + "properties": { + "color": "3700253", + "icon": { + "ID": "check-circle", + "size": "small" } } } @@ -15057,175 +12401,230 @@ } }, { - "ID": "2973", + "ID": "3624", "typeID": "Arrow", - "zOrder": "254", + "zOrder": "0", "w": "1", - "h": "149", + "h": "45", "measuredW": "150", "measuredH": "100", - "x": "668", - "y": "2745", + "x": "391", + "y": "870", "properties": { - "color": "2848996", - "direction": "bottom", "leftArrow": "false", + "rightArrow": "false", + "color": "2848996", + "stroke": "dotted", "p0": { "x": 0, - "y": 148.5 + "y": 0.09090909090912191 }, "p1": { - "x": 0.46874741514792245, - "y": -0.0047699137004053056 + "x": 0.4999999999999999, + "y": 0 }, "p2": { "x": 0, - "y": -0.5 - }, - "rightArrow": "false" + "y": 45.545454545454504 + } } }, { - "ID": "2974", - "typeID": "Arrow", - "zOrder": "255", - "w": "153", - "h": "101", - "measuredW": "150", - "measuredH": "100", - "x": "789", - "y": "2755", + "ID": "3625", + "typeID": "Canvas", + "zOrder": "259", + "w": "420", + "h": "151", + "measuredW": "100", + "measuredH": "70", + "x": "161", + "y": "456" + }, + { + "ID": "3626", + "typeID": "__group__", + "zOrder": "260", + "measuredW": "374", + "measuredH": "47", + "w": "374", + "h": "47", + "x": "181", + "y": "545", "properties": { - "color": "2848996", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "p0": { - "x": 0, - "y": -0.5 - }, - "p1": { - "x": 0.4988, - "y": 0.03159999999999985 - }, - "p2": { - "x": 152.5, - "y": 100 + "controlName": "json:devops-beginner.json" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "374", + "h": "47", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0", + "properties": { + "borderColor": "4273622", + "color": "4273622" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "210", + "measuredH": "26", + "x": "82", + "y": "11", + "properties": { + "color": "16777215", + "size": "18", + "text": "Visit the Beginner Version" + } + } + ] } } }, { - "ID": "2975", - "typeID": "Arrow", - "zOrder": "256", - "w": "155", - "h": "62", - "measuredW": "150", - "measuredH": "100", - "x": "793", - "y": "2748", + "ID": "3627", + "typeID": "Label", + "zOrder": "261", + "measuredW": "385", + "measuredH": "26", + "x": "181", + "y": "479", "properties": { - "color": "2848996", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "p0": { - "x": 0, - "y": -0.5 - }, - "p1": { - "x": 0.49879999999999997, - "y": 0.031599999999999934 - }, - "p2": { - "x": 154.5, - "y": 61 + "color": "4985136", + "size": "18", + "text": "If you are just getting started, visit the simplified" + } + }, + { + "ID": "3628", + "typeID": "Label", + "zOrder": "262", + "measuredW": "305", + "measuredH": "26", + "x": "181", + "y": "509", + "properties": { + "color": "4985136", + "size": "18", + "text": "version listing learning tips and ideas." + } + }, + { + "ID": "3637", + "typeID": "Icon", + "zOrder": "84", + "measuredW": "24", + "measuredH": "24", + "x": "1230", + "y": "918", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" } } }, { - "ID": "2976", - "typeID": "Arrow", - "zOrder": "257", - "w": "160", - "h": "29", - "measuredW": "150", - "measuredH": "100", - "x": "783", - "y": "2738", + "ID": "3638", + "typeID": "Icon", + "zOrder": "85", + "measuredW": "24", + "measuredH": "24", + "x": "1230", + "y": "918", + "properties": { + "color": "10027263", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + }, + { + "ID": "3641", + "typeID": "Icon", + "zOrder": "87", + "measuredW": "24", + "measuredH": "24", + "x": "1231", + "y": "971", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "3642", + "typeID": "Icon", + "zOrder": "88", + "measuredW": "24", + "measuredH": "24", + "x": "1231", + "y": "971", "properties": { - "color": "2848996", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "p0": { - "x": 0, - "y": -0.5 - }, - "p1": { - "x": 0.4988, - "y": 0.03159999999999997 - }, - "p2": { - "x": 159.5, - "y": 28 + "color": "10027263", + "icon": { + "ID": "check-circle", + "size": "small" } } }, { - "ID": "2977", - "typeID": "Arrow", - "zOrder": "258", - "w": "158", - "h": "7", - "measuredW": "150", - "measuredH": "100", - "x": "790", - "y": "2719", + "ID": "3645", + "typeID": "Icon", + "zOrder": "90", + "measuredW": "24", + "measuredH": "24", + "x": "1231", + "y": "1022", "properties": { - "color": "2848996", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "p0": { - "x": -0.5, - "y": 7 - }, - "p1": { - "x": 0.49880000000000013, - "y": 0.03159999999999997 - }, - "p2": { - "x": 157.5, - "y": 4 + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" } } }, { - "ID": "2978", - "typeID": "Label", - "zOrder": "259", - "measuredW": "161", - "measuredH": "32", - "x": "588", - "y": "2902", + "ID": "3646", + "typeID": "Icon", + "zOrder": "91", + "measuredW": "24", + "measuredH": "24", + "x": "1231", + "y": "1022", "properties": { - "size": "24", - "text": "Keep Learning" + "color": "10027263", + "icon": { + "ID": "check-circle", + "size": "small" + } } }, { - "ID": "2979", + "ID": "3647", "typeID": "__group__", - "zOrder": "260", - "measuredW": "289", - "measuredH": "95", - "w": "289", - "h": "95", - "x": "522", - "y": "2690", + "zOrder": "81", + "measuredW": "233", + "measuredH": "47", + "w": "233", + "h": "47", + "x": "1012", + "y": "853", "properties": { - "controlName": "ext_link:bit.ly/cloud-arch-patterns" + "controlName": "103-live-in-terminal:process-monitoring" }, "children": { "controls": { @@ -15234,138 +12633,74 @@ "ID": "0", "typeID": "TextArea", "zOrder": "0", - "w": "289", - "h": "83", + "w": "233", + "h": "47", "measuredW": "200", "measuredH": "140", "x": "0", - "y": "12", + "y": "0", "properties": { - "color": "16776960" + "color": "16770457" } }, { "ID": "1", "typeID": "Label", "zOrder": "1", - "measuredW": "172", + "measuredW": "149", "measuredH": "25", - "x": "59", - "y": "30", + "x": "42", + "y": "11", "properties": { "size": "17", - "text": "Cloud Design Patterns" - } - }, - { - "ID": "2", - "typeID": "Label", - "zOrder": "2", - "measuredW": "213", - "measuredH": "23", - "x": "38", - "y": "56", - "properties": { - "size": "15", - "text": "http://bit.ly/cloud-arch-patterns" + "text": "Process Monitoring" } - }, + } + ] + } + } + }, + { + "ID": "3648", + "typeID": "__group__", + "zOrder": "83", + "measuredW": "233", + "measuredH": "47", + "w": "233", + "h": "47", + "x": "1012", + "y": "906", + "properties": { + "controlName": "104-live-in-terminal:performance-monitoring" + }, + "children": { + "controls": { + "control": [ { - "ID": "3", - "typeID": "__group__", - "zOrder": "3", - "measuredW": "24", - "measuredH": "24", - "w": "24", - "h": "24", - "x": "265", + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "233", + "h": "47", + "measuredW": "200", + "measuredH": "140", + "x": "0", "y": "0", - "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": "10027263", - "icon": { - "ID": "check-circle", - "size": "small" - } - } - } - ] - } + "properties": { + "color": "16770457" } }, { - "ID": "4", - "typeID": "__group__", - "zOrder": "4", - "measuredW": "24", - "measuredH": "24", - "w": "24", - "h": "24", - "x": "240", - "y": "0", - "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": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "186", + "measuredH": "25", + "x": "26", + "y": "11", + "properties": { + "size": "17", + "text": "Performance Monitoring" } } ] @@ -15373,17 +12708,17 @@ } }, { - "ID": "2980", + "ID": "3649", "typeID": "__group__", - "zOrder": "261", - "measuredW": "255", + "zOrder": "86", + "measuredW": "233", "measuredH": "47", - "w": "255", + "w": "233", "h": "47", - "x": "933", - "y": "2684", + "x": "1012", + "y": "959", "properties": { - "controlName": "109-availability" + "controlName": "105-live-in-terminal:networking-tools" }, "children": { "controls": { @@ -15392,7 +12727,7 @@ "ID": "0", "typeID": "TextArea", "zOrder": "0", - "w": "255", + "w": "233", "h": "47", "measuredW": "200", "measuredH": "140", @@ -15406,13 +12741,13 @@ "ID": "1", "typeID": "Label", "zOrder": "1", - "measuredW": "80", + "measuredW": "131", "measuredH": "25", - "x": "88", + "x": "51", "y": "11", "properties": { - "text": "Availability", - "size": "17" + "size": "17", + "text": "Networking Tools" } } ] @@ -15420,17 +12755,17 @@ } }, { - "ID": "2981", + "ID": "3650", "typeID": "__group__", - "zOrder": "262", - "measuredW": "254", + "zOrder": "89", + "measuredW": "233", "measuredH": "47", - "w": "254", + "w": "233", "h": "47", - "x": "934", - "y": "2738", + "x": "1012", + "y": "1011", "properties": { - "controlName": "110-data-management" + "controlName": "106-live-in-terminal:text-manipulation" }, "children": { "controls": { @@ -15439,7 +12774,7 @@ "ID": "0", "typeID": "TextArea", "zOrder": "0", - "w": "254", + "w": "233", "h": "47", "measuredW": "200", "measuredH": "140", @@ -15453,13 +12788,13 @@ "ID": "1", "typeID": "Label", "zOrder": "1", - "measuredW": "144", + "measuredW": "135", "measuredH": "25", - "x": "55", + "x": "49", "y": "11", "properties": { - "text": "Data Management", - "size": "17" + "size": "17", + "text": "Text Manipulation" } } ] @@ -15467,17 +12802,17 @@ } }, { - "ID": "2982", + "ID": "3657", "typeID": "__group__", - "zOrder": "263", - "measuredW": "255", + "zOrder": "92", + "measuredW": "83", "measuredH": "47", - "w": "255", + "w": "83", "h": "47", - "x": "933", - "y": "2793", + "x": "741", + "y": "1012", "properties": { - "controlName": "111-design-and-implementation" + "controlName": "100-version-control-systems:git" }, "children": { "controls": { @@ -15486,11 +12821,11 @@ "ID": "0", "typeID": "TextArea", "zOrder": "0", - "w": "255", + "w": "70", "h": "47", "measuredW": "200", "measuredH": "140", - "x": "0", + "x": "13", "y": "0", "properties": { "color": "16770457" @@ -15500,13 +12835,45 @@ "ID": "1", "typeID": "Label", "zOrder": "1", - "measuredW": "212", + "measuredW": "22", "measuredH": "25", - "x": "22", + "x": "37", "y": "11", "properties": { - "text": "Design and Implementation", - "size": "17" + "size": "17", + "text": "Git" + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "12", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "3", + "typeID": "Icon", + "zOrder": "3", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "12", + "properties": { + "color": "10027263", + "icon": { + "ID": "check-circle", + "size": "small" + } } } ] @@ -15514,17 +12881,17 @@ } }, { - "ID": "2983", + "ID": "3662", "typeID": "__group__", - "zOrder": "264", - "measuredW": "255", - "measuredH": "47", - "w": "255", - "h": "47", - "x": "933", - "y": "2847", + "zOrder": "244", + "measuredW": "168", + "measuredH": "50", + "w": "168", + "h": "50", + "x": "536", + "y": "1099", "properties": { - "controlName": "112-management-and-monitoring" + "controlName": "104-vcs-hosting" }, "children": { "controls": { @@ -15533,27 +12900,27 @@ "ID": "0", "typeID": "TextArea", "zOrder": "0", - "w": "255", - "h": "47", + "w": "168", + "h": "50", "measuredW": "200", "measuredH": "140", "x": "0", "y": "0", "properties": { - "color": "16770457" + "color": "16776960" } }, { "ID": "1", "typeID": "Label", "zOrder": "1", - "measuredW": "223", + "measuredW": "97", "measuredH": "25", - "x": "16", - "y": "11", + "x": "35", + "y": "13", "properties": { - "text": "Management and Monitoring", - "size": "17" + "size": "17", + "text": "VCS Hosting" } } ] @@ -15561,46 +12928,49 @@ } }, { - "ID": "2984", - "typeID": "Arrow", - "zOrder": "265", - "w": "1", - "h": "77", - "measuredW": "150", - "measuredH": "100", - "x": "668", - "y": "2951", + "ID": "3669", + "typeID": "Icon", + "zOrder": "95", + "measuredW": "24", + "measuredH": "24", + "x": "554", + "y": "973", "properties": { - "color": "2848996", - "direction": "bottom", - "leftArrow": "false", - "p0": { - "x": 0, - "y": 76 - }, - "p1": { - "x": 0.4687474151479224, - "y": -0.0047699137004053056 - }, - "p2": { - "x": 0, - "y": -0.5 + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "3670", + "typeID": "Icon", + "zOrder": "96", + "measuredW": "24", + "measuredH": "24", + "x": "554", + "y": "973", + "properties": { + "icon": { + "ID": "check-circle", + "size": "small" }, - "rightArrow": "false" + "color": "3700253" } }, { - "ID": "2985", + "ID": "3671", "typeID": "__group__", - "zOrder": "266", - "measuredW": "160", + "zOrder": "93", + "measuredW": "108", "measuredH": "47", - "w": "160", + "w": "108", "h": "47", - "x": "119", - "y": "2523", + "x": "567", + "y": "910", "properties": { - "controlName": "103-monitoring:logs-management:loki" + "controlName": "100-vcs-hosting:github" }, "children": { "controls": { @@ -15609,11 +12979,11 @@ "ID": "0", "typeID": "TextArea", "zOrder": "0", - "w": "149", + "w": "108", "h": "47", "measuredW": "200", "measuredH": "140", - "x": "11", + "x": "0", "y": "0", "properties": { "color": "16770457" @@ -15623,62 +12993,13 @@ "ID": "1", "typeID": "Label", "zOrder": "1", - "measuredW": "32", + "measuredW": "54", "measuredH": "25", - "x": "70", + "x": "27", "y": "11", "properties": { - "text": "Loki", - "size": "17" - } - }, - { - "ID": "3", - "typeID": "__group__", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "w": "24", - "h": "24", - "x": "0", - "y": "12", - "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": "10027263", - "icon": { - "ID": "check-circle", - "size": "small" - } - } - } - ] - } + "size": "17", + "text": "GitHub" } } ] @@ -15686,17 +13007,17 @@ } }, { - "ID": "2986", + "ID": "3674", "typeID": "__group__", - "zOrder": "267", - "measuredW": "89", - "measuredH": "160", - "w": "89", - "h": "160", - "x": "853", - "y": "1564", + "zOrder": "94", + "measuredW": "112", + "measuredH": "47", + "w": "112", + "h": "47", + "x": "565", + "y": "961", "properties": { - "controlName": "104-infrastructure-as-code:gitops" + "controlName": "101-vcs-hosting:gitlab" }, "children": { "controls": { @@ -15705,24 +13026,27 @@ "ID": "0", "typeID": "TextArea", "zOrder": "0", - "w": "89", - "h": "160", + "w": "112", + "h": "47", "measuredW": "200", "measuredH": "140", "x": "0", - "y": "0" + "y": "0", + "properties": { + "color": "16770457" + } }, { "ID": "1", "typeID": "Label", "zOrder": "1", - "measuredW": "54", + "measuredW": "51", "measuredH": "25", - "x": "18", - "y": "123", + "x": "30", + "y": "11", "properties": { "size": "17", - "text": "GitOps" + "text": "GitLab" } } ] @@ -15730,17 +13054,17 @@ } }, { - "ID": "2987", + "ID": "3675", "typeID": "__group__", - "zOrder": "268", - "measuredW": "108", + "zOrder": "97", + "measuredW": "112", "measuredH": "47", - "w": "108", + "w": "112", "h": "47", - "x": "867", - "y": "1575", + "x": "565", + "y": "1012", "properties": { - "controlName": "100-infrastructure-as-code:gitops:argo-cd" + "controlName": "102-vcs-hosting:bitbucket" }, "children": { "controls": { @@ -15749,7 +13073,7 @@ "ID": "0", "typeID": "TextArea", "zOrder": "0", - "w": "99", + "w": "112", "h": "47", "measuredW": "200", "measuredH": "140", @@ -15763,62 +13087,13 @@ "ID": "1", "typeID": "Label", "zOrder": "1", - "measuredW": "61", + "measuredW": "73", "measuredH": "25", - "x": "15", + "x": "21", "y": "11", "properties": { "size": "17", - "text": "ArgoCD" - } - }, - { - "ID": "2", - "typeID": "__group__", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "w": "24", - "h": "24", - "x": "84", - "y": "12", - "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": "10027263", - "icon": { - "ID": "check-circle", - "size": "small" - } - } - } - ] - } + "text": "Bitbucket" } } ] @@ -15826,17 +13101,17 @@ } }, { - "ID": "2988", + "ID": "3683", "typeID": "__group__", - "zOrder": "269", - "measuredW": "108", + "zOrder": "117", + "measuredW": "179", "measuredH": "47", - "w": "108", + "w": "179", "h": "47", - "x": "868", - "y": "1628", + "x": "466", + "y": "1259", "properties": { - "controlName": "101-infrastructure-as-code:gitops:flux-cd" + "controlName": "ext_link:roadmap.sh/docker" }, "children": { "controls": { @@ -15845,14 +13120,15 @@ "ID": "0", "typeID": "TextArea", "zOrder": "0", - "w": "99", + "w": "167", "h": "47", "measuredW": "200", "measuredH": "140", "x": "0", "y": "0", "properties": { - "color": "16770457" + "color": "4273622", + "borderColor": "4273622" } }, { @@ -15861,78 +13137,62 @@ "zOrder": "1", "measuredW": "56", "measuredH": "25", - "x": "16", + "x": "56", "y": "11", "properties": { + "text": "Docker", "size": "17", - "text": "FluxCD" + "color": "16777215" } }, { "ID": "2", - "typeID": "__group__", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "w": "24", - "h": "24", - "x": "84", - "y": "10", - "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": { - "icon": { - "ID": "check-circle", - "size": "small" - }, - "color": "3700253" - } - } - ] + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "155", + "y": "11", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" } } + }, + { + "ID": "3", + "typeID": "Icon", + "zOrder": "3", + "measuredW": "24", + "measuredH": "24", + "x": "155", + "y": "11", + "properties": { + "icon": { + "ID": "check-circle", + "size": "small" + }, + "color": "4273622" + } } ] } } }, { - "ID": "2989", + "ID": "3684", "typeID": "__group__", - "zOrder": "270", - "measuredW": "140", - "measuredH": "162", - "w": "140", - "h": "162", - "x": "1027", - "y": "1563", + "zOrder": "205", + "measuredW": "226", + "measuredH": "47", + "w": "226", + "h": "47", + "x": "561", + "y": "1747", "properties": { - "controlName": "100-infrastructure-as-code:service-mesh" + "controlName": "109-serverless" }, "children": { "controls": { @@ -15941,23 +13201,26 @@ "ID": "0", "typeID": "TextArea", "zOrder": "0", - "w": "140", - "h": "162", + "w": "226", + "h": "47", "measuredW": "200", "measuredH": "140", "x": "0", - "y": "0" + "y": "0", + "properties": { + "color": "16776960" + } }, { "ID": "1", "typeID": "Label", "zOrder": "1", - "measuredW": "105", + "measuredW": "82", "measuredH": "25", - "x": "17", - "y": "122", + "x": "72", + "y": "11", "properties": { - "text": "Service Mesh", + "text": "Serverless", "size": "17" } } @@ -15966,17 +13229,17 @@ } }, { - "ID": "2990", + "ID": "3685", "typeID": "__group__", - "zOrder": "271", - "measuredW": "110", + "zOrder": "206", + "measuredW": "179", "measuredH": "47", - "w": "110", + "w": "179", "h": "47", - "x": "1101", - "y": "1575", + "x": "506", + "y": "1567", "properties": { - "controlName": "100-infrastructure-as-code:service-mesh:consul" + "controlName": "100-serverless:cloudflare" }, "children": { "controls": { @@ -15985,11 +13248,11 @@ "ID": "0", "typeID": "TextArea", "zOrder": "0", - "w": "99", + "w": "168", "h": "47", "measuredW": "200", "measuredH": "140", - "x": "0", + "x": "11", "y": "0", "properties": { "color": "16770457" @@ -15999,13 +13262,13 @@ "ID": "1", "typeID": "Label", "zOrder": "1", - "measuredW": "54", + "measuredW": "79", "measuredH": "25", - "x": "25", + "x": "55", "y": "11", "properties": { - "text": "Consul", - "size": "17" + "size": "17", + "text": "Cloudflare" } }, { @@ -16016,7 +13279,7 @@ "measuredH": "24", "w": "24", "h": "24", - "x": "86", + "x": "0", "y": "12", "children": { "controls": { @@ -16062,17 +13325,17 @@ } }, { - "ID": "2991", + "ID": "3686", "typeID": "__group__", - "zOrder": "272", - "measuredW": "107", + "zOrder": "207", + "measuredW": "159", "measuredH": "47", - "w": "107", + "w": "159", "h": "47", - "x": "989", - "y": "1575", + "x": "689", + "y": "1567", "properties": { - "controlName": "101-infrastructure-as-code:service-mesh:istio" + "controlName": "101-serverless:aws-lambda" }, "children": { "controls": { @@ -16081,11 +13344,11 @@ "ID": "0", "typeID": "TextArea", "zOrder": "0", - "w": "99", + "w": "151", "h": "47", "measuredW": "200", "measuredH": "140", - "x": "8", + "x": "0", "y": "0", "properties": { "color": "16770457" @@ -16095,13 +13358,13 @@ "ID": "1", "typeID": "Label", "zOrder": "1", - "measuredW": "33", + "measuredW": "102", "measuredH": "25", - "x": "40", - "y": "9", + "x": "19", + "y": "11", "properties": { - "text": "Istio", - "size": "17" + "size": "17", + "text": "AWS Lambda" } }, { @@ -16112,8 +13375,8 @@ "measuredH": "24", "w": "24", "h": "24", - "x": "0", - "y": "10", + "x": "135", + "y": "13", "children": { "controls": { "control": [ @@ -16158,17 +13421,17 @@ } }, { - "ID": "2992", + "ID": "3687", "typeID": "__group__", - "zOrder": "273", - "measuredW": "109", + "zOrder": "208", + "measuredW": "179", "measuredH": "47", - "w": "109", + "w": "179", "h": "47", - "x": "1101", - "y": "1627", + "x": "506", + "y": "1617", "properties": { - "controlName": "102-infrastructure-as-code:service-mesh:envoy" + "controlName": "102-serverless:azure-functions" }, "children": { "controls": { @@ -16177,11 +13440,11 @@ "ID": "0", "typeID": "TextArea", "zOrder": "0", - "w": "99", + "w": "168", "h": "47", "measuredW": "200", "measuredH": "140", - "x": "0", + "x": "11", "y": "0", "properties": { "color": "16770457" @@ -16191,13 +13454,13 @@ "ID": "1", "typeID": "Label", "zOrder": "1", - "measuredW": "47", + "measuredW": "124", "measuredH": "25", - "x": "29", + "x": "33", "y": "11", "properties": { - "text": "Envoy", - "size": "17" + "size": "17", + "text": "Azure Functions" } }, { @@ -16208,7 +13471,7 @@ "measuredH": "24", "w": "24", "h": "24", - "x": "85", + "x": "0", "y": "12", "children": { "controls": { @@ -16238,27 +13501,11 @@ "x": "0", "y": "0", "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "2", - "typeID": "Icon", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "color": "3700253", "icon": { "ID": "check-circle", "size": "small" - } + }, + "color": "3700253" } } ] @@ -16270,17 +13517,17 @@ } }, { - "ID": "2993", + "ID": "3688", "typeID": "__group__", - "zOrder": "274", - "measuredW": "108", + "zOrder": "209", + "measuredW": "159", "measuredH": "47", - "w": "108", + "w": "159", "h": "47", - "x": "988", - "y": "1626", + "x": "689", + "y": "1617", "properties": { - "controlName": "103-infrastructure-as-code:service-mesh:linkerd" + "controlName": "103-serverless:gcp-functions" }, "children": { "controls": { @@ -16289,11 +13536,11 @@ "ID": "0", "typeID": "TextArea", "zOrder": "0", - "w": "99", + "w": "151", "h": "47", "measuredW": "200", "measuredH": "140", - "x": "9", + "x": "0", "y": "0", "properties": { "color": "16770457" @@ -16303,13 +13550,13 @@ "ID": "1", "typeID": "Label", "zOrder": "1", - "measuredW": "58", + "measuredW": "116", "measuredH": "25", - "x": "32", + "x": "13", "y": "11", "properties": { - "text": "Linkerd", - "size": "17" + "size": "17", + "text": "GCP Functions" } }, { @@ -16320,8 +13567,8 @@ "measuredH": "24", "w": "24", "h": "24", - "x": "0", - "y": "12", + "x": "135", + "y": "13", "children": { "controls": { "control": [ @@ -16350,27 +13597,11 @@ "x": "0", "y": "0", "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "2", - "typeID": "Icon", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "color": "3700253", "icon": { "ID": "check-circle", "size": "small" - } + }, + "color": "3700253" } } ] @@ -16382,61 +13613,17 @@ } }, { - "ID": "2994", - "typeID": "__group__", - "zOrder": "275", - "measuredW": "237", - "measuredH": "202", - "w": "237", - "h": "202", - "x": "964", - "y": "1740", - "properties": { - "controlName": "105-infrastructure-as-code:secret-management" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "237", - "h": "202", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0" - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "158", - "measuredH": "25", - "x": "39", - "y": "10", - "properties": { - "size": "17", - "text": "Secret Management" - } - } - ] - } - } - }, - { - "ID": "2995", + "ID": "3689", "typeID": "__group__", - "zOrder": "276", - "measuredW": "108", + "zOrder": "210", + "measuredW": "179", "measuredH": "47", - "w": "108", + "w": "179", "h": "47", - "x": "971", - "y": "1783", + "x": "506", + "y": "1667", "properties": { - "controlName": "100-infrastructure-as-code:secret-management:vault" + "controlName": "104-serverless:vercel" }, "children": { "controls": { @@ -16445,11 +13632,11 @@ "ID": "0", "typeID": "TextArea", "zOrder": "0", - "w": "99", + "w": "168", "h": "47", "measuredW": "200", "measuredH": "140", - "x": "9", + "x": "11", "y": "0", "properties": { "color": "16770457" @@ -16459,13 +13646,13 @@ "ID": "1", "typeID": "Label", "zOrder": "1", - "measuredW": "38", + "measuredW": "48", "measuredH": "25", - "x": "40", + "x": "72", "y": "11", "properties": { "size": "17", - "text": "Vault" + "text": "Vercel" } }, { @@ -16506,11 +13693,11 @@ "x": "0", "y": "0", "properties": { - "color": "10027263", "icon": { "ID": "check-circle", "size": "small" - } + }, + "color": "3700253" } } ] @@ -16522,17 +13709,17 @@ } }, { - "ID": "2996", + "ID": "3690", "typeID": "__group__", - "zOrder": "277", - "measuredW": "216", + "zOrder": "211", + "measuredW": "161", "measuredH": "47", - "w": "216", + "w": "161", "h": "47", - "x": "979", - "y": "1834", + "x": "689", + "y": "1667", "properties": { - "controlName": "102-infrastructure-as-code:secret-management:sealed-secrets" + "controlName": "105-serverless:netlify" }, "children": { "controls": { @@ -16541,7 +13728,7 @@ "ID": "0", "typeID": "TextArea", "zOrder": "0", - "w": "205", + "w": "152", "h": "47", "measuredW": "200", "measuredH": "140", @@ -16555,13 +13742,13 @@ "ID": "1", "typeID": "Label", "zOrder": "1", - "measuredW": "117", + "measuredW": "49", "measuredH": "25", - "x": "44", - "y": "11", + "x": "51", + "y": "10", "properties": { "size": "17", - "text": "Sealed Secrets" + "text": "Netlify" } }, { @@ -16572,7 +13759,7 @@ "measuredH": "24", "w": "24", "h": "24", - "x": "192", + "x": "137", "y": "12", "children": { "controls": { @@ -16606,55 +13793,11 @@ "ID": "check-circle", "size": "small" }, - "color": "3700253" - } - } - ] - } - } - } - ] - } - } - }, - { - "ID": "2997", - "typeID": "__group__", - "zOrder": "278", - "measuredW": "194", - "measuredH": "206", - "w": "194", - "h": "206", - "x": "747", - "y": "1962", - "properties": { - "controlName": "102-infrastructure-as-code:configuration-management" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "194", - "h": "206", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0" - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "155", - "measuredH": "25", - "x": "19", - "y": "12", - "properties": { - "size": "17", - "text": "Configuration Mgmt." + "color": "3700253" + } + } + ] + } } } ] @@ -16662,57 +13805,30 @@ } }, { - "ID": "2998", + "ID": "3691", "typeID": "__group__", - "zOrder": "279", - "measuredW": "163", + "zOrder": "171", + "measuredW": "200", "measuredH": "47", - "w": "163", + "w": "200", "h": "47", - "x": "764", - "y": "2008", + "x": "770", + "y": "2660", "properties": { - "controlName": "100-infrastructure-as-code:configuration-management:ansible" + "controlName": "ext_link:roadmap.sh/kubernetes" }, "children": { "controls": { "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "154", - "h": "47", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, { "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "56", - "measuredH": "25", - "x": "46", - "y": "11", - "properties": { - "text": "Ansible", - "size": "17" - } - }, - { - "ID": "2", "typeID": "__group__", "zOrder": "2", "measuredW": "24", "measuredH": "24", "w": "24", "h": "24", - "x": "139", + "x": "176", "y": "12", "children": { "controls": { @@ -16742,33 +13858,62 @@ "x": "0", "y": "0", "properties": { - "color": "10027263", "icon": { "ID": "check-circle", "size": "small" - } + }, + "color": "4273622" } } ] } } + }, + { + "ID": "2", + "typeID": "TextArea", + "zOrder": "0", + "w": "192", + "h": "47", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0", + "properties": { + "color": "4273622", + "borderColor": "4273622" + } + }, + { + "ID": "3", + "typeID": "Label", + "zOrder": "1", + "measuredW": "90", + "measuredH": "25", + "x": "51", + "y": "11", + "properties": { + "size": "17", + "color": "16777215", + "text": "Kubernetes" + } } ] } } }, { - "ID": "2999", + "ID": "3692", "typeID": "__group__", - "zOrder": "280", - "measuredW": "162", - "measuredH": "47", - "w": "162", - "h": "47", - "x": "764", - "y": "2058", + "zOrder": "172", + "measuredW": "202", + "measuredH": "46", + "w": "202", + "h": "46", + "x": "773", + "y": "2396", "properties": { - "controlName": "101-infrastructure-as-code:configuration-management:chef" + "controlName": "101-containers:gke-eks-aks" }, "children": { "controls": { @@ -16777,8 +13922,8 @@ "ID": "0", "typeID": "TextArea", "zOrder": "0", - "w": "154", - "h": "47", + "w": "193", + "h": "46", "measuredW": "200", "measuredH": "140", "x": "0", @@ -16791,13 +13936,13 @@ "ID": "1", "typeID": "Label", "zOrder": "1", - "measuredW": "37", + "measuredW": "133", "measuredH": "25", - "x": "56", - "y": "11", + "x": "30", + "y": "10", "properties": { - "text": "Chef", - "size": "17" + "size": "17", + "text": "GKE / EKS / AKS" } }, { @@ -16808,8 +13953,8 @@ "measuredH": "24", "w": "24", "h": "24", - "x": "138", - "y": "12", + "x": "178", + "y": "11", "children": { "controls": { "control": [ @@ -16870,17 +14015,17 @@ } }, { - "ID": "3000", + "ID": "3693", "typeID": "__group__", - "zOrder": "281", - "measuredW": "163", - "measuredH": "47", - "w": "163", - "h": "47", - "x": "764", - "y": "2108", + "zOrder": "173", + "measuredW": "202", + "measuredH": "46", + "w": "202", + "h": "46", + "x": "773", + "y": "2446", "properties": { - "controlName": "103-infrastructure-as-code:configuration-management:puppet" + "controlName": "102-containers:ecs-fargate" }, "children": { "controls": { @@ -16889,8 +14034,8 @@ "ID": "0", "typeID": "TextArea", "zOrder": "0", - "w": "154", - "h": "47", + "w": "193", + "h": "46", "measuredW": "200", "measuredH": "140", "x": "0", @@ -16903,13 +14048,13 @@ "ID": "1", "typeID": "Label", "zOrder": "1", - "measuredW": "56", + "measuredW": "150", "measuredH": "25", - "x": "47", - "y": "11", + "x": "16", + "y": "10", "properties": { - "text": "Puppet", - "size": "17" + "size": "17", + "text": "AWS ECS / Fargate" } }, { @@ -16920,8 +14065,8 @@ "measuredH": "24", "w": "24", "h": "24", - "x": "139", - "y": "12", + "x": "178", + "y": "11", "children": { "controls": { "control": [ @@ -16982,17 +14127,17 @@ } }, { - "ID": "3001", + "ID": "3694", "typeID": "__group__", - "zOrder": "282", - "measuredW": "113", + "zOrder": "234", + "measuredW": "235", "measuredH": "47", - "w": "113", + "w": "235", "h": "47", - "x": "1083", - "y": "1783", + "x": "1070", + "y": "2524", "properties": { - "controlName": "101-infrastructure-as-code:secret-management:sops" + "controlName": "118-artifcats" }, "children": { "controls": { @@ -17001,76 +14146,27 @@ "ID": "0", "typeID": "TextArea", "zOrder": "0", - "w": "101", + "w": "235", "h": "47", "measuredW": "200", "measuredH": "140", "x": "0", "y": "0", "properties": { - "color": "16770457" + "color": "16776960" } }, { "ID": "1", "typeID": "Label", "zOrder": "1", - "measuredW": "45", + "measuredW": "162", "measuredH": "25", - "x": "29", + "x": "37", "y": "11", "properties": { "size": "17", - "text": "SOPS" - } - }, - { - "ID": "2", - "typeID": "__group__", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "w": "24", - "h": "24", - "x": "89", - "y": "12", - "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": { - "icon": { - "ID": "check-circle", - "size": "small" - }, - "color": "3700253" - } - } - ] - } + "text": "Artifact Management" } } ] @@ -17078,17 +14174,17 @@ } }, { - "ID": "3002", + "ID": "3695", "typeID": "__group__", - "zOrder": "283", - "measuredW": "216", + "zOrder": "139", + "measuredW": "126", "measuredH": "47", - "w": "216", + "w": "126", "h": "47", - "x": "979", - "y": "1885", + "x": "1060", + "y": "2398", "properties": { - "controlName": "103-infrastructure-as-code:secret-management:cloud-specific-tools" + "controlName": "100-artifcats:artifactory" }, "children": { "controls": { @@ -17097,11 +14193,11 @@ "ID": "0", "typeID": "TextArea", "zOrder": "0", - "w": "205", + "w": "116", "h": "47", "measuredW": "200", "measuredH": "140", - "x": "0", + "x": "10", "y": "0", "properties": { "color": "16770457" @@ -17111,182 +14207,124 @@ "ID": "1", "typeID": "Label", "zOrder": "1", - "measuredW": "154", + "measuredW": "79", "measuredH": "25", - "x": "25", + "x": "28", "y": "11", "properties": { "size": "17", - "text": "Cloud Specific Tools" + "text": "Artifactory" } }, { "ID": "2", - "typeID": "__group__", + "typeID": "Icon", "zOrder": "2", "measuredW": "24", "measuredH": "24", - "w": "24", - "h": "24", - "x": "192", - "y": "12", - "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": { - "icon": { - "ID": "check-circle", - "size": "small" - }, - "color": "3700253" - } - } - ] + "x": "0", + "y": "11", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" } } - } - ] - } - } - }, - { - "ID": "3003", - "typeID": "Canvas", - "zOrder": "284", - "w": "420", - "h": "180", - "measuredW": "100", - "measuredH": "70", - "x": "59", - "y": "197" - }, - { - "ID": "3004", - "typeID": "Label", - "zOrder": "285", - "measuredW": "263", - "measuredH": "28", - "x": "78", - "y": "217", - "properties": { - "size": "20", - "text": "Featured DevOps Resources" + }, + { + "ID": "3", + "typeID": "Icon", + "zOrder": "3", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "11", + "properties": { + "color": "10027263", + "icon": { + "ID": "check-circle", + "size": "small" + } + } + } + ] + } } }, { - "ID": "3005", + "ID": "3696", "typeID": "__group__", - "zOrder": "286", - "measuredW": "287", - "measuredH": "27", - "w": "287", - "h": "27", - "x": "75", - "y": "254", + "zOrder": "140", + "measuredW": "102", + "measuredH": "47", + "w": "102", + "h": "47", + "x": "1192", + "y": "2398", "properties": { - "controlName": "ext_link:www.digistore24.com/redir/350808/Roadmap/CAMPAIGNKEY" + "controlName": "101-artifcats:nexus" }, "children": { "controls": { "control": [ { "ID": "0", - "typeID": "Label", + "typeID": "TextArea", "zOrder": "0", - "measuredW": "212", - "measuredH": "25", - "x": "34", + "w": "90", + "h": "47", + "measuredW": "200", + "measuredH": "140", + "x": "0", "y": "0", "properties": { - "size": "17", - "text": "DevOps Bootcamp by Nana" + "color": "16770457" } }, { "ID": "1", - "typeID": "__group__", + "typeID": "Label", "zOrder": "1", + "measuredW": "49", + "measuredH": "25", + "x": "18", + "y": "11", + "properties": { + "size": "17", + "text": "Nexus" + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", "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" - } - } - } - ] + "x": "78", + "y": "11", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" } } }, { - "ID": "2", - "typeID": "Label", - "zOrder": "2", - "measuredW": "34", - "measuredH": "25", - "x": "253", - "y": "0", + "ID": "3", + "typeID": "Icon", + "zOrder": "3", + "measuredW": "24", + "measuredH": "24", + "x": "78", + "y": "11", "properties": { - "color": "10027263", - "size": "17", - "text": "Paid" + "icon": { + "ID": "check-circle", + "size": "small" + }, + "color": "3700253" } } ] @@ -17294,163 +14332,78 @@ } }, { - "ID": "3006", - "typeID": "Canvas", - "zOrder": "287", - "w": "420", - "h": "89", - "measuredW": "100", - "measuredH": "70", - "x": "59", - "y": "326" - }, - { - "ID": "3007", - "typeID": "Label", - "zOrder": "288", - "measuredW": "372", - "measuredH": "25", - "x": "78", - "y": "372", - "properties": { - "size": "17", - "text": "from these help offset roadmap.sh running costs." - } - }, - { - "ID": "3008", - "typeID": "Label", - "zOrder": "289", - "measuredW": "337", - "measuredH": "25", - "x": "78", - "y": "344", - "properties": { - "size": "17", - "text": "These are affiliate links. Revenue generated" - } - }, - { - "ID": "3009", - "typeID": "Arrow", - "zOrder": "290", - "w": "96", - "h": "3", - "measuredW": "150", - "measuredH": "100", - "x": "40", - "y": "436", - "properties": { - "curvature": "-1", - "direction": "bottom", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "p0": { - "x": 0, - "y": -0.5 - }, - "p1": { - "x": 0.38117461229178634, - "y": -0.010697874784606601 - }, - "p2": { - "x": 96, - "y": 2 - }, - "color": "16777215" - } - }, - { - "ID": "3010", + "ID": "3697", "typeID": "__group__", - "zOrder": "291", - "measuredW": "298", - "measuredH": "27", - "w": "298", - "h": "27", - "x": "76", - "y": "284", + "zOrder": "141", + "measuredW": "222", + "measuredH": "47", + "w": "222", + "h": "47", + "x": "1071", + "y": "2450", "properties": { - "controlName": "ext_link:kodekloud.com?aff=kamranahmed.se" + "controlName": "102-artifcats:cloud-smith" }, "children": { "controls": { "control": [ { "ID": "0", - "typeID": "Label", + "typeID": "TextArea", "zOrder": "0", - "measuredW": "220", - "measuredH": "25", - "x": "34", + "w": "213", + "h": "47", + "measuredW": "200", + "measuredH": "140", + "x": "0", "y": "0", "properties": { - "size": "17", - "text": "KodeCloud DevOps Courses" + "color": "16770457" } }, { "ID": "1", - "typeID": "__group__", + "typeID": "Label", "zOrder": "1", + "measuredW": "92", + "measuredH": "25", + "x": "54", + "y": "11", + "properties": { + "size": "17", + "text": "Cloud Smith" + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", "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" - } - } - } - ] + "x": "198", + "y": "12", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" } } }, { - "ID": "2", - "typeID": "Label", - "zOrder": "2", - "measuredW": "34", - "measuredH": "25", - "x": "264", - "y": "0", + "ID": "3", + "typeID": "Icon", + "zOrder": "3", + "measuredW": "24", + "measuredH": "24", + "x": "198", + "y": "12", "properties": { - "color": "10027263", - "size": "17", - "text": "Paid" + "icon": { + "ID": "check-circle", + "size": "small" + }, + "color": "3700253" } } ] @@ -17460,17 +14413,17 @@ ] }, "attributes": { - "name": "New Wireframe 9 copy", - "order": 1000116.0868550346, + "name": "New Wireframe 9 copy 9", + "order": 1000122.1496095511, "parentID": null, "notes": null }, "branchID": "Master", - "resourceID": "73A38172-E66F-4B8C-9525-DB6AC79E153D", - "mockupH": "2977", - "mockupW": "1183", - "measuredW": "1223", - "measuredH": "3028", + "resourceID": "79F28487-0686-45F5-AAE9-1EB0FBE95283", + "mockupH": "3273", + "mockupW": "1241", + "measuredW": "1388", + "measuredH": "3317", "version": "1.0" }, "groupOffset": {