Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
36 changes: 19 additions & 17 deletions olm/build-manifests.py
Original file line number Diff line number Diff line change
Expand Up @@ -442,7 +442,14 @@ def generate_csv(
def generate_helm_templates(args: argparse.Namespace) -> list[dict]:
logging.debug(f"start generate_helm_templates for {args.repo_operator}")
template_path = args.repo_operator / "deploy" / "helm" / args.repo_operator.name
helm_template_cmd = ["helm", "template", args.op_name, template_path]
# Path to the default values.yaml used in the operator Helm charts.
helm_values_path = template_path / "values.yaml"
# Path to the custom values for OLM.
olm_values_path = pathlib.Path(__file__).parent / "resources" / "values" / args.repo_operator.name / "values.yaml"
helm_template_cmd = ["helm", "template", args.op_name,
"--values", helm_values_path,
"--values", olm_values_path,
template_path]
try:
logging.debug("start generate_helm_templates")
logging.info(f"Running {helm_template_cmd}")
Expand Down Expand Up @@ -538,6 +545,7 @@ def quay_image(images: list[tuple[str, str]]) -> list[dict[str, str]]:
tag_url = (
f"https://quay.io/api/v1/repository/stackable/{image}/tag?{release_tag}"
)
logging.debug(f"Fetching image manifest from {tag_url}")
with urllib.request.urlopen(tag_url) as response:
data = json.load(response)
if not data["tags"]:
Expand Down Expand Up @@ -605,25 +613,18 @@ def write_metadata(args: argparse.Namespace) -> None:


def main(argv) -> int:
ret = 0
try:
opts = parse_args(argv[1:])
logging.basicConfig(encoding="utf-8", level=opts.log_level)

# logging.debug(f"Options: {opts}")
opts = parse_args(argv[1:])
logging.basicConfig(encoding="utf-8", level=opts.log_level)

manifests = generate_manifests(opts)
manifests = generate_manifests(opts)

logging.info(f"Removing directory {opts.dest_dir}")
if opts.dest_dir.exists():
shutil.rmtree(opts.dest_dir)
logging.info(f"Removing directory {opts.dest_dir}")
if opts.dest_dir.exists():
shutil.rmtree(opts.dest_dir)

write_manifests(opts, manifests)
write_metadata(opts)
except Exception as e:
logging.error(e)
ret = 1
return ret
write_manifests(opts, manifests)
write_metadata(opts)
return 0


CSV_DISPLAY_NAME = {
Expand All @@ -637,6 +638,7 @@ def main(argv) -> int:
"kafka": "Stackable Operator for Apache Kafka",
"nifi": "Stackable Operator for Apache NiFi",
"opa": "Stackable Operator for the Open Policy Agent",
"opensearch": "Stackable Operator for OpenSearch",
"spark-k8s": "Stackable Operator for Apache Spark",
"superset": "Stackable Operator for Apache Superset",
"trino": "Stackable Operator for Trino",
Expand Down
22 changes: 19 additions & 3 deletions olm/build-manifests.sh
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,10 @@ OPERATOR=""
MANIFESTS_DIR=""
METADATA_DIR=""

# Location of the stackable-utils repo.
# Needed to build path to custom OLM values.yaml files.
UTILS_REPO_DIR=$(pwd)

generate_metadata() {

# generate metadata
Expand All @@ -56,7 +60,7 @@ annotations:
operators.operatorframework.io.bundle.metadata.v1: metadata/
operators.operatorframework.io.bundle.package.v1: stackable-${OPERATOR}

com.redhat.openshift.versions: v4.11-v4.19
com.redhat.openshift.versions: v4.18-v4.20
ANNOS

popd
Expand All @@ -75,8 +79,14 @@ generate_manifests() {
cat "$OP_ROOT/deploy/helm/$OPERATOR/crds/crds.yaml" | yq -s '.spec.names.kind'
fi

# expand config map, roles, service account, etc.
helm template "$OPERATOR" "$OP_ROOT/deploy/helm/$OPERATOR" | yq -s '.metadata.name'
# Expand the Helm chart to individual files by applying both the default values.yaml
# and the OLM specific values.yaml.
# Each document is saved in file named "{.kind}-{.metadata.name}.yaml" to reduce the number of
# name collisions when multiple objects share the same name.
helm template "$OPERATOR" \
--values "$OP_ROOT/deploy/helm/$OPERATOR/values.yaml" \
--values "$UTILS_REPO_DIR/olm/resources/values/$OPERATOR/values.yaml" \
"$OP_ROOT/deploy/helm/$OPERATOR" | yq -s '(.kind // "kind-unknown") + "-" + (.metadata.name // "name-unknown")'
popd
}

Expand Down Expand Up @@ -110,6 +120,12 @@ parse_inputs() {
OPERATOR="$PRODUCT-operator"
MANIFESTS_DIR="$OPENSHIFT_ROOT/operators/stackable-$OPERATOR/$RELEASE_VERSION/manifests"
METADATA_DIR="$OPENSHIFT_ROOT/operators/stackable-$OPERATOR/$RELEASE_VERSION/metadata"

if [ "stackable-utils" != $(basename "$UTILS_REPO_DIR") ]; then
echo "ERROR: Looks like you are not calling this script from the base [stackable-utils] repository."
echo "ERROR: This is required to properly reference files under the [resources] folder."
exit 1
fi
}

maybe_print_help() {
Expand Down
5 changes: 5 additions & 0 deletions olm/resources/values/airflow-operator/values.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
resources:
limits:
memory: 256Mi
requests:
memory: 256Mi
5 changes: 5 additions & 0 deletions olm/resources/values/commons-operator/values.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
resources:
limits:
memory: 1024Mi
requests:
memory: 1024Mi
5 changes: 5 additions & 0 deletions olm/resources/values/druid-operator/values.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
resources:
limits:
memory: 256Mi
requests:
memory: 256Mi
5 changes: 5 additions & 0 deletions olm/resources/values/hbase-operator/values.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
resources:
limits:
memory: 256Mi
requests:
memory: 256Mi
5 changes: 5 additions & 0 deletions olm/resources/values/hdfs-operator/values.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
resources:
limits:
memory: 256Mi
requests:
memory: 256Mi
5 changes: 5 additions & 0 deletions olm/resources/values/hive-operator/values.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
resources:
limits:
memory: 256Mi
requests:
memory: 256Mi
5 changes: 5 additions & 0 deletions olm/resources/values/kafka-operator/values.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
resources:
limits:
memory: 256Mi
requests:
memory: 256Mi
29 changes: 29 additions & 0 deletions olm/resources/values/listener-operator/values.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
csiProvisioner:
controllerService:
resources:
limits:
memory: 256Mi
requests:
memory: 256Mi

externalProvisioner:
resources:
requests:
memory: 128Mi
limits:
memory: 128Mi

csiNodeDriver:
nodeService:
resources:
limits:
memory: 256Mi
requests:
memory: 256Mi

nodeDriverRegistrar:
resources:
requests:
memory: 128Mi
limits:
memory: 128Mi
5 changes: 5 additions & 0 deletions olm/resources/values/nifi-operator/values.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
resources:
limits:
memory: 256Mi
requests:
memory: 256Mi
5 changes: 5 additions & 0 deletions olm/resources/values/opa-operator/values.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
resources:
limits:
memory: 256Mi
requests:
memory: 256Mi
5 changes: 5 additions & 0 deletions olm/resources/values/opensearch-operator/values.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
resources:
limits:
memory: 256Mi
requests:
memory: 256Mi
30 changes: 30 additions & 0 deletions olm/resources/values/secret-operator/values.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
controllerService:
resources:
limits:
memory: 256Mi
requests:
memory: 256Mi

csiNodeDriver:
nodeService:
resources:
limits:
memory: 256Mi
requests:
memory: 256Mi

externalProvisioner:
resources:
requests:
memory: 128Mi
limits:
memory: 128Mi

nodeDriverRegistrar:
resources:
requests:
memory: 128Mi
limits:
memory: 128Mi


5 changes: 5 additions & 0 deletions olm/resources/values/spark-k8s-operator/values.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
resources:
limits:
memory: 256Mi
requests:
memory: 256Mi
5 changes: 5 additions & 0 deletions olm/resources/values/superset-operator/values.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
resources:
limits:
memory: 256Mi
requests:
memory: 256Mi
5 changes: 5 additions & 0 deletions olm/resources/values/trino-operator/values.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
resources:
limits:
memory: 256Mi
requests:
memory: 256Mi
5 changes: 5 additions & 0 deletions olm/resources/values/zookeeper-operator/values.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
resources:
limits:
memory: 256Mi
requests:
memory: 256Mi