Commit Graph

22 Commits

Author SHA1 Message Date
Jack Pearkes cc57615445
website: clarify catalog registration ID behavior (#5019)
* website: clarify catalog registration ID behavior

Fixes #3769

* Update catalog.html.md
2018-12-11 11:06:18 -08:00
Rebecca Zanzig db01a24825 Update docs to include multiple tag support (#4797)
* Update docs to include multiple tag support

* Sort tags before using them in metrics

This addresses the potential proliferation of metrics if a query of
"?tag=foo&tag=bar" is treated differently than "?tag=bar&tag=foo".
Now, tags are always sorted before being recorded, making these two
emit the same metric.

* Add caveat about multiple tags returned by the metrics endpoint
2018-10-19 16:52:17 +01:00
Paul Banks 51c0001aad
[WIP] Initial draft of Sidecar Service and Managed Proxy deprecation docs (#4752)
* Initial draft of Sidecar Service and Managed Proxy deprecation docs

* Service definition deprecation notices and sidecar service

* gRPC and sidecar service config options; Deprecate managed proxy options

* Envoy Docs: Basic envoy command; envoy getting started/intro

* Remove change that snuck in

* Envoy custom config example

* Add agent/service API docs; deprecate proxy config endpoint

* Misc grep cleanup for managed proxies; capitalize Envoy

* Updates to getting started guide

* Add missing link

* Refactor Envoy guide into a separate guide and add bootstrap reference notes.

* Add limitations to Envoy docs; Highlight no fixes for known managed proxy issues on deprecation page; clarify snake cae stuff; Sidecar Service lifecycle
2018-10-11 10:44:42 +01:00
Paul Banks b83bbf248c Add Proxy Upstreams to Service Definition (#4639)
* Refactor Service Definition ProxyDestination.

This includes:
 - Refactoring all internal structs used
 - Updated tests for both deprecated and new input for:
   - Agent Services endpoint response
   - Agent Service endpoint response
   - Agent Register endpoint
     - Unmanaged deprecated field
     - Unmanaged new fields
     - Managed deprecated upstreams
     - Managed new
   - Catalog Register
     - Unmanaged deprecated field
     - Unmanaged new fields
     - Managed deprecated upstreams
     - Managed new
   - Catalog Services endpoint response
   - Catalog Node endpoint response
   - Catalog Service endpoint response
 - Updated API tests for all of the above too (both deprecated and new forms of register)

TODO:
 - config package changes for on-disk service definitions
 - proxy config endpoint
 - built-in proxy support for new fields

* Agent proxy config endpoint updated with upstreams

* Config file changes for upstreams.

* Add upstream opaque config and update all tests to ensure it works everywhere.

* Built in proxy working with new Upstreams config

* Command fixes and deprecations

* Fix key translation, upstream type defaults and a spate of other subtele bugs found with ned to end test scripts...

TODO: tests still failing on one case that needs a fix. I think it's key translation for upstreams nested in Managed proxy struct.

* Fix translated keys in API registration.
≈

* Fixes from docs
 - omit some empty undocumented fields in API
 - Bring back ServiceProxyDestination in Catalog responses to not break backwards compat - this was removed assuming it was only used internally.

* Documentation updates for Upstreams in service definition

* Fixes for tests broken by many refactors.

* Enable travis on f-connect branch in this branch too.

* Add consistent Deprecation comments to ProxyDestination uses

* Update version number on deprecation notices, and correct upstream datacenter field with explanation in docs
2018-10-10 16:55:34 +01:00
Paul Banks 88388d760d Support Agent Caching for Service Discovery Results (#4541)
* Add cache types for catalog/services and health/services and basic test that caching works

* Support non-blocking cache types with Cache-Control semantics.

* Update API docs to include caching info for every endpoint.

* Comment updates per PR feedback.

* Add note on caching to the 10,000 foot view on the architecture page to make the new data path more clear.

* Document prepared query staleness quirk and force all background requests to AllowStale so we can spread service discovery load across servers.
2018-10-10 16:55:34 +01:00
Jack Pearkes c1bf14be30
website: use 127.0.0.1 instead of consul.rocks (#4523)
By default, the Consul agent listens on the local interface
at port 8500 for API requests. This change makes the API examples
using `curl` copy-pasteable for this default configuration.
2018-08-28 09:07:15 -07:00
Paul Banks 56ab8c9000
Add /health/connect to docs and make consistent with /catalog/connect 2018-07-20 16:50:28 +01:00
Jack Pearkes cd4d5a82da website: correct paramater for service meta on catalog register
I believe this may have been missed as part of #3994. Note that the
API _returns_ `ServiceMeta`, but accepts `Meta`.

$ curl -X PUT -d \
  '{
    "Datacenter": "dc1",
    "Node": "example",
    "Address": "www.example.com",
    "Service": {
      "Service": "example-service",
      "Port": 80,
      "Meta": {"foo": "bar"}
      }
  }' \
  http://localhost:8500/v1/catalog/register

$ curl localhost:8500/v1/catalog/service/example-service
[
  {
    "ID": "",
    "Node": "example",
    "Address": "www.example.com",
    "Datacenter": "dc1",
    "TaggedAddresses": null,
    "NodeMeta": null,
    "ServiceKind": "",
    "ServiceID": "example-service",
    "ServiceName": "example-service",
    "ServiceTags": [],
    "ServiceAddress": "",
    "ServiceMeta": {
      "foo": "bar"
    },
    "ServicePort": 80,
    "ServiceEnableTagOverride": false,
    "ServiceProxyDestination": "",
    "ServiceConnect": {
      "Native": false,
      "Proxy": null
    },
    "CreateIndex": 11,
    "ModifyIndex": 37
  }
]
2018-06-26 12:15:23 -07:00
Mitchell Hashimoto 1830c6b308 agent: switch ConnectNative to an embedded struct 2018-06-25 12:24:10 -07:00
Mitchell Hashimoto 1df5d91b39 website: add docs for connect native services API 2018-06-25 12:24:10 -07:00
Mitchell Hashimoto 097856c515 Starting Docs (#46)
* website: first stab at Connect docs

* website: lots more various stuff (bad commit messages)

* website: getting started page for Connect

* website: intentions

* website: intention APIs

* website: agent API docs

* website: document agent/catalog proxy kind service values

* website: /v1/catalog/connect/:service

* website: intention CLI docs

* website: custom proxy docs

* website: remove dedicated getting started guide

* website: add docs for CA API endpoints

* website: add docs for connect ca commands

* website: add proxy CLI docs

* website: clean up proxy command, add dev docs

* website: todo pages

* website: connect security
2018-06-25 12:24:05 -07:00
Preetha Appan c7581d68c6
Renames agent API layer for service metadata to "meta" for consistency 2018-03-28 09:04:50 -05:00
Pierre Souchay 6022c7a209 Added ServiceMeta documentation in website source 2018-02-11 14:12:41 +01:00
Amit Saha 0f53ae9a82
Update documentation for `tag` filter 2017-11-17 14:20:30 +11:00
Kyle Havlovitz d3dd2b1402
Move check definition to a sub-struct 2017-11-01 14:54:46 -07:00
Frank Schroeder 552681b2a5
Update example 2017-09-11 13:01:56 +02:00
Mitsunori Komatsu 2282f412d7 Fix wrong field name: Meta -> NodeMeta 2017-09-11 19:14:47 +09:00
Elijah Caine 1565f58508 Register Entity Meta -> NodeMeta
Corrects a typo in the description of parameters for the Register Entity API endpoint.
2017-07-31 17:06:07 -07:00
James Phillips 338b49fe66 Update catalog.html.md 2017-07-24 22:14:51 -07:00
Scott Pynn ce67c61f9f Spelling Error
`Sample Respons` should be `Sample Response`.
2017-05-19 15:15:27 -04:00
Frank Schröder c40621ae10 Add datacenter to catalog node API (#2917)
This patch stores the datacenter of a node in memdb
and exposes it via the API in all places where a Node
structure is returned.

 * /catalog/nodes
 * /catalog/node/:node
 * /catalog/service/:service
 * /health/service/:service
 * /query/:uuid/execute
2017-04-18 05:02:24 -07:00
Seth Vargo 99c3592064
Update API docs 2017-04-04 12:33:35 -04:00