crossplane-function-pythonic 0.2.0__py3-none-any.whl → 0.3.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: crossplane-function-pythonic
3
- Version: 0.2.0
3
+ Version: 0.3.0
4
4
  Summary: A Python centric Crossplane Function
5
5
  Project-URL: Documentation, https://github.com/crossplane-contrib/function-pythonic#readme
6
6
  Project-URL: Issues, https://github.com/crossplane-contrib/function-pythonic/issues
@@ -17,7 +17,7 @@ Requires-Python: <3.15,>=3.12
17
17
  Requires-Dist: crossplane-function-sdk-python==0.10.0
18
18
  Requires-Dist: pyyaml==6.0.3
19
19
  Provides-Extra: packages
20
- Requires-Dist: kopf==1.39.1; extra == 'packages'
20
+ Requires-Dist: kopf==1.40.0; extra == 'packages'
21
21
  Provides-Extra: pip-install
22
22
  Requires-Dist: pip==25.3; extra == 'pip-install'
23
23
  Description-Content-Type: text/markdown
@@ -81,8 +81,39 @@ kind: Function
81
81
  metadata:
82
82
  name: function-pythonic
83
83
  spec:
84
- package: xpkg.upbound.io/crossplane-contrib/function-pythonic:v0.2.0
84
+ package: xpkg.upbound.io/crossplane-contrib/function-pythonic:v0.3.0
85
85
  ```
86
+
87
+ ### Crossplane V1
88
+ When running function-pythonic in Crossplane V1, the `--crossplane-v1` command line
89
+ option should be specified. This requires using a Crossplane DeploymentRuntimeConfig.
90
+ ```yaml
91
+ apiVersion: pkg.crossplane.io/v1
92
+ kind: Function
93
+ metadata:
94
+ name: function-pythonic
95
+ spec:
96
+ package: xpkg.upbound.io/crossplane-contrib/function-pythonic:v0.3.0
97
+ runtimeConfigRef:
98
+ name: function-pythonic
99
+ --
100
+ apiVersion: pkg.crossplane.io/v1beta1
101
+ kind: DeploymentRuntimeConfig
102
+ metadata:
103
+ name: function-pythonic
104
+ spec:
105
+ deploymentTemplate:
106
+ spec:
107
+ selector: {}
108
+ template:
109
+ spec:
110
+ containers:
111
+ - name: package-runtime
112
+ args:
113
+ - --debug
114
+ - --crossplane-v1
115
+ ```
116
+
86
117
  ## Composed Resource Dependencies
87
118
 
88
119
  function-pythonic automatically handles dependencies between composed resources.
@@ -228,7 +259,9 @@ The BaseComposite class provides the following fields for manipulating the Compo
228
259
  | self.status | Map | The composite desired and observed status, read from observed if not in desired |
229
260
  | self.conditions | Conditions | The composite desired and observed conditions, read from observed if not in desired |
230
261
  | self.results | Results | Returned results applied to the Composite and optionally on the Claim |
231
- | self.connection | Connection | The composite desired and observed connection detials, read from observed if not in desired |
262
+ | self.connectionSecret | Map | The name, namespace, and resourceName to use when generating the connection secret in Crossplane v2 |
263
+ | self.connection | Map | The composite desired connection detials |
264
+ | self.connection.observed | Map | The composite observed connection detials |
232
265
  | self.ready | Boolean | The composite desired ready state |
233
266
 
234
267
  The BaseComposite also provides access to the following Crossplane Function level features:
@@ -270,13 +303,13 @@ Resource class:
270
303
  | Resource.data | Map | The resource data |
271
304
  | Resource.status | Map | The resource status |
272
305
  | Resource.conditions | Conditions | The resource conditions |
273
- | Resource.connection | Connection | The resource connection details |
306
+ | Resource.connection | Map | The resource observed connection details |
274
307
  | Resource.ready | Boolean | The resource ready state |
275
308
  | Resource.unknownsFatal | Boolean | Terminate the composition if this resource has been created and is assigned unknown values, default is Composite.unknownsFatal |
276
309
  | Resource.usages | Boolean | Generate Crossplane Usages for this resource, default is Composite.autoReady |
277
310
  | Resource.autoReady | Boolean | Perform auto ready processing on this resource, default is Composite.autoReady |
278
311
 
279
- ### Required Resources (AKA Extra Resources)
312
+ ### Required Resources
280
313
 
281
314
  Creating and accessing required resources is performed using the `BaseComposite.requireds` field.
282
315
  `BaseComposite.requireds` is a dictionary of the required resources whose key is the required
@@ -310,6 +343,7 @@ Each resource in the list is the following RequiredResource class:
310
343
  | RequiredResource.data | Map | The required resource data |
311
344
  | RequiredResource.status | Map | The required resource status |
312
345
  | RequiredResource.conditions | Map | The required resource conditions |
346
+ | RequiredResource.connection | Map | The required resource connection details |
313
347
 
314
348
  ### Conditions
315
349
 
@@ -372,11 +406,11 @@ $ pip install crossplane-function-pythonic
372
406
  Then to render function-pythonic Compositions, use the `function-pythonic render ...`
373
407
  command.
374
408
  ```shell
