1[ 2 { 3 "title": "Intro to Consul", 4 "routes": [ 5 { 6 "title": "Overview", 7 "path": "intro" 8 }, 9 { 10 "title": "Consul vs. Other Software", 11 "routes": [ 12 { 13 "title": "Overview", 14 "path": "intro/vs" 15 }, 16 { 17 "title": "Chef, Puppet, etc.", 18 "path": "intro/vs/chef-puppet" 19 }, 20 { 21 "title": "Nagios", 22 "path": "intro/vs/nagios" 23 }, 24 { 25 "title": "SkyDNS", 26 "path": "intro/vs/skydns" 27 }, 28 { 29 "title": "SmartStack", 30 "path": "intro/vs/smartstack" 31 }, 32 { 33 "title": "Serf", 34 "path": "intro/vs/serf" 35 }, 36 { 37 "title": "Eureka", 38 "path": "intro/vs/eureka" 39 }, 40 { 41 "title": "Istio", 42 "path": "intro/vs/istio" 43 }, 44 { 45 "title": "Envoy and Other Proxies", 46 "path": "intro/vs/proxies" 47 }, 48 { 49 "title": "Custom Solutions", 50 "path": "intro/vs/custom" 51 } 52 ] 53 } 54 ] 55 }, 56 { 57 "title": "Get Started", 58 "routes": [ 59 { 60 "title": "Overview", 61 "path": "install" 62 }, 63 { 64 "title": "Manual Bootstrap", 65 "path": "install/manual-bootstrap", 66 "hidden": true 67 }, 68 { 69 "title": "Consul Agent", 70 "href": "/docs/agent" 71 }, 72 { 73 "title": "Glossary", 74 "path": "install/glossary" 75 }, 76 { 77 "title": "Required Ports", 78 "path": "install/ports" 79 }, 80 { 81 "title": "Bootstrapping a Datacenter", 82 "path": "install/bootstrapping" 83 }, 84 { 85 "title": "Cloud Auto-join", 86 "path": "install/cloud-auto-join" 87 }, 88 { 89 "title": "Server Performance", 90 "path": "install/performance" 91 }, 92 { 93 "title": "Kubernetes", 94 "href": "/docs/k8s" 95 } 96 ] 97 }, 98 { 99 "title": "API", 100 "href": "/api-docs" 101 }, 102 { 103 "title": "Commands (CLI)", 104 "href": "/commands" 105 }, 106 { 107 "title": "Service Discovery", 108 "routes": [ 109 { 110 "title": "Register Services - Service Definitions", 111 "path": "discovery/services" 112 }, 113 { 114 "title": "Find Services - DNS Interface", 115 "path": "discovery/dns" 116 }, 117 { 118 "title": "Monitor Services - Check Definitions", 119 "path": "discovery/checks" 120 } 121 ] 122 }, 123 { 124 "title": "Service Mesh", 125 "routes": [ 126 { 127 "title": "Overview", 128 "path": "connect" 129 }, 130 { 131 "title": "How Connect Works", 132 "path": "connect/connect-internals" 133 }, 134 { 135 "title": "Configuration", 136 "path": "connect/configuration" 137 }, 138 { 139 "title": "Configuration Entries", 140 "routes": [ 141 { 142 "title": "Overview", 143 "path": "connect/config-entries" 144 }, 145 { 146 "title": "Ingress Gateway", 147 "path": "connect/config-entries/ingress-gateway" 148 }, 149 { 150 "title": "Mesh", 151 "path": "connect/config-entries/mesh" 152 }, 153 { 154 "title": "Proxy Defaults", 155 "path": "connect/config-entries/proxy-defaults" 156 }, 157 { 158 "title": "Service Defaults", 159 "path": "connect/config-entries/service-defaults" 160 }, 161 { 162 "title": "Service Intentions", 163 "path": "connect/config-entries/service-intentions" 164 }, 165 { 166 "title": "Service Resolver", 167 "path": "connect/config-entries/service-resolver" 168 }, 169 { 170 "title": "Service Router", 171 "path": "connect/config-entries/service-router" 172 }, 173 { 174 "title": "Service Splitter", 175 "path": "connect/config-entries/service-splitter" 176 }, 177 { 178 "title": "Terminating Gateway", 179 "path": "connect/config-entries/terminating-gateway" 180 } 181 ] 182 }, 183 { 184 "title": "Supported Proxies", 185 "routes": [ 186 { 187 "title": "Overview", 188 "path": "connect/proxies" 189 }, 190 { 191 "title": "Envoy", 192 "path": "connect/proxies/envoy" 193 }, 194 { 195 "title": "Built-in Proxy", 196 "path": "connect/proxies/built-in" 197 }, 198 { 199 "title": "Proxy Integration", 200 "path": "connect/proxies/integrate" 201 }, 202 { 203 "title": "Managed (Deprecated)", 204 "path": "connect/proxies/managed-deprecated", 205 "hidden": true 206 } 207 ] 208 }, 209 { 210 "title": "Registering Proxies", 211 "routes": [ 212 { 213 "title": "Overview", 214 "path": "connect/registration" 215 }, 216 { 217 "title": "Proxy Service Registration", 218 "path": "connect/registration/service-registration" 219 }, 220 { 221 "title": "Sidecar Service Registration", 222 "path": "connect/registration/sidecar-service" 223 } 224 ] 225 }, 226 { 227 "title": "Service-to-service permissions - Intentions", 228 "path": "connect/intentions" 229 }, 230 { 231 "title": "Service-to-service permissions - Intentions (Legacy Mode)", 232 "path": "connect/intentions-legacy" 233 }, 234 { 235 "title": "Transparent Proxy", 236 "path": "connect/transparent-proxy" 237 }, 238 { 239 "title": "Observability", 240 "routes": [ 241 { 242 "title": "Overview", 243 "path": "connect/observability" 244 }, 245 { 246 "title": "UI Visualization", 247 "path": "connect/observability/ui-visualization" 248 } 249 ] 250 }, 251 { 252 "title": "L7 Traffic Management", 253 "routes": [ 254 { 255 "title": "Overview", 256 "path": "connect/l7-traffic" 257 }, 258 { 259 "title": "Discovery Chain", 260 "path": "connect/l7-traffic/discovery-chain" 261 } 262 ] 263 }, 264 { 265 "title": "Connectivity Tasks", 266 "path": "connect/connectivity-tasks" 267 }, 268 { 269 "title": "Gateways", 270 "routes": [ 271 { 272 "title": "Overview", 273 "path": "connect/gateways" 274 }, 275 { 276 "title": "Connect Datacenters - Mesh Gateways", 277 "routes": [ 278 { 279 "title": "Overview", 280 "path": "connect/gateways/mesh-gateway" 281 }, 282 { 283 "title": "WAN Federation", 284 "path": "connect/gateways/mesh-gateway/wan-federation-via-mesh-gateways" 285 } 286 ] 287 }, 288 { 289 "title": "External <> Internal Services - Ingress Gateways", 290 "path": "connect/gateways/ingress-gateway" 291 }, 292 { 293 "title": "Internal <> External Services - Terminating Gateways", 294 "path": "connect/gateways/terminating-gateway" 295 } 296 ] 297 }, 298 { 299 "title": "Nomad", 300 "path": "connect/nomad" 301 }, 302 { 303 "title": "Kubernetes", 304 "href": "/docs/k8s/connect" 305 }, 306 { 307 "title": "Native App Integration", 308 "routes": [ 309 { 310 "title": "Overview", 311 "path": "connect/native" 312 }, 313 { 314 "title": "Go Integration", 315 "path": "connect/native/go" 316 } 317 ] 318 }, 319 { 320 "title": "Certificate Management", 321 "routes": [ 322 { 323 "title": "Overview", 324 "path": "connect/ca" 325 }, 326 { 327 "title": "Built-In CA", 328 "path": "connect/ca/consul" 329 }, 330 { 331 "title": "Vault", 332 "path": "connect/ca/vault" 333 }, 334 { 335 "title": "ACM Private CA", 336 "path": "connect/ca/aws" 337 } 338 ] 339 }, 340 { 341 "title": "Develop and Debug", 342 "path": "connect/dev" 343 }, 344 { 345 "title": "Security", 346 "path": "connect/security", 347 "hidden": true 348 } 349 ] 350 }, 351 { 352 "title": "Kubernetes", 353 "routes": [ 354 { 355 "title": "Overview", 356 "path": "k8s" 357 }, 358 { 359 "title": "Get Started", 360 "routes": [ 361 { 362 "title": "Install with Helm Chart", 363 "path": "k8s/installation/install" 364 }, 365 { 366 "title": "Platform Guides", 367 "routes": [ 368 { 369 "title": "Minikube", 370 "href": "https://learn.hashicorp.com/tutorials/consul/kubernetes-minikube?utm_source=consul.io&utm_medium=docs&utm_content=k8s&utm_term=mk" 371 }, 372 { 373 "title": "Kind", 374 "href": "https://learn.hashicorp.com/tutorials/consul/kubernetes-kind?utm_source=consul.io&utm_medium=docs&utm_content=k8s&utm_term=kind" 375 }, 376 { 377 "title": "AKS (Azure)", 378 "href": "https://learn.hashicorp.com/tutorials/consul/kubernetes-aks-azure?utm_source=consul.io&utm_medium=docs&utm_content=k8s&utm_term=aks" 379 }, 380 { 381 "title": "EKS (AWS)", 382 "href": "https://learn.hashicorp.com/tutorials/consul/kubernetes-eks-aws?utm_source=consul.io&utm_medium=docs&utm_content=k8s&utm_term=eks" 383 }, 384 { 385 "title": "GKE (Google Cloud)", 386 "href": "https://learn.hashicorp.com/tutorials/consul/kubernetes-gke-google?utm_source=consul.io&utm_medium=docs&utm_content=k8s&utm_term=gke" 387 }, 388 { 389 "title": "Red Hat OpenShift", 390 "href": "https://learn.hashicorp.com/tutorials/consul/kubernetes-openshift-red-hat?utm_source=consul.io&utm_medium=docs&utm_content=k8s&utm_term=openshift" 391 }, 392 { 393 "title": "Self Hosted Kubernetes", 394 "path": "k8s/installation/platforms/self-hosted-kubernetes" 395 } 396 ] 397 }, 398 { 399 "title": "Deployment Configurations", 400 "routes": [ 401 { 402 "title": "Consul Clients Outside Kubernetes", 403 "path": "k8s/installation/deployment-configurations/clients-outside-kubernetes" 404 }, 405 { 406 "title": "Consul Servers Outside Kubernetes", 407 "path": "k8s/installation/deployment-configurations/servers-outside-kubernetes" 408 }, 409 { 410 "title": "Single Consul Datacenter in Multiple Kubernetes Clusters", 411 "path": "k8s/installation/deployment-configurations/single-dc-multi-k8s" 412 }, 413 { 414 "title": "Consul Enterprise", 415 "path": "k8s/installation/deployment-configurations/consul-enterprise" 416 } 417 ] 418 }, 419 { 420 "title": "Multi-Cluster Federation", 421 "routes": [ 422 { 423 "title": "Overview", 424 "path": "k8s/installation/multi-cluster" 425 }, 426 { 427 "title": "Federation Between Kubernetes Clusters", 428 "path": "k8s/installation/multi-cluster/kubernetes" 429 }, 430 { 431 "title": "Federation Between VMs and Kubernetes", 432 "path": "k8s/installation/multi-cluster/vms-and-kubernetes" 433 } 434 ] 435 } 436 ] 437 }, 438 { 439 "title": "Service Mesh", 440 "routes": [ 441 { 442 "title": "Overview", 443 "path": "k8s/connect" 444 }, 445 { 446 "title": "Transparent Proxy", 447 "href": "/docs/connect/transparent-proxy" 448 }, 449 { 450 "title": "Ingress Gateways", 451 "path": "k8s/connect/ingress-gateways" 452 }, 453 { 454 "title": "Terminating Gateways", 455 "path": "k8s/connect/terminating-gateways" 456 }, 457 { 458 "title": "Ingress Controllers", 459 "path": "k8s/connect/ingress-controllers" 460 }, 461 { 462 "title": "Configuring a Connect CA Provider", 463 "path": "k8s/connect/connect-ca-provider" 464 }, 465 { 466 "title": "Ambassador Integration", 467 "path": "k8s/connect/ambassador" 468 }, 469 { 470 "title": "Health Checks", 471 "path": "k8s/connect/health" 472 }, 473 { 474 "title": "Observability", 475 "routes": [ 476 { 477 "title": "Metrics", 478 "path": "k8s/connect/observability/metrics" 479 } 480 ] 481 } 482 ] 483 }, 484 { 485 "title": "Service Sync", 486 "path": "k8s/service-sync" 487 }, 488 { 489 "title": "Custom Resource Definitions", 490 "routes": [ 491 { 492 "title": "Overview", 493 "path": "k8s/crds" 494 }, 495 { 496 "title": "Upgrade An Existing Cluster to CRDs", 497 "path": "k8s/crds/upgrade-to-crds" 498 } 499 ] 500 }, 501 { 502 "title": "Consul DNS", 503 "path": "k8s/dns" 504 }, 505 { 506 "title": "Upgrade", 507 "routes": [ 508 { 509 "title": "Overview", 510 "path": "k8s/upgrade" 511 }, 512 { 513 "title": "Compatibility Matrix", 514 "path": "k8s/upgrade/compatibility" 515 } 516 ] 517 }, 518 { 519 "title": "Operations", 520 "routes": [ 521 { 522 "title": "Uninstall", 523 "path": "k8s/operations/uninstall" 524 }, 525 { 526 "title": "Certificate Rotation", 527 "path": "k8s/operations/certificate-rotation" 528 }, 529 { 530 "title": "Gossip Encryption Key Rotation", 531 "path": "k8s/operations/gossip-encryption-key-rotation" 532 }, 533 { 534 "title": "Configure TLS on an Existing Cluster", 535 "path": "k8s/operations/tls-on-existing-cluster" 536 } 537 ] 538 }, 539 { 540 "title": "Troubleshoot", 541 "routes": [ 542 { 543 "title": "Common Error Messages", 544 "href": "/docs/troubleshoot/common-errors#common-errors-on-kubernetes" 545 }, 546 { 547 "title": "FAQ", 548 "href": "/docs/troubleshoot/faq#consul-on-kubernetes" 549 } 550 ] 551 }, 552 { 553 "title": "Helm Chart Configuration", 554 "path": "k8s/helm" 555 } 556 ] 557 }, 558 { 559 "title": "AWS ECS <sup>Tech Preview</sup>", 560 "routes": [ 561 { 562 "title": "Overview", 563 "path": "ecs" 564 }, 565 { 566 "title": "Get Started", 567 "routes": [ 568 { 569 "title": "Example Installation", 570 "href": "https://registry.terraform.io/modules/hashicorp/consul-ecs/aws/latest/examples/dev-server-fargate" 571 }, 572 { 573 "title": "Requirements", 574 "path": "ecs/get-started/requirements" 575 }, 576 { 577 "title": "Install", 578 "path": "ecs/get-started/install" 579 } 580 ] 581 }, 582 { 583 "title": "Architecture", 584 "path": "ecs/architecture" 585 } 586 ] 587 }, 588 { 589 "title": "Network Infrastructure Automation", 590 "routes": [ 591 { 592 "title": "Overview", 593 "path": "nia" 594 }, 595 { 596 "title": "Get Started", 597 "routes": [ 598 { 599 "title": "Installation", 600 "path": "nia/installation/install" 601 }, 602 { 603 "title": "Requirements", 604 "path": "nia/installation/requirements" 605 }, 606 { 607 "title": "Configure", 608 "path": "nia/installation/configure" 609 }, 610 { 611 "title": "Run Consul-Terraform-Sync", 612 "path": "nia/installation/run" 613 } 614 ] 615 }, 616 { 617 "title": "Architecture", 618 "path": "nia/architecture" 619 }, 620 { 621 "title": "API", 622 "routes": [ 623 { 624 "title": "Overview", 625 "path": "nia/api" 626 }, 627 { 628 "title": "Status", 629 "path": "nia/api/status" 630 }, 631 { 632 "title": "Tasks", 633 "path": "nia/api/tasks" 634 } 635 ] 636 }, 637 { 638 "title": "CLI", 639 "routes": [ 640 { 641 "title": "Overview", 642 "path": "nia/cli" 643 }, 644 { 645 "title": "task", 646 "path": "nia/cli/task" 647 } 648 ] 649 }, 650 { 651 "title": "Configuration", 652 "path": "nia/configuration" 653 }, 654 { 655 "title": "Tasks", 656 "path": "nia/tasks" 657 }, 658 { 659 "title": "Terraform Modules", 660 "path": "nia/terraform-modules" 661 }, 662 { 663 "title": "Network Drivers", 664 "path": "nia/network-drivers" 665 }, 666 { 667 "title": "Compatibility", 668 "path": "nia/compatibility" 669 } 670 ] 671 }, 672 { 673 "title": "Dynamic App Configuration", 674 "routes": [ 675 { 676 "title": "Consul KV", 677 "path": "dynamic-app-config/kv" 678 }, 679 { 680 "title": "Sessions", 681 "path": "dynamic-app-config/sessions" 682 }, 683 { 684 "title": "Watches", 685 "path": "dynamic-app-config/watches" 686 } 687 ] 688 }, 689 { 690 "title": "Agent", 691 "routes": [ 692 { 693 "title": "Overview", 694 "path": "agent" 695 }, 696 { 697 "title": "Configuration", 698 "path": "agent/options" 699 }, 700 { 701 "title": "Configuration Entries", 702 "path": "agent/config-entries" 703 }, 704 { 705 "title": "Telemetry", 706 "path": "agent/telemetry" 707 }, 708 { 709 "title": "Sentinel", 710 "path": "agent/sentinel" 711 }, 712 { 713 "title": "RPC", 714 "path": "agent/rpc", 715 "hidden": true 716 } 717 ] 718 }, 719 { 720 "title": "Security", 721 "routes": [ 722 { 723 "title": "Overview", 724 "path": "security" 725 }, 726 { 727 "title": "Access Control (ACLs)", 728 "routes": [ 729 { 730 "title": "Overview", 731 "path": "security/acl" 732 }, 733 { 734 "title": "ACL System", 735 "path": "security/acl/acl-system" 736 }, 737 { 738 "title": "ACL Rules", 739 "path": "security/acl/acl-rules" 740 }, 741 { 742 "title": "Legacy Mode", 743 "path": "security/acl/acl-legacy" 744 }, 745 { 746 "title": "Token Migration", 747 "path": "security/acl/acl-migrate-tokens" 748 }, 749 { 750 "title": "Auth Methods", 751 "routes": [ 752 { 753 "title": "Overview", 754 "path": "security/acl/auth-methods" 755 }, 756 { 757 "title": "Kubernetes", 758 "path": "security/acl/auth-methods/kubernetes" 759 }, 760 { 761 "title": "JWT", 762 "path": "security/acl/auth-methods/jwt" 763 }, 764 { 765 "title": "OIDC", 766 "path": "security/acl/auth-methods/oidc" 767 } 768 ] 769 } 770 ] 771 }, 772 { 773 "title": "Encryption", 774 "path": "security/encryption" 775 }, 776 { 777 "title": "Security Models", 778 "routes": [ 779 { 780 "title": "Overview", 781 "path": "security/security-models" 782 }, 783 { 784 "title": "Core", 785 "path": "security/security-models/core" 786 }, 787 { 788 "title": "Network Infrastructure Automation", 789 "path": "security/security-models/nia" 790 } 791 ] 792 } 793 ] 794 }, 795 { 796 "title": "Consul Enterprise", 797 "routes": [ 798 { 799 "title": "Overview", 800 "path": "enterprise" 801 }, 802 { 803 "title": "Audit Logging", 804 "path": "enterprise/audit-logging" 805 }, 806 { 807 "title": "Automated Backups", 808 "path": "enterprise/backups" 809 }, 810 { 811 "title": "Automated Upgrades", 812 "path": "enterprise/upgrades" 813 }, 814 { 815 "title": "Enhanced Read Scalability", 816 "path": "enterprise/read-scale" 817 }, 818 { 819 "title": "Single sign-on - OIDC", 820 "href": "/docs/security/acl/auth-methods/oidc" 821 }, 822 { 823 "title": "Redundancy Zones", 824 "path": "enterprise/redundancy" 825 }, 826 { 827 "title": "Advanced Federation", 828 "path": "enterprise/federation" 829 }, 830 { 831 "title": "Namespaces", 832 "path": "enterprise/namespaces" 833 }, 834 { 835 "title": "Network Segments", 836 "path": "enterprise/network-segments" 837 }, 838 { 839 "title": "Sentinel", 840 "path": "enterprise/sentinel" 841 }, 842 { 843 "title": "License", 844 "routes": [ 845 { 846 "title": "Overview", 847 "path": "enterprise/license/overview" 848 }, 849 { 850 "title": "FAQ", 851 "path": "enterprise/license/faq" 852 } 853 ] 854 } 855 ] 856 }, 857 { 858 "title": "Architecture", 859 "routes": [ 860 { 861 "title": "Overview", 862 "path": "architecture" 863 }, 864 { 865 "title": "Anti-Entropy", 866 "path": "architecture/anti-entropy" 867 }, 868 { 869 "title": "Consensus Protocol", 870 "path": "architecture/consensus" 871 }, 872 { 873 "title": "Gossip Protocol", 874 "path": "architecture/gossip" 875 }, 876 { 877 "title": "Jepsen Testing", 878 "path": "architecture/jepsen" 879 }, 880 { 881 "title": "Network Coordinates", 882 "path": "architecture/coordinates" 883 } 884 ] 885 }, 886 { 887 "title": "Integrations", 888 "routes": [ 889 { 890 "title": "Consul Integration Program", 891 "path": "integrate/partnerships" 892 }, 893 { 894 "title": "NIA Integration Program", 895 "path": "integrate/nia-integration" 896 }, 897 { 898 "title": "Vault Integration", 899 "href": "/docs/connect/ca/vault" 900 }, 901 { 902 "title": "Ambassador Integration", 903 "href": "/docs/k8s/connect/ambassador" 904 }, 905 { 906 "title": "Proxy Integration", 907 "href": "/docs/connect/proxies/integrate" 908 } 909 ] 910 }, 911 { 912 "title": "Consul Tools", 913 "path": "download-tools" 914 }, 915 { 916 "title": "Upgrade", 917 "routes": [ 918 { 919 "title": "Overview", 920 "path": "upgrading" 921 }, 922 { 923 "title": "Compatibility Promise", 924 "path": "upgrading/compatibility" 925 }, 926 { 927 "title": "Specific Version Details", 928 "path": "upgrading/upgrade-specific" 929 }, 930 { 931 "title": "Upgrade Instructions", 932 "routes": [ 933 { 934 "title": "Overview", 935 "path": "upgrading/instructions" 936 }, 937 { 938 "title": "General Process", 939 "path": "upgrading/instructions/general-process" 940 }, 941 { 942 "title": "Upgrading to 1.2.4", 943 "path": "upgrading/instructions/upgrade-to-1-2-x" 944 }, 945 { 946 "title": "Upgrading to 1.6.9", 947 "path": "upgrading/instructions/upgrade-to-1-6-x" 948 }, 949 { 950 "title": "Upgrading to 1.8.13", 951 "path": "upgrading/instructions/upgrade-to-1-8-x" 952 }, 953 { 954 "title": "Upgrading to 1.10.0", 955 "path": "upgrading/instructions/upgrade-to-1-10-x" 956 } 957 ] 958 } 959 ] 960 }, 961 { 962 "title": "Troubleshoot", 963 "routes": [ 964 { 965 "title": "Common Error Messages", 966 "path": "troubleshoot/common-errors" 967 }, 968 { 969 "title": "FAQ", 970 "path": "troubleshoot/faq" 971 } 972 ] 973 }, 974 { 975 "title": "Release Notes", 976 "routes": [ 977 { 978 "title": "1.9.0", 979 "path": "release-notes/1-9-0" 980 }, 981 { 982 "title": "1.10.0", 983 "path": "release-notes/1-10-0" 984 } 985 ] 986 }, 987 { 988 "title": "Internals", 989 "hidden": true, 990 "routes": [ 991 { 992 "title": "Overview", 993 "path": "internals" 994 }, 995 { 996 "title": "ACL", 997 "path": "internals/acl" 998 } 999 ] 1000 }, 1001 { 1002 "title": "Guides", 1003 "path": "guides", 1004 "hidden": true 1005 } 1006] 1007