@@ -18,55 +18,21 @@ type Metadata struct {
1818 CompatibleKubernetesDistributions []ProductVersion `yaml:"compatible_kubernetes_distributions,omitempty"`
1919 SupportsParallelDeploys bool `yaml:"supports_parallel_deploys,omitempty"`
2020 RequiresProductVersions []RequiredProductVersion `yaml:"requires_product_versions,omitempty"`
21- // AdditionalReleases declares third-party BOSH releases that kiln should
22- // splice into the runtime-config addon alongside the auto-generated tile
23- // release. Each entry's tarball is resolved via Kilnfile/Kilnfile.lock's
24- // release_sources: (fetchAdditionalReleases downloads it into
25- // --releases-directory, or expects it already present there when
26- // --skip-fetch is set); kiln then copies it into .carvel-tile/releases/
27- // and adds the release + declared jobs to the runtime-config addon's
28- // releases:/jobs: lists.
2921 AdditionalReleases []AdditionalRelease `yaml:"additional_releases,omitempty"`
30- // PreInstallHooks/PostInstallHooks declare adapter jobs kiln should
31- // synthesize directly into the tile's own auto-generated release, each
32- // depositing a single delegating script at the conventional hook path
33- // consumed by a provider tile's generic hook-runner (see
34- // tanzu-vks-provider/docs/2026-07-16-generic-consumer-hook-contract.md).
35- // Job names are auto-prefixed with the tile's own name to avoid collisions
36- // with other consumer tiles' hook jobs on the same shared VM.
3722 PreInstallHooks []HookDeclaration `yaml:"pre_install_hooks,omitempty"`
3823 PostInstallHooks []HookDeclaration `yaml:"post_install_hooks,omitempty"`
3924}
4025
41- // HookDeclaration declares one hook adapter job for kiln to synthesize.
4226type HookDeclaration struct {
43- // Name becomes the synthesized job name, auto-prefixed with the tile's
44- // own name unless already prefixed — e.g. "smoke-tests-post-install-hook"
45- // on tile "ear-k8s-runtime" becomes job
46- // "ear-k8s-runtime-smoke-tests-post-install-hook".
4727 Name string `yaml:"name"`
48- // Command is the single command the synthesized script execs —
49- // typically another already-colocated job's own entrypoint, e.g.
50- // /var/vcap/jobs/smoke_tests/bin/run.
5128 Command string `yaml:"command"`
5229}
5330
54- // AdditionalRelease declares a third-party BOSH release, fetched via
55- // Kilnfile/Kilnfile.lock, to include alongside the auto-generated tile
56- // release in the carvel runtime-config addon.
5731type AdditionalRelease struct {
58- // Name is the BOSH release name, and must match both the name used in
59- // bosh create-release and the release's entry name in Kilnfile.lock.
6032 Name string `yaml:"name"`
61- // Jobs lists jobs from this release to add to the addon's jobs: list.
62- // Each entry can carry an optional properties block that is marshaled
63- // verbatim into the generated runtime-config.
6433 Jobs []AdditionalJob `yaml:"jobs"`
6534}
6635
67- // AdditionalJob names a job within an AdditionalRelease and carries an
68- // optional properties block. It is the input shape (parsed from base.yml);
69- // models.Job is the output shape (written into the generated runtime-config).
7036type AdditionalJob struct {
7137 Name string `yaml:"name"`
7238 Properties map [string ]interface {} `yaml:"properties,omitempty"`
0 commit comments