375
- $ function-pythonic render --help
409
+ $ function-pythonic render -h
376
410
  usage: Crossplane Function Pythonic render [-h] [--debug] [--log-name-width WIDTH] [--python-path DIRECTORY] [--render-unknowns]
377
411
  [--allow-oversize-protos] [--context-files KEY=PATH] [--context-values KEY=VALUE]
378
- [--observed-resources PATH] [--extra-resources PATH] [--required-resources PATH]
379
- [--function-credentials PATH] [--include-full-xr] [--include-function-results] [--include-context]
412
+ [--observed-resources PATH] [--required-resources PATH] [--secret-store PATH] [--include-full-xr]
413
+ [--include-connection-xr] [--include-function-results] [--include-context]
380
414
  PATH [PATH/CLASS]
381
415
 
382
416
  positional arguments:
@@ -400,14 +434,14 @@ options:
400
434
  Context key-value pairs to pass to the Function pipeline. Values must be YAML/JSON. Keys take precedence over --context-files.
401
435
  --observed-resources, -o PATH
402
436
  A YAML file or directory of YAML files specifying the observed state of composed resources.
403
- --extra-resources PATH
404
- A YAML file or directory of YAML files specifying required resources (deprecated, use --required-resources).
405
437
  --required-resources, -e PATH
406
438
  A YAML file or directory of YAML files specifying required resources to pass to the Function pipeline.
407
- --function-credentials PATH
408
- A YAML file or directory of YAML files specifying credentials to use for Functions to render the XR.
439
+ --secret-store, -s PATH
440
+ A YAML file or directory of YAML files specifying Secrets to use to resolve connections and credentials.
409
441
  --include-full-xr, -x
410
442
  Include a direct copy of the input XR's spedc and metadata fields in the rendered output.
443
+ --include-connection-xr
444
+ Include the Composite connection values in the rendered output as a resource of kind: Connection.
411
445
  --include-function-results, -r
412
446
  Include informational and warning messages from Functions in the rendered output as resources of kind: Result..
413
447
  --include-context, -c
@@ -545,7 +579,7 @@ kind: Function
545
579
  metadata:
546
580
  name: function-pythonic
547
581
  spec:
548
- package: xpkg.upbound.io/crossplane-contrib/function-pythonic:v0.2.0
582
+ package: xpkg.upbound.io/crossplane-contrib/function-pythonic:v0.3.0
549
583
  runtimeConfigRef:
550
584
  name: function-pythonic
551
585
  ---
