mirror of https://github.com/status-im/consul.git
Merge pull request #10539 from hashicorp/dnephin/backport-to-1.10.x
[1.10.x] Backport main branch rename, and fix 32bit panic
This commit is contained in:
commit
c8bba8bd60
|
@ -0,0 +1,3 @@
|
||||||
|
```release-note:bug
|
||||||
|
agent: fix a panic on 32-bit platforms caused by misaligned struct fields used with sync/atomic.
|
||||||
|
```
|
|
@ -60,7 +60,7 @@ steps:
|
||||||
name: notify-slack-failure
|
name: notify-slack-failure
|
||||||
when: on_fail
|
when: on_fail
|
||||||
command: |
|
command: |
|
||||||
if [[ $CIRCLE_BRANCH == "master" ]]; then
|
if [[ $CIRCLE_BRANCH == "main" ]]; then
|
||||||
CIRCLE_ENDPOINT="https://app.circleci.com/pipelines/github/${CIRCLE_PROJECT_USERNAME}/${CIRCLE_PROJECT_REPONAME}?branch=${CIRCLE_BRANCH}"
|
CIRCLE_ENDPOINT="https://app.circleci.com/pipelines/github/${CIRCLE_PROJECT_USERNAME}/${CIRCLE_PROJECT_REPONAME}?branch=${CIRCLE_BRANCH}"
|
||||||
GITHUB_ENDPOINT="https://github.com/${CIRCLE_PROJECT_USERNAME}/${CIRCLE_PROJECT_REPONAME}/commit/${CIRCLE_SHA1}"
|
GITHUB_ENDPOINT="https://github.com/${CIRCLE_PROJECT_USERNAME}/${CIRCLE_PROJECT_REPONAME}/commit/${CIRCLE_SHA1}"
|
||||||
COMMIT_MESSAGE=$(git log -1 --pretty=%B | head -n1)
|
COMMIT_MESSAGE=$(git log -1 --pretty=%B | head -n1)
|
||||||
|
@ -79,7 +79,7 @@ steps:
|
||||||
] \
|
] \
|
||||||
}" "${FEED_CONSUL_GH_URL}"
|
}" "${FEED_CONSUL_GH_URL}"
|
||||||
else
|
else
|
||||||
echo "Not posting slack failure notifications for non-master branch"
|
echo "Not posting slack failure notifications for non-main branch"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
commands:
|
commands:
|
||||||
|
@ -116,14 +116,20 @@ jobs:
|
||||||
- run: go get -u github.com/hashicorp/lint-consul-retry && lint-consul-retry
|
- run: go get -u github.com/hashicorp/lint-consul-retry && lint-consul-retry
|
||||||
- run: *notify-slack-failure
|
- run: *notify-slack-failure
|
||||||
|
|
||||||
# Runs Go linters
|
|
||||||
lint:
|
lint:
|
||||||
|
description: "Run golangci-lint"
|
||||||
|
parameters:
|
||||||
|
go-arch:
|
||||||
|
type: string
|
||||||
|
default: ""
|
||||||
docker:
|
docker:
|
||||||
- image: *GOLANG_IMAGE
|
- image: *GOLANG_IMAGE
|
||||||
environment:
|
environment:
|
||||||
GOTAGS: "" # No tags for OSS but there are for enterprise
|
GOTAGS: "" # No tags for OSS but there are for enterprise
|
||||||
|
GOARCH: "<<parameters.go-arch>>"
|
||||||
steps:
|
steps:
|
||||||
- checkout
|
- checkout
|
||||||
|
- run: go env
|
||||||
- run:
|
- run:
|
||||||
name: Install golangci-lint
|
name: Install golangci-lint
|
||||||
command: |
|
command: |
|
||||||
|
@ -275,6 +281,40 @@ jobs:
|
||||||
path: /tmp/jsonfile
|
path: /tmp/jsonfile
|
||||||
- run: *notify-slack-failure
|
- run: *notify-slack-failure
|
||||||
|
|
||||||
|
# go-test-32bit is to catch problems where 64-bit ints must be 64-bit aligned
|
||||||
|
# to use them with sync/atomic. See https://golang.org/pkg/sync/atomic/#pkg-note-BUG.
|
||||||
|
# Running tests with GOARCH=386 seems to be the best way to detect this
|
||||||
|
# problem. Only runs tests that are -short to limit the time we spend checking
|
||||||
|
# for these bugs.
|
||||||
|
go-test-32bit:
|
||||||
|
docker:
|
||||||
|
- image: *GOLANG_IMAGE
|
||||||
|
environment:
|
||||||
|
<<: *ENVIRONMENT
|
||||||
|
GOTAGS: "" # No tags for OSS but there are for enterprise
|
||||||
|
steps:
|
||||||
|
- checkout
|
||||||
|
- run: *install-gotestsum
|
||||||
|
- run: go mod download
|
||||||
|
- run:
|
||||||
|
name: go test 32-bit
|
||||||
|
environment:
|
||||||
|
GOARCH: 386
|
||||||
|
command: |
|
||||||
|
mkdir -p $TEST_RESULTS_DIR /tmp/jsonfile
|
||||||
|
go env
|
||||||
|
gotestsum \
|
||||||
|
--jsonfile /tmp/jsonfile/go-test-32bit.log \
|
||||||
|
--junitfile $TEST_RESULTS_DIR/gotestsum-report.xml -- \
|
||||||
|
-tags="$GOTAGS" -p 2 \
|
||||||
|
-short ./...
|
||||||
|
|
||||||
|
- store_test_results:
|
||||||
|
path: *TEST_RESULTS_DIR
|
||||||
|
- store_artifacts:
|
||||||
|
path: *TEST_RESULTS_DIR
|
||||||
|
- run: *notify-slack-failure
|
||||||
|
|
||||||
go-test-lib:
|
go-test-lib:
|
||||||
description: "test a library against a specific Go version"
|
description: "test a library against a specific Go version"
|
||||||
parameters:
|
parameters:
|
||||||
|
@ -386,7 +426,7 @@ jobs:
|
||||||
<<: *ENVIRONMENT
|
<<: *ENVIRONMENT
|
||||||
steps:
|
steps:
|
||||||
- checkout
|
- checkout
|
||||||
- attach_workspace: # this normally runs as the first job and has nothing to attach; only used in master branch after rebuilding UI
|
- attach_workspace: # this normally runs as the first job and has nothing to attach; only used in main branch after rebuilding UI
|
||||||
at: .
|
at: .
|
||||||
- run:
|
- run:
|
||||||
command: make dev
|
command: make dev
|
||||||
|
@ -486,7 +526,7 @@ jobs:
|
||||||
path: *TEST_RESULTS_DIR
|
path: *TEST_RESULTS_DIR
|
||||||
- run: *notify-slack-failure
|
- run: *notify-slack-failure
|
||||||
|
|
||||||
# run integration tests on nomad/master
|
# run integration tests on nomad/main
|
||||||
nomad-integration-main:
|
nomad-integration-main:
|
||||||
docker:
|
docker:
|
||||||
- image: *GOLANG_IMAGE
|
- image: *GOLANG_IMAGE
|
||||||
|
@ -648,7 +688,7 @@ jobs:
|
||||||
short_sha=$(git rev-parse --short HEAD)
|
short_sha=$(git rev-parse --short HEAD)
|
||||||
git add agent/uiserver/bindata_assetfs.go
|
git add agent/uiserver/bindata_assetfs.go
|
||||||
git commit -m "auto-updated agent/uiserver/bindata_assetfs.go from commit ${short_sha}"
|
git commit -m "auto-updated agent/uiserver/bindata_assetfs.go from commit ${short_sha}"
|
||||||
git push origin master
|
git push origin main
|
||||||
else
|
else
|
||||||
echo "no UI changes so no static assets to publish"
|
echo "no UI changes so no static assets to publish"
|
||||||
fi
|
fi
|
||||||
|
@ -833,7 +873,7 @@ jobs:
|
||||||
path: *TEST_RESULTS_DIR
|
path: *TEST_RESULTS_DIR
|
||||||
- run: *notify-slack-failure
|
- run: *notify-slack-failure
|
||||||
|
|
||||||
# only runs on master: checks latest commit to see if the PR associated has a backport/* or docs* label to cherry-pick
|
# only runs on main: checks latest commit to see if the PR associated has a backport/* or docs* label to cherry-pick
|
||||||
cherry-picker:
|
cherry-picker:
|
||||||
docker:
|
docker:
|
||||||
- image: docker.mirror.hashicorp.services/alpine:3.12
|
- image: docker.mirror.hashicorp.services/alpine:3.12
|
||||||
|
@ -961,6 +1001,10 @@ workflows:
|
||||||
- check-generated-protobuf: *filter-ignore-non-go-branches
|
- check-generated-protobuf: *filter-ignore-non-go-branches
|
||||||
- lint-consul-retry: *filter-ignore-non-go-branches
|
- lint-consul-retry: *filter-ignore-non-go-branches
|
||||||
- lint: *filter-ignore-non-go-branches
|
- lint: *filter-ignore-non-go-branches
|
||||||
|
- lint:
|
||||||
|
name: "lint-32bit"
|
||||||
|
go-arch: "386"
|
||||||
|
<<: *filter-ignore-non-go-branches
|
||||||
- test-connect-ca-providers: *filter-ignore-non-go-branches
|
- test-connect-ca-providers: *filter-ignore-non-go-branches
|
||||||
- dev-build: *filter-ignore-non-go-branches
|
- dev-build: *filter-ignore-non-go-branches
|
||||||
- go-test:
|
- go-test:
|
||||||
|
@ -986,6 +1030,7 @@ workflows:
|
||||||
go-version: "1.15"
|
go-version: "1.15"
|
||||||
<<: *filter-ignore-non-go-branches
|
<<: *filter-ignore-non-go-branches
|
||||||
- go-test-race: *filter-ignore-non-go-branches
|
- go-test-race: *filter-ignore-non-go-branches
|
||||||
|
- go-test-32bit: *filter-ignore-non-go-branches
|
||||||
build-distros:
|
build-distros:
|
||||||
unless: << pipeline.parameters.trigger-load-test >>
|
unless: << pipeline.parameters.trigger-load-test >>
|
||||||
jobs:
|
jobs:
|
||||||
|
@ -995,12 +1040,12 @@ workflows:
|
||||||
- check-vendor
|
- check-vendor
|
||||||
- build-amd64: *require-check-vendor
|
- build-amd64: *require-check-vendor
|
||||||
- build-arm: *require-check-vendor
|
- build-arm: *require-check-vendor
|
||||||
# every commit on master will have a rebuilt UI
|
# every commit on main will have a rebuilt UI
|
||||||
- frontend-cache:
|
- frontend-cache:
|
||||||
filters:
|
filters:
|
||||||
branches:
|
branches:
|
||||||
only:
|
only:
|
||||||
- master
|
- main
|
||||||
- ember-build-prod:
|
- ember-build-prod:
|
||||||
requires:
|
requires:
|
||||||
- frontend-cache
|
- frontend-cache
|
||||||
|
@ -1011,7 +1056,7 @@ workflows:
|
||||||
filters:
|
filters:
|
||||||
branches:
|
branches:
|
||||||
only:
|
only:
|
||||||
- master
|
- main
|
||||||
- /release\/\d+\.\d+\.x$/
|
- /release\/\d+\.\d+\.x$/
|
||||||
requires:
|
requires:
|
||||||
- build-static-assets
|
- build-static-assets
|
||||||
|
@ -1036,7 +1081,7 @@ workflows:
|
||||||
branches:
|
branches:
|
||||||
ignore:
|
ignore:
|
||||||
- /^pull\/.*$/ # only push dev builds from non forks
|
- /^pull\/.*$/ # only push dev builds from non forks
|
||||||
- master # all master dev uploads will include a UI rebuild in build-distros
|
- main # all main dev uploads will include a UI rebuild in build-distros
|
||||||
- dev-upload-docker:
|
- dev-upload-docker:
|
||||||
<<: *dev-upload
|
<<: *dev-upload
|
||||||
context: consul-ci
|
context: consul-ci
|
||||||
|
@ -1073,7 +1118,7 @@ workflows:
|
||||||
filters:
|
filters:
|
||||||
branches:
|
branches:
|
||||||
only:
|
only:
|
||||||
- master
|
- main
|
||||||
- algolia-index:
|
- algolia-index:
|
||||||
context: consul-docs
|
context: consul-docs
|
||||||
filters:
|
filters:
|
||||||
|
@ -1087,7 +1132,7 @@ workflows:
|
||||||
filters:
|
filters:
|
||||||
branches:
|
branches:
|
||||||
only:
|
only:
|
||||||
- master
|
- main
|
||||||
- /^ui\/.*/
|
- /^ui\/.*/
|
||||||
- workspace-tests:
|
- workspace-tests:
|
||||||
requires:
|
requires:
|
||||||
|
@ -1120,14 +1165,14 @@ workflows:
|
||||||
filters:
|
filters:
|
||||||
branches:
|
branches:
|
||||||
only:
|
only:
|
||||||
- master
|
- main
|
||||||
- /release\/\d+\.\d+\.x$/
|
- /release\/\d+\.\d+\.x$/
|
||||||
- cherry-picker:
|
- cherry-picker:
|
||||||
context: team-consul
|
context: team-consul
|
||||||
filters:
|
filters:
|
||||||
branches:
|
branches:
|
||||||
only:
|
only:
|
||||||
- master
|
- main
|
||||||
- /release\/\d+\.\d+\.x$/
|
- /release\/\d+\.\d+\.x$/
|
||||||
load-test:
|
load-test:
|
||||||
when: << pipeline.parameters.trigger-load-test >>
|
when: << pipeline.parameters.trigger-load-test >>
|
||||||
|
@ -1141,6 +1186,6 @@ workflows:
|
||||||
filters:
|
filters:
|
||||||
branches:
|
branches:
|
||||||
only:
|
only:
|
||||||
- master
|
- main
|
||||||
jobs:
|
jobs:
|
||||||
- load-test
|
- load-test
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
#
|
#
|
||||||
# This script is meant to run on every new commit to master in CircleCI. If the commit comes from a PR, it will
|
# This script is meant to run on every new commit to main in CircleCI. If the commit comes from a PR, it will
|
||||||
# check the PR associated with the commit for labels. If the label matches `docs*` it will be cherry-picked
|
# check the PR associated with the commit for labels. If the label matches `docs*` it will be cherry-picked
|
||||||
# to stable-website. If the label matches `backport/*`, it will be cherry-picked to the appropriate `release/*`
|
# to stable-website. If the label matches `backport/*`, it will be cherry-picked to the appropriate `release/*`
|
||||||
# branch.
|
# branch.
|
||||||
|
|
|
@ -60,7 +60,7 @@ issue. Stale issues will be closed.
|
||||||
## Building Consul
|
## Building Consul
|
||||||
|
|
||||||
If you wish to work on Consul itself, you'll first need [Go](https://golang.org)
|
If you wish to work on Consul itself, you'll first need [Go](https://golang.org)
|
||||||
installed (version 1.14 is _required_).
|
installed (The version of Go should match the one of our [CI config's](https://github.com/hashicorp/consul/blob/main/.circleci/config.yml) Go image).
|
||||||
|
|
||||||
|
|
||||||
Next, clone this repository and then run `make dev`. In a few moments, you'll have a working
|
Next, clone this repository and then run `make dev`. In a few moments, you'll have a working
|
||||||
|
|
|
@ -4,9 +4,9 @@
|
||||||
on:
|
on:
|
||||||
pull_request:
|
pull_request:
|
||||||
types: [opened, synchronize, labeled]
|
types: [opened, synchronize, labeled]
|
||||||
# Runs on PRs to master and all release branches
|
# Runs on PRs to main and all release branches
|
||||||
branches:
|
branches:
|
||||||
- master
|
- main
|
||||||
- release/*
|
- release/*
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
on:
|
on:
|
||||||
pull_request:
|
pull_request:
|
||||||
branches:
|
branches:
|
||||||
- master
|
- main
|
||||||
types: [labeled]
|
types: [labeled]
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
|
@ -16,9 +16,9 @@ jobs:
|
||||||
- name: Trigger CircleCI Load Test Pipeline
|
- name: Trigger CircleCI Load Test Pipeline
|
||||||
run: |
|
run: |
|
||||||
# build json payload to trigger CircleCI Load Test Pipeline
|
# build json payload to trigger CircleCI Load Test Pipeline
|
||||||
# This only runs the load test pipeline on the 'master' branch
|
# This only runs the load test pipeline on the 'main' branch
|
||||||
jsonData=$(jq --null-input -r --arg commit ${{ github.event.pull_request.head.sha }} \
|
jsonData=$(jq --null-input -r --arg commit ${{ github.event.pull_request.head.sha }} \
|
||||||
'{branch:"master", parameters: {"commit": $commit, "trigger-load-test": true}}')
|
'{branch:"main", parameters: {"commit": $commit, "trigger-load-test": true}}')
|
||||||
echo "Passing JSON data to CircleCI API: $jsonData"
|
echo "Passing JSON data to CircleCI API: $jsonData"
|
||||||
load_test_pipeline_id=$(curl -X POST \
|
load_test_pipeline_id=$(curl -X POST \
|
||||||
-H "Circle-Token: ${{ secrets.CIRCLE_TOKEN }}" \
|
-H "Circle-Token: ${{ secrets.CIRCLE_TOKEN }}" \
|
||||||
|
|
|
@ -13,9 +13,9 @@
|
||||||
on:
|
on:
|
||||||
pull_request_target:
|
pull_request_target:
|
||||||
types: [opened]
|
types: [opened]
|
||||||
# Runs on PRs to master and all release branches
|
# Runs on PRs to main and all release branches
|
||||||
branches:
|
branches:
|
||||||
- master
|
- main
|
||||||
- release/*
|
- release/*
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
|
|
|
@ -1543,7 +1543,7 @@ SECURITY:
|
||||||
IMPROVEMENTS:
|
IMPROVEMENTS:
|
||||||
|
|
||||||
* build: Bumped Go version to 1.10 [[GH-3988](https://github.com/hashicorp/consul/pull/3988)]
|
* build: Bumped Go version to 1.10 [[GH-3988](https://github.com/hashicorp/consul/pull/3988)]
|
||||||
* agent: Blocking queries on service-specific health and catalog endpoints now return a per-service `X-Consul-Index` improving watch performance on very busy clusters. [[GH-3890](https://github.com/hashicorp/consul/issues/3890)]. **Note this may break blocking clients that relied on undocumented implementation details** as noted in the [upgrade docs](https://github.com/hashicorp/consul/blob/master/website/source/docs/upgrading.html.md#upgrade-from-version-106-to-higher).
|
* agent: Blocking queries on service-specific health and catalog endpoints now return a per-service `X-Consul-Index` improving watch performance on very busy clusters. [[GH-3890](https://github.com/hashicorp/consul/issues/3890)]. **Note this may break blocking clients that relied on undocumented implementation details** as noted in the [upgrade docs](https://github.com/hashicorp/consul/blob/main/website/source/docs/upgrading.html.md#upgrade-from-version-106-to-higher).
|
||||||
* agent: All endpoints now respond to OPTIONS requests. [[GH-3885](https://github.com/hashicorp/consul/issues/3885)]
|
* agent: All endpoints now respond to OPTIONS requests. [[GH-3885](https://github.com/hashicorp/consul/issues/3885)]
|
||||||
* agent: List of supported TLS cipher suites updated to include newer options, [[GH-3962](https://github.com/hashicorp/consul/pull/3962)]
|
* agent: List of supported TLS cipher suites updated to include newer options, [[GH-3962](https://github.com/hashicorp/consul/pull/3962)]
|
||||||
* agent: WAN federation can now be disabled by setting the serf WAN port to -1. [[GH-3984](https://github.com/hashicorp/consul/issues/3984)]
|
* agent: WAN federation can now be disabled by setting the serf WAN port to -1. [[GH-3984](https://github.com/hashicorp/consul/issues/3984)]
|
||||||
|
@ -1725,12 +1725,12 @@ BREAKING CHANGES:
|
||||||
| `dogstatsd_tags` | [`telemetry.dogstatsd_tags`](https://www.consul.io/docs/agent/options.html#telemetry-dogstatsd_tags) |
|
| `dogstatsd_tags` | [`telemetry.dogstatsd_tags`](https://www.consul.io/docs/agent/options.html#telemetry-dogstatsd_tags) |
|
||||||
| `http_api_response_headers` | [`http_config.response_headers`](https://www.consul.io/docs/agent/options.html#response_headers) |
|
| `http_api_response_headers` | [`http_config.response_headers`](https://www.consul.io/docs/agent/options.html#response_headers) |
|
||||||
| `ports.rpc` | None, the RPC server for CLI commands is no longer supported. |
|
| `ports.rpc` | None, the RPC server for CLI commands is no longer supported. |
|
||||||
| `recursor` | [`recursors`](https://github.com/hashicorp/consul/blob/master/website/source/docs/agent/options.html.md#recursors) |
|
| `recursor` | [`recursors`](https://github.com/hashicorp/consul/blob/main/website/source/docs/agent/options.html.md#recursors) |
|
||||||
| `retry_join_azure` | [`-retry-join`](https://www.consul.io/docs/agent/options.html#microsoft-azure) |
|
| `retry_join_azure` | [`-retry-join`](https://www.consul.io/docs/agent/options.html#microsoft-azure) |
|
||||||
| `retry_join_ec2` | [`-retry-join`](https://www.consul.io/docs/agent/options.html#amazon-ec2) |
|
| `retry_join_ec2` | [`-retry-join`](https://www.consul.io/docs/agent/options.html#amazon-ec2) |
|
||||||
| `retry_join_gce` | [`-retry-join`](https://www.consul.io/docs/agent/options.html#google-compute-engine) |
|
| `retry_join_gce` | [`-retry-join`](https://www.consul.io/docs/agent/options.html#google-compute-engine) |
|
||||||
| `statsd_addr` | [`telemetry.statsd_address`](https://github.com/hashicorp/consul/blob/master/website/source/docs/agent/options.html.md#telemetry-statsd_address) |
|
| `statsd_addr` | [`telemetry.statsd_address`](https://github.com/hashicorp/consul/blob/main/website/source/docs/agent/options.html.md#telemetry-statsd_address) |
|
||||||
| `statsite_addr` | [`telemetry.statsite_address`](https://github.com/hashicorp/consul/blob/master/website/source/docs/agent/options.html.md#telemetry-statsite_address) |
|
| `statsite_addr` | [`telemetry.statsite_address`](https://github.com/hashicorp/consul/blob/main/website/source/docs/agent/options.html.md#telemetry-statsite_address) |
|
||||||
| `statsite_prefix` | [`telemetry.metrics_prefix`](https://www.consul.io/docs/agent/options.html#telemetry-metrics_prefix) |
|
| `statsite_prefix` | [`telemetry.metrics_prefix`](https://www.consul.io/docs/agent/options.html#telemetry-metrics_prefix) |
|
||||||
| `telemetry.statsite_prefix` | [`telemetry.metrics_prefix`](https://www.consul.io/docs/agent/options.html#telemetry-metrics_prefix) |
|
| `telemetry.statsite_prefix` | [`telemetry.metrics_prefix`](https://www.consul.io/docs/agent/options.html#telemetry-metrics_prefix) |
|
||||||
| (service definitions) `serviceid` | [`service_id`](https://www.consul.io/docs/agent/services.html) |
|
| (service definitions) `serviceid` | [`service_id`](https://www.consul.io/docs/agent/services.html) |
|
||||||
|
|
|
@ -176,7 +176,7 @@ ci.dev-docker:
|
||||||
@echo $(DOCKER_PASS) | docker login -u="$(DOCKER_USER)" --password-stdin
|
@echo $(DOCKER_PASS) | docker login -u="$(DOCKER_USER)" --password-stdin
|
||||||
@echo "Pushing dev image to: https://cloud.docker.com/u/hashicorpdev/repository/docker/hashicorpdev/consul"
|
@echo "Pushing dev image to: https://cloud.docker.com/u/hashicorpdev/repository/docker/hashicorpdev/consul"
|
||||||
@docker push $(CI_DEV_DOCKER_NAMESPACE)/$(CI_DEV_DOCKER_IMAGE_NAME):$(GIT_COMMIT)
|
@docker push $(CI_DEV_DOCKER_NAMESPACE)/$(CI_DEV_DOCKER_IMAGE_NAME):$(GIT_COMMIT)
|
||||||
ifeq ($(CIRCLE_BRANCH), master)
|
ifeq ($(CIRCLE_BRANCH), main)
|
||||||
@docker tag $(CI_DEV_DOCKER_NAMESPACE)/$(CI_DEV_DOCKER_IMAGE_NAME):$(GIT_COMMIT) $(CI_DEV_DOCKER_NAMESPACE)/$(CI_DEV_DOCKER_IMAGE_NAME):latest
|
@docker tag $(CI_DEV_DOCKER_NAMESPACE)/$(CI_DEV_DOCKER_IMAGE_NAME):$(GIT_COMMIT) $(CI_DEV_DOCKER_NAMESPACE)/$(CI_DEV_DOCKER_IMAGE_NAME):latest
|
||||||
@docker push $(CI_DEV_DOCKER_NAMESPACE)/$(CI_DEV_DOCKER_IMAGE_NAME):latest
|
@docker push $(CI_DEV_DOCKER_NAMESPACE)/$(CI_DEV_DOCKER_IMAGE_NAME):latest
|
||||||
endif
|
endif
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
# Consul [![CircleCI](https://circleci.com/gh/hashicorp/consul/tree/master.svg?style=svg)](https://circleci.com/gh/hashicorp/consul/tree/master) [![Discuss](https://img.shields.io/badge/discuss-consul-ca2171.svg?style=flat)](https://discuss.hashicorp.com/c/consul)
|
# Consul [![CircleCI](https://circleci.com/gh/hashicorp/consul/tree/main.svg?style=svg)](https://circleci.com/gh/hashicorp/consul/tree/main) [![Discuss](https://img.shields.io/badge/discuss-consul-ca2171.svg?style=flat)](https://discuss.hashicorp.com/c/consul)
|
||||||
|
|
||||||
* Website: https://www.consul.io
|
* Website: https://www.consul.io
|
||||||
* Tutorials: [HashiCorp Learn](https://learn.hashicorp.com/consul)
|
* Tutorials: [HashiCorp Learn](https://learn.hashicorp.com/consul)
|
||||||
|
@ -54,4 +54,4 @@ https://www.consul.io/docs
|
||||||
|
|
||||||
## Contributing
|
## Contributing
|
||||||
|
|
||||||
Thank you for your interest in contributing! Please refer to [CONTRIBUTING.md](https://github.com/hashicorp/consul/blob/master/.github/CONTRIBUTING.md) for guidance.
|
Thank you for your interest in contributing! Please refer to [CONTRIBUTING.md](https://github.com/hashicorp/consul/blob/main/.github/CONTRIBUTING.md) for guidance.
|
||||||
|
|
|
@ -5473,7 +5473,7 @@ func TestLoad_FullConfig(t *testing.T) {
|
||||||
HTTPSPort: 15127,
|
HTTPSPort: 15127,
|
||||||
HTTPUseCache: false,
|
HTTPUseCache: false,
|
||||||
KeyFile: "IEkkwgIA",
|
KeyFile: "IEkkwgIA",
|
||||||
KVMaxValueSize: 1234567800000000,
|
KVMaxValueSize: 1234567800,
|
||||||
LeaveDrainTime: 8265 * time.Second,
|
LeaveDrainTime: 8265 * time.Second,
|
||||||
LeaveOnTerm: true,
|
LeaveOnTerm: true,
|
||||||
Logging: logging.Config{
|
Logging: logging.Config{
|
||||||
|
@ -5868,7 +5868,7 @@ func TestLoad_FullConfig(t *testing.T) {
|
||||||
"wan_ipv4": "78.63.37.19",
|
"wan_ipv4": "78.63.37.19",
|
||||||
},
|
},
|
||||||
TranslateWANAddrs: true,
|
TranslateWANAddrs: true,
|
||||||
TxnMaxReqLen: 5678000000000000,
|
TxnMaxReqLen: 567800000,
|
||||||
UIConfig: UIConfig{
|
UIConfig: UIConfig{
|
||||||
Dir: "pVncV4Ey",
|
Dir: "pVncV4Ey",
|
||||||
ContentPath: "/qp1WRhYH/", // slashes are added in parsing
|
ContentPath: "/qp1WRhYH/", // slashes are added in parsing
|
||||||
|
|
|
@ -285,8 +285,8 @@ limits {
|
||||||
rpc_rate = 12029.43
|
rpc_rate = 12029.43
|
||||||
rpc_max_burst = 44848
|
rpc_max_burst = 44848
|
||||||
rpc_max_conns_per_client = 2954
|
rpc_max_conns_per_client = 2954
|
||||||
kv_max_value_size = 1234567800000000
|
kv_max_value_size = 1234567800
|
||||||
txn_max_req_len = 5678000000000000
|
txn_max_req_len = 567800000
|
||||||
}
|
}
|
||||||
log_level = "k1zo9Spt"
|
log_level = "k1zo9Spt"
|
||||||
log_json = true
|
log_json = true
|
||||||
|
|
|
@ -285,8 +285,8 @@
|
||||||
"rpc_rate": 12029.43,
|
"rpc_rate": 12029.43,
|
||||||
"rpc_max_burst": 44848,
|
"rpc_max_burst": 44848,
|
||||||
"rpc_max_conns_per_client": 2954,
|
"rpc_max_conns_per_client": 2954,
|
||||||
"kv_max_value_size": 1234567800000000,
|
"kv_max_value_size": 1234567800,
|
||||||
"txn_max_req_len": 5678000000000000
|
"txn_max_req_len": 567800000
|
||||||
},
|
},
|
||||||
"log_level": "k1zo9Spt",
|
"log_level": "k1zo9Spt",
|
||||||
"log_json": true,
|
"log_json": true,
|
||||||
|
|
|
@ -52,8 +52,11 @@ var defaultMetrics = metrics.Default
|
||||||
// statsHandler is a grpc/stats.StatsHandler which emits connection and
|
// statsHandler is a grpc/stats.StatsHandler which emits connection and
|
||||||
// request metrics to go-metrics.
|
// request metrics to go-metrics.
|
||||||
type statsHandler struct {
|
type statsHandler struct {
|
||||||
|
// activeConns is used with sync/atomic and MUST be 64-bit aligned. To ensure
|
||||||
|
// alignment on 32-bit platforms this field must remain the first field in
|
||||||
|
// the struct. See https://golang.org/pkg/sync/atomic/#pkg-note-BUG.
|
||||||
|
activeConns uint64
|
||||||
metrics *metrics.Metrics
|
metrics *metrics.Metrics
|
||||||
activeConns uint64 // must be 8-byte aligned for atomic access
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func newStatsHandler(m *metrics.Metrics) *statsHandler {
|
func newStatsHandler(m *metrics.Metrics) *statsHandler {
|
||||||
|
@ -103,10 +106,11 @@ func (c *statsHandler) HandleConn(_ context.Context, s stats.ConnStats) {
|
||||||
}
|
}
|
||||||
|
|
||||||
type activeStreamCounter struct {
|
type activeStreamCounter struct {
|
||||||
metrics *metrics.Metrics
|
// count is used with sync/atomic and MUST be 64-bit aligned. To ensure
|
||||||
// count of the number of open streaming RPCs on a server. It is accessed
|
// alignment on 32-bit platforms this field must remain the first field in
|
||||||
// atomically.
|
// the struct. See https://golang.org/pkg/sync/atomic/#pkg-note-BUG.
|
||||||
count uint64
|
count uint64
|
||||||
|
metrics *metrics.Metrics
|
||||||
}
|
}
|
||||||
|
|
||||||
// GRPCCountingStreamInterceptor is a grpc.ServerStreamInterceptor that emits a
|
// GRPCCountingStreamInterceptor is a grpc.ServerStreamInterceptor that emits a
|
||||||
|
|
|
@ -555,7 +555,7 @@ function git_push_ref {
|
||||||
local upstream=$(git_upstream "${sdir}") || return 1
|
local upstream=$(git_upstream "${sdir}") || return 1
|
||||||
|
|
||||||
# upstream branch for this branch does not track the remote we need to push to
|
# upstream branch for this branch does not track the remote we need to push to
|
||||||
# basically this checks that the upstream (could be something like origin/master) references the correct remote
|
# basically this checks that the upstream (could be something like origin/main) references the correct remote
|
||||||
# if it doesn't then the string modification wont apply and the var will reamin unchanged and equal to itself.
|
# if it doesn't then the string modification wont apply and the var will reamin unchanged and equal to itself.
|
||||||
if test "${upstream#${remote}/}" == "${upstream}"
|
if test "${upstream#${remote}/}" == "${upstream}"
|
||||||
then
|
then
|
||||||
|
|
|
@ -86,7 +86,7 @@ type BootstrapConfig struct {
|
||||||
// configure the aspects that Connect relies upon to work. It's recommended
|
// configure the aspects that Connect relies upon to work. It's recommended
|
||||||
// that this only be used if necessary, and that it be based on the default
|
// that this only be used if necessary, and that it be based on the default
|
||||||
// template in
|
// template in
|
||||||
// https://github.com/hashicorp/consul/blob/master/command/connect/envoy/bootstrap_tpl.go
|
// https://github.com/hashicorp/consul/blob/main/command/connect/envoy/bootstrap_tpl.go
|
||||||
// for the correct version of Consul and Envoy being used.
|
// for the correct version of Consul and Envoy being used.
|
||||||
OverrideJSONTpl string `mapstructure:"envoy_bootstrap_json_tpl"`
|
OverrideJSONTpl string `mapstructure:"envoy_bootstrap_json_tpl"`
|
||||||
|
|
||||||
|
|
|
@ -59,6 +59,10 @@ func TestRun_FlagValidation(t *testing.T) {
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestGenerateConfigFromFlags(t *testing.T) {
|
func TestGenerateConfigFromFlags(t *testing.T) {
|
||||||
|
if testing.Short() {
|
||||||
|
t.Skip("too slow for testing.Short")
|
||||||
|
}
|
||||||
|
|
||||||
cases := []struct {
|
cases := []struct {
|
||||||
name string
|
name string
|
||||||
command func() cmd
|
command func() cmd
|
||||||
|
|
|
@ -22,13 +22,13 @@ The components in this section are shared between Consul agents in client and se
|
||||||
|
|
||||||
| Directory | Contents |
|
| Directory | Contents |
|
||||||
| --------- | -------- |
|
| --------- | -------- |
|
||||||
| [command/agent](https://github.com/hashicorp/consul/tree/master/command/agent) | This contains the actual CLI command implementation for the `consul agent` command, which mostly just invokes an agent object from the `agent` package. |
|
| [command/agent](https://github.com/hashicorp/consul/tree/main/command/agent) | This contains the actual CLI command implementation for the `consul agent` command, which mostly just invokes an agent object from the `agent` package. |
|
||||||
| [agent](https://github.com/hashicorp/consul/tree/master/agent) | This is where the agent object is defined, and the top level `agent` package has all of the functionality that's common to both client and server agents. This includes things like service registration, the HTTP and DNS endpoints, watches, and top-level glue for health checks. |
|
| [agent](https://github.com/hashicorp/consul/tree/main/agent) | This is where the agent object is defined, and the top level `agent` package has all of the functionality that's common to both client and server agents. This includes things like service registration, the HTTP and DNS endpoints, watches, and top-level glue for health checks. |
|
||||||
| [agent/config](https://github.com/hashicorp/consul/tree/master/agent/config) | This has all the user-facing [configuration](https://www.consul.io/docs/agent/options.html) processing code, as well as the internal configuration structure that's used by the agent. |
|
| [agent/config](https://github.com/hashicorp/consul/tree/main/agent/config) | This has all the user-facing [configuration](https://www.consul.io/docs/agent/options.html) processing code, as well as the internal configuration structure that's used by the agent. |
|
||||||
| [agent/checks](https://github.com/hashicorp/consul/tree/master/agent/checks) | This has implementations for the different [health check types](https://www.consul.io/docs/agent/checks.html). |
|
| [agent/checks](https://github.com/hashicorp/consul/tree/main/agent/checks) | This has implementations for the different [health check types](https://www.consul.io/docs/agent/checks.html). |
|
||||||
| [agent/ae](https://github.com/hashicorp/consul/tree/master/agent/ae), [agent/local](https://github.com/hashicorp/consul/tree/master/agent/local) | These are used together to power the agent's [Anti-Entropy Sync Back](https://www.consul.io/docs/internals/anti-entropy.html) process to the Consul servers. |
|
| [agent/ae](https://github.com/hashicorp/consul/tree/main/agent/ae), [agent/local](https://github.com/hashicorp/consul/tree/main/agent/local) | These are used together to power the agent's [Anti-Entropy Sync Back](https://www.consul.io/docs/internals/anti-entropy.html) process to the Consul servers. |
|
||||||
| [agent/router](https://github.com/hashicorp/consul/tree/master/agent/router), [agent/pool](https://github.com/hashicorp/consul/tree/master/agent/pool) | These are used for routing RPC queries to Consul servers and for connection pooling. |
|
| [agent/router](https://github.com/hashicorp/consul/tree/main/agent/router), [agent/pool](https://github.com/hashicorp/consul/tree/main/agent/pool) | These are used for routing RPC queries to Consul servers and for connection pooling. |
|
||||||
| [agent/structs](https://github.com/hashicorp/consul/tree/master/agent/structs) | This has definitions of all the internal RPC protocol request and response structures. |
|
| [agent/structs](https://github.com/hashicorp/consul/tree/main/agent/structs) | This has definitions of all the internal RPC protocol request and response structures. |
|
||||||
|
|
||||||
### Server Components
|
### Server Components
|
||||||
|
|
||||||
|
@ -36,9 +36,9 @@ The components in this section are only used by Consul servers.
|
||||||
|
|
||||||
| Directory | Contents |
|
| Directory | Contents |
|
||||||
| --------- | -------- |
|
| --------- | -------- |
|
||||||
| [agent/consul](https://github.com/hashicorp/consul/tree/master/agent/consul) | This is where the Consul server object is defined, and the top-level `consul` package has all of the functionality that's used by server agents. This includes things like the internal RPC endpoints. |
|
| [agent/consul](https://github.com/hashicorp/consul/tree/main/agent/consul) | This is where the Consul server object is defined, and the top-level `consul` package has all of the functionality that's used by server agents. This includes things like the internal RPC endpoints. |
|
||||||
| [agent/consul/fsm](https://github.com/hashicorp/consul/tree/master/agent/consul/fsm), [agent/consul/state](https://github.com/hashicorp/consul/tree/master/agent/consul/state) | These components make up Consul's finite state machine (updated by the Raft consensus algorithm) and backed by the state store (based on immutable radix trees). All updates of Consul's consistent state is handled by the finite state machine, and all read queries to the Consul servers are serviced by the state store's data structures. |
|
| [agent/consul/fsm](https://github.com/hashicorp/consul/tree/main/agent/consul/fsm), [agent/consul/state](https://github.com/hashicorp/consul/tree/main/agent/consul/state) | These components make up Consul's finite state machine (updated by the Raft consensus algorithm) and backed by the state store (based on immutable radix trees). All updates of Consul's consistent state is handled by the finite state machine, and all read queries to the Consul servers are serviced by the state store's data structures. |
|
||||||
| [agent/consul/autopilot](https://github.com/hashicorp/consul/tree/master/agent/consul/autopilot) | This contains a package of functions that provide Consul's [Autopilot](https://www.consul.io/docs/guides/autopilot.html) features. |
|
| [agent/consul/autopilot](https://github.com/hashicorp/consul/tree/main/agent/consul/autopilot) | This contains a package of functions that provide Consul's [Autopilot](https://www.consul.io/docs/guides/autopilot.html) features. |
|
||||||
|
|
||||||
### Other Components
|
### Other Components
|
||||||
|
|
||||||
|
@ -46,12 +46,12 @@ There are several other top-level packages used internally by Consul as well as
|
||||||
|
|
||||||
| Directory | Contents |
|
| Directory | Contents |
|
||||||
| --------- | -------- |
|
| --------- | -------- |
|
||||||
| [acl](https://github.com/hashicorp/consul/tree/master/api) | This supports the underlying policy engine for Consul's [ACL](https://www.consul.io/docs/guides/acl.html) system. |
|
| [acl](https://github.com/hashicorp/consul/tree/main/api) | This supports the underlying policy engine for Consul's [ACL](https://www.consul.io/docs/guides/acl.html) system. |
|
||||||
| [api](https://github.com/hashicorp/consul/tree/master/api) | This `api` package provides an official Go API client for Consul, which is also used by Consul's [CLI](https://www.consul.io/docs/commands/index.html) commands to communicate with the local Consul agent. |
|
| [api](https://github.com/hashicorp/consul/tree/main/api) | This `api` package provides an official Go API client for Consul, which is also used by Consul's [CLI](https://www.consul.io/docs/commands/index.html) commands to communicate with the local Consul agent. |
|
||||||
| [command](https://github.com/hashicorp/consul/tree/master/command) | This contains a sub-package for each of Consul's [CLI](https://www.consul.io/docs/commands/index.html) command implementations. |
|
| [command](https://github.com/hashicorp/consul/tree/main/command) | This contains a sub-package for each of Consul's [CLI](https://www.consul.io/docs/commands/index.html) command implementations. |
|
||||||
| [snapshot](https://github.com/hashicorp/consul/tree/master/snapshot) | This has implementation details for Consul's [snapshot archives](https://www.consul.io/api/snapshot.html). |
|
| [snapshot](https://github.com/hashicorp/consul/tree/main/snapshot) | This has implementation details for Consul's [snapshot archives](https://www.consul.io/api/snapshot.html). |
|
||||||
| [api/watch](https://github.com/hashicorp/consul/tree/master/api/watch) | This has implementation details for Consul's [watches](https://www.consul.io/docs/agent/watches.html), used both internally to Consul and by the [watch CLI command](https://www.consul.io/docs/commands/watch.html). |
|
| [api/watch](https://github.com/hashicorp/consul/tree/main/api/watch) | This has implementation details for Consul's [watches](https://www.consul.io/docs/agent/watches.html), used both internally to Consul and by the [watch CLI command](https://www.consul.io/docs/commands/watch.html). |
|
||||||
| [website](https://github.com/hashicorp/consul/tree/master/website) | This has the full source code for [consul.io](https://www.consul.io/). Pull requests can update the source code and Consul's documentation all together. |
|
| [website](https://github.com/hashicorp/consul/tree/main/website) | This has the full source code for [consul.io](https://www.consul.io/). Pull requests can update the source code and Consul's documentation all together. |
|
||||||
|
|
||||||
## FAQ
|
## FAQ
|
||||||
|
|
||||||
|
|
|
@ -31,12 +31,12 @@ endpoint calls raft.Apply, which if successful will save the new data in the sta
|
||||||
When the [state.Store commits] it produces an event which is managed by the [EventPublisher]
|
When the [state.Store commits] it produces an event which is managed by the [EventPublisher]
|
||||||
and sent to any active subscriptions.
|
and sent to any active subscriptions.
|
||||||
|
|
||||||
[rpcclient/health.Health]: https://github.com/hashicorp/consul/blob/master/agent/rpcclient/health/health.go
|
[rpcclient/health.Health]: https://github.com/hashicorp/consul/blob/main/agent/rpcclient/health/health.go
|
||||||
[StreamingHealthServices cache-type]: https://github.com/hashicorp/consul/blob/master/agent/cache-types/streaming_health_services.go
|
[StreamingHealthServices cache-type]: https://github.com/hashicorp/consul/blob/main/agent/cache-types/streaming_health_services.go
|
||||||
[materialized view]: https://github.com/hashicorp/consul/blob/master/agent/submatview/materializer.go
|
[materialized view]: https://github.com/hashicorp/consul/blob/main/agent/submatview/materializer.go
|
||||||
[SubscribeEndpoint]: https://github.com/hashicorp/consul/blob/master/agent/rpc/subscribe/subscribe.go
|
[SubscribeEndpoint]: https://github.com/hashicorp/consul/blob/main/agent/rpc/subscribe/subscribe.go
|
||||||
[EventPublisher]: https://github.com/hashicorp/consul/blob/master/agent/consul/stream/event_publisher.go
|
[EventPublisher]: https://github.com/hashicorp/consul/blob/main/agent/consul/stream/event_publisher.go
|
||||||
[state.Store commits]: https://github.com/hashicorp/consul/blob/master/agent/consul/state/memdb.go
|
[state.Store commits]: https://github.com/hashicorp/consul/blob/main/agent/consul/state/memdb.go
|
||||||
|
|
||||||
|
|
||||||
## Event Publisher
|
## Event Publisher
|
||||||
|
|
|
@ -15,7 +15,7 @@ the community.
|
||||||
|
|
||||||
<ul>
|
<ul>
|
||||||
<li>
|
<li>
|
||||||
<a href="https://github.com/hashicorp/consul/tree/master/api">api</a> -
|
<a href="https://github.com/hashicorp/consul/tree/main/api">api</a> -
|
||||||
Official Go client for the Consul HTTP API
|
Official Go client for the Consul HTTP API
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
|
|
|
@ -470,7 +470,7 @@ The template for a complete provider JavaScript file is given below.
|
||||||
```
|
```
|
||||||
|
|
||||||
Additionally, the built in [Prometheus
|
Additionally, the built in [Prometheus
|
||||||
provider code](https://github.com/hashicorp/consul/blob/master/ui/packages/consul-ui/vendor/metrics-providers/prometheus.js)
|
provider code](https://github.com/hashicorp/consul/blob/main/ui/packages/consul-ui/vendor/metrics-providers/prometheus.js)
|
||||||
can be used as a reference.
|
can be used as a reference.
|
||||||
|
|
||||||
### Configuring the Agent With a Custom Metrics Provider.
|
### Configuring the Agent With a Custom Metrics Provider.
|
||||||
|
|
|
@ -234,7 +234,7 @@ ID for the name specified in `-sidecar-for`.
|
||||||
[`/v1/agent/connect/ca/leaf/`]: /api/agent/connect#service-leaf-certificate
|
[`/v1/agent/connect/ca/leaf/`]: /api/agent/connect#service-leaf-certificate
|
||||||
[`/v1/agent/connect/ca/roots`]: /api/agent/connect#certificate-authority-ca-roots
|
[`/v1/agent/connect/ca/roots`]: /api/agent/connect#certificate-authority-ca-roots
|
||||||
[`/v1/health/connect/:service_id`]: /api/health#list-nodes-for-connect-capable-service
|
[`/v1/health/connect/:service_id`]: /api/health#list-nodes-for-connect-capable-service
|
||||||
[`api` package]: https://github.com/hashicorp/consul/tree/master/api
|
[`api` package]: https://github.com/hashicorp/consul/tree/main/api
|
||||||
[`consul/connect/proxy/config.go`]: https://github.com/hashicorp/consul/blob/v1.8.3/connect/proxy/config.go#L187
|
[`consul/connect/proxy/config.go`]: https://github.com/hashicorp/consul/blob/v1.8.3/connect/proxy/config.go#L187
|
||||||
[`consul/connect/tls.go`]: https://github.com/hashicorp/consul/blob/v1.8.3/connect/tls.go#L232-L237
|
[`consul/connect/tls.go`]: https://github.com/hashicorp/consul/blob/v1.8.3/connect/tls.go#L232-L237
|
||||||
[discovery chain]: /docs/connect/l7-traffic/discovery-chain
|
[discovery chain]: /docs/connect/l7-traffic/discovery-chain
|
||||||
|
|
|
@ -50,7 +50,7 @@ Required by all agents.
|
||||||
**Serf WAN** This is used by servers to gossip over the WAN, to
|
**Serf WAN** This is used by servers to gossip over the WAN, to
|
||||||
other servers. As of Consul 0.8 the WAN join flooding feature requires
|
other servers. As of Consul 0.8 the WAN join flooding feature requires
|
||||||
the Serf WAN port (TCP/UDP) to be listening on both WAN and LAN interfaces. See also:
|
the Serf WAN port (TCP/UDP) to be listening on both WAN and LAN interfaces. See also:
|
||||||
[Consul 0.8.0 CHANGELOG](https://github.com/hashicorp/consul/blob/master/CHANGELOG.md#080-april-5-2017) and [GH-3058](https://github.com/hashicorp/consul/issues/3058)
|
[Consul 0.8.0 CHANGELOG](https://github.com/hashicorp/consul/blob/main/CHANGELOG.md#080-april-5-2017) and [GH-3058](https://github.com/hashicorp/consul/issues/3058)
|
||||||
|
|
||||||
**Server RPC** This is used by servers to handle incoming
|
**Server RPC** This is used by servers to handle incoming
|
||||||
requests from other agents.
|
requests from other agents.
|
||||||
|
|
|
@ -113,7 +113,7 @@ to update to the new version.
|
||||||
|
|
||||||
1. Ensure you've read the [Upgrading Consul](/docs/upgrading) documentation.
|
1. Ensure you've read the [Upgrading Consul](/docs/upgrading) documentation.
|
||||||
1. Ensure you've read any [specific instructions](/docs/upgrading/upgrade-specific) for the version you're upgrading
|
1. Ensure you've read any [specific instructions](/docs/upgrading/upgrade-specific) for the version you're upgrading
|
||||||
to and the Consul [changelog](https://github.com/hashicorp/consul/blob/master/CHANGELOG.md) for that version.
|
to and the Consul [changelog](https://github.com/hashicorp/consul/blob/main/CHANGELOG.md) for that version.
|
||||||
1. Read our [Compatibility Matrix](/docs/k8s/upgrade/compatibility) to ensure
|
1. Read our [Compatibility Matrix](/docs/k8s/upgrade/compatibility) to ensure
|
||||||
your current Helm chart version supports this Consul version. If it does not,
|
your current Helm chart version supports this Consul version. If it does not,
|
||||||
you may need to also upgrade your Helm chart version at the same time.
|
you may need to also upgrade your Helm chart version at the same time.
|
||||||
|
|
|
@ -29,4 +29,4 @@ page_title: 1.9.0
|
||||||
- Drops support for Envoy versions 1.12.0, 1.12.1, 1.12.2, and 1.13.0
|
- Drops support for Envoy versions 1.12.0, 1.12.1, 1.12.2, and 1.13.0
|
||||||
- Switches the default gateway port from 443 to 8443 to avoid assumption of Envoy running as root.
|
- Switches the default gateway port from 443 to 8443 to avoid assumption of Envoy running as root.
|
||||||
|
|
||||||
For more detailed information, please refer to the [changelog](https://github.com/hashicorp/consul/blob/master/CHANGELOG.md#190-november-24-2020).
|
For more detailed information, please refer to the [changelog](https://github.com/hashicorp/consul/blob/main/CHANGELOG.md#190-november-24-2020).
|
||||||
|
|
|
@ -950,7 +950,7 @@ here, with examples:
|
||||||
way to define more specific policies. Clients can list or read queries for
|
way to define more specific policies. Clients can list or read queries for
|
||||||
which they have "read" access based on their prefix, and similar they can
|
which they have "read" access based on their prefix, and similar they can
|
||||||
update any queries for which they have "write" access. An example use for
|
update any queries for which they have "write" access. An example use for
|
||||||
this type is a query with a well-known name (eg. `prod-master-customer-db`)
|
this type is a query with a well-known name (eg. `prod-primary-customer-db`)
|
||||||
that is used and known by many clients to provide geo-failover behavior for
|
that is used and known by many clients to provide geo-failover behavior for
|
||||||
a database.
|
a database.
|
||||||
|
|
||||||
|
|
|
@ -408,7 +408,7 @@ here, with examples:
|
||||||
access that query name. Clients can list or read queries for
|
access that query name. Clients can list or read queries for
|
||||||
which they have "read" access based on their prefix, and similar they can
|
which they have "read" access based on their prefix, and similar they can
|
||||||
update any queries for which they have "write" access. An example use for
|
update any queries for which they have "write" access. An example use for
|
||||||
this type is a query with a well-known name (eg. `prod-master-customer-db`)
|
this type is a query with a well-known name (eg. `prod-primary-customer-db`)
|
||||||
that is used and known by many clients to provide geo-failover behavior for
|
that is used and known by many clients to provide geo-failover behavior for
|
||||||
a database.
|
a database.
|
||||||
|
|
||||||
|
|
|
@ -72,7 +72,7 @@ parameters are required to properly configure an auth method of type
|
||||||
|
|
||||||
- `JWTSupportedAlgs` `(array<string>)` - JWTSupportedAlgs is a list of
|
- `JWTSupportedAlgs` `(array<string>)` - JWTSupportedAlgs is a list of
|
||||||
supported signing algorithms. Defaults to `RS256`. ([Available
|
supported signing algorithms. Defaults to `RS256`. ([Available
|
||||||
algorithms](https://github.com/hashicorp/consul/blob/master/vendor/github.com/coreos/go-oidc/jose.go#L7))
|
algorithms](https://github.com/hashicorp/consul/blob/main/vendor/github.com/coreos/go-oidc/jose.go#L7))
|
||||||
|
|
||||||
- `BoundAudiences` `(array<string>)` - List of `aud` claims that are valid for
|
- `BoundAudiences` `(array<string>)` - List of `aud` claims that are valid for
|
||||||
login; any match is sufficient.
|
login; any match is sufficient.
|
||||||
|
|
|
@ -13,26 +13,26 @@ description: >-
|
||||||
## Introduction
|
## Introduction
|
||||||
|
|
||||||
This guide explains how to best upgrade a single Consul Enterprise datacenter to v1.10.0
|
This guide explains how to best upgrade a single Consul Enterprise datacenter to v1.10.0
|
||||||
from a version of Consul that is forwards compatible with v1.10. If you are on a major
|
from a version of Consul that is forward compatible with v1.10. If you are on a major
|
||||||
version of Consul prior to 1.8, you will need to complete and [upgrade to 1.8.13](/docs/upgrading/instructions)
|
version of Consul prior to 1.8, you will need to complete and [upgrade to 1.8.13](/docs/upgrading/instructions)
|
||||||
or higher before continuing with this guide. If you are already on major versions 1.8 or 1.9
|
or higher before continuing with this guide. If you are already on a major version of 1.8 or 1.9, then
|
||||||
this guide will go over the procedures required for upgrading to v1.10. This process
|
this guide will go over the procedures required for upgrading to v1.10. This process
|
||||||
will require intermediate version upgrades to a forwards compatible release of v1.8 or v1.9
|
will require intermediate version upgrades to a forward-compatible release of v1.8 or v1.9,
|
||||||
as well as other licensing related configuration changes. If you have multiple Consul datacenters
|
as well as other licensing related configuration changes. If you have multiple Consul datacenters,
|
||||||
then they are upgraded in the normal order with each upgrade taking into account the instructions below.
|
upgrade them in the normal order and take the following instructions into account for each upgrade.
|
||||||
|
|
||||||
For the open source version of Consul please follow the
|
For the open source version of Consul please follow the
|
||||||
[General Upgrade Process](/docs/upgrading/instructions/general-process).
|
[General Upgrade Process](/docs/upgrading/instructions/general-process).
|
||||||
|
|
||||||
~> You can only upgrade to Consul Enterprise 1.10 from a version of Consul Enterprise
|
~> You can only upgrade to Consul Enterprise 1.10 from a version of Consul Enterprise
|
||||||
1.8 >= 1.8.13 or 1.9 >= 1.9.7. Other versions of Consul Enterprise are not forwards
|
1.8 >= 1.8.13 or 1.9 >= 1.9.7. Other versions of Consul Enterprise are not forward
|
||||||
compatible with v1.10 and will cause issues during the upgrade that could result in
|
compatible with v1.10 and will cause issues during the upgrade that could result in
|
||||||
agents failing to start due to [changes in the way we manage licenses](/docs/enterprise/license/faq).
|
agents failing to start due to [changes in the way we manage licenses](/docs/enterprise/license/faq).
|
||||||
|
|
||||||
## Requirements
|
## Requirements
|
||||||
|
|
||||||
- All Consul servers, clients and snapshot agents should be on a version of Consul >= 1.8.0 and < 1.10.0. If
|
- All Consul servers, clients, and snapshot agents should be on a version of Consul >= 1.8.0 and < 1.10.0. If
|
||||||
they are not at the minimum version or higher, follow [normal upgrade procedures](/docs/upgrading) to get them there.
|
they are not at the minimum version or higher, follow the [normal upgrade procedures](/docs/upgrading) to upgrade them until the version requirement is met.
|
||||||
|
|
||||||
## Assumptions
|
## Assumptions
|
||||||
|
|
||||||
|
@ -40,22 +40,22 @@ This guides makes the following assumptions:
|
||||||
|
|
||||||
- You are familiar with the [General Upgrade Process](/docs/upgrading/instructions/general-process).
|
- You are familiar with the [General Upgrade Process](/docs/upgrading/instructions/general-process).
|
||||||
- You have the ability to run Consul CLI commands.
|
- You have the ability to run Consul CLI commands.
|
||||||
- If ACLs are in use then you possess a token with at least `operator:read` permissions.
|
- If ACLs are in use, then you possess a token with at least `operator:read` permissions.
|
||||||
|
|
||||||
## Considerations
|
## Considerations
|
||||||
|
|
||||||
The main breaking changes in Consul Enterprise 1.10 that need special handling during upgrading are
|
The licensing changes outlined on the [Specific Version Details](/docs/upgrading/upgrade-specific#consul-1-10-0)
|
||||||
the licensing changes outlined on the [Specific Version Details](/docs/upgrading/upgrade-specific#consul-1-10-0)
|
page are the main breaking changes in Consul Enterprise 1.10 that require special handling during the upgrade process.
|
||||||
page. There are notes on that page about other changes that might cause issues during an upgrade as well.
|
The page also describes other changes that might cause issues during an upgrade.
|
||||||
You can find more granular details in the [licensing FAQ](/docs/enterprise/license/faq) as well as the full
|
You can also review the [licensing FAQ](/docs/enterprise/license/faq), which includes granular details, as well as the full
|
||||||
[changelog](https://github.com/hashicorp/consul/blob/master/CHANGELOG.md#1100-june-22-2021).
|
[changelog](https://github.com/hashicorp/consul/blob/main/CHANGELOG.md#1100-june-22-2021).
|
||||||
Looking through these changes prior to upgrading is highly recommended.
|
We strongly recommend reviewing the changes prior to upgrading.
|
||||||
|
|
||||||
## Procedures
|
## Procedures
|
||||||
|
|
||||||
~> Any steps in the following section that mention upgrading servers/clients assume that normal safe upgrade
|
~> Any steps in the following section that mention upgrading servers/clients assume that normal safe upgrade
|
||||||
procedures are followed. These instructions require licensing related configuration changes
|
procedures are followed. Licensing-related configuration changes are required for upgrading to 1.10.
|
||||||
needed to upgrade to 1.10, and also require intermediate version upgrades to ensure forward compatibility.
|
Intermediate version upgrades are also required to ensure forward compatibility.
|
||||||
Refer to our documentation for the [basic server upgrade process](/docs/upgrading/instructions/general-process),
|
Refer to our documentation for the [basic server upgrade process](/docs/upgrading/instructions/general-process),
|
||||||
and for [autopilot assisted upgrades](https://learn.hashicorp.com/tutorials/consul/upgrade-automation)
|
and for [autopilot assisted upgrades](https://learn.hashicorp.com/tutorials/consul/upgrade-automation)
|
||||||
for more information.
|
for more information.
|
||||||
|
@ -66,13 +66,11 @@ for more information.
|
||||||
consul license get -signed > consul.hclic
|
consul license get -signed > consul.hclic
|
||||||
```
|
```
|
||||||
|
|
||||||
Note that the command can be run on anywhere that is running Consul already or from some other location
|
Note that you can run the command from anywhere Consul is already running or from a location that has network access to the cluster.
|
||||||
that has network access to the cluster. If run elsewhere than other options to the command may be neede
|
Additional command line options for directing the request to the correct Consul API may be necessary if the command runs from another location.
|
||||||
to direct the request to the right Consul API.
|
|
||||||
|
|
||||||
|
This will save the license to a file in the local directory named `consul.hclic`. Having this
|
||||||
This will save the license to a file in the local directory named `consul.hclic`. Having this
|
will be useful when preparing the license for the 1.10 upgrades later on in the process.
|
||||||
will be useful when preparing the license for the 1.10 upgrades later on in the process.
|
|
||||||
|
|
||||||
**2.** Take a snapshot of the cluster by running the following command:
|
**2.** Take a snapshot of the cluster by running the following command:
|
||||||
|
|
||||||
|
@ -80,24 +78,23 @@ consul license get -signed > consul.hclic
|
||||||
consul snapshot save original.snap
|
consul snapshot save original.snap
|
||||||
```
|
```
|
||||||
|
|
||||||
Note that the command can be run on anywhere that is running Consul already or from some other location
|
Note that you can run the command from anywhere Consul is already running or from a location that has network access to the cluster.
|
||||||
that has network access to the cluster. If run elsewhere than other options to the command may be neede
|
Additional command line options for directing the request to the correct Consul API may be necessary if the command runs from another location.
|
||||||
to direct the request to the right Consul API.
|
|
||||||
|
|
||||||
Note that you will need to ensure there is enough disk space in the current directory
|
Note that you will need to ensure that there is enough disk space in the current directory
|
||||||
to store the snapshot. In the worst case, the snapshot size could be close to the amount
|
to store the snapshot. In the worst case, the snapshot size could be close to the amount
|
||||||
of RAM the Consul server processes are consuming.
|
of RAM the Consul server processes are consuming.
|
||||||
|
|
||||||
This snapshot should not be needed but if something were to go wrong, having
|
This snapshot should not be needed, but if something were to go wrong, having
|
||||||
the snapshot would make it possible to restore the previous state.
|
the snapshot would make it possible to restore the previous state.
|
||||||
|
|
||||||
**3.** Determine if ACLs are enabled by running the following CLI command.
|
**3.** Determine if ACLs are enabled by running the following CLI command.
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
consul info | grep "acl ="
|
consul info | grep "acl ="
|
||||||
````
|
```
|
||||||
|
|
||||||
If you receive output like either of the following then ACLs are enabled:
|
If you receive output like either of the following, then ACLs are enabled:
|
||||||
|
|
||||||
```text
|
```text
|
||||||
Error querying agent: Unexpected response code: 403 (Permission denied)
|
Error querying agent: Unexpected response code: 403 (Permission denied)
|
||||||
|
@ -108,8 +105,8 @@ Error querying agent: Unexpected response code: 403 (Permission denied)
|
||||||
|
|
||||||
```
|
```
|
||||||
|
|
||||||
Select the correct tab below based on whether ACLs are enabled or disabled or if you
|
Select the correct tab below based on whether ACLs are enabled or disabled or if you
|
||||||
are operating Consul within Kubernetes.
|
are operating Consul within Kubernetes.
|
||||||
|
|
||||||
<Tabs>
|
<Tabs>
|
||||||
<Tab heading="ACLs Enabled">
|
<Tab heading="ACLs Enabled">
|
||||||
|
@ -126,23 +123,23 @@ Error querying agent: Unexpected response code: 403 (Permission denied)
|
||||||
consul snapshot save intermediate.snap
|
consul snapshot save intermediate.snap
|
||||||
```
|
```
|
||||||
|
|
||||||
Note that the command can be run on anywhere that is running Consul already or from some other location
|
Note that you can run the command from anywhere Consul is already running or from a location that has network access to the cluster.
|
||||||
that has network access to the cluster. If run elsewhere than [other options](/docs/commands/snapshot/save#api-options)
|
If run elsewhere, [additional command line options](/docs/commands/snapshot/save#api-options) may be needed to direct the request to the right Consul API.
|
||||||
to the command may be needed to direct the request to the right Consul API.
|
|
||||||
|
|
||||||
Note that you will need to ensure there is enough disk space in the current directory
|
Note that you will need to ensure there is enough disk space in the current directory
|
||||||
to store the snapshot. In the worst case, the snapshot size could be close to the amount
|
to store the snapshot. In the worst case, the snapshot size could be close to the amount
|
||||||
of RAM the Consul server processes are consuming.
|
of RAM the Consul server processes are consuming.
|
||||||
|
|
||||||
This snapshot should not be needed but if something were to go wrong, having
|
This snapshot should not be needed, but if something were to go wrong, having
|
||||||
the snapshot would make it possible to restore the previous state.
|
the snapshot would make it possible to restore the previous state.
|
||||||
|
|
||||||
**8.** Pre-configure the server agents with a license.
|
**8.** Pre-configure the server agents with a license.
|
||||||
|
|
||||||
This can either be set with the `license_path` configuration item, the
|
This can either be set with the `license_path` configuration item, the
|
||||||
`CONSUL_LICENSE_PATH` environment variable or the `CONSUL_LICENSE`
|
`CONSUL_LICENSE_PATH` environment variable, or the `CONSUL_LICENSE`
|
||||||
environment variable. See the [licensing documentation](/docs/enterprise/license/overview)
|
environment variable. See the [licensing documentation](/docs/enterprise/license/overview)
|
||||||
for more information about how to configure the license.
|
for more information about how to configure the license.
|
||||||
|
You can also refer to the [Apply Enterprise License](https://learn.hashicorp.com/tutorials/consul/deployment-guide#apply-enterprise-license) tutorial for additional information.
|
||||||
|
|
||||||
**9.** Upgrade all server agents to v1.10.0.
|
**9.** Upgrade all server agents to v1.10.0.
|
||||||
|
|
||||||
|
@ -154,26 +151,27 @@ consul snapshot save intermediate.snap
|
||||||
<Tab heading="ACLs Disabled">
|
<Tab heading="ACLs Disabled">
|
||||||
|
|
||||||
~> We do not recommend running in production with ACLs disabled. An alternative upgrade
|
~> We do not recommend running in production with ACLs disabled. An alternative upgrade
|
||||||
path involves first enabling ACLs by following [this tutorial](https://learn.hashicorp.com/tutorials/consul/access-control-setup-production)
|
path involves first enabling ACLs by following [this tutorial](https://learn.hashicorp.com/tutorials/consul/access-control-setup-production)
|
||||||
and then proceeding with the instructions within the "ACLs Enabled" tab.
|
and then proceeding with the instructions within the "ACLs Enabled" tab.
|
||||||
|
|
||||||
**4.** Upgrade all server agents to the latest 1.8.x or 1.9.x release.
|
**4.** Upgrade all server agents to the latest 1.8.x or 1.9.x release.
|
||||||
|
|
||||||
**5.** Pre-configure the client agents with a license.
|
**5.** Pre-configure the client agents with a license.
|
||||||
|
|
||||||
This can either be set with the `license_path` configuration item, the
|
This can either be set with the `license_path` configuration item, the
|
||||||
`CONSUL_LICENSE_PATH` environment variable or the `CONSUL_LICENSE`
|
`CONSUL_LICENSE_PATH` environment variable, or the `CONSUL_LICENSE`
|
||||||
environment variable. See the [licensing documentation](/docs/enterprise/license/overview)
|
environment variable. See the [licensing documentation](/docs/enterprise/license/overview)
|
||||||
for more information about how to configure the license. Note that while
|
for more information about how to configure the license.
|
||||||
Consul Enterprise 1.8.13 and 1.9.7 have the ability to load the license
|
You can also refer to the [Apply Enterprise License](https://learn.hashicorp.com/tutorials/consul/deployment-guide#apply-enterprise-license) tutorial for additional information.
|
||||||
from these configurations, it is intended to only be used during upgrades.
|
Note that while Consul Enterprise 1.8.13 and 1.9.7 have the ability to load the license
|
||||||
Licenses loaded this way are not online reloadable. It is therefore important
|
from these configurations, it is intended to only be used during upgrades.
|
||||||
to promptly proceed with the upgrade and not leave agents in the intermediate state.
|
Licenses loaded this way are not online reloadable. It is therefore important
|
||||||
|
to promptly proceed with the upgrade and not leave agents in the intermediate state.
|
||||||
|
|
||||||
**6.** Upgrade all client agents to the latest 1.8.x or 1.9.x release.
|
**6.** Upgrade all client agents to the latest 1.8.x or 1.9.x release.
|
||||||
|
|
||||||
**7.** Pre-configure the snapshot agents with a license. This is the same process that
|
**7.** Pre-configure the snapshot agents with a license. This is the same process that
|
||||||
was executed for the servers in step 5.
|
was executed for the servers in step 5.
|
||||||
|
|
||||||
**8.** Upgrade all [snapshot agents](/docs/commands/snapshot/agent) to the latest 1.8.x or 1.9.x release.
|
**8.** Upgrade all [snapshot agents](/docs/commands/snapshot/agent) to the latest 1.8.x or 1.9.x release.
|
||||||
|
|
||||||
|
@ -183,25 +181,24 @@ consul snapshot save intermediate.snap
|
||||||
consul snapshot save intermediate.snap
|
consul snapshot save intermediate.snap
|
||||||
```
|
```
|
||||||
|
|
||||||
Note that the command can be run on anywhere that is running Consul already or from some other location
|
Note that you can run the command from anywhere Consul is already running or from a location that has network access to the cluster.
|
||||||
that has network access to the cluster. If run elsewhere than other options to the command may be neede
|
Additional command line options for directing the request to the correct Consul API may be necessary if the command runs from another location.
|
||||||
to direct the request to the right Consul API.
|
|
||||||
|
|
||||||
Note that you will need to ensure there is enough disk space in the current directory
|
Note that you will need to ensure there is enough disk space in the current directory
|
||||||
to store the snapshot. In the worst case, the snapshot size could be close to the amount
|
to store the snapshot. In the worst case, the snapshot size could be close to the amount
|
||||||
of RAM the Consul server processes are consuming.
|
of RAM the Consul server processes are consuming.
|
||||||
|
|
||||||
This snapshot should not be needed but if something were to go wrong, having
|
This snapshot should not be needed but if something were to go wrong, having
|
||||||
the snapshot would make it possible to restore the previous state.
|
the snapshot would make it possible to restore the previous state.
|
||||||
|
|
||||||
**8.** Pre-configure the server agents with a license. This is the same process that
|
**10.** Pre-configure the server agents with a license. This is the same process that
|
||||||
was executed for the servers in step 5.
|
was executed for the servers in step 5.
|
||||||
|
|
||||||
**9.** Upgrade all server agents to v1.10.0.
|
**11.** Upgrade all server agents to v1.10.0.
|
||||||
|
|
||||||
**10.** Upgrade all client agents to v1.10.0.
|
**12.** Upgrade all client agents to v1.10.0.
|
||||||
|
|
||||||
**11.** Upgrade all [snapshot agents](/docs/commands/snapshot/agent) to v1.10.0.
|
**13.** Upgrade all [snapshot agents](/docs/commands/snapshot/agent) to v1.10.0.
|
||||||
|
|
||||||
</Tab>
|
</Tab>
|
||||||
<Tab heading="Kubernetes">
|
<Tab heading="Kubernetes">
|
||||||
|
@ -213,35 +210,36 @@ to the latest 1.8.x or 1.9.x before the next steps. Otherwise, this step can be
|
||||||
|
|
||||||
**6.** Update the value of `global.image` in the values file to the latest 1.8.x or 1.9.x image.
|
**6.** Update the value of `global.image` in the values file to the latest 1.8.x or 1.9.x image.
|
||||||
|
|
||||||
Additionally, ensure that the Kuberenetes secret with the license is specified in the
|
Additionally, ensure that the Kuberenetes secret with the license is specified in the
|
||||||
values `server.enterpriseLicense.secretName` and `server.enterpriseLicense.secretKey`.
|
values `server.enterpriseLicense.secretName` and `server.enterpriseLicense.secretKey`.
|
||||||
|
|
||||||
**7.** Upgrade the cluster.
|
**7.** Upgrade the cluster.
|
||||||
|
|
||||||
Follow the steps in the [Kubernetes Upgrade Guide](/docs/k8s/upgrade#upgrade-consul-on-kubernetes)
|
Follow the steps in the [Kubernetes Upgrade Guide](/docs/k8s/upgrade#upgrade-consul-on-kubernetes)
|
||||||
to upgrade the cluster. Ensure you check the steps to upgrade the [servers](/docs/k8s/upgrade#upgrading-consul-servers)
|
to upgrade the cluster. Ensure you check the steps to upgrade the [servers](/docs/k8s/upgrade#upgrading-consul-servers)
|
||||||
and the [clients](/docs/k8s/upgrade#upgrading-consul-clients).
|
and the [clients](/docs/k8s/upgrade#upgrading-consul-clients).
|
||||||
|
|
||||||
**8.** **If** the Consul servers are running outside the Kubernetes cluster, ensure they are upgraded
|
**8.** **If** the Consul servers are running outside the Kubernetes cluster, ensure they are upgraded
|
||||||
to 1.10.0 before the next steps. Otherwise, this step can be skipped.
|
to 1.10.0 before the next steps. Otherwise, this step can be skipped.
|
||||||
|
|
||||||
This will require pre-configuring the servers with a license
|
This will require pre-configuring the servers with a license
|
||||||
before running 1.10. This can either be set with the `license_path` configuration item, the
|
before running 1.10. This can either be set with the `license_path` configuration item, the
|
||||||
`CONSUL_LICENSE_PATH` environment variable or the `CONSUL_LICENSE`
|
`CONSUL_LICENSE_PATH` environment variable or the `CONSUL_LICENSE`
|
||||||
environment variable. See the [licensing documentation](/docs/enterprise/license/overview)
|
environment variable. See the [licensing documentation](/docs/enterprise/license/overview)
|
||||||
for more information about how to configure the license. Note that while
|
for more information about how to configure the license.
|
||||||
Consul Enterprise 1.8.13 and 1.9.7 have the ability to load the license
|
You can also refer to the [Apply Enterprise License](https://learn.hashicorp.com/tutorials/consul/deployment-guide#apply-enterprise-license) tutorial for additional information.
|
||||||
from these configurations, it is intended to only be used during upgrades.
|
Note that while Consul Enterprise 1.8.13 and 1.9.7 have the ability to load the license
|
||||||
Licenses loaded this way are not online reloadable. It is therefore important
|
from these configurations, it is intended to only be used during upgrades.
|
||||||
to promptly proceed with the upgrade and not leave agents in the intermediate state.
|
Licenses loaded this way are not online reloadable. It is therefore important
|
||||||
|
to promptly proceed with the upgrade and not leave agents in the intermediate state.
|
||||||
|
|
||||||
**9.** Update the value of `global.image` in the values file to the 1.10.0 image.
|
**9.** Update the value of `global.image` in the values file to the 1.10.0 image.
|
||||||
|
|
||||||
**10.** Upgrade the cluster.
|
**10.** Upgrade the cluster.
|
||||||
|
|
||||||
Follow the steps in the [Kubernetes Upgrade Guide](/docs/k8s/upgrade#upgrade-consul-on-kubernetes)
|
Follow the steps in the [Kubernetes Upgrade Guide](/docs/k8s/upgrade#upgrade-consul-on-kubernetes)
|
||||||
to then upgrade the cluster. Ensure you check the steps to upgrade the [servers](/docs/k8s/upgrade#upgrading-consul-servers)
|
to then upgrade the cluster. Ensure you check the steps to upgrade the [servers](/docs/k8s/upgrade#upgrading-consul-servers)
|
||||||
and the [clients](/docs/k8s/upgrade#upgrading-consul-clients).
|
and the [clients](/docs/k8s/upgrade#upgrading-consul-clients).
|
||||||
|
|
||||||
</Tab>
|
</Tab>
|
||||||
</Tabs>
|
</Tabs>
|
||||||
|
|
|
@ -40,7 +40,7 @@ This guide makes the following assumptions:
|
||||||
|
|
||||||
There are not too many major changes that might cause issues upgrading from 1.0.8, but notable changes
|
There are not too many major changes that might cause issues upgrading from 1.0.8, but notable changes
|
||||||
are called out in our [Specific Version Details](/docs/upgrading/upgrade-specific#consul-1-1-0)
|
are called out in our [Specific Version Details](/docs/upgrading/upgrade-specific#consul-1-1-0)
|
||||||
page. You can find more granular details in the full [changelog](https://github.com/hashicorp/consul/blob/master/CHANGELOG.md#124-november-27-2018).
|
page. You can find more granular details in the full [changelog](https://github.com/hashicorp/consul/blob/main/CHANGELOG.md#124-november-27-2018).
|
||||||
Looking through these changes prior to upgrading is highly recommended.
|
Looking through these changes prior to upgrading is highly recommended.
|
||||||
|
|
||||||
## Procedure
|
## Procedure
|
||||||
|
|
|
@ -45,7 +45,7 @@ This guide makes the following assumptions:
|
||||||
|
|
||||||
There are quite a number of changes between releases. Notable changes
|
There are quite a number of changes between releases. Notable changes
|
||||||
are called out in our [Specific Version Details](/docs/upgrading/upgrade-specific#consul-1-6-3)
|
are called out in our [Specific Version Details](/docs/upgrading/upgrade-specific#consul-1-6-3)
|
||||||
page. You can find more granular details in the full [changelog](https://github.com/hashicorp/consul/blob/master/CHANGELOG.md#124-november-27-2018).
|
page. You can find more granular details in the full [changelog](https://github.com/hashicorp/consul/blob/main/CHANGELOG.md#124-november-27-2018).
|
||||||
Looking through these changes prior to upgrading is highly recommended.
|
Looking through these changes prior to upgrading is highly recommended.
|
||||||
|
|
||||||
Two very notable items are:
|
Two very notable items are:
|
||||||
|
|
|
@ -33,7 +33,7 @@ This guides makes the following assumptions:
|
||||||
|
|
||||||
There are not too many major changes that might cause issues upgrading from 1.6.9, but notable changes
|
There are not too many major changes that might cause issues upgrading from 1.6.9, but notable changes
|
||||||
are called out in our [Specific Version Details](/docs/upgrading/upgrade-specific#consul-1-8-0)
|
are called out in our [Specific Version Details](/docs/upgrading/upgrade-specific#consul-1-8-0)
|
||||||
page. You can find more granular details in the full [changelog](https://github.com/hashicorp/consul/blob/master/CHANGELOG.md#183-august-12-2020).
|
page. You can find more granular details in the full [changelog](https://github.com/hashicorp/consul/blob/main/CHANGELOG.md#183-august-12-2020).
|
||||||
Looking through these changes prior to upgrading is highly recommended.
|
Looking through these changes prior to upgrading is highly recommended.
|
||||||
|
|
||||||
## Procedure
|
## Procedure
|
||||||
|
|
|
@ -542,12 +542,12 @@ upgrading. Here's the complete list of removed options and their equivalents:
|
||||||
| `dogstatsd_tags` | [`telemetry.dogstatsd_tags`](/docs/agent/options#telemetry-dogstatsd_tags) |
|
| `dogstatsd_tags` | [`telemetry.dogstatsd_tags`](/docs/agent/options#telemetry-dogstatsd_tags) |
|
||||||
| `http_api_response_headers` | [`http_config.response_headers`](/docs/agent/options#response_headers) |
|
| `http_api_response_headers` | [`http_config.response_headers`](/docs/agent/options#response_headers) |
|
||||||
| `ports.rpc` | None, the RPC server for CLI commands is no longer supported. |
|
| `ports.rpc` | None, the RPC server for CLI commands is no longer supported. |
|
||||||
| `recursor` | [`recursors`](https://github.com/hashicorp/consul/blob/master/website/pages/docs/agent/options.mdx#recursors) |
|
| `recursor` | [`recursors`](https://github.com/hashicorp/consul/blob/main/website/pages/docs/agent/options.mdx#recursors) |
|
||||||
| `retry_join_azure` | [`-retry-join`](/docs/agent/options#_retry_join) |
|
| `retry_join_azure` | [`-retry-join`](/docs/agent/options#_retry_join) |
|
||||||
| `retry_join_ec2` | [`-retry-join`](/docs/agent/options#_retry_join) |
|
| `retry_join_ec2` | [`-retry-join`](/docs/agent/options#_retry_join) |
|
||||||
| `retry_join_gce` | [`-retry-join`](/docs/agent/options#_retry_join) |
|
| `retry_join_gce` | [`-retry-join`](/docs/agent/options#_retry_join) |
|
||||||
| `statsd_addr` | [`telemetry.statsd_address`](https://github.com/hashicorp/consul/blob/master/website/pages/docs/agent/options.mdx#telemetry-statsd_address) |
|
| `statsd_addr` | [`telemetry.statsd_address`](https://github.com/hashicorp/consul/blob/main/website/pages/docs/agent/options.mdx#telemetry-statsd_address) |
|
||||||
| `statsite_addr` | [`telemetry.statsite_address`](https://github.com/hashicorp/consul/blob/master/website/pages/docs/agent/options.mdx#telemetry-statsite_address) |
|
| `statsite_addr` | [`telemetry.statsite_address`](https://github.com/hashicorp/consul/blob/main/website/pages/docs/agent/options.mdx#telemetry-statsite_address) |
|
||||||
| `statsite_prefix` | [`telemetry.metrics_prefix`](/docs/agent/options#telemetry-metrics_prefix) |
|
| `statsite_prefix` | [`telemetry.metrics_prefix`](/docs/agent/options#telemetry-metrics_prefix) |
|
||||||
| `telemetry.statsite_prefix` | [`telemetry.metrics_prefix`](/docs/agent/options#telemetry-metrics_prefix) |
|
| `telemetry.statsite_prefix` | [`telemetry.metrics_prefix`](/docs/agent/options#telemetry-metrics_prefix) |
|
||||||
| (service definitions) `serviceid` | [`service_id`](/docs/agent/services) |
|
| (service definitions) `serviceid` | [`service_id`](/docs/agent/services) |
|
||||||
|
|
|
@ -10,7 +10,7 @@ import {
|
||||||
const baseRoute = 'api-docs'
|
const baseRoute = 'api-docs'
|
||||||
const navDataFile = `data/${baseRoute}-nav-data.json`
|
const navDataFile = `data/${baseRoute}-nav-data.json`
|
||||||
const localContentDir = `content/${baseRoute}`
|
const localContentDir = `content/${baseRoute}`
|
||||||
const mainBranch = 'master'
|
const mainBranch = 'main'
|
||||||
const product = { name: productName, slug: productSlug }
|
const product = { name: productName, slug: productSlug }
|
||||||
|
|
||||||
export default function ApiDocsLayout(props) {
|
export default function ApiDocsLayout(props) {
|
||||||
|
|
|
@ -10,7 +10,7 @@ import {
|
||||||
const baseRoute = 'commands'
|
const baseRoute = 'commands'
|
||||||
const navDataFile = `data/${baseRoute}-nav-data.json`
|
const navDataFile = `data/${baseRoute}-nav-data.json`
|
||||||
const localContentDir = `content/${baseRoute}`
|
const localContentDir = `content/${baseRoute}`
|
||||||
const mainBranch = 'master'
|
const mainBranch = 'main'
|
||||||
const product = { name: productName, slug: productSlug }
|
const product = { name: productName, slug: productSlug }
|
||||||
|
|
||||||
export default function CommandsLayout(props) {
|
export default function CommandsLayout(props) {
|
||||||
|
|
|
@ -12,7 +12,7 @@ const additionalComponents = { ConfigEntryReference }
|
||||||
const baseRoute = 'docs'
|
const baseRoute = 'docs'
|
||||||
const navDataFile = `data/${baseRoute}-nav-data.json`
|
const navDataFile = `data/${baseRoute}-nav-data.json`
|
||||||
const localContentDir = `content/${baseRoute}`
|
const localContentDir = `content/${baseRoute}`
|
||||||
const mainBranch = 'master'
|
const mainBranch = 'main'
|
||||||
const product = { name: productName, slug: productSlug }
|
const product = { name: productName, slug: productSlug }
|
||||||
|
|
||||||
export default function DocsLayout(props) {
|
export default function DocsLayout(props) {
|
||||||
|
|
Loading…
Reference in New Issue