This page provides definitions for the domain-specific terminology, technical abbreviations, and jargon used within the Certimate codebase. It serves as a reference for engineers to understand the mapping between conceptual terms and their implementation in code.
An Access record stores authentication information required to interact with third-party services. This includes API keys, usernames, passwords, or tokens.
Access struct in internal/domain/access.go internal/domain/access.go9-16access internal/domain/access.go7Config field (a map[string]any) and cast to specific structs like AccessConfigForAliyun internal/domain/access.go68-72 AccessConfigForSSH internal/domain/access.go305-309 or AccessConfigFor1Panel internal/domain/access.go18-23A Provider represents a third-party service integration. Providers are categorized by their usage: DNS management, Hosting/Deployment, Certificate Authority (ACME), or Notifications.
internal/domain/provider.go internal/domain/provider.go15-120 and ui/src/domain/provider.ts ui/src/domain/provider.ts17-141DNS, HOSTING, CA, and NOTIFICATION ui/src/domain/provider.ts145-150accessProvidersMap maps these types to UI assets and usage categories ui/src/domain/provider.ts158-185A Workflow is an orchestrated sequence of nodes that automates the certificate lifecycle (Request -> Deploy -> Notify).
Workflow struct internal/domain/workflow.go17-31GraphContent field as a JSON-serialized graph of nodes internal/domain/workflow.go25workflow internal/domain/workflow.go15A WorkflowRun represents a single execution instance of a Workflow. It tracks the status, start/end times, and contains a snapshot of the graph used during execution.
WorkflowRunModel in the frontend ui/src/domain/workflow.ts5 and WorkflowRun in the backend internal/domain/workflow_run.go7-21WorkflowDispatcher which handles task queuing and worker allocation internal/workflow/dispatcher/dispatcher.go18-35Sources: internal/domain/workflow.go15-31 ui/src/domain/provider.ts17-185 internal/domain/access.go7-309 internal/domain/workflow_run.go7-21 internal/workflow/dispatcher/dispatcher.go18-35
| Term | Definition | Code Pointer |
|---|---|---|
| ACME | Automated Certificate Management Environment. Protocol for CA communication. | internal/domain/access.go40-43 |
| ARI | ACME Renewal Information. Extension for renewal timing indicators. | ui/src/domain/workflow.ts117 |
| DNS-01 | Challenge type proving ownership via DNS TXT records. | ui/src/domain/workflow.ts123 |
| HTTP-01 | Challenge type proving ownership via web server file hosting. | README.md42 |
| EAB | External Account Binding. Links ACME accounts to CA accounts. | internal/domain/access.go35-38 |
| mproc | Multi-process isolation. Isolates ACME issuance in separate processes. | internal/certacme/client_obtain.go10-20 |
| Skip Logic | Mechanism to bypass node execution if conditions (like expiry) are met. | ui/src/domain/workflow.ts118 |
| Console Mode | Specialized deployment variants for panels where Certimate manages the panel's own SSL. | ui/src/i18n/resources/en/nls.provider.json30 |
Sources: ui/src/domain/workflow.ts117-123 internal/domain/access.go35-43 README.md42 ui/src/i18n/resources/en/nls.provider.json30-91 internal/certacme/client_obtain.go10-20
The following diagram bridges the natural language concepts to the specific Go entities and UI components.
Sources: internal/domain/workflow.go17-31 ui/src/domain/workflow.ts7-23 internal/domain/access.go9-16 internal/domain/provider.go3
Nodes are the building blocks of a Workflow. They are defined by the WorkflowNodeType string type internal/domain/workflow.go93
| Node Type | Technical Name (Code) | Purpose |
|---|---|---|
| Start | WorkflowNodeTypeStart | Defines triggers: Scheduled (CRON) or Manual internal/domain/workflow.go100 |
| Apply | WorkflowNodeTypeBizApply | Handles ACME certificate issuance internal/domain/workflow.go108 |
| Deploy | WorkflowNodeTypeBizDeploy | Pushes certificates to target providers internal/domain/workflow.go111 |
| Upload | WorkflowNodeTypeBizUpload | Imports existing PEM/PFX files internal/domain/workflow.go109 |
| Monitor | WorkflowNodeTypeBizMonitor | Performs TLS health checks internal/domain/workflow.go110 |
| Notify | WorkflowNodeTypeBizNotify | Sends alerts via notification channels internal/domain/workflow.go112 |
| Condition | WorkflowNodeTypeCondition | Branching logic based on expression evaluation internal/domain/workflow.go102 |
| TryCatch | WorkflowNodeTypeTryCatch | Error handling block for nodes internal/domain/workflow.go104 |
| Delay | WorkflowNodeTypeDelay | Pauses workflow execution for specified seconds internal/domain/workflow.go107 |
Sources: internal/domain/workflow.go100-112 ui/src/domain/workflow.ts37-51 internal/workflow/service.go48-52
The frontend uses specific keys for localization (i18n) which often correspond to domain logic.
AccessFormUsages: Refers to the context in which an access record is being created (e.g., dns, hosting, ca, notification) ui/src/components/access/AccessForm.tsx16Identifier: In the "Apply" node, refers to whether the certificate is for a Domain or an IP Address ui/src/domain/workflow.ts95WorkflowTriggerType: Enum for how a workflow was started: scheduled or manual ui/src/domain/workflow.ts29-32nls.provider.json: Localization file for provider names and categories.
Bark/Gotify/ServerChan/Pushover/PushPlus: These notification providers are no longer present in the codebase ui/src/domain/provider.ts17-141Sources: ui/src/components/access/AccessForm.tsx16-101 ui/src/domain/workflow.ts29-95 ui/src/i18n/resources/en/nls.provider.json1-251 ui/src/domain/provider.ts17-141