1
0
Fork 0
llvm-premerge-checks/kubernetes/store_ssh_key.sh
2020-03-23 12:14:19 +01:00

36 lines
No EOL
1.2 KiB
Bash
Executable file

#!/bin/bash
# Copyright 2019 Google LLC
#
# Licensed under the the Apache License v2.0 with LLVM Exceptions (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# https://llvm.org/LICENSE.txt
#
# 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.
#-------------------------------------------------------------------------------
set -eux
# This scripts creates a new ssh keypair (if it does not exist) and uploads
# it to a kubernetes secret.
#
# You need to manually upload the public key to Github so that you can use
# it for authentication.
LOCAL_SSH_DIR="$HOME/.llvm-premerge-checks/github-ssh"
if [ ! -d "$LOCAL_SSH_DIR" ]; then
mkdir -p "$LOCAL_SSH_DIR"
pushd "$LOCAL_SSH_DIR"
ssh-keygen -b 4096 -t rsa -f "$LOCAL_SSH_DIR/id_rsa" -q -N ""
popd
fi
kubectl create secret generic github-ssh-key --namespace jenkins \
--from-file "$LOCAL_SSH_DIR/id_rsa" \
--from-file "$LOCAL_SSH_DIR/id_rsa.pub"