Files
addons/crd/olm/index.rhai

41 lines
1.5 KiB
Plaintext

const VERSION="0.27.0";
const SRC=src;
const DEST=dest;
const DOIT=config.apply;
const PURGE=config.purge;
const sourcesDir=`https://github.com/operator-framework/operator-lifecycle-manager/releases/download/v${VERSION}`;
const sources=[
"crds.yaml"
];
const crdFiles=[
"apiextensions.k8s.io_v1_CustomResourceDefinition_catalogsources.operators.coreos.com.yaml",
"apiextensions.k8s.io_v1_CustomResourceDefinition_clusterserviceversions.operators.coreos.com.yaml",
"apiextensions.k8s.io_v1_CustomResourceDefinition_installplans.operators.coreos.com.yaml",
"apiextensions.k8s.io_v1_CustomResourceDefinition_olmconfigs.operators.coreos.com.yaml",
"apiextensions.k8s.io_v1_CustomResourceDefinition_operatorconditions.operators.coreos.com.yaml",
"apiextensions.k8s.io_v1_CustomResourceDefinition_operatorgroups.operators.coreos.com.yaml",
"apiextensions.k8s.io_v1_CustomResourceDefinition_operators.operators.coreos.com.yaml",
"apiextensions.k8s.io_v1_CustomResourceDefinition_subscriptions.operators.coreos.com.yaml",
];
fn pre_pack() {
for file in global::sources {
shell(`curl -sL ${global::sourcesDir}/${file} > ${global::SRC}/${file}`);
}
}
fn pre_install() {
if ! global::DOIT {
return;
}
for file in global::crdFiles {
shell(`kubectl replace -f ${global::SRC}/${file} || kubectl create -f ${global::SRC}/${file}`);
}
}
fn post_destroy() {
if ! global::PURGE {
return;
}
for file in global::crdFiles {
shell(`kubectl delete -f ${global::SRC}/${file}`);
}
}