/
Taskfile.yaml
128 lines (126 loc) · 4.48 KB
/
Taskfile.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
version: 3
tasks:
generate:
desc: generating http handlers, mocks and decorators
sources:
- api/post-forwarder.yaml
- internal/post-forwarder/domain/interfaces.go
- internal/post-forwarder/driver/http.go
generates:
- internal/post-forwarder/driver/openapi_gen.go
- internal/post-forwarder/domain/mocks/*.go
- internal/post-forwarder/domain/wrappers/*.go
- internal/post-forwarder/driver/*gen.go
cmds:
- go generate ./internal/post-forwarder/...
test:
desc: running tests
dir: "internal/"
deps:
- generate
cmds:
- go test -cover -race -v ./...
lint:
desc: running linter
deps:
- generate
dir: "internal/"
cmds:
- golangci-lint run
deploy:
desc: Deploy to gcp
deps:
- generate
cmds:
- doppler secrets substitute --config prd app-secrets.yaml.gotmpl >app-secrets.yaml
- gcloud app deploy --quiet --no-cache
namespace:
desc: create new namespace in kubernetes
cmds:
- kubectl apply -f k8s/namespace.yaml
secrets:
desc: create kubernetes secrets
deps:
- namespace
cmds:
- kubectl apply -f k8s/secrets.yaml
run:
desc: run app locally in kubernetes
deps:
- generate
- secrets
cmds:
- skaffold run
dev:
desc: run app locally in kubernetes with auto build when code is changed
deps:
- generate
- secrets
cmds:
- skaffold dev --tail
stop:
desc: stop app running locally
cmds:
- skaffold delete
logs:
desc: Show logs
cmds:
- gcloud app logs tail
inf:
desc: Pulumi Up
dir: "inf"
cmds:
- pulumi up
inf-y:
desc: Pulumi Up -y
dir: "inf"
cmds:
- pulumi up -y
inf-show:
desc: Show pulumi stack
dir: "inf"
cmds:
- pulumi stack output --show-secrets
registry:
desc: Run registry locally
cmds:
- docker run -d -p 5000:5000 --restart=always --name registry registry:2
- skaffold config set default-repo localhost:5000
send-test-string:
desc: Send test string
cmds:
- doppler run --config dev --command 'http GET "http://localhost:8080/api/${AUTH_TOKEN}/test?msg=<b>test</b>" --raw="test<br>body"'
send-test-long-string:
desc: Send test string
cmds:
- |
doppler run --config dev --command 'http GET "http://localhost:8080/api/${AUTH_TOKEN}/test" --raw="name,email,address,postalZip,region,country,numberrange \
Kimberly Alford,rutrum@protonmail.ca,472-8909 Eu St.,00645,Vlaams-Brabant,France,0 \
Katelyn Barnes,nisl.elementum@outlook.couk,Ap #394-9814 At St.,662588,Namen,Indonesia,3 \
Adara Myers,eget@icloud.net,Ap #843-9905 Eu Street,71629,Córdoba,Canada,2 \
Megan Weaver,eros.proin@protonmail.com,Ap #694-2065 Ipsum. Av.,830536,Sicilia,South Korea,2 \
Zia Boyer,justo@google.com,Ap #111-2695 Eget St.,38338,Ancash,South Africa,6 \
"'
purge-old-versions:
desc: Delete old versions of service in gcp
cmds:
- |
VERSIONS=$(gcloud app versions list --service default --sort-by '~VERSION.ID' --format 'value(VERSION.ID)' | sed 1,3d)
for version in $VERSIONS
do gcloud app versions delete "$version" --service default --quiet
done
list-buckets:
desc: List app engine buckets with lifecycle rules
dir: "inf"
cmds:
- |
filter="$(pulumi stack output "app id").appspot.com"
for gs in $(gsutil ls | grep $filter); do
echo -n "${gs}: "
gsutil lifecycle get ${gs}
done
doppler:
desc: install and setup doppler
cmds:
- kubectl apply -f https://github.com/DopplerHQ/kubernetes-operator/releases/latest/download/recommended.yaml
- kubectl create secret generic doppler-token-secret --namespace doppler-operator-system --from-literal=serviceToken=$(doppler configs tokens create doppler-kubernetes-operator --plain --config dev)