Level 12 /

What's Next

The line is open. Residents are boarding. Gopher cuts the ribbon with golden scissors, confetti fills the air, and the train departs for its maiden voyage. But this was just the practice run. The real project is next: your own connector, built from scratch.

Gopher says

You did it! Part 1 is complete. You started as a passenger and now you can read the entire train system’s blueprints. Let’s take a moment to see how far you’ve come.

In baton-junction, you’ve now dissected every file - the client, the connector, the builders, the helpers - and understand the patterns behind every connector in the C1 ecosystem.

What You’ve Learned

Every level built on the last, and every concept came from connector code:

LevelWhat You LearnedWhere It’s Used
0Setup, go build, project layoutEvery level
1Types, variables, constants, struct tagsData models, JSON serialization
2Functions, multi-return, err != nilEvery function in the connector
3Structs, methods, pointer receiversAPI models, builder structs
4Interfaces, implicit satisfactionResourceSyncer, type assertions
5Slices, maps, range, appendResource lists, pagination
6Packages, exported/unexported namespkg/client, pkg/connector
7Context, cancellation, loggingEvery API call, structured logs
8Standard library (fmt, net/http, json)HTTP client, URL building
9Protobuf, gRPC, SDK types, buildersv2.Resource, functional options
10Testing, table-driven, httptestEvery _test.go file
11Reading the full codebaseThe whole connector

Nothing was filler. If we taught it, you’ll use it.

What’s Coming in Part 2

Part 2 flips the script: instead of reading connector code, you’ll write it. You’ll build the same baton-junction connector from an empty directory to a working binary.

Level 13: Project Foundation - module init, directory structure, API models, HTTP client, connector struct, and the entry point.

Level 14: Connector Config - configuration fields, CLI flags, environment variables, and the go:generate pattern for typed config structs.

Level 15: Syncing Resources - resource type definitions, user/group/role builders, List methods, entitlements, grants, annotations, and expansion.

Level 16: Provisioning - Grant, Revoke, idempotency, the entity source rule, and account creation.

Level 17: Integration Tests - a full test suite that exercises the entire connector through its public API against a mock server.

Level 18: Standalone Test Server - a standalone mock API server for running the compiled connector in service mode against a C1 tenant.

Level 19: Validate and Run - building, running a one-shot sync, and inspecting the output with the baton CLI tool.

Gopher says

You know types, functions, structs, interfaces, collections, packages, context, the standard library, protobuf, testing, and how they all fit together.

In baton-junction, Part 2 asks you to use everything you’ve learned to build a connector from scratch - but you’re ready. Turn the page and start building.

Next Lesson

Project Foundation

Continue