crossplane-function-pythonic 0.0.7b0__py3-none-any.whl → 0.0.7.post3__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.
- {crossplane_function_pythonic-0.0.7b0.dist-info → crossplane_function_pythonic-0.0.7.post3.dist-info}/METADATA +80 -2
- crossplane_function_pythonic-0.0.7.post3.dist-info/RECORD +11 -0
- crossplane_function_pythonic-0.0.7b0.dist-info/RECORD +0 -11
- {crossplane_function_pythonic-0.0.7b0.dist-info → crossplane_function_pythonic-0.0.7.post3.dist-info}/WHEEL +0 -0
- {crossplane_function_pythonic-0.0.7b0.dist-info → crossplane_function_pythonic-0.0.7.post3.dist-info}/entry_points.txt +0 -0
- {crossplane_function_pythonic-0.0.7b0.dist-info → crossplane_function_pythonic-0.0.7.post3.dist-info}/licenses/LICENSE +0 -0
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: crossplane-function-pythonic
|
3
|
-
Version: 0.0.
|
3
|
+
Version: 0.0.7.post3
|
4
4
|
Summary: A Python centric Crossplane Function
|
5
5
|
Project-URL: Documentation, https://github.com/fortra/function-pythonic#readme
|
6
6
|
Project-URL: Issues, https://github.com/fortra/function-pythonic/issues
|
@@ -80,7 +80,6 @@ metadata:
|
|
80
80
|
spec:
|
81
81
|
package: ghcr.io/fortra/function-pythonic:v0.0.7
|
82
82
|
```
|
83
|
-
|
84
83
|
## Composed Resource Dependencies
|
85
84
|
|
86
85
|
function-pythonic automatically handles dependencies between composed resources.
|
@@ -322,6 +321,85 @@ spec:
|
|
322
321
|
self.status.composite = 'Hello, World!'
|
323
322
|
```
|
324
323
|
|
324
|
+
## Quick Start Development
|
325
|
+
|
326
|
+
The following example demonstrates how to locally render function-python
|
327
|
+
compositions. First, install the `crossplane-function-pythonic` python
|
328
|
+
package into the python environment:
|
329
|
+
```shell
|
330
|
+
$ pip install crossplane-function-pythonic
|
331
|
+
```
|
332
|
+
Then create the following files:
|
333
|
+
#### xr.yaml
|
334
|
+
```yaml
|
335
|
+
apiVersion: pythonic.fortra.com/v1alpha1
|
336
|
+
kind: Hello
|
337
|
+
metadata:
|
338
|
+
name: world
|
339
|
+
spec:
|
340
|
+
who: World
|
341
|
+
```
|
342
|
+
#### composition.yaml
|
343
|
+
```yaml
|
344
|
+
apiVersion: apiextensions.crossplane.io/v1
|
345
|
+
kind: Composition
|
346
|
+
metadata:
|
347
|
+
name: hellos.pythonic.fortra.com
|
348
|
+
spec:
|
349
|
+
compositeTypeRef:
|
350
|
+
apiVersion: pythonic.fortra.com/v1alpha1
|
351
|
+
kind: Hello
|
352
|
+
mode: Pipeline
|
353
|
+
pipeline:
|
354
|
+
- step: pythonic
|
355
|
+
functionRef:
|
356
|
+
name: function-pythonic
|
357
|
+
input:
|
358
|
+
apiVersion: pythonic.fn.fortra.com/v1alpha1
|
359
|
+
kind: Composite
|
360
|
+
composite: |
|
361
|
+
class Composite(BaseComposite):
|
362
|
+
def compose(self):
|
363
|
+
self.status.greeting = f"Hello, {self.spec.who}!"
|
364
|
+
```
|
365
|
+
#### functions.yaml
|
366
|
+
```yaml
|
367
|
+
apiVersion: pkg.crossplane.io/v1beta1
|
368
|
+
kind: Function
|
369
|
+
metadata:
|
370
|
+
name: function-pythonic
|
371
|
+
annotations:
|
372
|
+
render.crossplane.io/runtime: Development
|
373
|
+
spec:
|
374
|
+
package: ghcr.io/fortra/function-pythonic:v0.0.7
|
375
|
+
```
|
376
|
+
In one terminal session, run function-pythonic:
|
377
|
+
```shell
|
378
|
+
$ function-pythonic --insecure --debug
|
379
|
+
[2025-08-21 15:32:37.966] grpc._cython.cygrpc [DEBUG ] Using AsyncIOEngine.POLLER as I/O engine
|
380
|
+
```
|
381
|
+
In other terminal session, render the Composite:
|
382
|
+
```shell
|
383
|
+
$ crossplane render xr.yaml composition.yaml functions.yaml
|
384
|
+
---
|
385
|
+
apiVersion: pythonic.fortra.com/v1alpha1
|
386
|
+
kind: Hello
|
387
|
+
metadata:
|
388
|
+
name: world
|
389
|
+
status:
|
390
|
+
conditions:
|
391
|
+
- lastTransitionTime: "2024-01-01T00:00:00Z"
|
392
|
+
reason: Available
|
393
|
+
status: "True"
|
394
|
+
type: Ready
|
395
|
+
- lastTransitionTime: "2024-01-01T00:00:00Z"
|
396
|
+
message: All resources are composed
|
397
|
+
reason: AllComposed
|
398
|
+
status: "True"
|
399
|
+
type: ResourcesComposed
|
400
|
+
greeting: Hello, World!
|
401
|
+
```
|
402
|
+
|
325
403
|
## ConfigMap Packages
|
326
404
|
|
327
405
|
ConfigMap based python packages are enable using the `--packages` and
|
@@ -0,0 +1,11 @@
|
|
1
|
+
crossplane/pythonic/__init__.py,sha256=9Oz3mvFO-8GXb75iEfybSHgVr3p8INdqA201tCusuSo,408
|
2
|
+
crossplane/pythonic/composite.py,sha256=CK_3ejKZ29zWnAZ94r5ycNduf_cmDeH8-AL5QcJL1Mo,19937
|
3
|
+
crossplane/pythonic/function.py,sha256=4kfyR0U6UaAQAhVbFrhFPwOOsHjeNEktuTuswLrm0G4,10535
|
4
|
+
crossplane/pythonic/main.py,sha256=8nbPyTzRg2-Vrjp0MKxdp6Fc5uiFjLfIHXVmbG_dGIw,6399
|
5
|
+
crossplane/pythonic/packages.py,sha256=5GyUmd6BnDyDnT9Y0-yCW6z8ncuqas28N5slRhJYYpA,6137
|
6
|
+
crossplane/pythonic/protobuf.py,sha256=9wvKMXavrHxD1n1TufFQs_6If9m4gRZA36p_pmrlU7I,34633
|
7
|
+
crossplane_function_pythonic-0.0.7.post3.dist-info/METADATA,sha256=aTjHx145GiKZHTr0Tmma3PkzkWKLUJYdF1eDN3Uee04,22618
|
8
|
+
crossplane_function_pythonic-0.0.7.post3.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
9
|
+
crossplane_function_pythonic-0.0.7.post3.dist-info/entry_points.txt,sha256=jJ4baywFDviB9WyAhyhNYF2VOCb6XtbRSjKf7bnBwhg,68
|
10
|
+
crossplane_function_pythonic-0.0.7.post3.dist-info/licenses/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
|
11
|
+
crossplane_function_pythonic-0.0.7.post3.dist-info/RECORD,,
|
@@ -1,11 +0,0 @@
|
|
1
|
-
crossplane/pythonic/__init__.py,sha256=9Oz3mvFO-8GXb75iEfybSHgVr3p8INdqA201tCusuSo,408
|
2
|
-
crossplane/pythonic/composite.py,sha256=CK_3ejKZ29zWnAZ94r5ycNduf_cmDeH8-AL5QcJL1Mo,19937
|
3
|
-
crossplane/pythonic/function.py,sha256=4kfyR0U6UaAQAhVbFrhFPwOOsHjeNEktuTuswLrm0G4,10535
|
4
|
-
crossplane/pythonic/main.py,sha256=8nbPyTzRg2-Vrjp0MKxdp6Fc5uiFjLfIHXVmbG_dGIw,6399
|
5
|
-
crossplane/pythonic/packages.py,sha256=5GyUmd6BnDyDnT9Y0-yCW6z8ncuqas28N5slRhJYYpA,6137
|
6
|
-
crossplane/pythonic/protobuf.py,sha256=9wvKMXavrHxD1n1TufFQs_6If9m4gRZA36p_pmrlU7I,34633
|
7
|
-
crossplane_function_pythonic-0.0.7b0.dist-info/METADATA,sha256=QLTM6zFnwP65DCxl7tEtLh2C2CBg84b9PC-CIRY3ccU,20689
|
8
|
-
crossplane_function_pythonic-0.0.7b0.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
9
|
-
crossplane_function_pythonic-0.0.7b0.dist-info/entry_points.txt,sha256=jJ4baywFDviB9WyAhyhNYF2VOCb6XtbRSjKf7bnBwhg,68
|
10
|
-
crossplane_function_pythonic-0.0.7b0.dist-info/licenses/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
|
11
|
-
crossplane_function_pythonic-0.0.7b0.dist-info/RECORD,,
|
File without changes
|
File without changes
|