Demystifying Skaffold's architecture
As mentioned in the previous section, Skaffold has been designed with pluggability in mind. The following is a visualization of the Skaffold architecture:
From this architecture diagram, you can conclude that Skaffold has a modular design. However, what is a modular design?
Well, a modular design, or modularity in design, is a design principle that subdivides a system into smaller parts called modules, which can be independently created, modified, replaced, or exchanged with other modules or between different systems.
With this definition, we can define the following modules for Skaffold:
- Container image builders
- Container testing tools/strategy
- Container image taggers
- Container deployment tools
Now, let's discuss each of these tools/modules in more detail. Currently, Skaffold supports the following container image builders:
-
...