1 of 17

Aaron Schlesinger

Cloud Advocate, MS Azure

@arschles

2 of 17

We Haven’t Had “Proper” Package Management

@arschles

3 of 17

Go Modules, in One Slide

Built right into go get & friends

@arschles

✅ No more GOPATH

✅ No more vendor

📚 https://cda.ms/FN

4 of 17

5 of 17

git push -f

Breaks Codebases

@arschles

6 of 17

The Module Download API

GET github.com/my/module/@v/list

GET github.com/my/module/@latest

GET bitbucket.com/my/other/module/@v/v1.0.0.mod

GET bitbucket.com/my/other/module/@v/v1.0.0.info

GET repo.internal/my/third/module/@v/v1.0.0.zip

@arschles

7 of 17

8 of 17

We need reliable and discoverable module servers.

….. but not just a central registry

@arschles

9 of 17

10 of 17

11 of 17

12 of 17

Secret Evil Plans TM

@arschles

13 of 17

Works on My Machine++

14 of 17

Enterpris-ey!

Auditing

Exclude Lists

Isolation

@arschles

15 of 17

Open APIs

The Module API is the Lingua Franca

Extensions

github.com/marwan-at-work/moddoc

@arschles

16 of 17

Chill Open Source Projects FTW

@arschles

#FancyMarketingLogos:

17 of 17