Helm charts and apps for pm-setup
[nonrtric/plt/ranpm.git] / install / scripts / create_topic.sh
1 #!/bin/bash
2
3 #  ============LICENSE_START===============================================
4 #  Copyright (C) 2023 Nordix Foundation. All rights reserved.
5 #  ========================================================================
6 #  Licensed under the Apache License, Version 2.0 (the "License");
7 #  you may not use this file except in compliance with the License.
8 #  You may obtain a copy of the License at
9 #
10 #       http://www.apache.org/licenses/LICENSE-2.0
11 #
12 #  Unless required by applicable law or agreed to in writing, software
13 #  distributed under the License is distributed on an "AS IS" BASIS,
14 #  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 #  See the License for the specific language governing permissions and
16 #  limitations under the License.
17 #  ============LICENSE_END=================================================
18 #
19
20 # Script to create a topic in kafka
21
22 # Create a topic
23 # args:  <kafka-bootstrap-pod.namespace:<port> <topic-name> [<num-partitions>]
24 create_topic() {
25
26     if [ $# -lt 2 ] && [ $# -gt 3 ]; then
27         echo "Usage: create-topic.sh <kafka-bootstrap-svc.namespace> <topic-name> [<num-partitions>]"
28         exit 1
29     fi
30     kafka=$1
31     topic=$2
32     partitions=$3
33
34     if [ -z "$partitions" ]; then
35         partitions=1
36     fi
37
38     echo "Creating topic: $topic with $partitions partition(s) in $kafka"
39
40     kubectl exec -it client -n nonrtric -- bash -c 'kafka-topics --create --topic '$topic'  --partitions '$partitions' --bootstrap-server '$kafka
41
42     return $?
43 }