- Notifications
You must be signed in to change notification settings - Fork913
Commit34494fb
authored
chore: avoid depending on rbac in slim builds (#17959)
I noticed the `coder-vpn.dylib` (of course alongside the Agent/CLI binaries) had grown substantially (from 29MB to 37MB for the dylib), and discovered that importing RBAC in slim builds was the issueThis PR removes the dependency on RBAC in slim builds, and adds a compile-time check to ensure it can't be imported in the future:```$ make build# github.com/coder/coder/v2/coderd/rbaccoderd/rbac/no_slim.go:8:2: initialization cycle: _DO_NOT_IMPORT_THIS_PACKAGE_IN_SLIM_BUILDS refers to itselfmake: *** [Makefile:224: build/coder-slim_2.22.1-devel+7e46d24b4_linux_amd64] Error 1```Before and after for `coder-slim_darwin_arm64`:```$ gsa before after┌───────────────────────────────────────────────────────────────────────────────────┐│ Diff between before and after │├─────────┬─────────────────────────────────────────┬──────────┬──────────┬─────────┤│ PERCENT │ NAME │ OLD SIZE │ NEW SIZE │ DIFF │├─────────┼─────────────────────────────────────────┼──────────┼──────────┼─────────┤│ -100% │ github.com/gorilla/mux │ │ │ +0 B ││ -100% │ github.com/ammario/tlru │ │ │ +0 B ││ -100% │ github.com/armon/go-radix │ │ │ +0 B ││ -0.00% │ gvisor.dev/gvisor │ 2.4 MB │ 2.4 MB │ -4 B ││ -0.21% │ os │ 155 kB │ 155 kB │ -328 B ││ -0.23% │ regexp │ 152 kB │ 152 kB │ -346 B ││ -0.04% │ runtime │ 876 kB │ 876 kB │ -372 B ││ -100% │ github.com/rcrowley/go-metrics │ 675 B │ │ -675 B ││ -23.79% │ github.com/cespare/xxhash/v2 │ 3.0 kB │ 2.3 kB │ -715 B ││ -100% │ github.com/agnivade/levenshtein │ 1.4 kB │ │ -1.4 kB ││ -100% │ github.com/go-ini/ini │ 1.5 kB │ │ -1.5 kB ││ -100% │ github.com/xeipuuv/gojsonreference │ 2.4 kB │ │ -2.4 kB ││ -100% │ github.com/xeipuuv/gojsonpointer │ 5.2 kB │ │ -5.2 kB ││ -2.43% │ go.opentelemetry.io/otel │ 316 kB │ 309 kB │ -7.7 kB ││ -2.40% │ slices │ 381 kB │ 372 kB │ -9.2 kB ││ -0.68% │ crypto │ 1.4 MB │ 1.4 MB │ -9.5 kB ││ -100% │ github.com/tchap/go-patricia/v2 │ 23 kB │ │ -23 kB ││ -100% │ github.com/yashtewari/glob-intersection │ 28 kB │ │ -28 kB ││ -4.35% │ <autogenerated> │ 754 kB │ 721 kB │ -33 kB ││ -100% │ github.com/sirupsen/logrus │ 72 kB │ │ -72 kB ││ -2.56% │ github.com/coder/coder/v2 │ 3.3 MB │ 3.2 MB │ -84 kB ││ -100% │ github.com/gobwas/glob │ 107 kB │ │ -107 kB ││ -100% │ sigs.k8s.io/yaml │ 244 kB │ │ -244 kB ││ -100% │ github.com/open-policy-agent/opa │ 2.2 MB │ │ -2.2 MB │├─────────┼─────────────────────────────────────────┼──────────┼──────────┼─────────┤│ -7.79% │ __go_buildinfo __DATA │ 18 kB │ 17 kB │ -1.4 kB ││ -6.81% │ __itablink __DATA_CONST │ 23 kB │ 22 kB │ -1.6 kB ││ -6.61% │ __typelink __DATA_CONST │ 71 kB │ 66 kB │ -4.7 kB ││ -2.86% │ __noptrdata __DATA │ 1.0 MB │ 993 kB │ -29 kB ││ -21.49% │ __data __DATA │ 320 kB │ 251 kB │ -69 kB ││ -6.19% │ __rodata __DATA_CONST │ 6.0 MB │ 5.6 MB │ -372 kB ││ -47.19% │ __rodata __TEXT │ 7.6 MB │ 4.0 MB │ -3.6 MB │├─────────┼─────────────────────────────────────────┼──────────┼──────────┼─────────┤│ -14.02% │ before │ 50 MB │ 43 MB │ -7.0 MB ││ │ after │ │ │ │└─────────┴─────────────────────────────────────────┴──────────┴──────────┴─────────┘```1 parent1e1e6f3 commit34494fb
File tree
13 files changed
+78
-60
lines changed- cli
- testdata
- coderd
- database
- httpapi
- httpmw
- rbac
- docs/reference/cli
13 files changed
+78
-60
lines changedLines changed: 1 addition & 2 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
8 | 8 |
| |
9 | 9 |
| |
10 | 10 |
| |
11 |
| - | |
12 |
| - | |
| 11 | + | |
13 | 12 |
| |
14 | 13 |
| |
15 | 14 |
| |
|
Lines changed: 12 additions & 17 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
1 | 1 |
| |
2 | 2 |
| |
3 | 3 |
| |
4 |
| - | |
5 | 4 |
| |
6 |
| - | |
7 | 5 |
| |
8 | 6 |
| |
9 | 7 |
| |
10 | 8 |
| |
11 | 9 |
| |
12 |
| - | |
13 | 10 |
| |
14 | 11 |
| |
15 | 12 |
| |
16 | 13 |
| |
17 | 14 |
| |
18 | 15 |
| |
19 |
| - | |
20 |
| - | |
21 |
| - | |
22 |
| - | |
23 |
| - | |
24 |
| - | |
25 |
| - | |
26 |
| - | |
27 |
| - | |
28 | 16 |
| |
29 |
| - | |
30 | 17 |
| |
31 | 18 |
| |
32 | 19 |
| |
33 | 20 |
| |
34 | 21 |
| |
35 | 22 |
| |
36 | 23 |
| |
37 |
| - | |
| 24 | + | |
38 | 25 |
| |
39 | 26 |
| |
40 | 27 |
| |
| |||
52 | 39 |
| |
53 | 40 |
| |
54 | 41 |
| |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
55 | 50 |
| |
56 | 51 |
| |
57 | 52 |
| |
58 | 53 |
| |
59 | 54 |
| |
60 |
| - | |
61 |
| - | |
| 55 | + | |
| 56 | + | |
62 | 57 |
| |
63 | 58 |
| |
64 | 59 |
| |
| |||
67 | 62 |
| |
68 | 63 |
| |
69 | 64 |
| |
70 |
| - | |
| 65 | + | |
71 | 66 |
| |
72 | 67 |
| |
73 | 68 |
| |
|
Lines changed: 5 additions & 4 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
1 | 3 |
| |
2 | 4 |
| |
3 | 5 |
| |
4 |
| - | |
5 |
| - | |
6 |
| - | |
7 |
| - | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
8 | 9 |
|
Lines changed: 0 additions & 14 deletions
This file was deleted.
Lines changed: 28 additions & 0 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
| 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 | + |
Lines changed: 13 additions & 0 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + |
Lines changed: 2 additions & 17 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
20 | 20 |
| |
21 | 21 |
| |
22 | 22 |
| |
23 |
| - | |
24 | 23 |
| |
25 | 24 |
| |
26 | 25 |
| |
| |||
199 | 198 |
| |
200 | 199 |
| |
201 | 200 |
| |
202 |
| - | |
203 |
| - | |
204 |
| - | |
205 |
| - | |
206 |
| - | |
207 |
| - | |
208 |
| - | |
209 |
| - | |
210 |
| - | |
211 |
| - | |
212 |
| - | |
213 |
| - | |
214 |
| - | |
| 201 | + | |
215 | 202 |
| |
216 | 203 |
| |
217 | 204 |
| |
| |||
228 | 215 |
| |
229 | 216 |
| |
230 | 217 |
| |
231 |
| - | |
232 |
| - | |
233 |
| - | |
| 218 | + | |
234 | 219 |
| |
235 | 220 |
| |
236 | 221 |
| |
|
Lines changed: 2 additions & 0 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
1 | 3 |
| |
2 | 4 |
| |
3 | 5 |
| |
|
Lines changed: 9 additions & 0 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + |
Lines changed: 2 additions & 2 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
798 | 798 |
| |
799 | 799 |
| |
800 | 800 |
| |
801 |
| - | |
| 801 | + | |
802 | 802 |
| |
803 | 803 |
| |
804 | 804 |
| |
805 | 805 |
| |
806 |
| - | |
| 806 | + | |
807 | 807 |
| |
808 | 808 |
| |
809 | 809 |
| |
|
Lines changed: 2 additions & 2 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
34 | 34 |
| |
35 | 35 |
| |
36 | 36 |
| |
37 |
| - | |
| 37 | + | |
38 | 38 |
| |
39 | 39 |
| |
40 | 40 |
| |
| |||
997 | 997 |
| |
998 | 998 |
| |
999 | 999 |
| |
1000 |
| - | |
| 1000 | + | |
1001 | 1001 |
| |
1002 | 1002 |
| |
1003 | 1003 |
| |
|
Lines changed: 1 addition & 1 deletion
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
43 | 43 |
| |
44 | 44 |
| |
45 | 45 |
| |
46 |
| - | |
| 46 | + | |
47 | 47 |
| |
48 | 48 |
| |
49 | 49 |
| |
|
Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more aboutcustomizing how changed files appear on GitHub.
0 commit comments
Comments
(0)