@@ -2,7 +2,7 @@ apiVersion: apiextensions.k8s.io/v1
22kind : CustomResourceDefinition
33metadata :
44 annotations :
5- controller-gen.kubebuilder.io/version : v0.16.5
5+ controller-gen.kubebuilder.io/version : v0.20.1
66 helm.sh/resource-policy : keep
77 name : clusterimagecatalogs.postgresql.cnpg.io
88spec :
@@ -66,6 +66,175 @@ spec:
6666 items :
6767 description : CatalogImage defines the image and major version
6868 properties :
69+ extensions :
70+ description : The configuration of the extensions to be added
71+ items :
72+ description : >-
73+ ExtensionConfiguration is the configuration used to
74+ add
75+
76+ PostgreSQL extensions to the Cluster.
77+ properties :
78+ bin_path :
79+ description : >-
80+ A list of directories within the image to be
81+ appended to the
82+
83+ PostgreSQL process's `PATH` environment
84+ variable.
85+ items :
86+ type : string
87+ type : array
88+ dynamic_library_path :
89+ description : >-
90+ The list of directories inside the image which
91+ should be added to dynamic_library_path.
92+
93+ If not defined, defaults to "/lib".
94+ items :
95+ type : string
96+ type : array
97+ env :
98+ description : >-
99+ Env is a list of custom environment variables to
100+ be set in the
101+
102+ PostgreSQL process for this extension. It is the
103+ responsibility of the
104+
105+ cluster administrator to ensure the variables
106+ are correct for the
107+
108+ specific extension. Note that changes to these
109+ variables require
110+
111+ a manual cluster restart to take effect.
112+ items :
113+ description : >-
114+ ExtensionEnvVar defines an environment
115+ variable for a specific extension
116+
117+ image volume.
118+ properties :
119+ name :
120+ description : >-
121+ Name of the environment variable to be
122+ injected into the
123+
124+ PostgreSQL process.
125+ minLength : 1
126+ pattern : ^[a-zA-Z_][a-zA-Z0-9_]*$
127+ type : string
128+ value :
129+ description : >-
130+ Value of the environment variable.
131+ CloudNativePG performs a direct
132+
133+ replacement of this value, with support
134+ for placeholder expansion.
135+
136+ The ${`image_root`} placeholder resolves
137+ to the absolute mount path
138+
139+ of the extension's volume (e.g.,
140+ `/extensions/my-extension`). This
141+
142+ is particularly useful for allowing
143+ applications or libraries to
144+
145+ locate specific directories within the
146+ mounted image.
147+
148+ Unrecognized placeholders are rejected. To
149+ include a literal ${...}
150+
151+ in the value, escape it as $${...}.
152+ minLength : 1
153+ type : string
154+ required :
155+ - name
156+ - value
157+ type : object
158+ type : array
159+ x-kubernetes-list-map-keys :
160+ - name
161+ x-kubernetes-list-type : map
162+ extension_control_path :
163+ description : >-
164+ The list of directories inside the image which
165+ should be added to extension_control_path.
166+
167+ If not defined, defaults to "/share".
168+ items :
169+ type : string
170+ type : array
171+ image :
172+ description : The image containing the extension.
173+ properties :
174+ pullPolicy :
175+ description : >-
176+ Policy for pulling OCI objects. Possible
177+ values are:
178+
179+ Always: the kubelet always attempts to pull
180+ the reference. Container creation will fail
181+ If the pull fails.
182+
183+ Never: the kubelet never pulls the reference
184+ and only uses a local image or artifact.
185+ Container creation will fail if the
186+ reference isn't present.
187+
188+ IfNotPresent: the kubelet pulls if the
189+ reference isn't already present on disk.
190+ Container creation will fail if the
191+ reference isn't present and the pull fails.
192+
193+ Defaults to Always if :latest tag is
194+ specified, or IfNotPresent otherwise.
195+ type : string
196+ reference :
197+ description : >-
198+ Required: Image or artifact reference to be
199+ used.
200+
201+ Behaves in the same way as
202+ pod.spec.containers[*].image.
203+
204+ Pull secrets will be assembled in the same
205+ way as for the container image by looking up
206+ node credentials, SA image pull secrets, and
207+ pod spec image pull secrets.
208+
209+ More info:
210+ https://kubernetes.io/docs/concepts/containers/images
211+
212+ This field is optional to allow higher level
213+ config management to default or override
214+
215+ container images in workload controllers
216+ like Deployments and StatefulSets.
217+ type : string
218+ type : object
219+ ld_library_path :
220+ description : >-
221+ The list of directories inside the image which
222+ should be added to ld_library_path.
223+ items :
224+ type : string
225+ type : array
226+ name :
227+ description : The name of the extension, required
228+ minLength : 1
229+ pattern : ^[a-z0-9]([-a-z0-9_]*[a-z0-9])?$
230+ type : string
231+ required :
232+ - name
233+ type : object
234+ type : array
235+ x-kubernetes-list-map-keys :
236+ - name
237+ x-kubernetes-list-type : map
69238 image :
70239 description : The image reference
71240 type : string
0 commit comments