Skip to content

Commit 306f65c

Browse files
committed
initial commit
1 parent 54b65dd commit 306f65c

File tree

4 files changed

+67
-30
lines changed

4 files changed

+67
-30
lines changed

.golangci.yaml

+1-1
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ linters:
3434

3535
linters-settings:
3636
gocyclo:
37-
min-complexity: 14
37+
min-complexity: 20
3838
govet:
3939
check-shadowing: true
4040
misspell:

Makefile

+37
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
BUILD_DIR ?= $(dir $(realpath -s $(firstword $(MAKEFILE_LIST))))/build
2+
VERSION ?= $(shell git describe --tags --always --dirty)
3+
GOOS ?= $(shell uname | tr '[:upper:]' '[:lower:]')
4+
GOARCH ?= $(shell [[ `uname -m` = "x86_64" ]] && echo "amd64" || echo "arm64" )
5+
GOPROXY ?= "https://proxy.golang.org|direct"
6+
7+
$(shell mkdir -p ${BUILD_DIR})
8+
9+
all: fmt verify test build
10+
11+
build: ## build binary using current OS and Arch
12+
go build -a -ldflags="-s -w -X main.version=${VERSION}" -o ${BUILD_DIR}/aca-${GOOS}-${GOARCH} ${BUILD_DIR}/../cmd/main.go
13+
14+
test: ## run go tests and benchmarks
15+
go test -bench=. ${BUILD_DIR}/../... -v -coverprofile=coverage.out -covermode=atomic -outputdir=${BUILD_DIR}
16+
17+
version: ## Output version of local HEAD
18+
@echo ${VERSION}
19+
20+
verify: ## Run Verifications like helm-lint and govulncheck
21+
govulncheck ./...
22+
golangci-lint run
23+
24+
fmt: ## go fmt the code
25+
find . -iname "*.go" -exec go fmt {} \;
26+
27+
toolchain: ## Install the development toolchain
28+
hack/toolchain.sh
29+
30+
licenses: ## Verifies dependency licenses
31+
go mod download
32+
! go-licenses csv ./... | grep -v -e 'MIT' -e 'Apache-2.0' -e 'BSD-3-Clause' -e 'BSD-2-Clause' -e 'ISC' -e 'MPL-2.0'
33+
34+
help: ## Display help
35+
@awk 'BEGIN {FS = ":.*##"; printf "Usage:\n make \033[36m<target>\033[0m\n"} /^[a-zA-Z_0-9-]+:.*?##/ { printf " \033[36m%-15s\033[0m %s\n", $$1, $$2 } /^##@/ { printf "\n\033[1m%s\033[0m\n", substr($$0, 5) } ' $(MAKEFILE_LIST)
36+
37+
.PHONY: all build test verify help licenses fmt version

README.md

