# Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. #!/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-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