Form Builder β
Build LynqForm YAML configurations using an intuitive UI. Create resources, manage dependencies, and export production-ready forms.
Form Builder
Hub Settings
Reference to your LynqHub
Available Variables
Resources
No resources added yet
Click "Add Resource" to start building your template
apiVersion: operator.lynq.sh/v1
kind: LynqForm
metadata:
name: my-form
spec:
hubId: my-hub
How to Use β
Building from Scratch β
- Set Hub ID: Enter your LynqHub name
- Add Resources: Click "+ Add Resource" to create new resources
- Select resource type (Deployment, Service, ConfigMap, etc.)
- Set unique ID and name template
- Configure dependencies
- Preview YAML: Switch to Preview tab to see generated YAML
- Export: Copy or download your form
Importing Existing YAML β
- Switch to Editor Tab: Click "Editor" in the right panel
- Paste YAML: Paste your existing LynqForm
- Import: Click "β¬ οΈ Import to UI" button
- Edit: Modify resources using the form UI
- Export: Generate updated YAML
Features β
π Form-Based Resource Creation β
- Visual interface for all resource types
- Automatic dependency management
- Template variable hints
- Real-time YAML preview
π Bidirectional Sync β
- UI β YAML: Build visually, export YAML
- YAML β UI: Import existing forms, edit visually
π― Template Variables β
Available variables for use in templates:
{{ .uid }}- Node unique identifier{{ .host }}- Extracted host from URL{{ .hostOrUrl }}- Original URL/host value{{ .activate }}- Activation status
Usage example:
{{ .uid }}-app
{{ .host }}βοΈ Resource Configuration β
For each resource, configure:
- ID: Unique identifier for dependencies
- Name Template: Go template for resource name
- Dependencies: Select which resources must exist first
- Policies: Wait for ready, creation/deletion policies
Supported Resource Types β
| Type | Description |
|---|---|
| Namespace | Kubernetes namespace |
| Deployment | Pod deployment controller |
| StatefulSet | Stateful application controller |
| DaemonSet | Node-level daemon controller |
| Service | Network service |
| Ingress | HTTP/HTTPS routing |
| ConfigMap | Configuration data |
| Secret | Sensitive data |
| PersistentVolumeClaim | Storage volume |
| Job | One-time task |
| CronJob | Scheduled task |
| HorizontalPodAutoscaler | Auto-scaling configuration |
| Manifest | Raw YAML for custom resources |
Tips β
Best Practices β
- Use Clear IDs: Choose descriptive, unique identifiers
- Template Names: Use
{{ .uid }}prefix for uniqueness - Dependencies: Only add necessary dependencies
- Test First: Use Dependency Visualizer to check for cycles
Common Patterns β
Secret β Deployment β Service:
1. Add Secret (id: app-secret)
2. Add Deployment (id: app, depends on: app-secret)
3. Add Service (id: app-svc, depends on: app)Namespace First:
1. Add Namespace (id: node-ns)
2. Add all other resources depending on node-nsNext Steps β
- Dependencies Guide - Learn about dependency management
- π Dependency Visualizer - Visualize your form's dependency graph
- Templates Guide - Complete template documentation
- Quick Start - Deploy your first form
Need Help?
If you encounter issues, check the Troubleshooting Guide or refer to the API Reference.