+28-28
Original file line numberDiff line numberDiff line change
@@ -33,46 +33,46 @@ Flags:
3333
aca --start-time 5m --call-source eks.amazonaws.com -o chart
3434
2023/01/26 14:24:30 Filtered to 214 events out of 376
3535
EVENT SOURCE API CALL SOURCE IDENTITY USER AGENT
36-
ec2.amazonaws.com CreateTags eks.amazonaws.com eksctl-lambda-link-demo-us-east-2-clus-ServiceRole-IB35YPKTQQ3W eks.amazonaws.com
37-
ec2.amazonaws.com CreateTags eks.amazonaws.com eksctl-lambda-link-demo-us-east-2-clus-ServiceRole-IB35YPKTQQ3W eks.amazonaws.com
38-
ec2.amazonaws.com CreateTags eks.amazonaws.com eksctl-lambda-link-demo-us-east-2-clus-ServiceRole-IB35YPKTQQ3W eks.amazonaws.com
39-
ec2.amazonaws.com CreateTags eks.amazonaws.com eksctl-lambda-link-demo-us-east-2-clus-ServiceRole-IB35YPKTQQ3W eks.amazonaws.com
40-
ec2.amazonaws.com CreateTags eks.amazonaws.com eksctl-lambda-link-demo-us-east-2-clus-ServiceRole-IB35YPKTQQ3W eks.amazonaws.com
36+
ec2.amazonaws.com CreateTags eks.amazonaws.com eksctl-my-demo-us-east-2-clus-ServiceRole-012345678901234567 eks.amazonaws.com
37+
ec2.amazonaws.com CreateTags eks.amazonaws.com eksctl-my-demo-us-east-2-clus-ServiceRole-012345678901234567 eks.amazonaws.com
38+
ec2.amazonaws.com CreateTags eks.amazonaws.com eksctl-my-demo-us-east-2-clus-ServiceRole-012345678901234567 eks.amazonaws.com
39+
ec2.amazonaws.com CreateTags eks.amazonaws.com eksctl-my-demo-us-east-2-clus-ServiceRole-012345678901234567 eks.amazonaws.com
40+
ec2.amazonaws.com CreateTags eks.amazonaws.com eksctl-my-demo-us-east-2-clus-ServiceRole-012345678901234567 eks.amazonaws.com
4141
...
4242
```
4343

4444
```
4545
aca --start-time 5m --api DescribeInstances -o chart
4646
2023/01/26 14:24:30 Filtered to 214 events out of 376
4747
EVENT SOURCE API CALL SOURCE IDENTITY USER AGENT
48-
ec2.amazonaws.com CreateTags eks.amazonaws.com eksctl-lambda-link-demo-us-east-2-clus-ServiceRole-IB35YPKTQQ3W eks.amazonaws.com
49-
ec2.amazonaws.com CreateTags eks.amazonaws.com eksctl-lambda-link-demo-us-east-2-clus-ServiceRole-IB35YPKTQQ3W eks.amazonaws.com
50-
ec2.amazonaws.com CreateTags eks.amazonaws.com eksctl-lambda-link-demo-us-east-2-clus-ServiceRole-IB35YPKTQQ3W eks.amazonaws.com
51-
ec2.amazonaws.com CreateTags eks.amazonaws.com eksctl-lambda-link-demo-us-east-2-clus-ServiceRole-IB35YPKTQQ3W eks.amazonaws.com
52-
ec2.amazonaws.com CreateTags eks.amazonaws.com eksctl-lambda-link-demo-us-east-2-clus-ServiceRole-IB35YPKTQQ3W eks.amazonaws.com
48+
ec2.amazonaws.com CreateTags eks.amazonaws.com eksctl-my-demo-us-east-2-clus-ServiceRole-012345678901234567 eks.amazonaws.com
49+
ec2.amazonaws.com CreateTags eks.amazonaws.com eksctl-my-demo-us-east-2-clus-ServiceRole-012345678901234567 eks.amazonaws.com
50+
ec2.amazonaws.com CreateTags eks.amazonaws.com eksctl-my-demo-us-east-2-clus-ServiceRole-012345678901234567 eks.amazonaws.com
51+
ec2.amazonaws.com CreateTags eks.amazonaws.com eksctl-my-demo-us-east-2-clus-ServiceRole-012345678901234567 eks.amazonaws.com
52+
ec2.amazonaws.com CreateTags eks.amazonaws.com eksctl-my-demo-us-east-2-clus-ServiceRole-012345678901234567 eks.amazonaws.com
5353
...
5454
```
5555

5656
```
5757
aca --start-time 5m --user-agent 'karpenter.sh-v0.23.0' -o chart
5858
2023/01/26 14:27:20 Filtered to 9 events out of 405
5959
EVENT SOURCE API CALL SOURCE IDENTITY USER AGENT
60-
ec2.amazonaws.com DescribeInstanceTypes 3.22.70.109 wagnerbm-karpenter-dev-us-east-2-karpenter aws-sdk-go/1.44.154 (go1.19.4; linux; amd64) karpenter.sh-v0.23.0-3-gaece5998
61-
ec2.amazonaws.com DescribeInstanceTypes 3.22.70.109 wagnerbm-karpenter-dev-us-east-2-karpenter aws-sdk-go/1.44.154 (go1.19.4; linux; amd64) karpenter.sh-v0.23.0-3-gaece5998
62-
ec2.amazonaws.com DescribeInstanceTypes 3.22.70.109 wagnerbm-karpenter-dev-us-east-2-karpenter aws-sdk-go/1.44.154 (go1.19.4; linux; amd64) karpenter.sh-v0.23.0-3-gaece5998
63-
ec2.amazonaws.com DescribeInstanceTypes 3.22.70.109 wagnerbm-karpenter-dev-us-east-2-karpenter aws-sdk-go/1.44.154 (go1.19.4; linux; amd64) karpenter.sh-v0.23.0-3-gaece5998
64-
ec2.amazonaws.com DescribeInstanceTypes 3.22.70.109 wagnerbm-karpenter-dev-us-east-2-karpenter aws-sdk-go/1.44.154 (go1.19.4; linux; amd64) karpenter.sh-v0.23.0-3-gaece5998
65-
ec2.amazonaws.com DescribeInstanceTypes 3.22.70.109 wagnerbm-karpenter-dev-us-east-2-karpenter aws-sdk-go/1.44.154 (go1.19.4; linux; amd64) karpenter.sh-v0.23.0-3-gaece5998
66-
ec2.amazonaws.com DescribeSubnets 3.22.70.109 wagnerbm-karpenter-dev-us-east-2-karpenter aws-sdk-go/1.44.154 (go1.19.4; linux; amd64) karpenter.sh-v0.23.0-3-gaece5998
67-
ec2.amazonaws.com DescribeInstanceTypeOfferings 3.22.70.109 wagnerbm-karpenter-dev-us-east-2-karpenter aws-sdk-go/1.44.154 (go1.19.4; linux; amd64) karpenter.sh-v0.23.0-3-gaece5998
68-
ec2.amazonaws.com DescribeInstanceTypeOfferings 3.22.70.109 wagnerbm-karpenter-dev-us-east-2-karpenter aws-sdk-go/1.44.154 (go1.19.4; linux; amd64) karpenter.sh-v0.23.0-3-gaece5998
69-
ec2.amazonaws.com DescribeInstanceTypes 3.22.70.109 wagnerbm-karpenter-dev-us-east-2-karpenter aws-sdk-go/1.44.154 (go1.19.4; linux; amd64) karpenter.sh-v0.23.0-3-gaece5998
70-
ec2.amazonaws.com DescribeInstanceTypes 3.22.70.109 wagnerbm-karpenter-dev-us-east-2-karpenter aws-sdk-go/1.44.154 (go1.19.4; linux; amd64) karpenter.sh-v0.23.0-3-gaece5998
71-
ec2.amazonaws.com DescribeInstanceTypes 3.22.70.109 wagnerbm-karpenter-dev-us-east-2-karpenter aws-sdk-go/1.44.154 (go1.19.4; linux; amd64) karpenter.sh-v0.23.0-3-gaece5998
72-
ec2.amazonaws.com DescribeInstanceTypes 3.22.70.109 wagnerbm-karpenter-dev-us-east-2-karpenter aws-sdk-go/1.44.154 (go1.19.4; linux; amd64) karpenter.sh-v0.23.0-3-gaece5998
73-
ec2.amazonaws.com DescribeInstanceTypes 3.22.70.109 wagnerbm-karpenter-dev-us-east-2-karpenter aws-sdk-go/1.44.154 (go1.19.4; linux; amd64) karpenter.sh-v0.23.0-3-gaece5998
74-
ec2.amazonaws.com DescribeInstanceTypes 3.22.70.109 wagnerbm-karpenter-dev-us-east-2-karpenter aws-sdk-go/1.44.154 (go1.19.4; linux; amd64) karpenter.sh-v0.23.0-3-gaece5998
75-
ec2.amazonaws.com DescribeSubnets 3.22.70.109 wagnerbm-karpenter-dev-us-east-2-karpenter aws-sdk-go/1.44.154 (go1.19.4; linux; amd64) karpenter.sh-v0.23.0-3-gaece5998
76-
ec2.amazonaws.com DescribeInstanceTypeOfferings 3.22.70.109 wagnerbm-karpenter-dev-us-east-2-karpenter aws-sdk-go/1.44.154 (go1.19.4; linux; amd64) karpenter.sh-v0.23.0-3-gaece5998
77-
ec2.amazonaws.com DescribeInstanceTypeOfferings 3.22.70.109 wagnerbm-karpenter-dev-us-east-2-karpenter aws-sdk-go/1.44.154 (go1.19.4; linux; amd64) karpenter.sh-v0.23.0-3-gaece5998
60+
ec2.amazonaws.com DescribeInstanceTypes 3.22.70.109 username-karpenter-dev-us-east-2-karpenter aws-sdk-go/1.44.154 (go1.19.4; linux; amd64) karpenter.sh-v0.23.0-3-gaece5998
61+
ec2.amazonaws.com DescribeInstanceTypes 3.22.70.109 username-karpenter-dev-us-east-2-karpenter aws-sdk-go/1.44.154 (go1.19.4; linux; amd64) karpenter.sh-v0.23.0-3-gaece5998
62+
ec2.amazonaws.com DescribeInstanceTypes 3.22.70.109 username-karpenter-dev-us-east-2-karpenter aws-sdk-go/1.44.154 (go1.19.4; linux; amd64) karpenter.sh-v0.23.0-3-gaece5998
63+
ec2.amazonaws.com DescribeInstanceTypes 3.22.70.109 username-karpenter-dev-us-east-2-karpenter aws-sdk-go/1.44.154 (go1.19.4; linux; amd64) karpenter.sh-v0.23.0-3-gaece5998
64+
ec2.amazonaws.com DescribeInstanceTypes 3.22.70.109 username-karpenter-dev-us-east-2-karpenter aws-sdk-go/1.44.154 (go1.19.4; linux; amd64) karpenter.sh-v0.23.0-3-gaece5998
65+
ec2.amazonaws.com DescribeInstanceTypes 3.22.70.109 username-karpenter-dev-us-east-2-karpenter aws-sdk-go/1.44.154 (go1.19.4; linux; amd64) karpenter.sh-v0.23.0-3-gaece5998
66+
ec2.amazonaws.com DescribeSubnets 3.22.70.109 username-karpenter-dev-us-east-2-karpenter aws-sdk-go/1.44.154 (go1.19.4; linux; amd64) karpenter.sh-v0.23.0-3-gaece5998
67+
ec2.amazonaws.com DescribeInstanceTypeOfferings 3.22.70.109 username-karpenter-dev-us-east-2-karpenter aws-sdk-go/1.44.154 (go1.19.4; linux; amd64) karpenter.sh-v0.23.0-3-gaece5998
68+
ec2.amazonaws.com DescribeInstanceTypeOfferings 3.22.70.109 username-karpenter-dev-us-east-2-karpenter aws-sdk-go/1.44.154 (go1.19.4; linux; amd64) karpenter.sh-v0.23.0-3-gaece5998
69+
ec2.amazonaws.com DescribeInstanceTypes 3.22.70.109 username-karpenter-dev-us-east-2-karpenter aws-sdk-go/1.44.154 (go1.19.4; linux; amd64) karpenter.sh-v0.23.0-3-gaece5998
70+
ec2.amazonaws.com DescribeInstanceTypes 3.22.70.109 username-karpenter-dev-us-east-2-karpenter aws-sdk-go/1.44.154 (go1.19.4; linux; amd64) karpenter.sh-v0.23.0-3-gaece5998
71+
ec2.amazonaws.com DescribeInstanceTypes 3.22.70.109 username-karpenter-dev-us-east-2-karpenter aws-sdk-go/1.44.154 (go1.19.4; linux; amd64) karpenter.sh-v0.23.0-3-gaece5998
72+
ec2.amazonaws.com DescribeInstanceTypes 3.22.70.109 username-karpenter-dev-us-east-2-karpenter aws-sdk-go/1.44.154 (go1.19.4; linux; amd64) karpenter.sh-v0.23.0-3-gaece5998
73+
ec2.amazonaws.com DescribeInstanceTypes 3.22.70.109 username-karpenter-dev-us-east-2-karpenter aws-sdk-go/1.44.154 (go1.19.4; linux; amd64) karpenter.sh-v0.23.0-3-gaece5998
74+
ec2.amazonaws.com DescribeInstanceTypes 3.22.70.109 username-karpenter-dev-us-east-2-karpenter aws-sdk-go/1.44.154 (go1.19.4; linux; amd64) karpenter.sh-v0.23.0-3-gaece5998
75+
ec2.amazonaws.com DescribeSubnets 3.22.70.109 username-karpenter-dev-us-east-2-karpenter aws-sdk-go/1.44.154 (go1.19.4; linux; amd64) karpenter.sh-v0.23.0-3-gaece5998
76+
ec2.amazonaws.com DescribeInstanceTypeOfferings 3.22.70.109 username-karpenter-dev-us-east-2-karpenter aws-sdk-go/1.44.154 (go1.19.4; linux; amd64) karpenter.sh-v0.23.0-3-gaece5998
77+
ec2.amazonaws.com DescribeInstanceTypeOfferings 3.22.70.109 username-karpenter-dev-us-east-2-karpenter aws-sdk-go/1.44.154 (go1.19.4; linux; amd64) karpenter.sh-v0.23.0-3-gaece5998
7878
```

cmd/main.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -181,7 +181,7 @@ func parseTimeOrDuration(input string) (time.Time, error) {
181181
if err != nil {
182182
dur, derr := time.ParseDuration(input)
183183
if derr != nil {
184-
return time.Time{}, fmt.Errorf("unable to parse as RFC3339 time or duration. Time Err: %v Duration Err: %v", err, derr)
184+
return time.Time{}, fmt.Errorf("unable to parse as RFC3339 time or duration. Time Err: %w Duration Err: %w", err, derr)
185185
}
186186
return time.Now().Add(-1 * dur), nil
187187
}

0 commit comments

Comments
 (0)