diff --git a/config/config.go b/config/config.go index 19a73bfa..d26debe8 100644 --- a/config/config.go +++ b/config/config.go @@ -25,6 +25,7 @@ type Region string const ( USRegion Region = "us" EURegion Region = "eu" + JPRegion Region = "jp" NoRegion Region = "none" ) @@ -162,6 +163,15 @@ var USHaberdasherURL string // EUHaberdasherURL is the base url for the Haberdasher service in the EU var EUHaberdasherURL string +// JPUsageEndpoint is the haberdasher endpoint to which usage statistics are sent for JP accounts +var JPUsageEndpoint string + +// JPAttachmentEndpoint is the haberdasher endpoint to which attachments are sent for JP accounts +var JPAttachmentEndpoint string + +// JPHaberdasherURL is the base url for the Haberdasher service in JP +var JPHaberdasherURL string + // HaberdasherURL is the base url for the Haberdasher service var HaberdasherURL string @@ -231,7 +241,7 @@ func ParseFlags() { flag.StringVar(&Flags.Include, "include", defaultString, "Include a file or directory (including subdirectories) in the nrdiag-output.zip. Limit 4GB. To upload the results to New Relic also use the '-a' flag.") flag.StringVar(&Flags.Region, "r", defaultString, "alias for -region") - flag.StringVar(&Flags.Region, "region", defaultString, "The region your New Relic account is in. Accepted values: EU or US. Case insensitive. (Default: US)") + flag.StringVar(&Flags.Region, "region", defaultString, "The region your New Relic account is in. Accepted values: EU, JP, or US. Case insensitive. (Default: US)") flag.BoolVar(&Flags.ListScripts, "list-scripts", false, "List available scripts") @@ -276,6 +286,12 @@ func ParseFlags() { AttachmentEndpoint = EUAttachmentEndpoint } HaberdasherURL = EUHaberdasherURL + case JPRegion: + UsageEndpoint = JPUsageEndpoint + if Flags.AttachmentEndpoint == "" { + AttachmentEndpoint = JPAttachmentEndpoint + } + HaberdasherURL = JPHaberdasherURL default: UsageEndpoint = USUsageEndpoint if Flags.AttachmentEndpoint == "" { @@ -373,6 +389,9 @@ func stringToRegion(region string) Region { if r == "eu" { return EURegion } + if r == "jp" { + return JPRegion + } if r == "us" { return USRegion } diff --git a/config/config_test.go b/config/config_test.go index bce27edf..03fb35a0 100644 --- a/config/config_test.go +++ b/config/config_test.go @@ -211,6 +211,20 @@ func Test_stringToRegion(t *testing.T) { }, want: EURegion, }, + { + name: "lower case JP string to region type", + args: args{ + region: "jp", + }, + want: JPRegion, + }, + { + name: "upper case JP string to region type", + args: args{ + region: "JP", + }, + want: JPRegion, + }, { name: "blank region string to region type", args: args{ @@ -269,6 +283,22 @@ func Test_parseRegionFlagAndEnv(t *testing.T) { }, want: EURegion, }, + { + name: "JP via flag", + args: args{ + regionFromFlag: "jp", + regionFromEnv: "", + }, + want: JPRegion, + }, + { + name: "JP via env", + args: args{ + regionFromFlag: "", + regionFromEnv: "jp", + }, + want: JPRegion, + }, { name: "Nothing provided - default to US", args: args{ diff --git a/scripts/build.sh b/scripts/build.sh index d4cf918f..3b409e37 100755 --- a/scripts/build.sh +++ b/scripts/build.sh @@ -22,6 +22,9 @@ if [ -z "$BUILD_NUMBER" ]; then EU_USAGE_ENDPOINT="${STAGING_USAGE_ENDPOINT}" EU_ATTACHMENT_ENDPOINT="${STAGING_ATTACHMENT_ENDPOINT}" EU_HABERDASHER_URL="${STAGING_HABERDASHER_URL}" + JP_USAGE_ENDPOINT="${STAGING_USAGE_ENDPOINT}" + JP_ATTACHMENT_ENDPOINT="${STAGING_ATTACHMENT_ENDPOINT}" + JP_HABERDASHER_URL="${STAGING_HABERDASHER_URL}" else # Build number is present, send usage data to production endpoint echo "send usage data to Haberdasher production" @@ -31,12 +34,15 @@ else EU_USAGE_ENDPOINT="${EU_USAGE_ENDPOINT}" EU_ATTACHMENT_ENDPOINT="${EU_ATTACHMENT_ENDPOINT}" EU_HABERDASHER_URL="${EU_HABERDASHER_URL}" + JP_USAGE_ENDPOINT="${JP_USAGE_ENDPOINT}" + JP_ATTACHMENT_ENDPOINT="${JP_ATTACHMENT_ENDPOINT}" + JP_HABERDASHER_URL="${JP_HABERDASHER_URL}" fi VERSION=$(cat releaseVersion.txt | awk -F'majorMinor=' '{printf$2}') BUILD_TIMESTAMP=$(date -u '+%Y-%m-%d_%I:%M:%S%p') -LDFLAGS="-s -w -X ${CONFIG_PATH}.Version=${VERSION}.${VERSION_NUMBER} -X ${CONFIG_PATH}.BuildTimestamp=${BUILD_TIMESTAMP} -X ${CONFIG_PATH}.USUsageEndpoint=${US_USAGE_ENDPOINT} -X ${CONFIG_PATH}.USAttachmentEndpoint=${US_ATTACHMENT_ENDPOINT} -X ${CONFIG_PATH}.USHaberdasherURL=${US_HABERDASHER_URL} -X ${CONFIG_PATH}.EUUsageEndpoint=${EU_USAGE_ENDPOINT} -X ${CONFIG_PATH}.EUAttachmentEndpoint=${EU_ATTACHMENT_ENDPOINT} -X ${CONFIG_PATH}.EUHaberdasherURL=${EU_HABERDASHER_URL}" +LDFLAGS="-s -w -X ${CONFIG_PATH}.Version=${VERSION}.${VERSION_NUMBER} -X ${CONFIG_PATH}.BuildTimestamp=${BUILD_TIMESTAMP} -X ${CONFIG_PATH}.USUsageEndpoint=${US_USAGE_ENDPOINT} -X ${CONFIG_PATH}.USAttachmentEndpoint=${US_ATTACHMENT_ENDPOINT} -X ${CONFIG_PATH}.USHaberdasherURL=${US_HABERDASHER_URL} -X ${CONFIG_PATH}.EUUsageEndpoint=${EU_USAGE_ENDPOINT} -X ${CONFIG_PATH}.EUAttachmentEndpoint=${EU_ATTACHMENT_ENDPOINT} -X ${CONFIG_PATH}.EUHaberdasherURL=${EU_HABERDASHER_URL} -X ${CONFIG_PATH}.JPUsageEndpoint=${JP_USAGE_ENDPOINT} -X ${CONFIG_PATH}.JPAttachmentEndpoint=${JP_ATTACHMENT_ENDPOINT} -X ${CONFIG_PATH}.JPHaberdasherURL=${JP_HABERDASHER_URL}" # Set version based on version.txt file and auto version number echo "Build version is $VERSION.$VERSION_NUMBER"