|
| 1 | +╔══════════════════════════════════════════════════════════════════════════════╗ |
| 2 | +║ TRUECHARTS COMMON CHART DOCUMENTATION EXTRACTION ║ |
| 3 | +║ Complete Configuration Reference ║ |
| 4 | +╚══════════════════════════════════════════════════════════════════════════════╝ |
| 5 | + |
| 6 | +LOCATION: /home/runner/.copilot/session-state/ |
| 7 | + |
| 8 | +FILES INCLUDED: |
| 9 | +=============== |
| 10 | + |
| 11 | +1. docs-structure.txt (26KB, 974 lines) |
| 12 | + - COMPLETE hierarchical structure of all configuration keys |
| 13 | + - All data types, defaults, and valid values |
| 14 | + - Detailed configuration for every resource type |
| 15 | + - Ready for schema generation, IDE autocomplete, or documentation |
| 16 | + |
| 17 | +2. docs-summary.txt (6.2KB, 177 lines) |
| 18 | + - High-level summary of all extracted information |
| 19 | + - Checklist of all resource types covered |
| 20 | + - Statistics and metadata about the extraction |
| 21 | + |
| 22 | +3. quick-reference.txt (4.9KB, 185 lines) |
| 23 | + - Quick lookup index by category |
| 24 | + - Common patterns and usage examples |
| 25 | + - Search tips for finding specific information |
| 26 | + |
| 27 | +4. README.txt (this file) |
| 28 | + - Overview and navigation guide |
| 29 | + |
| 30 | +SOURCE DOCUMENTATION: |
| 31 | +===================== |
| 32 | +All information extracted from 95+ markdown files in: |
| 33 | +/home/runner/work/truecharts/truecharts/charts/library/common/docs/ |
| 34 | + |
| 35 | +WHAT'S COVERED: |
| 36 | +=============== |
| 37 | + |
| 38 | +TOP-LEVEL KEYS: |
| 39 | + • global, fallbackDefaults, operator, extraTpl |
| 40 | + • podOptions, containerOptions, TZ, namespace |
| 41 | + • resources, securityContext, image |
| 42 | + |
| 43 | +WORKLOAD TYPES (5): |
| 44 | + • Deployment - with replicas, strategy (Recreate/RollingUpdate) |
| 45 | + • StatefulSet - with partition, OnDelete/RollingUpdate |
| 46 | + • DaemonSet - with maxUnavailable, maxSurge |
| 47 | + • Job - with completionMode, backoffLimit, parallelism |
| 48 | + • CronJob - with schedule, timezone, concurrency policy |
| 49 | + |
| 50 | +SERVICE TYPES (5): |
| 51 | + • ClusterIP - default service type |
| 52 | + • LoadBalancer - with loadBalancerIP, sourceRanges |
| 53 | + • NodePort - with nodePort configuration per port |
| 54 | + • ExternalIP - using externalIPs list |
| 55 | + • ExternalName - with externalName reference |
| 56 | + |
| 57 | +PERSISTENCE TYPES (9): |
| 58 | + • pvc - PersistentVolumeClaim with storageClass, size, retain |
| 59 | + • vct - VolumeClaimTemplate for StatefulSets |
| 60 | + • hostPath - direct host filesystem mounting |
| 61 | + • emptyDir - temporary pod storage |
| 62 | + • nfs - NFS server mounting |
| 63 | + • iscsi - iSCSI LUN mounting |
| 64 | + • device - raw block device |
| 65 | + • configmap - ConfigMap as volume |
| 66 | + • secret - Secret as volume |
| 67 | + |
| 68 | +MIDDLEWARE TYPES (24 for Traefik): |
| 69 | + • Basic: add-prefix, basic-auth, buffering, chain, compress |
| 70 | + • Headers: content-type, headers |
| 71 | + • Security: forward-auth, ip-allow-list |
| 72 | + • Plugins: bouncer, geoblock, mod-security, real-ip, |
| 73 | + rewrite-response-headers, theme-park |
| 74 | + • Routing: rate-limit, redirect-regex, redirect-scheme, |
| 75 | + replace-path-regex, replace-path, retry, |
| 76 | + strip-prefix-regex, strip-prefix |
| 77 | + |
| 78 | +CONTAINER CONFIGURATION: |
| 79 | + • Images: imageSelector, repository, tag, pullPolicy |
| 80 | + • Execution: command, args, stdin, tty |
| 81 | + • Environment: env (with secretKeyRef, configMapKeyRef, fieldRef), |
| 82 | + envFrom, fixedEnv |
| 83 | + • Resources: CPU/memory limits and requests |
| 84 | + • Security: securityContext (PUID, runAsUser, capabilities, etc.) |
| 85 | + • Lifecycle: postStart, preStop hooks |
| 86 | + • Probes: liveness, readiness, startup (http/https/tcp/exec/grpc) |
| 87 | + • Termination: graceful shutdown configuration |
| 88 | + |
| 89 | +DATABASE (CNPG): |
| 90 | + • Instances, singleNode configuration |
| 91 | + • PostgreSQL parameters, pg_hba rules |
| 92 | + • Storage: main and WAL storage configuration |
| 93 | + • Backup: S3-compatible backup configuration |
| 94 | + • Bootstrap: initdb or recovery from backup |
| 95 | + • Pooler: connection pooling with PgBouncer |
| 96 | + • Monitoring: PodMonitor integration |
| 97 | + |
| 98 | +OTHER RESOURCES (30+): |
| 99 | + • Autoscaling: hpa (HorizontalPodAutoscaler), vpa (VerticalPodAutoscaler) |
| 100 | + • Policies: podDisruptionBudget, priorityClass, networkPolicy |
| 101 | + • Security: rbac, serviceAccount, secret, certificate, webhook |
| 102 | + • Storage: storageClass, volumeSnapshot, volumeSnapshotClass |
| 103 | + • Config: configmap, credentials, imagePullSecret |
| 104 | + • Networking: ingress, route (OpenShift) |
| 105 | + • Monitoring: metrics (ServiceMonitor/PodMonitor) |
| 106 | + • Addons: codeserver, netshoot, vpn |
| 107 | + |
| 108 | +SPECIAL FEATURES: |
| 109 | +================= |
| 110 | + |
| 111 | +1. Variable-Named Objects: |
| 112 | + All resources use $name pattern for multiple instances |
| 113 | + Example: workload.main, workload.worker, service.api, service.web |
| 114 | + |
| 115 | +2. Target Selectors: |
| 116 | + Resources can target specific pods/containers |
| 117 | + - Services target pods |
| 118 | + - Persistence targets pods and containers |
| 119 | + - HPA/VPA target workloads |
| 120 | + - ServiceAccounts target multiple pods |
| 121 | + |
| 122 | +3. Primary Designation: |
| 123 | + - One workload must be primary |
| 124 | + - One container per workload must be primary |
| 125 | + - Affects default naming and behavior |
| 126 | + |
| 127 | +4. Naming Schemes: |
| 128 | + - Primary objects: $FullName |
| 129 | + - Non-primary: $FullName-$ResourceName |
| 130 | + - Override with expandObjectName: false |
| 131 | + |
| 132 | +5. Helm Templating: |
| 133 | + Many values support templating: {{ .Values.some.key }} |
| 134 | + Check docs-structure.txt for which keys support tpl |
| 135 | + |
| 136 | +6. Fallback Defaults: |
| 137 | + Global defaults in fallbackDefaults for: |
| 138 | + - Probe types and timeouts |
| 139 | + - Service protocols and types |
| 140 | + - Persistence types and sizes |
| 141 | + - Access modes and storage classes |
| 142 | + |
| 143 | +USAGE GUIDE: |
| 144 | +============ |
| 145 | + |
| 146 | +For Schema Generation: |
| 147 | + → Use docs-structure.txt for complete type information |
| 148 | + |
| 149 | +For IDE Autocomplete: |
| 150 | + → Parse docs-structure.txt into JSON Schema or LSP |
| 151 | + |
| 152 | +For Documentation: |
| 153 | + → Use docs-summary.txt for overview |
| 154 | + → Use quick-reference.txt for examples |
| 155 | + → Reference docs-structure.txt for details |
| 156 | + |
| 157 | +For Development: |
| 158 | + → Start with quick-reference.txt examples |
| 159 | + → Look up specifics in docs-structure.txt |
| 160 | + → Check original docs for detailed explanations |
| 161 | + |
| 162 | +SEARCH EXAMPLES: |
| 163 | +================ |
| 164 | + |
| 165 | +Find all keys related to storage: |
| 166 | + grep -i storage docs-structure.txt |
| 167 | + |
| 168 | +Find all default values: |
| 169 | + grep "default:" docs-structure.txt |
| 170 | + |
| 171 | +Find container configuration: |
| 172 | + grep -A50 "=== CONTAINER" docs-structure.txt |
| 173 | + |
| 174 | +Find middleware types: |
| 175 | + grep -A30 "MIDDLEWARE TYPES" docs-structure.txt |
| 176 | + |
| 177 | +Find a specific resource like HPA: |
| 178 | + grep -A20 "hpa\." docs-structure.txt |
| 179 | + |
| 180 | +STATISTICS: |
| 181 | +=========== |
| 182 | + |
| 183 | +Total Documentation Files: 95 |
| 184 | +Total Lines Extracted: 974 |
| 185 | +Total Configuration Keys: 500+ |
| 186 | +Resource Types: 40+ |
| 187 | +Middleware Types: 24 |
| 188 | +Service Types: 5 |
| 189 | +Persistence Types: 9 |
| 190 | +Workload Types: 5 |
| 191 | +Probe Types: 5 |
| 192 | + |
| 193 | +MAINTENANCE: |
| 194 | +============ |
| 195 | + |
| 196 | +This extraction was performed on: February 14, 2025 |
| 197 | +Source: TrueCharts common library chart documentation |
| 198 | +Version: Latest from main branch |
| 199 | + |
| 200 | +To update this extraction: |
| 201 | +1. Navigate to the docs directory |
| 202 | +2. Run the extraction script again |
| 203 | +3. Compare changes with diff tools |
| 204 | +4. Update any dependent schemas or tools |
| 205 | + |
| 206 | +ADDITIONAL NOTES: |
| 207 | +================= |
| 208 | + |
| 209 | +• All variable-named objects follow the pattern: resource.$name |
| 210 | +• Most resources support labels and annotations maps |
| 211 | +• Many string values support Helm templating |
| 212 | +• Check Helm `tpl` column in structure for template support |
| 213 | +• Some keys are required (marked ✅), others optional (marked ❌) |
| 214 | +• Default values come from fallbackDefaults or are documented in structure |
| 215 | + |
| 216 | +For questions or issues, refer to: |
| 217 | +https://truecharts.org/charts/library/common/ |
| 218 | + |
| 219 | +╔══════════════════════════════════════════════════════════════════════════════╗ |
| 220 | +║ END OF DOCUMENTATION EXTRACTION ║ |
| 221 | +╚══════════════════════════════════════════════════════════════════════════════╝ |
0 commit comments