Skip to content
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Commit 9bbc5d1

Browse files
committedJul 27, 2020
setup azure pipeline and add e2e
1 parent a161123 commit 9bbc5d1

File tree

11 files changed

+144
-221
lines changed

11 files changed

+144
-221
lines changed
 

‎.circleci/config.yml

-67
This file was deleted.

‎.gitignore

+1
Original file line numberDiff line numberDiff line change
@@ -16,3 +16,4 @@ setenv.sh
1616
kubernetes-kms
1717
vendor
1818
azure.json
19+
*.env

‎.pipelines/pr.yml

+15
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
trigger: none
2+
3+
pr:
4+
branches:
5+
include:
6+
- master
7+
paths:
8+
exclude:
9+
- docs/*
10+
11+
pool:
12+
vmImage: ubuntu-latest
13+
14+
jobs:
15+
- template: unit-tests-template.yml

‎.pipelines/unit-tests-template.yml

+31
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
jobs:
2+
- job: unit_tests
3+
timeoutInMinutes: 20
4+
cancelTimeoutInMinutes: 5
5+
workspace:
6+
clean: all
7+
variables:
8+
- group: kubernetes-kms
9+
- name: GOPATH
10+
value: '$(system.defaultWorkingDirectory)/gopath'
11+
12+
steps:
13+
- task: GoTool@0
14+
inputs:
15+
version: 1.14.2
16+
- script: V=1 make build
17+
displayName: Build
18+
- script: make unit-test
19+
displayName: Run unit tests
20+
- script: |
21+
sudo mkdir /etc/kubernetes
22+
echo -e '{\n "tenantId": "'$TENANT_ID'",\n "subscriptionId": "'$SUBSCRIPTION_ID'",\n "aadClientId": "'$CLIENT_ID'",\n "aadClientSecret": "'$CLIENT_SECRET'",\n "resourceGroup": "'$KV_RESOURCE_GROUP'",\n "location": "'$AZURE_LOCATION'",\n "providerVaultName": "'$KV_NAME'",\n "providerKeyName": "'$KV_KEY'",\n "providerKeyVersion": "$KV_KEY_VERSION"\n}' | sudo tee --append /etc/kubernetes/azure.json > /dev/null
23+
displayName: Setup azure.json on host
24+
env:
25+
CLIENT_ID: $(AZURE_CLIENT_ID)
26+
CLIENT_SECRET: $(AZURE_CLIENT_SECRET)
27+
- script: |
28+
sudo ./kubernetes-kms > /dev/null &
29+
echo Waiting 2 seconds for the server to start
30+
sleep 2
31+
make integration-test

‎.vscode/settings.json

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
{
2+
"go.inferGopath": false
3+
}

‎Gopkg.lock

-93
This file was deleted.

‎Gopkg.toml

-50
This file was deleted.

‎Makefile

+14-11
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,9 @@
11
binary := kubernetes-kms
22
REGISTRY_NAME ?= upstreamk8sci
33
REGISTRY ?= $(REGISTRY_NAME).azurecr.io
4-
DOCKER_IMAGE := $(REGISTRY)/public/k8s/kms/keyvault
5-
VERSION := v0.0.9
4+
REPO_PREFIX ?= k8s/kms
5+
DOCKER_IMAGE := $(REGISTRY)/$(REPO_PREFIX)/keyvault
6+
VERSION ?= v0.0.9
67
CGO_ENABLED_FLAG := 0
78

89
ifeq ($(OS),Windows_NT)
@@ -18,7 +19,7 @@ else
1819
endif
1920

2021
.PHONY: build
21-
build: authors deps
22+
build: authors
2223
@echo "Building..."
2324
$Q GOOS=${GOOS_FLAG} CGO_ENABLED=${CGO_ENABLED_FLAG} go build .
2425

@@ -31,12 +32,11 @@ build-image: authors deps
3132
push: build-image
3233
$Q docker push $(DOCKER_IMAGE):$(VERSION)
3334

34-
.PHONY: clean deps test testint
35+
.PHONY: clean deps unit-test integration-test
3536

3637
deps: setup
3738
@echo "Ensuring Dependencies..."
3839
$Q go env
39-
$Q dep ensure
4040

4141
clean:
4242
@echo "Clean..."
@@ -53,18 +53,21 @@ authors:
5353
$Q rm -f NEWAUTHORS
5454
$Q rm -f GITAUTHORS
5555

56-
testint:
56+
integration-test:
5757
@echo "Running Integration tests..."
5858
$Q sudo GOPATH=$(GOPATH) go test -v -count=1 github.com/Azure/kubernetes-kms/tests/client
5959

60-
test:
60+
unit-test:
6161
@echo "Running Unit Tests..."
6262
ifndef CI
6363
@echo "Running Unit Tests outside CI..."
6464
$Q go env
65-
$Q dep ensure
66-
go test -v -count=1 `go list ./... | grep -v client`
65+
go test -race -v -count=1 `go list ./... | grep -v client`
6766
else
6867
@echo "Running Unit Tests inside CI..."
69-
go test -v `go list ./... | grep -v client`
70-
endif
68+
go test -race $(shell go list ./... | grep -v /test/e2e) -v
69+
endif
70+
71+
.PHONY: mod
72+
mod:
73+
@go mod tidy

‎go.mod

+26
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
module github.com/Azure/kubernetes-kms
2+
3+
go 1.14
4+
5+
require (
6+
github.com/Azure/azure-sdk-for-go v11.3.0-beta+incompatible
7+
github.com/Azure/go-autorest v10.15.5+incompatible
8+
github.com/dgrijalva/jwt-go v3.1.0+incompatible // indirect
9+
github.com/dnaeon/go-vcr v1.0.1 // indirect
10+
github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b
11+
github.com/golang/mock v1.1.1
12+
github.com/golang/protobuf v1.0.0
13+
github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e // indirect
14+
github.com/satori/go.uuid v1.2.0 // indirect
15+
github.com/satori/uuid v1.2.0 // indirect
16+
github.com/stretchr/testify v1.6.1 // indirect
17+
golang.org/x/crypto v0.0.0-20180211211603-9de5f2eaf759
18+
golang.org/x/net v0.0.0-20180208041118-f5dfe339be1d
19+
golang.org/x/sync v0.0.0-20200625203802-6e8e738ad208 // indirect
20+
golang.org/x/sys v0.0.0-20180202135801-37707fdb30a5
21+
golang.org/x/text v0.3.1-0.20180208041248-4e4a3210bb54 // indirect
22+
google.golang.org/genproto v0.0.0-20180206005123-2b5a72b8730b // indirect
23+
google.golang.org/grpc v1.9.2
24+
gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f // indirect
25+
gopkg.in/yaml.v2 v2.3.0 // indirect
26+
)

‎go.sum

+51
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
github.com/Azure/azure-sdk-for-go v11.3.0-beta+incompatible h1:F+Xs1GMaEJnaBa8gY+ogJSCeK34w4PXPYspY0huefbM=
2+
github.com/Azure/azure-sdk-for-go v11.3.0-beta+incompatible/go.mod h1:9XXNKU+eRnpl9moKnB4QOLf1HestfXbmab5FXxiDBjc=
3+
github.com/Azure/go-autorest v10.15.5+incompatible h1:vdxx6wM1rVkKt/3niByPVjguoLWkWImOcJNvEykgBzY=
4+
github.com/Azure/go-autorest v10.15.5+incompatible/go.mod h1:r+4oMnoxhatjLLJ6zxSWATqVooLgysK6ZNox3g/xq24=
5+
github.com/davecgh/go-spew v1.1.0 h1:ZDRjVQ15GmhC3fiQ8ni8+OwkZQO4DARzQgrnXU1Liz8=
6+
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
7+
github.com/dgrijalva/jwt-go v3.1.0+incompatible h1:FFziAwDQQ2dz1XClWMkwvukur3evtZx7x/wMHKM1i20=
8+
github.com/dgrijalva/jwt-go v3.1.0+incompatible/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ=
9+
github.com/dnaeon/go-vcr v1.0.1 h1:r8L/HqC0Hje5AXMu1ooW8oyQyOFv4GxqpL0nRP7SLLY=
10+
github.com/dnaeon/go-vcr v1.0.1/go.mod h1:aBB1+wY4s93YsC3HHjMBMrwTj2R9FHDzUr9KyGc8n1E=
11+
github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b h1:VKtxabqXZkF25pY9ekfRL6a582T4P37/31XEstQ5p58=
12+
github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q=
13+
github.com/golang/mock v1.1.1 h1:G5FRp8JnTd7RQH5kemVNlMeyXQAztQ3mOWV95KxsXH8=
14+
github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A=
15+
github.com/golang/protobuf v1.0.0 h1:lsek0oXi8iFE9L+EXARyHIjU5rlWIhhTkjDz3vHhWWQ=
16+
github.com/golang/protobuf v1.0.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
17+
github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
18+
github.com/kr/text v0.1.0 h1:45sCR5RtlFHMR4UwH9sdQ5TC8v0qDQCHnXt+kaKSTVE=
19+
github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
20+
github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e h1:fD57ERR4JtEqsWbfPhv4DMiApHyliiK5xCTNVSPiaAs=
21+
github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno=
22+
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
23+
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
24+
github.com/satori/go.uuid v1.2.0 h1:0uYX9dsZ2yD7q2RtLRtPSdGDWzjeM3TbMJP9utgA0ww=
25+
github.com/satori/go.uuid v1.2.0/go.mod h1:dA0hQrYB0VpLJoorglMZABFdXlWrHn1NEOzdhQKdks0=
26+
github.com/satori/uuid v1.2.0 h1:6TFY4nxn5XwBx0gDfzbEMCNT6k4N/4FNIuN8RACZ0KI=
27+
github.com/satori/uuid v1.2.0/go.mod h1:B8HLsPLik/YNn6KKWVMDJ8nzCL8RP5WyfsnmvnAEwIU=
28+
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
29+
github.com/stretchr/testify v1.6.1 h1:hDPOHmpOpP40lSULcqw7IrRb/u7w6RpDC9399XyoNd0=
30+
github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
31+
golang.org/x/crypto v0.0.0-20180211211603-9de5f2eaf759 h1:6W75OzsrwJByqag5GxxtYVTVEyP+Sy+aLDUsJ9CD8OU=
32+
golang.org/x/crypto v0.0.0-20180211211603-9de5f2eaf759/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
33+
golang.org/x/net v0.0.0-20180208041118-f5dfe339be1d h1:lnO2rP1Eit1fCAJKjYJlnArsHluPBxcs2BA2dQrL224=
34+
golang.org/x/net v0.0.0-20180208041118-f5dfe339be1d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
35+
golang.org/x/sync v0.0.0-20200625203802-6e8e738ad208 h1:qwRHBd0NqMbJxfbotnDhm2ByMI1Shq4Y6oRJo21SGJA=
36+
golang.org/x/sync v0.0.0-20200625203802-6e8e738ad208/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
37+
golang.org/x/sys v0.0.0-20180202135801-37707fdb30a5 h1:MF92a0wJ3gzSUVBpjcwdrDr5+klMFRNEEu6Mev4n00I=
38+
golang.org/x/sys v0.0.0-20180202135801-37707fdb30a5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
39+
golang.org/x/text v0.3.1-0.20180208041248-4e4a3210bb54 h1:Yxu6pHX9X2RECiuw/Q5/4uvajuaowck8zOFKXgbfNBk=
40+
golang.org/x/text v0.3.1-0.20180208041248-4e4a3210bb54/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
41+
google.golang.org/genproto v0.0.0-20180206005123-2b5a72b8730b h1:OeIgOx0Uu9oBj6JJwlmVnWwNXk+28RE9ySMmpGeQuUs=
42+
google.golang.org/genproto v0.0.0-20180206005123-2b5a72b8730b/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc=
43+
google.golang.org/grpc v1.9.2 h1:roJ2Fad4PmV4LRO8LF7CFuMU23BAliEqJHQXv2BW+ng=
44+
google.golang.org/grpc v1.9.2/go.mod h1:yo6s7OP7yaDglbqo1J04qKzAhqBH6lvTonzMVmEdcZw=
45+
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
46+
gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f h1:BLraFXnmrev5lT+xlilqcH8XK9/i0At2xKjWk4p6zsU=
47+
gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
48+
gopkg.in/yaml.v2 v2.3.0 h1:clyUAQHOM3G0M3f5vQj7LuJrETvjVot3Z5el9nffUtU=
49+
gopkg.in/yaml.v2 v2.3.0/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
50+
gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c h1:dUUwHk2QECo/6vqA44rthZ8ie2QXMNeKRTHCNY2nXvo=
51+
gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=

‎tests/client/client_test.go

+3
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,9 @@ func TestEncryptDecrypt(t *testing.T) {
6262

6363
encryptRequest := k8spb.EncryptRequest{Version: version, Plain: tc.want}
6464
encryptResponse, err := client.Encrypt(context.Background(), &encryptRequest)
65+
if err != nil {
66+
t.Fatalf("encrypt request failed with error: %+v", err)
67+
}
6568

6669
decryptRequest := k8spb.DecryptRequest{Version: version, Cipher: encryptResponse.Cipher}
6770
decryptResponse, err := client.Decrypt(context.Background(), &decryptRequest)

0 commit comments

Comments
 (0)
Please sign in to comment.