diff --git a/setup.sh b/setup.sh index d831bf8..79f2bda 100755 --- a/setup.sh +++ b/setup.sh @@ -7,6 +7,188 @@ show_help() { cat < +Usage: $0 [options] + +Options: + -h, --help Show help information + -e, --enironment Set environment for New Relic installation (k8s | helm | docker | linux) + -a, --account Set account id (int) + -k, --api-key Set API key + -r, --region Set New Relic Region (EU) + -n, --cluster-name Set cluster name. Required for k8s + -l, --license-key Set license key EOF } + +show_allowed_environments () { + cat <&1 | grep 'Server Version' | awk -F' v' '{ print $2; }' | awk -F. '{ print $1"."$2; }') && \ + # if [[ $(ver $K8S_VERSION) -lt $(ver "1.25") ]]; then KSM_IMAGE_VERSION="v2.6.0"; else KSM_IMAGE_VERSION="v2.7.0"; fi && \ + # helm repo add newrelic https://helm-charts.newrelic.com && helm repo update && \ + # kubectl create namespace newrelic ; helm upgrade --install newrelic-bundle newrelic/nri-bundle \ + # --set global.licenseKey=$license_key \ + # --set global.cluster=$cluster_name \ + # --namespace=newrelic \ + # --set newrelic-infrastructure.privileged=true \ + # --set global.lowDataMode=true \ + # --set kube-state-metrics.image.tag=${KSM_IMAGE_VERSION} \ + # --set kube-state-metrics.enabled=true \ + # --set kubeEvents.enabled=true \ + # --set newrelic-prometheus-agent.enabled=true \ + # --set newrelic-prometheus-agent.lowDataMode=true \ + # --set newrelic-prometheus-agent.config.kubernetes.integrations_filter.enabled=false \ + # --set logging.enabled=true \ + # --set newrelic-logging.lowDataMode=true + echo "helm not supported yet" + exit 1 +} + +while [ "$#" -gt 0 ]; do + case "$1" in + -h|--help) + show_help + exit 0 + ;; + -e|--environment) + if [ "$2" ]; then + environment="$2" + shift 2 + else + echo "Error: Missing argument for $1 option" + show_help + exit 1 + fi + ;; + -a|--account) + if [ "$2" ]; then + account_id="$2" + shift 2 + else + if [ "$environment" == "k8s" ] || [ "$environment" == "linux"]; then + echo "Error: Missing argument for $1 option" + show_help + exit 1 + else + $account_id = false + fi + fi + ;; + -k|--api-key) + if [ "$2" ]; then + api_key="$2" + shift 2 + else + if [ "$environment" == "k8s" ] || [ "$environment" == "linux"]; then + echo "Error: Missing argument for $1 option" + show_help + exit 1 + else + $api_key = false + fi + fi + ;; + -r|--region) + if [ "$2" ]; then + region="$2" + shift 2 + else + if [ "$environment" == "k8s" ] || [ "$environment" == "linux"]; then + echo "Error: Missing argument for $1 option" + show_help + exit 1 + else + $region = false + fi + fi + ;; + -c|--cluster-name) + if [ "$2" ]; then + cluster_name="$2" + shift 2 + else + if [ "$environment" == "k8s" ] || [ "$environment" == "helm"]; then + echo "Error: Missing argument for $1 option" + show_help + exit 1 + else + $cluster_name = false + fi + fi + ;; + -l|--license-key) + if [ "$2" ]; then + license_key="$2" + shift 2 + else + if [ "$environment" == "docker" ] || [ "$environment" == "helm"]; then + echo "Error: Missing argument for $1 option" + show_help + exit 1 + else + $license_key = false + fi + fi + ;; + *) + echo "Error: Unrecognized option $1" + show_help + exit 1 + ;; + esac +done + +if ["$environment" == "k8s"]; then + setup_k8s +else + echo "$environment not supported yet." +fi \ No newline at end of file