From ce7292d9c8fd9f6027c2b7c65096cf97f2513001 Mon Sep 17 00:00:00 2001 From: PPacent Date: Thu, 31 Mar 2022 14:54:53 -0700 Subject: [PATCH] Docs: Adding service discovery concept page (#1886) * Adding service discovery concept page --- .../docs/concepts/service-discovery.mdx | 59 +++++++++++++++++++ website/data/docs-nav-data.json | 4 ++ 2 files changed, 63 insertions(+) create mode 100644 website/content/docs/concepts/service-discovery.mdx diff --git a/website/content/docs/concepts/service-discovery.mdx b/website/content/docs/concepts/service-discovery.mdx new file mode 100644 index 000000000..ace6b950c --- /dev/null +++ b/website/content/docs/concepts/service-discovery.mdx @@ -0,0 +1,59 @@ +--- +layout: docs +page_title: Service Discovery +description: |- + An overview of service discovery in Boundary +--- + +# Service Discovery + +## Overview +Traditionally, connecting to remote hosts and services requires knowledge of +the endpoint’s connection info (e.g. the IP address and port of the service). +This creates complexity when managing the onboarding of new resources at scale +or dealing with dynamic services whose connection info frequently changes. + +**Service discovery** focuses on automating the process of onboarding new or +changed infrastructure resources – and their connection info – to Boundary +as hosts. + +# Automating Service Discovery in Boundary + +Boundary supports target/service discovery in three primary workflows: + +**[Manual configuration](https://learn.hashicorp.com/tutorials/boundary/manage-targets?in=boundary/basic-administration)**: +Boundary administrators can manually configure static +hosts and targets via the administrator UI and CLI. Manual configuration of +targets with static hosts requires knowledge of the IP address or endpoint used +to connect to a host. + +**[Service discovery via configuration as code with Terraform](https://learn.hashicorp.com/tutorials/boundary/getting-started-config)**: +Boundary is fully programmatically instrumented and the discovery and configuration of new +infrastructure targets can be automated with +[Boundary’s Terraform provider](https://registry.terraform.io/providers/hashicorp/boundary/latest/docs). +This allows for dynamic configuration of a host and target without the need +for prior knowledge of the target’s connection info. + +**[Runtime service discovery via dynamic host catalogs](https://learn.hashicorp.com/tutorials/boundary/azure-host-catalogs)**: +Boundary dynamic host catalogs automate the ingestion of resources from +infrastructure providers into Boundary. Boundary hosts are automatically +created, updated and added to host sets in order to reflect the connection +information maintained in these providers. This removes the need to know +host connection info or reapply infrastructure as code templates to +configure new or changed resources.This removes the need to know host connection +info or reapply infrastructure as code templates to configure new or changed resources. + +# Dynamic Host Catalogs +Dynamic host catalogs are an agentless workflow for Boundary to +securely query infrastructure providers at runtime to discover and configure +new services. Boundary dynamic host catalogs are written in go-plugin and run +as separate processes. Boundary administrators can define rules for which +external resources should be ingested into the catalog by +[creating dynamic host](https://www.boundaryproject.io/docs/concepts/domain-model/host-sets) + sets with an attributes filter. Attributes specify the fields which the plugin + should use to lookup which hosts should be members of this host set. + +Currently, Boundary supports dynamic host catalog implementations for AWS and +Azure and we will continue to grow this ecosystem to support additional providers. + +You can get started with dynamic host catalogs [here](https://learn.hashicorp.com/tutorials/boundary/azure-host-catalogs?in=boundary/configuration). \ No newline at end of file diff --git a/website/data/docs-nav-data.json b/website/data/docs-nav-data.json index 88803af4d..853ac1b92 100644 --- a/website/data/docs-nav-data.json +++ b/website/data/docs-nav-data.json @@ -100,6 +100,10 @@ "title": "Overview", "path": "concepts" }, + { + "title": "Service Discovery", + "path": "concepts/service-discovery" + }, { "title": "Security", "routes": [