Commit Graph

3550 Commits

Author SHA1 Message Date
Dhia Ayachi 3717ab0991 generate a single debug file for a long duration capture (#10279)
* debug: remove the CLI check for debug_enabled

The API allows collecting profiles even debug_enabled=false as long as
ACLs are enabled. Remove this check from the CLI so that users do not
need to set debug_enabled=true for no reason.

Also:
- fix the API client to return errors on non-200 status codes for debug
  endpoints
- improve the failure messages when pprof data can not be collected

Co-Authored-By: Dhia Ayachi <dhia@hashicorp.com>

* remove parallel test runs

parallel runs create a race condition that fail the debug tests

* snapshot the timestamp at the beginning of the capture

- timestamp used to create the capture sub folder is snapshot only at the beginning of the capture and reused for subsequent captures
- capture append to the file if it already exist

* Revert "snapshot the timestamp at the beginning of the capture"

This reverts commit c2d03346

* Refactor captureDynamic to extract capture logic for each item in a different func

* snapshot the timestamp at the beginning of the capture

- timestamp used to create the capture sub folder is snapshot only at the beginning of the capture and reused for subsequent captures
- capture append to the file if it already exist

* Revert "snapshot the timestamp at the beginning of the capture"

This reverts commit c2d03346

* Refactor captureDynamic to extract capture logic for each item in a different func

* extract wait group outside the go routine to avoid a race condition

* capture pprof in a separate go routine

* perform a single capture for pprof data for the whole duration

* add missing vendor dependency

* add a change log and fix documentation to reflect the change

* create function for timestamp dir creation and simplify error handling

* use error groups and ticker to simplify interval capture loop

* Logs, profile and traces are captured for the full duration. Metrics, Heap and Go routines are captured every interval

* refactor Logs capture routine and add log capture specific test

* improve error reporting when log test fail

* change test duration to 1s

* make time parsing in log line more robust

* refactor log time format in a const

* test on log line empty the earliest possible and return

Co-authored-by: Freddy <freddygv@users.noreply.github.com>

* rename function to captureShortLived

* more specific changelog

Co-authored-by: Paul Banks <banks@banksco.de>

* update documentation to reflect current implementation

* add test for behavior when invalid param is passed to the command

* fix argument line in test

* a more detailed description of the new behaviour

Co-authored-by: Paul Banks <banks@banksco.de>

* print success right after the capture is done

* remove an unnecessary error check

Co-authored-by: Daniel Nephin <dnephin@hashicorp.com>

* upgraded github.com/google/pprof v0.0.0-20181206194817-3ea8567a2e57 => v0.0.0-20210601050228-01bbb1931b22

Co-authored-by: Daniel Nephin <dnephin@hashicorp.com>
Co-authored-by: Freddy <freddygv@users.noreply.github.com>
Co-authored-by: Paul Banks <banks@banksco.de>
2021-06-07 17:12:49 +00:00
allisaurus a12ce30023 docs: Improve ECS routing example nesting (#10316) 2021-06-07 16:29:08 +00:00
Mark Anderson 884135eae5 Docs for Unix Domain Sockets (#10252)
* Docs for Unix Domain Sockets

There are a number of cases where a user might wish to either 1)
expose a service through a Unix Domain Socket in the filesystem
('downstream') or 2) connect to an upstream service by a local unix
domain socket (upstream).
As of Consul (1.10-beta2) we've added new syntax and support to configure
the Envoy proxy to support this
To connect to a service via local Unix Domain Socket instead of a
port, add local_bind_socket_path and optionally local_bind_socket_mode
to the upstream config for a service:
    upstreams = [
      {
         destination_name = "service-1"
         local_bind_socket_path = "/tmp/socket_service_1"
         local_bind_socket_mode = "0700"
	 ...
      }
      ...
    ]
This will cause Envoy to create a socket with the path and mode
provided, and connect that to service-1
The mode field is optional, and if omitted will use the default mode
for Envoy. This is not applicable for abstract sockets. See
https://www.envoyproxy.io/docs/envoy/latest/api-v3/config/core/v3/address.proto#envoy-v3-api-msg-config-core-v3-pipe
for details
NOTE: These options conflict the local_bind_socket_port and
local_bind_socket_address options. We can bind to an port or we can
bind to a socket, but not both.
To expose a service listening on a Unix Domain socket to the service
mesh use either the 'socket_path' field in the service definition or the
'local_service_socket_path' field in the proxy definition. These
fields are analogous to the 'port' and 'service_port' fields in their
respective locations.
    services {
      name = "service-2"
      socket_path = "/tmp/socket_service_2"
      ...
    }
OR
    proxy {
      local_service_socket_path = "/tmp/socket_service_2"
      ...
    }
There is no mode field since the service is expected to create the
socket it is listening on, not the Envoy proxy.
Again, the socket_path and local_service_socket_path fields conflict
with address/port and local_service_address/local_service_port
configuration entries.
Set up a simple service mesh with dummy services:
socat -d UNIX-LISTEN:/tmp/downstream.sock,fork UNIX-CONNECT:/tmp/upstream.sock
socat -v tcp-l:4444,fork exec:/bin/cat
services {
  name = "sock_forwarder"
  id = "sock_forwarder.1"
  socket_path = "/tmp/downstream.sock"
  connect {
    sidecar_service {
      proxy {
	upstreams = [
	  {
	    destination_name = "echo-service"
	    local_bind_socket_path = "/tmp/upstream.sock"
	    config {
	      passive_health_check {
		interval = "10s"
		max_failures = 42
	      }
	    }
	  }
	]
      }
    }
  }
}
services {
  name = "echo-service"
  port = 4444
  connect = { sidecar_service {} }
Kind = "ingress-gateway"
Name = "ingress-service"
Listeners = [
 {
   Port = 8080
   Protocol = "tcp"
   Services = [
     {
       Name = "sock_forwarder"
     }
   ]
 }
]
consul agent -dev -enable-script-checks -config-dir=./consul.d
consul connect envoy -sidecar-for sock_forwarder.1
consul connect envoy -sidecar-for echo-service -admin-bind localhost:19001
consul config write ingress-gateway.hcl
consul connect envoy -gateway=ingress -register -service ingress-service -address '{{ GetInterfaceIP "eth0" }}:8888' -admin-bind localhost:19002
netcat 127.0.0.1 4444
netcat 127.0.0.1 8080

Signed-off-by: Mark Anderson <manderson@hashicorp.com>

* fixup Unix capitalization

Signed-off-by: Mark Anderson <manderson@hashicorp.com>

* Update website/content/docs/connect/registration/service-registration.mdx

Co-authored-by: Blake Covarrubias <blake@covarrubi.as>

* Provide examples in hcl and json

Signed-off-by: Mark Anderson <manderson@hashicorp.com>

* Apply suggestions from code review

Co-authored-by: Blake Covarrubias <blake@covarrubi.as>

* One more fixup for docs

Signed-off-by: Mark Anderson <manderson@hashicorp.com>

Co-authored-by: Blake Covarrubias <blake@covarrubi.as>
2021-06-05 01:55:07 +00:00
Jeff Escalante d81aa604e3 rotate algolia api key (#10297) 2021-06-04 23:55:16 +00:00
Matt Keeler 4c6ba21b1d Add license inspect command documentation and changelog (#10351)
Also reformatted another changelog entry.
2021-06-04 18:33:53 +00:00
Matt Keeler 7530f0f346 Follow on to PR 10336 (#10343)
There was some PR feedback that came in just after I merged that other PR. This addresses that feedback.
2021-06-03 16:30:19 +00:00
Paul Ewing a9c2f6a741 usagemetrics: add cluster members to metrics API (#10340)
This PR adds cluster members to the metrics API. The number of members per
segment are reported as well as the total number of members.

Tested by running a multi-node cluster locally and ensuring the numbers were
correct. Also added unit test coverage to add the new expected gauges to
existing test cases.
2021-06-03 15:26:35 +00:00
Matt Keeler d50875f48f Merge pull request #10336 from hashicorp/docs/licensing-updates
[Docs] Update documentation with information about v1.10 licensing changes.
2021-06-03 14:51:28 +00:00
Jimmy Merritello 8197d2c063 Fix broken link (#10335) 2021-06-02 14:33:50 +00:00
Jimmy Merritello 4632e043e6 [Website] WIP - Update Homepage (#10314)
* Initial structure for updated homepage

* Bring back <UseCases />

* Add section stubs

* Add ecosystem section

* Add features section

* Iron out features section

* Add Learn Callout section

* Copy updates

* Better together copy

* Add updated copy & swap assets

* Remove comment & just add existing icon for now

* Copy and asset tweaks

* Remove unwanted copy

* Process the codeblock

* Add transparent img

* Swap for transparent img

* More transparent img

* Use Learn cards pattern

* Rearrange img and finishing padding touches
2021-06-02 14:23:31 +00:00
Daniel Nephin 3e08c33cea Merge pull request #10325 from hashicorp/docs/clarify-acl-set-agent-token-persistence
docs: Clarify set-agent-token token persistence behavior
2021-06-01 20:48:27 +00:00
Blake Covarrubias 5bae906c45 docs: Fix agent token name under ACL Agent Token
Reference the correct name of the agent token in the ACL Agent Token
section for the ACL System docs.
2021-05-31 17:53:47 +00:00
Stanko 44ddd863ac ui: Fix broken link format in ECS install page 2021-05-27 21:13:17 +00:00
allisaurus e145640199 Add note about new ECS ARN format to ECS docs (#10304)
* docs: Add note about ECS task ARN format to ECS docs
2021-05-27 18:02:37 +00:00
David Yu 03f85c8c12 docs: Bump core downloads to beta3 (#10309)
Make 1.10beta3 available on Downloads for consul.io
2021-05-27 16:22:53 +00:00
Luke Kysow 54f7cc0bc8 Add tech preview label (#10300) 2021-05-26 18:48:54 +00:00
Luke Kysow 74750e5d34 Consul ecs docs (#10288)
* ECS docs
2021-05-26 18:25:56 +00:00
Jono Sosulska 5057eb3efe Update Kubernetes docs to point to install pages. (#10293)
Adds more clear indicators that the collections on the learn.hashicorp.com sites have specific instructions for single node deployments.
Co-Authored by: soonoo <qpseh2m7@gmail.com>
2021-05-25 19:37:00 +00:00
mrspanishviking c110d487af Merge pull request #10290 from hashicorp/docs-rename-enterprise
docs: rename enterprise to Consul enterprise
2021-05-25 15:23:10 +00:00
Jono Sosulska 3f33ac36c5 Updating Consul Glossary with more industry standard terms (#10074)
* Update glossary.mdx

1. Update header to the first section to "Consul Vocabulary" since these are the terms used in the context of Consul conversations.
2. Kept the header "Consul Glossary" since these are the terms useful for practitioners in the consul space.
3. Removed interlinking to terms on the same page.

Co-authored-by: Hans Hasselberg <me@hans.io>
Co-authored-by: Swarna Podila <swarnap@users.noreply.github.com>
2021-05-24 19:44:42 +00:00
allisaurus f1c504cd67 docs: fix Amazon EKS service name (#10280) 2021-05-21 22:59:10 +00:00
Sabeen Syed 165fe57a84 Docs: Add link for new Cisco TF module (#10268) 2021-05-21 13:53:34 +00:00
Daniel Nephin be3a7cf745 Merge pull request #9309 from hashicorp/docs/example-snapshot-agent-policy
docs: Add example ACL policy for snapshot agent
2021-05-20 18:45:32 +00:00
Paul Banks 51c9d1e6c3 Fix doc note since we switched authorization mechanism in 1.9 (#10266) 2021-05-20 15:29:51 +00:00
Dhia Ayachi 9c6a9f4add docs: update register check docs (closes #6635) (#10261)
Update register check documentation clarify that Id returns as CheckId in the response

Co-Authored-By: Shaker Islam <shaqq@users.noreply.github.com>

Co-authored-by: Shaker Islam <shaqq@users.noreply.github.com>
2021-05-20 00:28:52 +00:00
Kendall Strautman 8d26a3f844 chore: 'overview' nav item links to home page (#10255) 2021-05-18 19:49:23 +00:00
Brandon Romano dd6e03dae9 Merge pull request #10251 from hashicorp/br.hc-banner
Updates AlertBanner for HashiConf EU
2021-05-17 22:23:48 +00:00
R.B. Boyer 4025a6349a xds: emit a labeled gauge of connected xDS streams by version (#10243)
Fixes #10099
2021-05-14 19:00:15 +00:00
Luke Kysow 832560b610 Update k8s fed docs to clarify role of acl token (#10233) 2021-05-13 17:22:27 +00:00
Christopher Poenaru cd2e4b0699 correct website documentation typo 2021-05-13 06:31:01 +00:00
R.B. Boyer 88a8656e13 connect: update supported envoy versions to 1.18.3, 1.17.3, 1.16.4, and 1.15.5 (#10231) 2021-05-12 19:06:43 +00:00
Brandon Romano c5e65aa953 Merge pull request #10226 from hashicorp/pcmccarron-patch-1
Update network-infrastructure-automation.jsx
2021-05-11 19:50:21 +00:00
Kyle MacDonald 04732063d6 website: add /form redirect (#10227) 2021-05-11 18:28:47 +00:00
Daniel Nephin d40c68e9ac Merge pull request #10219 from hashicorp/dnephin/connect-docs
docs: update notice on connect built-in proxy and native app integration
2021-05-10 21:01:47 +00:00
Joel Watson 763118c1ea Merge pull request #10214 from hashicorp/watsonian/raft-protocol-upgrade-note
Flesh out Raft Protocol Support note
2021-05-10 18:21:23 +00:00
Mike Morris d6be1661c2 website: bump beta callout on downloads page to 1.10.0-beta2 (#10202) 2021-05-07 19:04:30 +00:00
Mike Morris 5b8fba77ec
Merge pull request #10201 from hashicorp/website/1.10.0-beta2
website: sync recent commits and 1.10.0-beta2
2021-05-07 15:03:15 -04:00
Brandon Romano e48005a9a2 Merge pull request #10203 from hashicorp/br.hashistack-tweak
Adjust order, remove titles, on HashiStack section
2021-05-07 14:29:50 -04:00
Kim Ngo 7ae113656e docs/nia: simplify api and cli url paths (#10199) 2021-05-06 21:27:06 +00:00
Brandon Romano 12621a7f35 Updates the homepage hero CTA (#10192)
Plug in callouts content

Most styles for the callout blade

Re-export Consul Stack image

Update icons

Misc content tweaks

Optimize mobile for the consul stack icon

Better alignment

Make full CTA box clickable
2021-05-06 17:04:00 -04:00
Zachary Shilton dfc329d620 website: support hidden pages in nav-data (#10180)
* website: bump to docs-page prerelease with hidden page support

* website: replace hidden pages hot fix for /docs, /api-docs, and /commmands

* website: remove unused files for old hidden pages hotfix

* website: bump to stable docs-page, w next-mdx-remote bump

* website: bump to latest markdown-page
2021-05-06 19:52:36 +00:00
Daniel Nephin 6305e7af35 Merge pull request #10064 from hashicorp/docs-fix-namespace-api-descriptions
docs: fix api-docs namespace descriptions
2021-05-06 19:32:59 +00:00
Andy Assareh 3933c46a7f K8s docs: Manual join: add note that kubeconfig not required (#9998)
Per Consul PM, kubeconfig is not required for manual join. I believe this should be clarified in the docs as the current wording refers to the auto join steps above which state kubeconfig is required.
2021-05-06 19:00:33 +00:00
Daniel Nephin 76290183f3 Merge pull request #10177 from hashicorp/dnephin/config-entry-remove-fields
docs: remove name field from Mesh config entry
2021-05-06 18:22:17 +00:00
Bryce Kalow 653dfd2843 website: fix search indexing issue (#10059) 2021-05-05 16:17:32 -04:00
Frederic Hemberger 2160f0866b docs(discovery/service): Clarify multiple service definitions
Be more explicit that the definition of multiple services only works in config files,
not using the HTTP API.

Ref: https://discuss.hashicorp.com/t/register-multiple-services-via-put-request/
2021-05-05 16:17:32 -04:00
Zachary Shilton 00d9c94382 website: resolve unlinked content (#10087)
* website: add back unlinked pages to match previous state

* website: add unlinked content check

* website: add hidden nav-data to unlinked content check
2021-05-05 16:17:32 -04:00
Derek Strickland b6e29a07ab refactor get started links to new tutorial (#10066) 2021-05-05 16:17:32 -04:00
Kendall Strautman 39f215cdcb refactor(downloads): source asset from mktg-logos (#10178) 2021-05-05 15:17:50 +00:00
Paul Banks fa1b308c7b Make Raft trailing logs and snapshot timing reloadable (#10129)
* WIP reloadable raft config

* Pre-define new raft gauges

* Update go-metrics to change gauge reset behaviour

* Update raft to pull in new metric and reloadable config

* Add snapshot persistance timing and installSnapshot to our 'protected' list as they can be infrequent but are important

* Update telemetry docs

* Update config and telemetry docs

* Add note to oldestLogAge on when it is visible

* Add changelog entry

* Update website/content/docs/agent/options.mdx

Co-authored-by: Matt Keeler <mkeeler@users.noreply.github.com>

Co-authored-by: Matt Keeler <mkeeler@users.noreply.github.com>
2021-05-04 14:40:40 +00:00