Skip to content

Commit 15db916

Browse files
authored
Merge pull request #263 from newrelic/daffi/jp-cli
feat: Add support for Japan Region
2 parents 2d64c60 + eb5ceaa commit 15db916

3 files changed

Lines changed: 57 additions & 2 deletions

File tree

config/config.go

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ type Region string
2525
const (
2626
USRegion Region = "us"
2727
EURegion Region = "eu"
28+
JPRegion Region = "jp"
2829
NoRegion Region = "none"
2930
)
3031

@@ -162,6 +163,15 @@ var USHaberdasherURL string
162163
// EUHaberdasherURL is the base url for the Haberdasher service in the EU
163164
var EUHaberdasherURL string
164165

166+
// JPUsageEndpoint is the haberdasher endpoint to which usage statistics are sent for JP accounts
167+
var JPUsageEndpoint string
168+
169+
// JPAttachmentEndpoint is the haberdasher endpoint to which attachments are sent for JP accounts
170+
var JPAttachmentEndpoint string
171+
172+
// JPHaberdasherURL is the base url for the Haberdasher service in JP
173+
var JPHaberdasherURL string
174+
165175
// HaberdasherURL is the base url for the Haberdasher service
166176
var HaberdasherURL string
167177

@@ -231,7 +241,7 @@ func ParseFlags() {
231241
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.")
232242

233243
flag.StringVar(&Flags.Region, "r", defaultString, "alias for -region")
234-
flag.StringVar(&Flags.Region, "region", defaultString, "The region your New Relic account is in. Accepted values: EU or US. Case insensitive. (Default: US)")
244+
flag.StringVar(&Flags.Region, "region", defaultString, "The region your New Relic account is in. Accepted values: EU, JP, or US. Case insensitive. (Default: US)")
235245

236246
flag.BoolVar(&Flags.ListScripts, "list-scripts", false, "List available scripts")
237247

@@ -276,6 +286,12 @@ func ParseFlags() {
276286
AttachmentEndpoint = EUAttachmentEndpoint
277287
}
278288
HaberdasherURL = EUHaberdasherURL
289+
case JPRegion:
290+
UsageEndpoint = JPUsageEndpoint
291+
if Flags.AttachmentEndpoint == "" {
292+
AttachmentEndpoint = JPAttachmentEndpoint
293+
}
294+
HaberdasherURL = JPHaberdasherURL
279295
default:
280296
UsageEndpoint = USUsageEndpoint
281297
if Flags.AttachmentEndpoint == "" {
@@ -373,6 +389,9 @@ func stringToRegion(region string) Region {
373389
if r == "eu" {
374390
return EURegion
375391
}
392+
if r == "jp" {
393+
return JPRegion
394+
}
376395
if r == "us" {
377396
return USRegion
378397
}

config/config_test.go

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -211,6 +211,20 @@ func Test_stringToRegion(t *testing.T) {
211211
},
212212
want: EURegion,
213213
},
214+
{
215+
name: "lower case JP string to region type",
216+
args: args{
217+
region: "jp",
218+
},
219+
want: JPRegion,
220+
},
221+
{
222+
name: "upper case JP string to region type",
223+
args: args{
224+
region: "JP",
225+
},
226+
want: JPRegion,
227+
},
214228
{
215229
name: "blank region string to region type",
216230
args: args{
@@ -269,6 +283,22 @@ func Test_parseRegionFlagAndEnv(t *testing.T) {
269283
},
270284
want: EURegion,
271285
},
286+
{
287+
name: "JP via flag",
288+
args: args{
289+
regionFromFlag: "jp",
290+
regionFromEnv: "",
291+
},
292+
want: JPRegion,
293+
},
294+
{
295+
name: "JP via env",
296+
args: args{
297+
regionFromFlag: "",
298+
regionFromEnv: "jp",
299+
},
300+
want: JPRegion,
301+
},
272302
{
273303
name: "Nothing provided - default to US",
274304
args: args{

scripts/build.sh

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,9 @@ if [ -z "$BUILD_NUMBER" ]; then
2222
EU_USAGE_ENDPOINT="${STAGING_USAGE_ENDPOINT}"
2323
EU_ATTACHMENT_ENDPOINT="${STAGING_ATTACHMENT_ENDPOINT}"
2424
EU_HABERDASHER_URL="${STAGING_HABERDASHER_URL}"
25+
JP_USAGE_ENDPOINT="${STAGING_USAGE_ENDPOINT}"
26+
JP_ATTACHMENT_ENDPOINT="${STAGING_ATTACHMENT_ENDPOINT}"
27+
JP_HABERDASHER_URL="${STAGING_HABERDASHER_URL}"
2528
else
2629
# Build number is present, send usage data to production endpoint
2730
echo "send usage data to Haberdasher production"
@@ -31,12 +34,15 @@ else
3134
EU_USAGE_ENDPOINT="${EU_USAGE_ENDPOINT}"
3235
EU_ATTACHMENT_ENDPOINT="${EU_ATTACHMENT_ENDPOINT}"
3336
EU_HABERDASHER_URL="${EU_HABERDASHER_URL}"
37+
JP_USAGE_ENDPOINT="${JP_USAGE_ENDPOINT}"
38+
JP_ATTACHMENT_ENDPOINT="${JP_ATTACHMENT_ENDPOINT}"
39+
JP_HABERDASHER_URL="${JP_HABERDASHER_URL}"
3440
fi
3541

3642
VERSION=$(cat releaseVersion.txt | awk -F'majorMinor=' '{printf$2}')
3743

3844
BUILD_TIMESTAMP=$(date -u '+%Y-%m-%d_%I:%M:%S%p')
39-
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}"
45+
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}"
4046

4147
# Set version based on version.txt file and auto version number
4248
echo "Build version is $VERSION.$VERSION_NUMBER"

0 commit comments

Comments
 (0)