11#! /bin/bash
22set -x
33
4+ replace_invalid_characters (){
5+ python -c ' import sys;print(sys.argv[1].translate ({ord(c): "-" for c in "!@#$%^&*()[]{};:,/<>?\|`~=_+"}))' " $1 "
6+ }
7+
8+ # Assumptions are existing kubeflow installation is in the kubeflow namespace
9+ DEFAULT_RUNTIME_FILE=$( jupyter --data-dir) /metadata/runtimes/test.json
10+
11+ if [ -f " /var/run/secrets/kubernetes.io/serviceaccount/namespace" ]; then
12+ SA_NAMESPACE=$( cat /var/run/secrets/kubernetes.io/serviceaccount/namespace)
13+ fi
14+
15+ COS_BUCKET=$( replace_invalid_characters " $COS_BUCKET " )
16+ export COS_BUCKET=${COS_BUCKET:- default}
17+
18+ # If Kubeflow credentials are not supplied, use default Kubeflow installation credentials
19+ KF_DEPLOYMENT_NAMESPACE=" ${SA_NAMESPACE:= default} "
20+ AWS_ACCESS_KEY_ID=" ${AWS_ACCESS_KEY_ID:= minio} "
21+ AWS_SECRET_ACCESS_KEY=" ${AWS_SECRET_ACCESS_KEY:= minio123} "
22+
23+ if [[ ! -f " $DEFAULT_RUNTIME_FILE " ]]; then
24+ elyra-metadata install runtimes --schema_name=kfp \
25+ --name=test \
26+ --display_name=Test \
27+ --auth_type=NO_AUTHENTICATION \
28+ --api_endpoint=http://ml-pipeline." $KF_DEPLOYMENT_NAMESPACE " .svc.cluster.local:3000/pipeline \
29+ --cos_endpoint=http://minio-service." $KF_DEPLOYMENT_NAMESPACE " .svc.cluster.local:9000 \
30+ --cos_auth_type=USER_CREDENTIALS \
31+ --cos_username=" $AWS_ACCESS_KEY_ID " \
32+ --cos_password=" $AWS_SECRET_ACCESS_KEY " \
33+ --cos_bucket=" $COS_BUCKET " \
34+ --engine=Tekton
35+ fi
36+
437# Set the elyra config on the right path
538cp /opt/app-root/bin/utils/jupyter_elyra_config.py /opt/app-root/src/.jupyter/
639
1245# Environment vars set for accessing ssl_sa_certs and sa_token
1346export KF_PIPELINES_SSL_SA_CERTS=" /var/run/secrets/kubernetes.io/serviceaccount/ca.crt"
1447export KF_PIPELINES_SA_TOKEN_ENV=" /var/run/secrets/kubernetes.io/serviceaccount/token"
48+ export KF_PIPELINES_SA_TOKEN_PATH=" /var/run/secrets/kubernetes.io/serviceaccount/token"
0 commit comments