-
Notifications
You must be signed in to change notification settings - Fork 1.6k
Expand file tree
/
Copy pathmanifest.json
More file actions
2678 lines (2678 loc) · 101 KB
/
Copy pathmanifest.json
File metadata and controls
2678 lines (2678 loc) · 101 KB
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
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
{
"versions": ["main"],
"routes": [
{
"title": "About",
"description": "Coder is a self-hosted platform for running AI coding agents and cloud development environments on the infrastructure you control.",
"path": "./README.md",
"icon_path": "./images/icons/home.svg",
"children": [
{
"title": "Screenshots",
"description": "See screenshots of the Coder platform, including browser-based workspace access and the admin dashboard.",
"path": "./about/screenshots.md"
},
{
"title": "Support",
"description": "Get help with your Coder deployment through GitHub issues, our Discord community, and premium support.",
"path": "./support/index.md",
"children": [
{
"title": "Support bundle",
"description": "Generate a support bundle and share workspace and deployment diagnostics with Coder support to troubleshoot issues.",
"path": "./support/support-bundle.md"
}
]
}
]
},
{
"title": "Quickstart",
"description": "Install Coder, build your first template, and launch your first workspace in this quickstart guide.",
"path": "./get-started/index.md",
"icon_path": "./images/icons/rocket.svg",
"children": [
{
"title": "Customize your template",
"description": "Add a language, install command-line tools, and authenticate to GitHub",
"path": "./get-started/customize-your-template/index.md",
"children": [
{
"title": "Add a programming language",
"description": "Expose a new programming language through a template parameter and install it at workspace startup.",
"path": "./get-started/customize-your-template/add-a-language.md"
},
{
"title": "Install your own command-line tools",
"description": "Install your own command-line tools in a workspace and make them persist across rebuilds.",
"path": "./get-started/customize-your-template/install-command-line-tools.md"
},
{
"title": "Clone private repositories",
"description": "Clone private GitHub repositories in your workspace using a Coder external-auth data source.",
"path": "./get-started/customize-your-template/authenticate-to-github.md"
}
]
}
]
},
{
"title": "Install",
"description": "Plan, prepare, install, validate, and operate a Coder deployment in your own infrastructure.",
"path": "./install/index.md",
"icon_path": "./images/icons/download.svg",
"children": [
{
"title": "Coder CLI",
"description": "Install the standalone Coder CLI binary on Linux, macOS, or Windows to run the control plane and client.",
"path": "./install/cli.md",
"icon_path": "./images/icons/terminal.svg"
},
{
"title": "Plan your deployment",
"description": "Learn the architecture, size the deployment, and record the decisions that shape it.",
"path": "./install/plan/index.md",
"icon_path": "./images/icons/notes.svg",
"children": [
{
"title": "Architecture",
"description": "Learn about Coder's architecture and the components that make up a deployment.",
"path": "./install/plan/architecture.md"
},
{
"title": "Coder Validated Architecture",
"description": "Reference designs and best practices for sizing a Coder deployment, from 1,000 to 10,000 users.",
"path": "./install/plan/sizing/index.md",
"children": [
{
"title": "Up to 1,000 users",
"description": "Hardware specifications and architecture guidance for Coder deployments that support up to 1,000 users",
"path": "./install/plan/sizing/1k-users.md"
},
{
"title": "Up to 2,000 users",
"description": "Hardware specifications and architecture guidance for Coder deployments that support up to 2,000 users",
"path": "./install/plan/sizing/2k-users.md"
},
{
"title": "Up to 3,000 users",
"description": "Enterprise-scale architecture recommendations for Coder deployments that support up to 3,000 users",
"path": "./install/plan/sizing/3k-users.md"
},
{
"title": "Up to 10,000 users",
"description": "Enterprise-scale architecture recommendations for Coder deployments that support up to 10,000 users",
"path": "./install/plan/sizing/10k-users.md"
}
]
}
]
},
{
"title": "Prepare prerequisites",
"description": "Gather the DNS records, certificates, database, license, and identity provider application a deployment needs.",
"path": "./install/prepare/index.md",
"icon_path": "./images/icons/dependency.svg",
"children": [
{
"title": "Licensing",
"description": "Add and manage Coder licenses to unlock Premium and AI Governance features.",
"path": "./install/prepare/licensing.md",
"icon_path": "./images/icons/licensing.svg"
},
{
"title": "Air-gapped deployments",
"description": "Run Coder in air-gapped, disconnected, or offline environments where all features remain supported.",
"path": "./install/prepare/airgap.md",
"icon_path": "./images/icons/lan.svg"
},
{
"title": "Mirror the registry",
"description": "Use JFrog Artifactory to mirror the Coder Registry for air-gapped deployments",
"path": "./install/prepare/registry-mirror.md"
}
]
},
{
"title": "Install the control plane",
"description": "Choose a platform and install the Coder control plane on it.",
"path": "./install/server/index.md",
"icon_path": "./images/icons/download.svg",
"children": [
{
"title": "Docker",
"description": "Install and run Coder using the official Docker images for a quick single-machine deployment.",
"path": "./install/server/docker.md",
"icon_path": "./images/icons/docker.svg"
},
{
"title": "Kubernetes",
"description": "Install Coder on a Kubernetes cluster using the official Helm chart for production deployments.",
"path": "./install/server/kubernetes/index.md",
"icon_path": "./images/icons/kubernetes.svg",
"children": [
{
"title": "Deploy Coder on Azure with an Application Gateway",
"description": "Deploy Coder on Azure Kubernetes Service behind an Azure Application Gateway ingress controller.",
"path": "./install/server/kubernetes/kubernetes-azure-app-gateway.md"
}
]
},
{
"title": "Rancher",
"description": "Deploy Coder on Rancher as a Kubernetes workload using the Rancher UI and Helm.",
"path": "./install/server/rancher.md",
"icon_path": "./images/icons/rancher.svg"
},
{
"title": "OpenShift",
"description": "Install Coder on a Red Hat OpenShift cluster using Helm, with the required security context settings.",
"path": "./install/server/openshift.md",
"icon_path": "./images/icons/openshift.svg"
},
{
"title": "RHEL-family Linux",
"description": "Install the Coder control plane from an RPM package on Red Hat Enterprise Linux and other RHEL-family distributions.",
"path": "./install/server/rpm.md",
"icon_path": "./images/icons/system.svg"
},
{
"title": "Cloud platforms",
"description": "Install guides and example templates for deploying Coder on AWS, Google Cloud, and Azure.",
"path": "./install/server/cloud/index.md",
"icon_path": "./images/icons/cloud.svg",
"children": [
{
"title": "AWS Marketplace",
"description": "Deploy a Coder proof-of-concept on AWS using the listing available in the AWS Marketplace.",
"path": "./install/server/cloud/aws-marketplace.md"
},
{
"title": "GCP Compute Engine",
"description": "Deploy the Coder control plane on a Google Cloud Compute Engine virtual machine.",
"path": "./install/server/cloud/compute-engine.md"
},
{
"title": "Azure VM",
"description": "Set up the Coder control plane on a Microsoft Azure virtual machine, step by step.",
"path": "./install/server/cloud/azure-vm.md"
}
]
},
{
"title": "Community install methods",
"description": "Community-contributed methods for installing Coder on platforms Coder doesn't package itself.",
"path": "./install/server/community.md",
"icon_path": "./images/icons/generic.svg"
}
]
},
{
"title": "Validate your deployment",
"description": "Harden the deployment, then prove it works and holds up under load.",
"path": "./install/validate/index.md",
"icon_path": "./images/icons/health.svg",
"children": [
{
"title": "Scale testing",
"description": "Plan and run scale tests to make sure your Coder deployment can handle your organization's load.",
"path": "./install/validate/scale-testing.md",
"children": [
{
"title": "Scale tests and utilities",
"description": "Use Coder's built-in scale-testing utility to benchmark and load-test your deployment.",
"path": "./install/validate/scale-testing/utility.md"
},
{
"title": "Scale Coder",
"description": "Best practices for preparing and tuning a Coder deployment so it scales to many users.",
"path": "./tutorials/best-practices/scale-coder.md"
}
]
}
]
},
{
"title": "Operate and maintain",
"description": "Run the deployment day to day, add external provisioners, upgrade it, and remove it when needed.",
"path": "./install/operate/index.md",
"icon_path": "./images/icons/wrench.svg",
"children": [
{
"title": "External provisioners",
"description": "Run external provisioner daemons to isolate builds and scale workspace provisioning.",
"path": "./install/operate/provisioners/index.md",
"icon_path": "./images/icons/key.svg",
"state": ["premium"],
"children": [
{
"title": "Manage provisioner jobs",
"description": "Monitor and manage provisioner jobs for workspace builds, including canceling stuck jobs.",
"path": "./install/operate/provisioners/manage-provisioner-jobs.md",
"state": ["premium"]
}
]
},
{
"title": "Upgrade",
"description": "Learn how to upgrade your Coder deployment to a newer version, with steps for each install method.",
"path": "./install/operate/upgrade.md",
"icon_path": "./images/icons/upgrade.svg",
"children": [
{
"title": "Upgrade best practices",
"description": "Follow best practices and troubleshooting tips to plan and carry out Coder upgrades.",
"path": "./install/operate/upgrade/best-practices.md"
},
{
"title": "Upgrade from ESR 2.24 to 2.29",
"description": "A step-by-step guide to upgrade a Coder deployment from Extended Support Release 2.24 to 2.29.",
"path": "./install/operate/upgrade/esr-2.24-2.29-upgrade.md"
},
{
"title": "Upgrade from ESR 2.29 to 2.34",
"description": "A step-by-step guide to upgrade a Coder deployment from Extended Support Release 2.29 to 2.34.",
"path": "./install/operate/upgrade/esr-2.29-2.34-upgrade.md"
}
]
},
{
"title": "Uninstall",
"description": "Learn how to uninstall your Coder deployment and remove its associated resources.",
"path": "./install/operate/uninstall.md",
"icon_path": "./images/icons/trash.svg"
}
]
}
]
},
{
"title": "User guides",
"description": "Guides for Coder end users on accessing, managing, and personalizing their workspaces.",
"path": "./user-guides/index.md",
"icon_path": "./images/icons/users.svg",
"children": [
{
"title": "Workspace access",
"description": "Connect to your Coder workspace using SSH, your IDE, a web terminal, remote desktop, and more.",
"path": "./user-guides/workspace-access/index.md",
"icon_path": "./images/icons/access.svg",
"children": [
{
"title": "Visual Studio Code",
"description": "Develop in your Coder workspace remotely with VS Code, using the desktop app or the browser.",
"path": "./user-guides/workspace-access/vscode.md"
},
{
"title": "Web terminal",
"description": "Use the browser-based web terminal to run commands in your workspace without any local setup.",
"path": "./user-guides/workspace-access/web-terminal.md"
},
{
"title": "JetBrains IDEs",
"description": "Connect JetBrains IDEs to Coder workspaces using JetBrains Toolbox or Gateway.",
"path": "./user-guides/workspace-access/jetbrains/index.md",
"children": [
{
"title": "JetBrains Gateway",
"description": "Use JetBrains Gateway to open and work in your Coder workspace from a full JetBrains IDE.",
"path": "./user-guides/workspace-access/jetbrains/gateway.md"
},
{
"title": "JetBrains Toolbox",
"description": "Connect to and manage your Coder workspaces from the JetBrains Toolbox app.",
"path": "./user-guides/workspace-access/jetbrains/toolbox.md",
"state": ["beta"]
}
]
},
{
"title": "Remote desktops",
"description": "Connect to a GUI-based desktop in your Coder workspace using RDP, including Windows workspaces.",
"path": "./user-guides/workspace-access/remote-desktops.md"
},
{
"title": "Emacs TRAMP",
"description": "Use Emacs TRAMP to edit files and run commands in your Coder workspace over SSH.",
"path": "./user-guides/workspace-access/emacs-tramp.md"
},
{
"title": "Workspace ports",
"description": "Securely access ports and processes running inside your Coder workspace from your local machine.",
"path": "./user-guides/workspace-access/port-forwarding.md"
},
{
"title": "File browser",
"description": "Upload, download, and manage files in your Coder workspace from the browser with File Browser.",
"path": "./user-guides/workspace-access/filebrowser.md"
},
{
"title": "Web IDEs",
"description": "Access your Coder workspace through web-based IDEs that run in the browser, with no local install.",
"path": "./user-guides/workspace-access/web-ides.md"
},
{
"title": "code-server",
"description": "Access your Coder workspace in the browser with code-server, the VS Code experience over the web.",
"path": "./user-guides/workspace-access/code-server.md"
},
{
"title": "Zed",
"description": "Access your Coder workspace with the Zed collaborative code editor over SSH.",
"path": "./user-guides/workspace-access/zed.md"
},
{
"title": "Cursor",
"description": "Access your Coder workspace with Cursor, the AI-powered code editor, over SSH.",
"path": "./user-guides/workspace-access/cursor.md"
},
{
"title": "Devin Desktop",
"description": "Access your Coder workspace with Devin Desktop (formerly Windsurf), the AI-powered code editor, over SSH.",
"path": "./user-guides/workspace-access/devin-desktop.md"
},
{
"title": "Antigravity",
"description": "Access your Coder workspace with the Antigravity agentic code editor over SSH.",
"path": "./user-guides/workspace-access/antigravity.md"
}
]
},
{
"title": "Coder Desktop",
"description": "Transform remote workspaces into seamless local development environments with no port forwarding required",
"path": "./user-guides/desktop/index.md",
"icon_path": "./images/icons/computer-code.svg",
"children": [
{
"title": "Coder Desktop Connect and sync",
"description": "Use Coder Desktop to connect to workspaces and sync their code and files to your local machine.",
"path": "./user-guides/desktop/desktop-connect-sync.md"
}
]
},
{
"title": "Manage workspaces",
"description": "Create, start, stop, update, and delete your Coder workspaces from the dashboard or CLI.",
"path": "./user-guides/workspace-management.md",
"icon_path": "./images/icons/generic.svg"
},
{
"title": "Shared workspaces",
"description": "Let multiple users securely connect to a single Coder workspace to program and debug together.",
"path": "./user-guides/shared-workspaces.md",
"icon_path": "./images/icons/generic.svg"
},
{
"title": "Manage workspace schedules",
"description": "Control cloud costs by scheduling when your Coder workspaces automatically start and stop.",
"path": "./user-guides/workspace-scheduling.md",
"icon_path": "./images/icons/stopwatch.svg"
},
{
"title": "Workspace lifecycle",
"description": "A guide to the workspace lifecycle, from creation and status through stopping and deletion.",
"path": "./user-guides/workspace-lifecycle.md",
"icon_path": "./images/icons/circle-dot.svg"
},
{
"title": "Dev Containers",
"description": "Run containerized development environments in your Coder workspace using the dev containers specification.",
"path": "./user-guides/devcontainers/index.md",
"icon_path": "./images/icons/container.svg",
"children": [
{
"title": "Work with dev containers",
"description": "Access and work inside dev containers in your Coder workspace over SSH, your IDE, or the web terminal.",
"path": "./user-guides/devcontainers/working-with-dev-containers.md"
},
{
"title": "Customizing dev containers",
"description": "Configure custom agent names, apps, and display options in devcontainer.json.",
"path": "./user-guides/devcontainers/customizing-dev-containers.md"
},
{
"title": "Troubleshooting dev containers",
"description": "Diagnose and resolve common issues with dev containers in your Coder workspace.",
"path": "./user-guides/devcontainers/troubleshooting-dev-containers.md"
}
]
},
{
"title": "Dotfiles",
"description": "Personalize your Coder workspaces by applying your dotfiles repository with the coder dotfiles command.",
"path": "./user-guides/workspace-dotfiles.md",
"icon_path": "./images/icons/art-pad.svg"
},
{
"title": "User secrets",
"description": "Store secret values in Coder and automatically inject them into workspaces",
"path": "./user-guides/user-secrets.md",
"icon_path": "./images/icons/secrets.svg"
}
]
},
{
"title": "Administration",
"description": "Guides for the template and deployment administrators who configure, secure, and operate Coder.",
"path": "./admin/index.md",
"icon_path": "./images/icons/wrench.svg",
"children": [
{
"title": "Configure control plane access",
"description": "Configure your Coder control plane with server settings and environment variables.",
"path": "./admin/setup/index.md",
"icon_path": "./images/icons/toggle_on.svg",
"children": [
{
"title": "Appearance",
"description": "Customize your Coder deployment's appearance, including the logo, service banner, and application name.",
"path": "./admin/setup/appearance.md",
"state": ["premium"]
},
{
"title": "Configuration reference",
"description": "Searchable list of every Coder server setting with its environment variable, CLI flag, and YAML key",
"path": "./admin/setup/configuration-reference.md"
},
{
"title": "Telemetry",
"description": "Learn what usage telemetry Coder collects, why it is collected, and how to opt out.",
"path": "./admin/setup/telemetry.md"
},
{
"title": "Chat lifecycle hooks",
"description": "Configure an external policy service for chat agent lifecycle events",
"path": "./admin/setup/chat-lifecycle-hooks.md",
"state": ["early access"]
},
{
"title": "Data retention",
"description": "Configure retention policies that automatically purge old records from Coder database tables.",
"path": "./admin/setup/data-retention.md"
}
]
},
{
"title": "Users",
"description": "Learn how to create, manage, and audit users and their access in your Coder deployment.",
"path": "./admin/users/index.md",
"icon_path": "./images/icons/users.svg",
"children": [
{
"title": "OpenID Connect",
"description": "Configure OpenID Connect authentication with identity providers like Okta or Active Directory",
"path": "./admin/users/oidc-auth/index.md",
"children": [
{
"title": "Google",
"description": "Configure Coder to authenticate users with Google using OpenID Connect (OIDC).",
"path": "./admin/users/oidc-auth/google.md"
},
{
"title": "Microsoft",
"description": "Configure Coder to authenticate users with Microsoft Entra ID using OpenID Connect (OIDC).",
"path": "./admin/users/oidc-auth/microsoft.md"
},
{
"title": "Configure OIDC refresh tokens",
"description": "Configure OIDC refresh tokens so Coder can keep user sessions active beyond token expiration.",
"path": "./admin/users/oidc-auth/refresh-tokens.md"
}
]
},
{
"title": "GitHub",
"description": "Set up authentication through GitHub OAuth to enable secure user login and sign-up",
"path": "./admin/users/github-auth.md"
},
{
"title": "Password authentication",
"description": "Manage username/password authentication settings and user password reset workflows",
"path": "./admin/users/password-auth.md"
},
{
"title": "Headless authentication",
"description": "Create and manage headless service accounts for automated systems and API integrations",
"path": "./admin/users/headless-auth.md",
"state": ["premium"]
},
{
"title": "Groups and roles",
"description": "Manage access control with user groups and role-based permissions for Coder resources",
"path": "./admin/users/groups-roles.md",
"state": ["premium"]
},
{
"title": "IdP sync",
"description": "Synchronize user groups, roles, and organizations from your identity provider to Coder",
"path": "./admin/users/idp-sync.md",
"state": ["premium"]
},
{
"title": "Organizations",
"description": "Segment and isolate resources by creating separate organizations for different teams or projects",
"path": "./admin/users/organizations.md",
"state": ["premium"]
},
{
"title": "Quotas",
"description": "Control resource usage by implementing workspace budgets and credit-based cost management",
"path": "./admin/users/quotas.md",
"state": ["premium"]
},
{
"title": "API & session tokens",
"description": "Manage authentication tokens for API access and configure session duration policies",
"path": "./admin/users/sessions-tokens.md"
}
]
},
{
"title": "Templates",
"description": "Learn how to author, publish, and maintain the Coder templates that define your workspaces.",
"path": "./admin/templates/index.md",
"icon_path": "./images/icons/picture.svg",
"children": [
{
"title": "Creating templates",
"description": "Create a Coder template with Terraform to define the infrastructure for your workspaces.",
"path": "./admin/templates/creating-templates.md"
},
{
"title": "Work with templates",
"description": "Learn how to edit, version, and manage Coder templates, along with recommended best practices.",
"path": "./admin/templates/managing-templates/index.md",
"children": [
{
"title": "Image management",
"description": "Learn how to build and manage the container images that back your Coder templates.",
"path": "./admin/templates/managing-templates/image-management.md"
},
{
"title": "Change management",
"description": "Manage Coder template changes with source control, versioning, and CI/CD publishing.",
"path": "./admin/templates/managing-templates/change-management.md"
},
{
"title": "Envbuilder",
"description": "Use Envbuilder to shift workspace environment definitions from templates into your Git repositories.",
"path": "./admin/templates/managing-templates/envbuilder.md"
},
{
"title": "Template dependencies",
"description": "Manage provider and module dependencies in your Coder templates to keep builds reproducible.",
"path": "./admin/templates/managing-templates/dependencies.md"
},
{
"title": "Workspace scheduling",
"description": "Configure template settings that control how workspaces autostart, autostop, and stay available.",
"path": "./admin/templates/managing-templates/schedule.md"
},
{
"title": "External workspaces",
"description": "Connect externally managed servers and machines to Coder as external workspaces.",
"path": "./admin/templates/managing-templates/external-workspaces.md",
"state": ["premium", "early access"]
}
]
},
{
"title": "Extend templates",
"description": "Extend your Coder templates with parameters, metadata, web IDEs, Docker, and more.",
"path": "./admin/templates/extending-templates/index.md",
"children": [
{
"title": "Agent metadata",
"description": "Display real-time metrics from the workspace agent, such as CPU, memory, and disk usage.",
"path": "./admin/templates/extending-templates/agent-metadata.md"
},
{
"title": "Parameters",
"description": "Use build parameters to prompt users and customize each workspace when it is created.",
"path": "./admin/templates/extending-templates/parameters.md"
},
{
"title": "Dynamic parameters",
"description": "Build conditional, identity-aware template forms with Coder's dynamic parameters.",
"path": "./admin/templates/extending-templates/dynamic-parameters.md"
},
{
"title": "Prebuilt workspaces",
"description": "Pre-provision a ready-to-deploy workspace with a defined set of parameters",
"path": "./admin/templates/extending-templates/prebuilt-workspaces.md",
"state": ["premium"]
},
{
"title": "Icons",
"description": "Customize your Coder templates and resources with built-in or custom icons.",
"path": "./admin/templates/extending-templates/icons.md"
},
{
"title": "Resource metadata",
"description": "Expose key workspace resource information to your users in the Coder dashboard with metadata.",
"path": "./admin/templates/extending-templates/resource-metadata.md"
},
{
"title": "Resource monitoring",
"description": "Monitor workspace resource usage and alert on thresholds from the Coder dashboard.",
"path": "./admin/templates/extending-templates/resource-monitoring.md"
},
{
"title": "UI resource ordering",
"description": "Control the order that resources and parameters appear in the workspace creation UI.",
"path": "./admin/templates/extending-templates/resource-ordering.md"
},
{
"title": "Resource persistence",
"description": "Control which workspace resources persist across restarts and which are recreated on each build.",
"path": "./admin/templates/extending-templates/resource-persistence.md"
},
{
"title": "Environment variables",
"description": "Inject environment variables into Coder workspaces using the coder_env Terraform resource.",
"path": "./admin/templates/extending-templates/environment-variables.md"
},
{
"title": "Terraform template-wide variables",
"description": "Use Terraform template-wide variables to parameterize and manage your Coder templates.",
"path": "./admin/templates/extending-templates/variables.md"
},
{
"title": "Reuse template code",
"description": "Reuse Terraform code across your Coder templates with shared, versioned modules.",
"path": "./admin/templates/extending-templates/modules.md"
},
{
"title": "Web IDEs in templates",
"description": "Add and configure web IDEs in your Coder templates as coder_app resources.",
"path": "./admin/templates/extending-templates/web-ides.md"
},
{
"title": "Pre-install JetBrains IDEs",
"description": "Pre-install JetBrains IDE backends in your template for faster first-time connections.",
"path": "./admin/templates/extending-templates/jetbrains-preinstall.md"
},
{
"title": "JetBrains IDEs in an air-gapped environment",
"description": "Configure JetBrains IDEs to work in air-gapped Coder deployments without internet access.",
"path": "./admin/templates/extending-templates/jetbrains-airgapped.md"
},
{
"title": "Docker in workspaces",
"description": "Run Docker inside container-based Coder workspaces using several supported approaches.",
"path": "./admin/templates/extending-templates/docker-in-workspaces.md"
},
{
"title": "Workspace tags",
"description": "Route workspace builds to specific provisioners using workspace tags and parameters.",
"path": "./admin/templates/extending-templates/workspace-tags.md"
},
{
"title": "Provider authentication",
"description": "Authenticate the Coder control plane to cloud provider APIs so it can provision workspaces.",
"path": "./admin/templates/extending-templates/provider-authentication.md"
},
{
"title": "Dev Containers",
"description": "Extend your Coder templates with containerized dev container development environments.",
"path": "./admin/templates/extending-templates/devcontainers.md"
},
{
"title": "Improve agent resiliency",
"description": "Improve workspace agent resiliency by tuning child process CPU and out-of-memory priority.",
"path": "./admin/templates/extending-templates/process-priority.md"
},
{
"title": "Workspace process logging",
"description": "Log all system-level process activity inside workspaces for security and auditing.",
"path": "./admin/templates/extending-templates/process-logging.md",
"state": ["premium"]
},
{
"title": "Workspace startup coordination",
"description": "Coordinate workspace startup scripts with dependency management so they run in the right order.",
"path": "./admin/templates/startup-coordination/index.md",
"state": ["early access"],
"children": [
{
"title": "Usage",
"description": "Declare units and dependencies with coder exp sync to coordinate your workspace startup scripts.",
"path": "./admin/templates/startup-coordination/usage.md"
},
{
"title": "Troubleshooting",
"description": "Diagnose and resolve common problems with workspace startup coordination and coder exp sync.",
"path": "./admin/templates/startup-coordination/troubleshooting.md"
},
{
"title": "Examples",
"description": "A complete, production-ready example of coordinating workspace startup scripts with sync units.",
"path": "./admin/templates/startup-coordination/example.md"
}
]
}
]
},
{
"title": "Open in Coder",
"description": "Add an Open in Coder button to your repositories and wikis so users can create workspaces fast.",
"path": "./admin/templates/open-in-coder.md"
},
{
"title": "Permissions",
"description": "Control which users and groups can use, edit, and administer each Coder template.",
"path": "./admin/templates/template-permissions.md",
"state": ["premium"]
},
{
"title": "Troubleshoot templates",
"description": "Troubleshoot common Coder template problems, from failed builds to misconfigured workspaces.",
"path": "./admin/templates/troubleshooting.md"
}
]
},
{
"title": "External authentication",
"description": "Configure external authentication so workspaces can access Git providers and other OAuth services.",
"path": "./admin/external-auth.md",
"icon_path": "./images/icons/plug.svg"
},
{
"title": "Integrations",
"description": "Extend Coder with integrations for observability, secrets, source control, and other platforms.",
"path": "./admin/integrations/index.md",
"icon_path": "./images/icons/puzzle.svg",
"children": [
{
"title": "Prometheus",
"description": "Collect and export Coder deployment metrics to a Prometheus server for monitoring.",
"path": "./admin/integrations/prometheus.md"
},
{
"title": "Kubernetes event logs",
"description": "Stream Kubernetes event logs into workspace startup logs to debug pod scheduling issues.",
"path": "./admin/integrations/kubernetes-logs.md"
},
{
"title": "Additional clusters",
"description": "Deploy Coder workspaces across additional Kubernetes clusters beyond the control plane cluster.",
"path": "./admin/integrations/multiple-kube-clusters.md"
},
{
"title": "JFrog Artifactory",
"description": "Integrate Coder with JFrog Artifactory to secure workspaces and manage packages and tokens.",
"path": "./admin/integrations/jfrog-artifactory.md"
},
{
"title": "Island browser integration",
"description": "Integrate Coder with the Island Enterprise Browser for secure, policy-controlled workspace access.",
"path": "./admin/integrations/island.md"
},
{
"title": "DX PlatformX",
"description": "Forward Coder notifications to DX PlatformX to measure and improve developer experience.",
"path": "./admin/integrations/platformx.md"
},
{
"title": "DX Data Cloud",
"description": "Tag and sync Coder users with DX Data Cloud to measure developer productivity.",
"path": "./admin/integrations/dx-data-cloud.md"
},
{
"title": "HashiCorp Vault",
"description": "Integrate Coder with HashiCorp Vault to inject secrets securely into your workspaces.",
"path": "./admin/integrations/vault.md"
},
{
"title": "OAuth2 provider",
"description": "Use Coder as an OAuth2 authorization server so third-party apps can authenticate users.",
"path": "./admin/integrations/oauth2-provider/index.md",
"children": [
{
"title": "Integration patterns",
"description": "Client authentication methods, the standard flow, the required PKCE flow, and discovery endpoints.",
"path": "./admin/integrations/oauth2-provider/integration-patterns.md"
},
{
"title": "Scopes",
"description": "How access tokens are bounded by scope, and how to set an application's scope allowlist.",
"path": "./admin/integrations/oauth2-provider/scopes.md"
},
{
"title": "Token management",
"description": "Refresh an access token, revoke a token, and delete an OAuth2 application.",
"path": "./admin/integrations/oauth2-provider/token-management.md"
},
{
"title": "Callback URL schemes",
"description": "Which redirect URI schemes and hosts Coder accepts.",
"path": "./admin/integrations/oauth2-provider/callback-url-schemes.md"
},
{
"title": "Troubleshooting",
"description": "Diagnose and fix OAuth2 provider errors by their exact error code or message.",
"path": "./admin/integrations/oauth2-provider/troubleshooting.md"
},
{
"title": "Security and limitations",
"description": "Security considerations and current limitations of the OAuth2 provider.",
"path": "./admin/integrations/oauth2-provider/security.md"
}
]
},
{
"title": "Dev Containers",
"description": "Configure dev container support in your templates using either Docker or Envbuilder.",
"path": "./admin/integrations/devcontainers/index.md",
"children": [
{
"title": "Configure a template for Dev Containers",
"description": "Configure a Coder template for native dev containers backed by Docker.",
"path": "./admin/integrations/devcontainers/integration.md"
},
{
"title": "Envbuilder",
"description": "Use Envbuilder to build dev containers from a repository without requiring Docker.",
"path": "./admin/integrations/devcontainers/envbuilder/index.md",
"children": [
{
"title": "Add an Envbuilder template",
"description": "Add an Envbuilder-compatible template so users can build dev containers from a repository.",
"path": "./admin/integrations/devcontainers/envbuilder/add-envbuilder.md"
},
{
"title": "Security and caching",
"description": "Configure Envbuilder registry authentication and layer caching for faster, secure builds.",
"path": "./admin/integrations/devcontainers/envbuilder/envbuilder-security-caching.md"
},
{
"title": "Releases and known issues",
"description": "Learn about Envbuilder's release channels and current known issues before you deploy it.",
"path": "./admin/integrations/devcontainers/envbuilder/envbuilder-releases-known-issues.md"
}
]
}
]
}
]
},
{
"title": "Networking",
"description": "Understand Coder's networking model, including how workspaces, servers, and clients connect.",
"path": "./admin/networking/index.md",
"icon_path": "./images/icons/networking.svg",
"children": [
{
"title": "Port forwarding",
"description": "Learn how port forwarding works in Coder and how to expose workspace ports to users.",
"path": "./admin/networking/port-forwarding.md"
},
{
"title": "STUN and NAT",
"description": "Learn how Coder uses STUN and NAT traversal to establish direct peer-to-peer workspace connections.",
"path": "./admin/networking/stun.md"
},
{
"title": "Workspace proxies",
"description": "Run geo-distributed workspace proxies to give distributed teams low-latency workspace access.",
"path": "./admin/networking/workspace-proxies.md",
"state": ["premium"]
},
{
"title": "High availability",
"description": "Configure Coder in high availability (HA) mode for horizontal scalability and failover.",
"path": "./admin/networking/high-availability.md",
"state": ["premium"]
},
{
"title": "Wildcard access URLs",
"description": "Configure a wildcard access URL to enable port forwarding, web IDEs, and app previews.",
"path": "./admin/networking/wildcard-access-url.md"
},
{
"title": "Troubleshooting",
"description": "Diagnose and resolve Coder networking issues using coder ping and other built-in tools.",
"path": "./admin/networking/troubleshooting.md"
}
]
},
{
"title": "Monitoring",
"description": "Monitor your Coder deployment with logs, metrics, health checks, and alerting best practices.",
"path": "./admin/monitoring/index.md",
"icon_path": "./images/icons/speed.svg",
"children": [
{
"title": "Logs",
"description": "Learn how Coder services write logs to standard output and how to collect them.",
"path": "./admin/monitoring/logs.md"
},
{
"title": "Metrics",
"description": "Learn about the deployment metrics Coder exposes and how to use them to monitor health.",
"path": "./admin/monitoring/metrics.md"
},
{
"title": "Deployment health",
"description": "Use Coder's deployment health page to monitor your control plane and its dependencies.",
"path": "./admin/monitoring/health-check.md"
},
{
"title": "Connection logs",
"description": "Monitor SSH, app, and agent connections to your workspaces with the connection log.",
"path": "./admin/monitoring/connection-logs.md",
"state": ["premium"]
},
{
"title": "Notifications",
"description": "Configure how Coder sends notifications for deployment events over email and webhooks.",
"path": "./admin/monitoring/notifications/index.md",
"children": [
{
"title": "Slack notifications",
"description": "Set up a Slack integration to deliver Coder notifications to your channels.",
"path": "./admin/monitoring/notifications/slack.md"
},
{
"title": "Microsoft Teams notifications",
"description": "Set up a Microsoft Teams integration to deliver Coder notifications to your channels.",
"path": "./admin/monitoring/notifications/teams.md"
}
]
}
]
},
{
"title": "Security",
"description": "Secure your Coder deployment with audit logs, secrets management, and database encryption.",
"path": "./admin/security/index.md",
"icon_path": "./images/icons/lock.svg",
"children": [
{
"title": "Audit logs",
"description": "Track user and administrator actions across your Coder deployment with audit logs.",
"path": "./admin/security/audit-logs.md",
"state": ["premium"]
},
{
"title": "Secrets",
"description": "Learn the recommended ways to get secrets into your Coder workspaces securely.",