Architecture
Indryk can be installed on any infrastructure.
Public or private clouds, on-premises, virtual machines, even inside an existing Kubernetes cluster.
Below you can see an example infrastructure consisting of three servers
(two were divided into smaller virtual machines) and a
public cloud in which two independent Kubernetes clusters were created.
The public cloud hosts additional managed services used by customer applications.
Main components of Indryk platform
Web Portal
Provides real-time visualization and management of infrastructure/platform status.
Its launch is optional, if someone prefers management of the Indryk platform using CLI or GitOps, they do not have to run the Web Portal.
It can be run anywhere in the infrastructure (i.e., on a server, in the cloud or vm), but requires a network connection to all Ariters.
It is possible to run several Web Portals simultaneously and limit each of them to a selected group of users.
For example, a separate Web Portal for production and a separate one for other non-production environments.
Arbiter
Ensures communication and auto-discovery of Agents. He does not perform any complex and resource-consuming tasks himself, but distributes and coordinates the work of Agents.
It can be run anywhere in the infrastructure (i.e., on a server, in the cloud or vm), but requires a network connection to all Ariters.
One Arbiter is enough for proper operation, but any number of them can be activated to ensure high availability.
Agent
It performs the main tasks of the platform, collects telemetry data, and monitors the operation of the infrastructure. It is the essence of the platform.
It should run on every server, every virtual machine, and every Kubernetes cluster.
This solution protects the work of Agents against any network problems and guarantees linear scaling.
If your infrastructure consists of several thousand servers, this is not a problem for the Indryk platform.
Each Agent is responsible for a single server and there may be millions of them.
Agents Module
Git Server
If you do not have an external Git Server (e.g. GitHub, GitLab, BitBucket), you can easily run ours on any Agent.
Image Builder
Agent module responsible for building new Docker images.
Image Server
Often called Image Registry or Container Registry.
If you do not have an external Image Registry, you can easily run ours on any Agent.
Backup Server
Agent module that stores and maintains the retention of platform backups.
What, when and for how long should be backed up is determined in the module configuration.