@@ -72,6 +72,208 @@ spec:
7272 and `stopped` will take no effect until `reconciliationPaused` is set to false or removed.
7373 type : boolean
7474 type : object
75+ databaseConnection :
76+ oneOf :
77+ - required :
78+ - postgresql
79+ - required :
80+ - mysql
81+ - required :
82+ - derby
83+ - required :
84+ - redis
85+ - required :
86+ - genericJDBC
87+ - required :
88+ - genericSQLAlchemy
89+ - required :
90+ - genericCelery
91+ properties :
92+ derby :
93+ description : |-
94+ Connection settings for an embedded [Apache Derby](https://db.apache.org/derby/) database.
95+
96+ Derby is an embedded, file-based Java database engine that requires no separate server process.
97+ It is typically used for development, testing, or as a lightweight metastore backend (e.g. for
98+ Apache Hive).
99+ properties :
100+ location :
101+ description : |-
102+ Path on the filesystem where Derby stores its database files.
103+
104+ If not specified, defaults to `/tmp/derby/{unique_database_name}/derby.db`.
105+ The `{unique_database_name}` part is automatically handled by the operator and is added to
106+ prevent clashing database files. The `create=true` flag is always appended to the JDBC URL,
107+ so the database is created automatically if it does not yet exist at this location.
108+ nullable : true
109+ type : string
110+ type : object
111+ genericCelery :
112+ description : |-
113+ A generic Celery database connection for broker or result backend types not covered by a
114+ dedicated variant.
115+
116+ Use this when you need a Celery-compatible connection that does not have a first-class
117+ connection type. The complete connection URI is read from a Secret, giving the user full
118+ control over the connection string.
119+ properties :
120+ uriSecret :
121+ description : The name of the Secret that contains an `uri` key with the complete SQLAlchemy URI.
122+ type : string
123+ required :
124+ - uriSecret
125+ type : object
126+ genericJDBC :
127+ description : |-
128+ A generic JDBC database connection for database types not covered by a dedicated variant.
129+
130+ Use this when you need to connect to a JDBC-compatible database that does not have a
131+ first-class connection type. You are responsible for providing the correct driver class name
132+ and a fully-formed JDBC URI as well as providing the needed classes on the Java classpath.
133+ properties :
134+ credentialsSecret :
135+ description : |-
136+ Name of a Secret containing the `username` and `password` keys used to authenticate
137+ against the database.
138+ type : string
139+ driver :
140+ description : |-
141+ Fully-qualified Java class name of the JDBC driver, e.g. `org.postgresql.Driver` or
142+ `com.mysql.jdbc.Driver`. The driver JAR must be provided by you on the classpath.
143+ type : string
144+ uri :
145+ description : |-
146+ The JDBC connection URI, e.g. `jdbc:postgresql://my-host:5432/mydb`. Credentials must
147+ not be embedded in this URI; they are instead injected via environment variables sourced
148+ from `credentials_secret`.
149+ format : uri
150+ type : string
151+ required :
152+ - credentialsSecret
153+ - driver
154+ - uri
155+ type : object
156+ genericSQLAlchemy :
157+ description : |-
158+ A generic SQLAlchemy database connection for database types not covered by a dedicated variant.
159+
160+ Use this when you need to connect to a SQLAlchemy-compatible database that does not have a
161+ first-class connection type. The complete connection URI is read from a Secret, giving the user
162+ full control over the connection string including any driver-specific options.
163+ properties :
164+ uriSecret :
165+ description : The name of the Secret that contains an `uri` key with the complete SQLAlchemy URI.
166+ type : string
167+ required :
168+ - uriSecret
169+ type : object
170+ mysql :
171+ description : Connection settings for a [MySQL](https://www.mysql.com/) database.
172+ properties :
173+ credentialsSecret :
174+ description : |-
175+ Name of a Secret containing the `username` and `password` keys used to authenticate
176+ against the MySQL server.
177+ type : string
178+ database :
179+ description : Name of the database (schema) to connect to.
180+ type : string
181+ host :
182+ description : Hostname or IP address of the MySQL server.
183+ type : string
184+ parameters :
185+ additionalProperties :
186+ type : string
187+ default : {}
188+ description : |-
189+ Additional map of JDBC connection parameters to append to the connection URL. The given
190+ `HashMap<String, String>` will be converted to query parameters in the form of
191+ `?param1=value1¶m2=value2`.
192+ type : object
193+ port :
194+ default : 3306
195+ description : Port the MySQL server is listening on. Defaults to `3306`.
196+ format : uint16
197+ maximum : 65535.0
198+ minimum : 0.0
199+ type : integer
200+ required :
201+ - credentialsSecret
202+ - database
203+ - host
204+ type : object
205+ postgresql :
206+ description : Connection settings for a [PostgreSQL](https://www.postgresql.org/) database.
207+ properties :
208+ credentialsSecret :
209+ description : |-
210+ Name of a Secret containing the `username` and `password` keys used to authenticate
211+ against the PostgreSQL server.
212+ type : string
213+ database :
214+ description : Name of the database (schema) to connect to.
215+ type : string
216+ host :
217+ description : Hostname or IP address of the PostgreSQL server.
218+ type : string
219+ parameters :
220+ additionalProperties :
221+ type : string
222+ default : {}
223+ description : |-
224+ Additional map of JDBC connection parameters to append to the connection URL. The given
225+ `HashMap<String, String>` will be converted to query parameters in the form of
226+ `?param1=value1¶m2=value2`.
227+ type : object
228+ port :
229+ default : 5432
230+ description : Port the PostgreSQL server is listening on. Defaults to `5432`.
231+ format : uint16
232+ maximum : 65535.0
233+ minimum : 0.0
234+ type : integer
235+ required :
236+ - credentialsSecret
237+ - database
238+ - host
239+ type : object
240+ redis :
241+ description : |-
242+ Connection settings for a [Redis](https://redis.io/) instance.
243+
244+ Redis is commonly used as a Celery message broker or result backend (e.g. for Apache Airflow).
245+ properties :
246+ credentialsSecret :
247+ description : |-
248+ Name of a Secret containing the `username` and `password` keys used to authenticate
249+ against the Redis server.
250+ type : string
251+ databaseId :
252+ default : 0
253+ description : |-
254+ Numeric index of the Redis logical database to use. Defaults to `0`.
255+
256+ Redis supports multiple logical databases within a single instance, identified by an
257+ integer index. Database `0` is the default.
258+ format : uint16
259+ maximum : 65535.0
260+ minimum : 0.0
261+ type : integer
262+ host :
263+ description : Hostname or IP address of the Redis server.
264+ type : string
265+ port :
266+ default : 6379
267+ description : Port the Redis server is listening on. Defaults to `6379`.
268+ format : uint16
269+ maximum : 65535.0
270+ minimum : 0.0
271+ type : integer
272+ required :
273+ - credentialsSecret
274+ - host
275+ type : object
276+ type : object
75277 domainName :
76278 description : A validated domain name type conforming to RFC 1123, so e.g. not an IP address
77279 type : string
@@ -2128,6 +2330,7 @@ spec:
21282330 required :
21292331 - clientAuthenticationDetails
21302332 - clusterOperation
2333+ - databaseConnection
21312334 - domainName
21322335 - gitSync
21332336 - hostName
0 commit comments