@@ -0,0 +1,18 @@
1
+ crossplane/pythonic/__about__.py,sha256=aySM7NSterQ9iNm2zapljwvbJuWDyviv3Ku2kts5ThU,73
2
+ crossplane/pythonic/__init__.py,sha256=A9U4-azc4DjSsOnOnjQxCkoTzsZMRBb_AvqzR_Bd95A,268
3
+ crossplane/pythonic/__main__.py,sha256=6vYRlYDJtqFgLyiTamnl3htiNOtz8QlDl5WlIP98I8o,31
4
+ crossplane/pythonic/auto_ready.py,sha256=FrbIePmj96Jl51fjVt1ctj26jTksimRCXGsNTFaMh9A,5026
5
+ crossplane/pythonic/command.py,sha256=QC1Z4j5-MyfH41V7Zc9tJgaTZ7IVR0h8xL4bbXOE9Fg,3309
6
+ crossplane/pythonic/composite.py,sha256=WiDV5OCJ8-BDQ_4i-3FYvflpGxLoCLde-fRjDF0ib9w,29377
7
+ crossplane/pythonic/function.py,sha256=KYOFzCGp59trKGl5M5JxjnOWWEPDL3hmoXYXC6kGljw,17433
8
+ crossplane/pythonic/grpc.py,sha256=8hQZZsNrcbiCGfEdPWRrG9SYfTrmuPgMmAIHwWhCdt8,4468
9
+ crossplane/pythonic/main.py,sha256=ujUa_FYElQSGqnhZ-0NJrD3kSyYjfRbIp79FV2Yl7hs,599
10
+ crossplane/pythonic/packages.py,sha256=4TxyT6V79R0m4tJbC8R1gwU_vgHGLXKSBzeTTKd8xGo,5120
11
+ crossplane/pythonic/protobuf.py,sha256=Dc4gYWPusQYGIR0k0xawkHCV0a-sqX2y7eAAc7whqME,51304
12
+ crossplane/pythonic/render.py,sha256=h9S59R_cM1eerOuDL2h6fQ79f-cmaA9OYs8CE2AGj7E,22263
13
+ crossplane/pythonic/version.py,sha256=-RiB0p146ayqJj0SXfYxTNv49u9Fx9pPgm59Ji2blhc,214
14
+ crossplane_function_pythonic-0.3.0.dist-info/METADATA,sha256=Un9AsXhViJ_1YOx3wxXe1d6BDNzZgcf6_VczndW6OXg,29502
15
+ crossplane_function_pythonic-0.3.0.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
16
+ crossplane_function_pythonic-0.3.0.dist-info/entry_points.txt,sha256=jJ4baywFDviB9WyAhyhNYF2VOCb6XtbRSjKf7bnBwhg,68
17
+ crossplane_function_pythonic-0.3.0.dist-info/licenses/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
18
+ crossplane_function_pythonic-0.3.0.dist-info/RECORD,,
@@ -1,17 +0,0 @@
1
- crossplane/pythonic/__about__.py,sha256=gXUN1UoV7TWafLuqL_UsLD_UlnDY6JmtTV7bvwphX6Q,73
2
- crossplane/pythonic/__init__.py,sha256=A9U4-azc4DjSsOnOnjQxCkoTzsZMRBb_AvqzR_Bd95A,268
3
- crossplane/pythonic/__main__.py,sha256=6vYRlYDJtqFgLyiTamnl3htiNOtz8QlDl5WlIP98I8o,31
4
- crossplane/pythonic/command.py,sha256=s69oOVCgbm39gowvTy7ieaE-Vosckf24vcznJ6fO0Q4,3146
5
- crossplane/pythonic/composite.py,sha256=SVgyhyg4MDNm_rGSrHUi81bd9Zqgnv3zaMKnaCMKB2s,21967
6
- crossplane/pythonic/function.py,sha256=ShHhSJYblTB9BRx7NEtHgiyOconax7Lro0tLzzRyZdY,16564
7
- crossplane/pythonic/grpc.py,sha256=Ts_-JywIr4Xzjjf_hr2uOlPK0O8A1SNN6ZaEjRckjL8,4318
8
- crossplane/pythonic/main.py,sha256=ujUa_FYElQSGqnhZ-0NJrD3kSyYjfRbIp79FV2Yl7hs,599
9
- crossplane/pythonic/packages.py,sha256=4TxyT6V79R0m4tJbC8R1gwU_vgHGLXKSBzeTTKd8xGo,5120
10
- crossplane/pythonic/protobuf.py,sha256=Wf2VJteKR_0S8l96JKLoOI78yrcH258DVj03re_epFI,48163
11
- crossplane/pythonic/render.py,sha256=4mq-slOSGoGbSPJiioeepWbdImSyVbas_hIEnJO_p5s,21069
12
- crossplane/pythonic/version.py,sha256=jUi8Wk7malaNDdW3FemkcsqlSGygQCrRFvgWB3Sve8M,214
13
- crossplane_function_pythonic-0.2.0.dist-info/METADATA,sha256=w5BMWBdP1wvuPR-zeE28frxeBi-S8f9UfDE2gcj2OHk,28576
14
- crossplane_function_pythonic-0.2.0.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
15
- crossplane_function_pythonic-0.2.0.dist-info/entry_points.txt,sha256=jJ4baywFDviB9WyAhyhNYF2VOCb6XtbRSjKf7bnBwhg,68
16
- crossplane_function_pythonic-0.2.0.dist-info/licenses/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
17
- crossplane_function_pythonic-0.2.0.dist-info/RECORD,,