Skip to content

Commit 7bb5a13

Browse files
CopilotCrow-Control
andcommitted
[WIP] Refactor common network policy and schema support (#44936)
- [x] Analyze values.yaml and all documentation files - [x] Create complete-values-structure.yaml (52KB) showing all possible configuration keys - [x] Add docs-structure.txt (26KB) with hierarchical configuration structure - [x] Add docs-summary.txt (6.2KB) with high-level summary - [x] Add quick-reference.txt (4.9KB) with quick lookup index - [x] Add README.txt (7.9KB) with navigation guide - [x] Reply to user comment <!-- START COPILOT CODING AGENT TIPS --> --- ✨ Let Copilot coding agent [set things up for you](https://github.com/trueforge-org/truecharts/issues/new?title=✨+Set+up+Copilot+instructions&body=Configure%20instructions%20for%20this%20repository%20as%20documented%20in%20%5BBest%20practices%20for%20Copilot%20coding%20agent%20in%20your%20repository%5D%28https://gh.io/copilot-coding-agent-tips%29%2E%0A%0A%3COnboard%20this%20repo%3E&assignees=copilot) — coding agent works faster and does higher quality work when set up for your repo. --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: PrivatePuffin <7613738+PrivatePuffin@users.noreply.github.com>
1 parent c5aec6c commit 7bb5a13

File tree

5 files changed

+3604
-0
lines changed

5 files changed

+3604
-0
lines changed

charts/library/common/README.txt

Lines changed: 221 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,221 @@
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

Comments
 (0)