* setup network page * add Network, Image, Container * Docker ListItems and Inspects * frontend build * dev0 * network info working * fix cargo lock * dev1 * pages for the things * implement Active in dashboard * RunBuild update trigger list refresh * rename deployment executions to StartDeployment etc * add server level container control * dev2 * add Config field to Image * can get image labels from Config.Labels * mount container page * server show resource count * add GetContainerLog api * add _AllContainers api * dev3 * move ResourceTarget to entities mod * GetResourceMatchingContainer api * connect container to resource * dev4 add volume names to container list items * ts types * volume / image / network unused management * add image history to image page * fix PruneContainers incorret Operation * update cache for server for server after server actions * dev5 * add singapore to Hetzner * implement delete single network / image / volume api * dev6 * include "in use" on Docker Lists * add docker resource delete buttons * is nice * fix volume all in use * remove google font dependency * use host networking in test compose * implement Secret Variables (hidden in logs) * remove unneeded borrow * interpolate variables / secrets into extra args / onclone / onpull / command etc * validate empty strings before SelectItem * rename everything to Komodo * rename workspace to komodo * rc1
2.9 KiB
Resources
Komodo is extendible through the Resource abstraction. Entities like Server, Deployment, and Stack are all Komodo Resources.
All resources have common traits, such as a unique name and id amongst all other resources of the same resource type.
All resources can be assigned tags, which can be used to group related resources.
:::note Many resources need access to git repos / docker registries. There is an in-built token management system (managed in UI or in config file) to give resources access to credentials. All resources which depend on git repos / docker registries are able to use these credentials to access private repos. :::
Server
-- Configure the connection to periphery agents.
-- Set alerting thresholds.
-- Can be attached to Deployments, Stacks, Repos, and Builders.
Deployment
-- Deploy a docker container on the attached Server.
-- Manage services at the container level, perform orchestration using Procedures and ResourceSyncs.
Stack
-- Deploy with docker compose.
-- Provide the compose file in UI, or move the files to a git repo and use a webhook for auto redeploy on push.
-- Supports composing multiple compose files using docker compose -f ... -f ....
-- Pass environment variables usable within the compose file. Interpolate in app-wide variables / secrets.
Repo
-- Put scripts in git repos, and run them on a Server, or using a Builder.
-- Can build binaries, perform automation, really whatever you can think of.
Build
-- Build application source into docker images, and push them to the configured registry.
-- The source can be any git repo containing a Dockerfile.
Builder
-- Either points to a connected server, or holds configuration to launch a single-use AWS instance to build the image.
-- Can be attached to Builds and Repos.
Procedure
-- Compose many actions on other resource type, like RunBuild or DeployStack, and run it on button push (or with a webhook).
-- Can run one or more actions in parallel "stages", and compose a series of parallel stages to run sequentially.
ResourceSync
-- Orchestrate all your configuration declaratively by defining it in toml files, which are checked into a git repo.
-- Can deploy Deployments and Stacks if changes are suggested.
-- Specify deploy ordering with after array. (like docker compose depends_on but can span across servers.).
Alerter
-- Route alerts to various endpoints.
-- Can configure rules on each Alerter, such as resource whitelist, blacklist, or alert type filter.
ServerTemplate
-- Easily expand your cloud network by storing cloud server lauch templates on various providers.
-- Auto connect the server to Komodo on launch, using User Data launch scripts.