Skip to content

Commit 1dc78bc

Browse files
committed
fix: indent in generated kubeconfig content
added help function and more verbositiy
1 parent 7b5e238 commit 1dc78bc

File tree

2 files changed

+34
-18
lines changed

2 files changed

+34
-18
lines changed

.github/workflows/release.yaml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,4 +24,7 @@ jobs:
2424

2525
update_readme_table: true
2626

27+
depends_on: |
28+
"kubernetes-cli"
29+
2730
install: 'bin.install "src/kubeconfig-generator.sh" => "kubeconfig-generator"'

src/kubeconfig-generator.sh

Lines changed: 31 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,12 @@
22

33
set -e
44

5+
print_help() {
6+
echo "Usage: $(basename "$0") <service_account> <namespace>"
7+
echo " <service_account> Service Account to use for kubeconfig generation"
8+
echo " <namespace> Namespace of the service account (optional)"
9+
}
10+
511
parse_args() {
612
serviceAccount=$1
713
echo "Generating kubeconfig for the following service account: $serviceAccount"
@@ -29,29 +35,36 @@ get_sa_details() {
2935
}
3036

3137
render_kubeconfig() {
38+
echo "Rendering kubeconfig..."
3239
cat > kubeconfig <<EOF
33-
apiVersion: v1
34-
kind: Config
35-
clusters:
36-
- name: ${clusterName}
37-
cluster:
38-
certificate-authority-data: ${ca}
39-
server: ${server}
40-
contexts:
41-
- name: ${serviceAccount}@${clusterName}
42-
context:
43-
cluster: ${clusterName}
44-
namespace: ${namespace}
45-
user: ${serviceAccount}
46-
users:
47-
- name: ${serviceAccount}
48-
user:
49-
token: ${token}
50-
current-context: ${serviceAccount}@${clusterName}
40+
apiVersion: v1
41+
kind: Config
42+
clusters:
43+
- name: ${clusterName}
44+
cluster:
45+
certificate-authority-data: ${ca}
46+
server: ${server}
47+
contexts:
48+
- name: ${serviceAccount}@${clusterName}
49+
context:
50+
cluster: ${clusterName}
51+
namespace: ${namespace}
52+
user: ${serviceAccount}
53+
users:
54+
- name: ${serviceAccount}
55+
user:
56+
token: ${token}
57+
current-context: ${serviceAccount}@${clusterName}
5158
EOF
59+
echo "Kubeconfig generated successfully!"
5260
}
5361

5462
main() {
63+
if [ "$1" == "-h" ] || [ "$1" == "--help" ] || [ $# -lt 1 ]; then
64+
print_help
65+
exit 0
66+
fi
67+
5568
parse_args "$@"
5669

5770
get_cluster_details

0 commit comments

Comments
 (0)