github.com/Racer159/jackal@v0.32.7-0.20240401174413-0bd2339e4f2e/docs/4-deploy-a-jackal-package/1-package-deploy-lifecycle.md (about) 1 # Package Deploy Lifecycle 2 3 The following diagram shows the order of operations for the `jackal package deploy` command and the hook locations for [actions](../../examples/component-actions/README.md). 4 5 ## `jackal package deploy` 6 7 ```mermaid 8 graph TD 9 B1(load package archive)-->B2 10 B2(handle multipart package)-->B3 11 B3(extract archive to temp dir)-->B4 12 B4(validate package checksums and signature)-->B5 13 B5(filter components by architecture & OS)-->B6 14 B6(save SBOM files to current dir)-->B7 15 B7(handle deprecations and breaking changes)-->B9 16 B9(confirm package deploy):::prompt-->B10 17 B10(process deploy-time variables)-->B11 18 B11(prompt for missing variables)-->B12 19 B12(prompt to confirm components)-->B13 20 B13(prompt to choose components in '.group')-->B14 21 22 subgraph 23 B14(deploy each component)-->B14 24 B14 --> B15(run each '.actions.onDeploy.before'):::action-->B15 25 B15 --> B16(copy '.files')-->B17 26 B17(load Jackal State)-->B18 27 B18(push '.images')-->B19 28 B19(push '.repos')-->B20 29 B20(process '.dataInjections')-->B21 30 B21(install '.charts')-->B22 31 B22(apply '.manifests')-->B23 32 B23(run each '.actions.onDeploy.after'):::action-->B23 33 B23-->B24{Success?} 34 B24-->|Yes|B25(run each\n'.actions.onDeploy.success'):::action-->B25 35 B24-->|No|B26(run each\n'.actions.onDeploy.failure'):::action-->B26-->B999 36 37 B999[Abort]:::fail 38 end 39 40 B25-->B27(print Jackal connect table) 41 B27-->B28(save package data to cluster) 42 43 44 classDef prompt fill:#4adede,color:#000000 45 classDef action fill:#bd93f9,color:#000000 46 classDef fail fill:#aa0000 47 ```