aboutsummaryrefslogtreecommitdiffstats
path: root/scripts/etescript/vnfsdk-etescript.sh
blob: f1d39691bf85cfd0de26d1c5c95ca76cabc2a5ac (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
# SPDX-License-Identifier: Apache-2.0

#!/bin/bash

#
# Create root certificate CA (Certificate Authority) and its private key.
# Create the package certificate issued by CA
# Copy the stuff to SDC ONBOARDING and Robot pods.
#



SDCVALID=sdc-valid
SDCINVALID=sdc-invalid
ROBOTPOD=$(kubectl -n $NAMESPACE get pods --no-headers=true -o custom-columns=:metadata.name | grep robot )
SDCONBOARDINGPOD=$(kubectl -n $NAMESPACE get pods --no-headers=true -o custom-columns=:metadata.name | grep sdc-onboarding-be | grep -v cassandra)

generate_ca_key_cert_and_package_cert_issued_by_CA () {
        openssl req -batch -new -nodes -x509 -days 36500 -keyout rootCA-private-robot-$1.key -out rootCA-robot-$1.cert
        openssl req -batch -new -nodes -keyout package-private-robot-$1.key -out package-robot-$1.csr
        openssl x509 -req -CA rootCA-robot-$1.cert -CAkey rootCA-private-robot-$1.key -CAcreateserial -in package-robot-$1.csr -out package-robot-$1.cert
}


copy_root_cert_to_sdc_onboarding () {
        kubectl cp $1/rootCA-robot-$5.cert $2/$3:$4
}

copy_package_certs_to_robot () {
        for f in package-robot-$5.cert package-private-robot-$5.key
        do
                kubectl cp $1/$f $2/$3:$4
        done
}

mkdir "$DIR/$SCRIPTDIR/tmp"
cd "$DIR/$SCRIPTDIR/tmp"
if [[ -f rootCA-robot-$SDCVALID.cert  &&  -f package-robot-$SDCVALID.cert  &&  -f package-robot-$SDCINVALID.cert  &&  -f package-private-robot-$SDCVALID.key  &&  -f package-private-robot-$SDCINVALID.key ]]; then
        echo "All files are present";
else
        generate_ca_key_cert_and_package_cert_issued_by_CA $SDCVALID
        generate_ca_key_cert_and_package_cert_issued_by_CA $SDCINVALID

fi
cd ../../..
copy_root_cert_to_sdc_onboarding "$DIR/$SCRIPTDIR/tmp" "$NAMESPACE" "$SDCONBOARDINGPOD" "/var/lib/jetty/cert" $SDCVALID
copy_package_certs_to_robot "$DIR/$SCRIPTDIR/tmp" "$NAMESPACE" "$ROBOTPOD" "/tmp" $SDCVALID
copy_package_certs_to_robot "$DIR/$SCRIPTDIR/tmp" "$NAMESPACE" "$ROBOTPOD" "/tmp" $SDCINVALID