Glossary
Quick-reference definitions. For deeper explanations, follow the linked pages.
Index
A · C · D · E · F · H · L · M · N · O · P · R · S · T · V · W
A
activate — The database column mapped to control whether a row provisions resources. Accepted truthy values: 1, true, TRUE, True, yes, YES, Yes. Everything else (including NULL) is inactive. → Datasource
appliedResources — A status field on LynqNode listing every resource currently managed, in kind/namespace/name@id format. Used for orphan detection: resources in appliedResources but not in the current template become orphans.
C
cascade deletion — Automatic deletion of child resources when a parent is deleted. Deleting a LynqHub removes all its LynqNode CRs; each LynqNode's finalizer then cleans up managed resources per their deletionPolicy. → Policy Operations
cert-manager — Required Kubernetes add-on (v1.13.0+) that provisions TLS certificates for Lynq's admission webhooks. → Installation
ConflictPolicy — Per-resource policy controlling behavior when SSA detects a field owner conflict. Stuck (default) stops reconciliation and marks the node Degraded; Force takes ownership with force=true. → Policies
CreationPolicy — Per-resource policy controlling update behavior. WhenNeeded (default) re-applies on every reconcile; Once creates the resource once and never updates it again. → Policies
CRD (Custom Resource Definition) — Kubernetes extension that adds new resource types. Lynq installs three: lynqhubs.operator.lynq.sh, lynqforms.operator.lynq.sh, lynqnodes.operator.lynq.sh.
D
DAG (Directed Acyclic Graph) — The dependency graph built from each resource's dependIds. Cycles are rejected at admission time. Lynq performs a topological sort to determine apply order.
dependIds — Array field on TResource. Lists IDs of resources that must be applied (and ready, if waitForReady: true) before this resource is processed. → Dependencies
DeletionPolicy — Per-resource policy controlling lifecycle on LynqNode deletion. Delete (default) uses ownerReference for automatic GC; Retain uses label-based tracking and leaves the resource in the cluster. Evaluated at creation time — not deletion time. → Policies
drift detection — The process of detecting and correcting manual changes to managed resources. Lynq uses event-driven watches (immediate) plus a 30-second periodic requeue for eventual consistency.
E
extraValueMappings — Optional LynqHub field for mapping additional database columns to template variables. extraValueMappings: planId: subscription_plan makes .planId available in all templates. → Datasource
F
fieldManager — SSA identifier marking which controller owns which fields. Lynq uses lynq as its field manager. Other controllers retain ownership of their own fields.
finalizer — Kubernetes mechanism preventing resource deletion until cleanup completes. Lynq adds lynqnode.operator.lynq.sh/finalizer to every LynqNode CR to ensure managed resources are cleaned up before the CR is removed.
Form Builder — A GUI tool in the Lynq dashboard for building LynqForm specs visually. → Form Builder
H
hub — Short for LynqHub. See LynqHub.
I
Infrastructure as Data (IaD) — The paradigm where database rows are the source of truth for infrastructure state. INSERT/UPDATE/DELETE rows → Kubernetes resources appear/change/disappear. → Introduction
L
LynqForm — CRD defining the Kubernetes resource blueprint for one set of active rows. Each form references a LynqHub and defines which resources (Deployments, Services, etc.) to create per active row, using Go templates. → API Reference
LynqHub — CRD defining the database connection (MySQL), sync interval, and column mappings. The hub queries the database and creates/deletes LynqNode CRs to match the active row set. → API Reference
LynqNode — CRD representing one active row × one LynqForm combination. Created automatically by the LynqHub controller. Tracks the status of all managed resources and drives reconciliation. → API Reference
lynq.sh/node — Label on cross-namespace resources and namespace resources. Value is the LynqNode CR name. Used for tracking when ownerReference can't be used.
lynq.sh/node-namespace — Label on cross-namespace resources. Value is the LynqNode namespace.
lynq.sh/orphaned — Label set to "true" on retained resources after the LynqNode is deleted or the resource is removed from the template. Find orphans: kubectl get all -A -l lynq.sh/orphaned=true.
M
multi-form — Configuration where one LynqHub is referenced by multiple LynqForms. Each active row × each form = one LynqNode. A hub with 5 active rows and 3 forms creates 15 LynqNodes.
N
nameTemplate — Go template string that generates metadata.name for a resource. Must produce a valid Kubernetes name (lowercase, alphanumeric, -) up to 63 characters. Use trunc63 to enforce the limit.
O
orphan — A resource previously managed by Lynq that is no longer in the template (or whose LynqNode was deleted). Resources with DeletionPolicy: Retain become orphans rather than being deleted.
orphan markers — Labels and annotations added to retained resources:
lynq.sh/orphaned: "true"lynq.sh/orphaned-at: (RFC3339 timestamp)lynq.sh/orphaned-reason: "RemovedFromTemplate"or"LynqNodeDeleted"
ownerReference — Kubernetes metadata establishing a parent-child GC relationship. Resources with DeletionPolicy: Delete have an ownerReference pointing to their LynqNode. Resources with DeletionPolicy: Retain do not.
P
PatchStrategy — Per-resource policy controlling how updates are applied. apply (default, SSA), merge (strategic merge patch), replace (full replacement). → Policies
R
RecordOps — Lynq's term for the practice of using database record operations (INSERT/UPDATE/DELETE) as the primary mechanism for infrastructure change. See Infrastructure as Data.
reconciliation — The control loop where the operator compares desired state (templates + DB rows) with actual cluster state and applies changes to converge them. Triggered by DB sync, CRD changes, child resource changes, and a 30-second periodic requeue.
S
Server-Side Apply (SSA) — Kubernetes API mechanism for declarative, field-manager-aware updates. Lynq uses SSA as the default apply method. Each controller owns only the fields it sets; other controllers own their fields independently.
skipOnDependencyFailure — Boolean field on TResource (default: true). When true, a resource is skipped if any of its dependencies failed. When false, it's applied regardless.
syncInterval — LynqHub field setting the database poll frequency. Format: Go duration (30s, 1m, 5m). Default: 1m. → Datasource
T
toHost — Custom template function. {{ .nodeUrl | toHost }} extracts the hostname from a URL string.
topological sort — Algorithm used to determine apply order from the dependency graph. Resources with no dependencies are applied first; dependents follow.
TResource — The base structure for every resource entry in a LynqForm. Holds id, spec, nameTemplate, dependIds, the four policies, and readiness settings. → API Reference
trunc63 — Custom template function. Truncates a string to 63 characters (the Kubernetes name length limit). Use in nameTemplate when UIDs may be long.
V
valueMappings — Required LynqHub field mapping database column names to the two required template variables: uid and activate. → Datasource
W
waitForReady — Boolean field on TResource (default: true). When true, Lynq waits for the resource's ready condition before applying dependent resources. → Dependencies
See Also
- Introduction — what Lynq is and when to use it
- Architecture — three-controller design
- Policies — CreationPolicy, DeletionPolicy, ConflictPolicy, PatchStrategy
- Templates — template syntax and available functions
