2023-03-28 18:39:22 +00:00
|
|
|
// Copyright (c) HashiCorp, Inc.
|
|
|
|
// SPDX-License-Identifier: MPL-2.0
|
|
|
|
|
2017-08-03 00:05:18 +00:00
|
|
|
package structs
|
|
|
|
|
|
|
|
import (
|
2018-10-19 16:04:07 +00:00
|
|
|
"encoding/binary"
|
2020-05-04 22:02:57 +00:00
|
|
|
"encoding/json"
|
2017-08-03 00:05:18 +00:00
|
|
|
"errors"
|
2018-10-19 16:04:07 +00:00
|
|
|
"fmt"
|
2019-04-08 18:19:09 +00:00
|
|
|
"hash"
|
2018-10-19 16:04:07 +00:00
|
|
|
"hash/fnv"
|
|
|
|
"sort"
|
|
|
|
"strings"
|
2017-08-03 00:05:18 +00:00
|
|
|
"time"
|
|
|
|
|
2022-03-31 19:11:49 +00:00
|
|
|
"github.com/hashicorp/consul/lib/stringslice"
|
|
|
|
|
2021-08-25 18:43:11 +00:00
|
|
|
"golang.org/x/crypto/blake2b"
|
|
|
|
|
2017-08-03 00:05:18 +00:00
|
|
|
"github.com/hashicorp/consul/acl"
|
2019-12-06 16:14:56 +00:00
|
|
|
"github.com/hashicorp/consul/lib"
|
2018-10-19 16:04:07 +00:00
|
|
|
)
|
|
|
|
|
|
|
|
type ACLMode string
|
|
|
|
|
|
|
|
const (
|
2021-09-29 19:45:11 +00:00
|
|
|
// ACLModeDisabled indicates the ACL system is disabled
|
2018-10-19 16:04:07 +00:00
|
|
|
ACLModeDisabled ACLMode = "0"
|
2021-09-29 19:45:11 +00:00
|
|
|
// ACLModeEnabled indicates the ACL system is enabled
|
2018-10-19 16:04:07 +00:00
|
|
|
ACLModeEnabled ACLMode = "1"
|
2017-08-03 00:05:18 +00:00
|
|
|
)
|
|
|
|
|
2018-10-19 16:04:07 +00:00
|
|
|
type ACLTokenIDType string
|
|
|
|
|
2017-08-03 00:05:18 +00:00
|
|
|
const (
|
2018-10-19 16:04:07 +00:00
|
|
|
ACLTokenSecret ACLTokenIDType = "secret"
|
|
|
|
ACLTokenAccessor ACLTokenIDType = "accessor"
|
|
|
|
)
|
2017-08-03 00:05:18 +00:00
|
|
|
|
2018-10-19 16:04:07 +00:00
|
|
|
const (
|
|
|
|
// All policy ids with the first 120 bits set to all zeroes are
|
|
|
|
// reserved for builtin policies. Policy creation will ensure we
|
|
|
|
// dont accidentally create them when autogenerating uuids.
|
|
|
|
|
|
|
|
// This policy gives unlimited access to everything. Users
|
2018-11-02 17:00:39 +00:00
|
|
|
// may rename if desired but cannot delete or modify the rules.
|
Backport of [CC-5719] Add support for builtin global-read-only policy into release/1.16.x (#18345)
* [OSS] Post Consul 1.16 updates (#17606)
* chore: update dev build to 1.17
* chore(ci): add nightly 1.16 test
Drop the oldest and add the newest running release branch to nightly
builds.
* Add writeAuditRPCEvent to agent_oss (#17607)
* Add writeAuditRPCEvent to agent_oss
* fix the other diffs
* backport change log
* Add Envoy and Consul version constraints to Envoy extensions (#17612)
* [API Gateway] Fix trust domain for external peered services in synthesis code (#17609)
* [API Gateway] Fix trust domain for external peered services in synthesis code
* Add changelog
* backport ent changes to oss (#17614)
* backport ent changes to oss
* Update .changelog/_5669.txt
Co-authored-by: Michael Zalimeni <michael.zalimeni@hashicorp.com>
---------
Co-authored-by: Michael Zalimeni <michael.zalimeni@hashicorp.com>
* Update intentions.mdx (#17619)
Make behaviour of L7 intentions clearer
* enterprise changelog update for audit (#17625)
* Update list of Envoy versions (#17546)
* [API Gateway] Fix rate limiting for API gateways (#17631)
* [API Gateway] Fix rate limiting for API gateways
* Add changelog
* Fix failing unit tests
* Fix operator usage tests for api package
* sort some imports that are wonky between oss and ent (#17637)
* PmTLS and tproxy improvements with failover and L7 traffic mgmt for k8s (#17624)
* porting over changes from enterprise repo to oss
* applied feedback on service mesh for k8s overview
* fixed typo
* removed ent-only build script file
* Apply suggestions from code review
Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com>
* Apply suggestions from code review
Co-authored-by: David Yu <dyu@hashicorp.com>
Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com>
---------
Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com>
Co-authored-by: David Yu <dyu@hashicorp.com>
* Delete check-legacy-links-format.yml (#17647)
* docs: Reference doc updates for permissive mTLS settings (#17371)
* Reference doc updates for permissive mTLS settings
* Document config entry filtering
* Fix minor doc errors (double slashes in link url paths)
---------
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Add generic experiments configuration and use it to enable catalog v2 resources (#17604)
* Add generic experiments configuration and use it to enable catalog v2 resources
* Run formatting with -s as CI will validate that this has been done
* api-gateway: stop adding all header filters to virtual host when generating xDS (#17644)
* Add header filter to api-gateway xDS golden test
* Stop adding all header filters to virtual host when generating xDS for api-gateway
* Regenerate xDS golden file for api-gateway w/ header filter
* fix: add agent info reporting log (#17654)
* Add new Consul 1.16 docs (#17651)
* Merge pull request #5773 from hashicorp/docs/rate-limiting-from-ip-addresses-1.16
updated docs for rate limiting for IP addresses - 1.16
* Merge pull request #5609 from hashicorp/docs/enterprise-utilization-reporting
Add docs for enterprise utilization reporting
* Merge pull request #5734 from hashicorp/docs/envoy-ext-1.16
Docs/envoy ext 1.16
* Merge pull request #5773 from hashicorp/docs/rate-limiting-from-ip-addresses-1.16
updated docs for rate limiting for IP addresses - 1.16
* Merge pull request #5609 from hashicorp/docs/enterprise-utilization-reporting
Add docs for enterprise utilization reporting
* Merge pull request #5734 from hashicorp/docs/envoy-ext-1.16
Docs/envoy ext 1.16
* fix build errors
---------
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Default `ProxyType` for builtin extensions (#17657)
* Post 1.16.0-rc1 updates (#17663)
- Update changelog to include new entries from release
- Update submodule versions to latest published
* Update service-defaults.mdx (#17656)
* docs: Sameness Groups (#17628)
* port from enterprise branch
* Apply suggestions from code review
Co-authored-by: shanafarkas <105076572+shanafarkas@users.noreply.github.com>
* Update website/content/docs/connect/cluster-peering/usage/create-sameness-groups.mdx
* next steps
* Update website/content/docs/connect/cluster-peering/usage/create-sameness-groups.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Update website/content/docs/k8s/connect/cluster-peering/usage/create-sameness-groups.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
---------
Co-authored-by: shanafarkas <105076572+shanafarkas@users.noreply.github.com>
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Remove "BETA" marker from config entries (#17670)
* CAPIgw for K8s installation updates for 1.16 (#17627)
* trimmed CRD step and reqs from installation
* updated tech specs
* Apply suggestions from code review
Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com>
Co-authored-by: Jeff Apple <79924108+Jeff-Apple@users.noreply.github.com>
* added upgrade instruction
* removed tcp port req
* described downtime and DT-less upgrades
* applied additional review feedback
---------
Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com>
Co-authored-by: Jeff Apple <79924108+Jeff-Apple@users.noreply.github.com>
* additional feedback on API gateway upgrades (#17677)
* additional feedback
* Update website/content/docs/api-gateway/upgrades.mdx
Co-authored-by: Jeff Apple <79924108+Jeff-Apple@users.noreply.github.com>
---------
Co-authored-by: Jeff Apple <79924108+Jeff-Apple@users.noreply.github.com>
* docs: JWT Authorization for intentions (#17643)
* Initial page/nav creation
* configuration entry reference page
* Usage + fixes
* service intentions page
* usage
* description
* config entry updates
* formatting fixes
* Update website/content/docs/connect/config-entries/service-intentions.mdx
Co-authored-by: Paul Glass <pglass@hashicorp.com>
* service intentions review fixes
* Overview page review fixes
* Apply suggestions from code review
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
---------
Co-authored-by: Paul Glass <pglass@hashicorp.com>
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* docs: minor fixes to JWT auth docs (#17680)
* Fixes
* service intentions fixes
* Fix two WAL metrics in docs/agent/telemetry.mdx (#17593)
* updated failover for k8s w-tproxy page title (#17683)
* Add release notes 1.16 rc (#17665)
* Merge pull request #5773 from hashicorp/docs/rate-limiting-from-ip-addresses-1.16
updated docs for rate limiting for IP addresses - 1.16
* Merge pull request #5609 from hashicorp/docs/enterprise-utilization-reporting
Add docs for enterprise utilization reporting
* Merge pull request #5734 from hashicorp/docs/envoy-ext-1.16
Docs/envoy ext 1.16
* Add release notes for 1.16-rc
* Add consul-e license utlization reporting
* Update with rc absolute links
* Update with rc absolute links
* fix typo
* Apply suggestions from code review
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Update to use callout component
* address typo
* docs: FIPS 140-2 Compliance (#17668)
* Page + nav + formatting
* link fix
* Update website/content/docs/enterprise/fips.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Update website/content/docs/enterprise/fips.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Update website/content/docs/enterprise/fips.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Update website/content/docs/enterprise/fips.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Update website/content/docs/enterprise/fips.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Update website/content/docs/enterprise/fips.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Update website/content/docs/enterprise/fips.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Update website/content/docs/enterprise/fips.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Update website/content/docs/enterprise/fips.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Update website/content/docs/enterprise/fips.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* link fix
* Apply suggestions from code review
Co-authored-by: Jeff Apple <79924108+Jeff-Apple@users.noreply.github.com>
* Update website/content/docs/enterprise/fips.mdx
---------
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
Co-authored-by: Jeff Apple <79924108+Jeff-Apple@users.noreply.github.com>
* fix apigw install values file
* fix typos in release notes
---------
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com>
Co-authored-by: Jeff Apple <79924108+Jeff-Apple@users.noreply.github.com>
* fix release notes links (#17687)
* adding redirects for tproxy and envoy extensions (#17688)
* adding redirects
* Apply suggestions from code review
* Fix FIPS copy (#17691)
* fix release notes links
* fix typos on fips docs
* [NET-4107][Supportability] Log Level set to TRACE and duration set to 5m for consul-debug (#17596)
* changed duration to 5 mins and log level to trace
* documentation update
* change log
* ENT merge of ext-authz extension updates (#17684)
* docs: Update default values for Envoy extension proxy types (#17676)
* fix: stop peering delete routine on leader loss (#17483)
* Refactor disco chain prioritize by locality structs (#17696)
This includes prioritize by localities on disco chain targets rather than
resolvers, allowing different targets within the same partition to have
different policies.
* agent: remove agent cache dependency from service mesh leaf certificate management (#17075)
* agent: remove agent cache dependency from service mesh leaf certificate management
This extracts the leaf cert management from within the agent cache.
This code was produced by the following process:
1. All tests in agent/cache, agent/cache-types, agent/auto-config,
agent/consul/servercert were run at each stage.
- The tests in agent matching .*Leaf were run at each stage.
- The tests in agent/leafcert were run at each stage after they
existed.
2. The former leaf cert Fetch implementation was extracted into a new
package behind a "fake RPC" endpoint to make it look almost like all
other cache type internals.
3. The old cache type was shimmed to use the fake RPC endpoint and
generally cleaned up.
4. I selectively duplicated all of Get/Notify/NotifyCallback/Prepopulate
from the agent/cache.Cache implementation over into the new package.
This was renamed as leafcert.Manager.
- Code that was irrelevant to the leaf cert type was deleted
(inlining blocking=true, refresh=false)
5. Everything that used the leaf cert cache type (including proxycfg
stuff) was shifted to use the leafcert.Manager instead.
6. agent/cache-types tests were moved and gently replumbed to execute
as-is against a leafcert.Manager.
7. Inspired by some of the locking changes from derek's branch I split
the fat lock into N+1 locks.
8. The waiter chan struct{} was eventually replaced with a
singleflight.Group around cache updates, which was likely the biggest
net structural change.
9. The awkward two layers or logic produced as a byproduct of marrying
the agent cache management code with the leaf cert type code was
slowly coalesced and flattened to remove confusion.
10. The .*Leaf tests from the agent package were copied and made to work
directly against a leafcert.Manager to increase direct coverage.
I have done a best effort attempt to port the previous leaf-cert cache
type's tests over in spirit, as well as to take the e2e-ish tests in the
agent package with Leaf in the test name and copy those into the
agent/leafcert package to get more direct coverage, rather than coverage
tangled up in the agent logic.
There is no net-new test coverage, just coverage that was pushed around
from elsewhere.
* [core]: Pin github action workflows (#17695)
* docs: missing changelog for _5517 (#17706)
* add enterprise notes for IP-based rate limits (#17711)
* add enterprise notes for IP-based rate limits
* Apply suggestions from code review
Co-authored-by: Tu Nguyen <im2nguyen@users.noreply.github.com>
Co-authored-by: David Yu <dyu@hashicorp.com>
* added bolded 'Enterprise' in list items.
---------
Co-authored-by: Tu Nguyen <im2nguyen@users.noreply.github.com>
Co-authored-by: David Yu <dyu@hashicorp.com>
* Update compatibility.mdx (#17713)
* Remove extraneous version info for Config entries (#17716)
* Update terminating-gateway.mdx
* Update exported-services.mdx
* Update mesh.mdx
* fix: typo in link to section (#17527)
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Bump Alpine to 3.18 (#17719)
* Update Dockerfile
* Create 17719.txt
* NET-1825: New ACL token creation docs (#16465)
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
Co-authored-by: Jared Kirschner <85913323+jkirschner-hashicorp@users.noreply.github.com>
* [NET-3865] [Supportability] Additional Information in the output of 'consul operator raft list-peers' (#17582)
* init
* fix tests
* added -detailed in docs
* added change log
* fix doc
* checking for entry in map
* fix tests
* removed detailed flag
* removed detailed flag
* revert unwanted changes
* removed unwanted changes
* updated change log
* pr review comment changes
* pr comment changes single API instead of two
* fix change log
* fix tests
* fix tests
* fix test operator raft endpoint test
* Update .changelog/17582.txt
Co-authored-by: Semir Patel <semir.patel@hashicorp.com>
* nits
* updated docs
---------
Co-authored-by: Semir Patel <semir.patel@hashicorp.com>
* OSS merge: Update error handling login when applying extensions (#17740)
* Bump atlassian/gajira-transition from 3.0.0 to 3.0.1 (#17741)
Bumps [atlassian/gajira-transition](https://github.com/atlassian/gajira-transition) from 3.0.0 to 3.0.1.
- [Release notes](https://github.com/atlassian/gajira-transition/releases)
- [Commits](https://github.com/atlassian/gajira-transition/compare/4749176faf14633954d72af7a44d7f2af01cc92b...38fc9cd61b03d6a53dd35fcccda172fe04b36de3)
---
updated-dependencies:
- dependency-name: atlassian/gajira-transition
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Add truncation to body (#17723)
* docs: Failover overview minor fix (#17743)
* Incorrect symbol
* Clarification
* slight edit for clarity
* docs - update Envoy and Dataplane compat matrix (#17752)
* Update envoy.mdx
added more detail around default versus other compatible versions
* validate localities on agent configs and registration endpoints (#17712)
* Updated docs added explanation. (#17751)
* init
* fix tests
* added -detailed in docs
* added change log
* fix doc
* checking for entry in map
* fix tests
* removed detailed flag
* removed detailed flag
* revert unwanted changes
* removed unwanted changes
* updated change log
* pr review comment changes
* pr comment changes single API instead of two
* fix change log
* fix tests
* fix tests
* fix test operator raft endpoint test
* Update .changelog/17582.txt
Co-authored-by: Semir Patel <semir.patel@hashicorp.com>
* nits
* updated docs
* explanation added
---------
Co-authored-by: Semir Patel <semir.patel@hashicorp.com>
* Update index.mdx (#17749)
* added redirects and updated links (#17764)
* Add transparent proxy enhancements changelog (#17757)
* docs - remove use of consul leave during upgrade instructions (#17758)
* Fix issue with streaming service health watches. (#17775)
Fix issue with streaming service health watches.
This commit fixes an issue where the health streams were unaware of service
export changes. Whenever an exported-services config entry is modified, it is
effectively an ACL change.
The bug would be triggered by the following situation:
- no services are exported
- an upstream watch to service X is spawned
- the streaming backend filters out data for service X (due to lack of exports)
- service X is finally exported
In the situation above, the streaming backend does not trigger a refresh of its
data. This means that any events that were supposed to have been received prior
to the export are NOT backfilled, and the watches never see service X spawning.
We currently have decided to not trigger a stream refresh in this situation due
to the potential for a thundering herd effect (touching exports would cause a
re-fetch of all watches for that partition, potentially). Therefore, a local
blocking-query approach was added by this commit for agentless.
It's also worth noting that the streaming subscription is currently bypassed
most of the time with agentful, because proxycfg has a `req.Source.Node != ""`
which prevents the `streamingEnabled` check from passing. This means that while
agents should technically have this same issue, they don't experience it with
mesh health watches.
Note that this is a temporary fix that solves the issue for proxycfg, but not
service-discovery use cases.
* Property Override validation improvements (#17759)
* Reject inbound Prop Override patch with Services
Services filtering is only supported for outbound TrafficDirection patches.
* Improve Prop Override unexpected type validation
- Guard against additional invalid parent and target types
- Add specific error handling for Any fields (unsupported)
* Fixes (#17765)
* Update license get explanation (#17782)
This PR is to clarify what happens if the license get command is run on a follower if the leader hasn't been updated with a newer license.
* Add Patch index to Prop Override validation errors (#17777)
When a patch is found invalid, include its index for easier debugging
when multiple patches are provided.
* Stop referenced jwt providers from being deleted (#17755)
* Stop referenced jwt providers from being deleted
* Implement a Catalog Controllers Lifecycle Integration Test (#17435)
* Implement a Catalog Controllers Lifecycle Integration Test
* Prevent triggering the race detector.
This allows defining some variables for protobuf constants and using those in comparisons. Without that, something internal in the fmt package ended up looking at the protobuf message size cache and triggering the race detector.
* HCP Add node id/name to config (#17750)
* Catalog V2 Container Based Integration Test (#17674)
* Implement the Catalog V2 controller integration container tests
This now allows the container tests to import things from the root module. However for now we want to be very restrictive about which packages we allow importing.
* Add an upgrade test for the new catalog
Currently this should be dormant and not executed. However its put in place to detect breaking changes in the future and show an example of how to do an upgrade test with integration tests structured like catalog v2.
* Make testutil.Retry capable of performing cleanup operations
These cleanup operations are executed after each retry attempt.
* Move TestContext to taking an interface instead of a concrete testing.T
This allows this to be used on a retry.R or generally anything that meets the interface.
* Move to using TestContext instead of background contexts
Also this forces all test methods to implement the Cleanup method now instead of that being an optional interface.
Co-authored-by: Daniel Upton <daniel@floppy.co>
* Fix Docs for Trails Leader By (#17763)
* init
* fix tests
* added -detailed in docs
* added change log
* fix doc
* checking for entry in map
* fix tests
* removed detailed flag
* removed detailed flag
* revert unwanted changes
* removed unwanted changes
* updated change log
* pr review comment changes
* pr comment changes single API instead of two
* fix change log
* fix tests
* fix tests
* fix test operator raft endpoint test
* Update .changelog/17582.txt
Co-authored-by: Semir Patel <semir.patel@hashicorp.com>
* nits
* updated docs
* explanation added
* fix doc
* fix docs
---------
Co-authored-by: Semir Patel <semir.patel@hashicorp.com>
* Improve Prop Override docs examples (#17799)
- Provide more realistics examples for setting properties not already
supported natively by Consul
- Remove superfluous commas from HCL, correct target service name, and
fix service defaults vs. proxy defaults in examples
- Align existing integration test to updated docs
* Test permissive mTLS filter chain not configured with tproxy disabled (#17747)
* Add documentation for remote debugging of integration tests. (#17800)
* Add documentation for remote debugging of integration tests.
* add link from main docs page.
* changes related to PR feedback
* Clarify limitations of Prop Override extension (#17801)
Explicitly document the limitations of the extension, particularly what
kind of fields it is capable of modifying.
* Fix formatting for webhook-certs Consul tutorial (#17810)
* Fix formatting for webhook-certs Consul tutorial
* Make a small grammar change to also pick up whitespace changes necessary for formatting
---------
Co-authored-by: David Yu <dyu@hashicorp.com>
* Add jwt-authn metrics to jwt-provider docs (#17816)
* [NET-3095] add jwt-authn metrics docs
* Change URLs for redirects from RC to default latest (#17822)
* Set GOPRIVATE for all hashicorp repos in CI (#17817)
Consistently set GOPRIVATE to include all hashicorp repos, s.t. private
modules are successfully pulled in enterprise CI.
* Make locality aware routing xDS changes (#17826)
* Fixup consul-container/test/debugging.md (#17815)
Add missing `-t` flag and fix minor typo.
* fixes #17732 - AccessorID in request body should be optional when updating ACL token (#17739)
* AccessorID in request body should be optional when updating ACL token
* add a test case
* fix test case
* add changelog entry for PR #17739
* CA provider doc updates and Vault provider minor update (#17831)
Update CA provider docs
Clarify that providers can differ between
primary and secondary datacenters
Provide a comparison chart for consul vs
vault CA providers
Loosen Vault CA provider validation for RootPKIPath
Update Vault CA provider documentation
* ext-authz Envoy extension: support `localhost` as a valid target URI. (#17821)
* CI Updates (#17834)
* Ensure that git access to private repos uses the ELEVATED_GITHUB_TOKEN
* Bump the runner size for the protobuf generation check
This has failed previously when the runner process that communicates with GitHub gets starved causing the job to fail.
* counter part of ent pr (#17618)
* watch: support -filter for consul watch: checks, services, nodes, service (#17780)
* watch: support -filter for watch checks
* Add filter for watch nodes, services, and service
- unit test added
- Add changelog
- update doc
* Trigger OSS => ENT merge for all release branches (#17853)
Previously, this only triggered for release/*.*.x branches; however, our release process involves cutting a release/1.16.0 branch, for example, at time of code freeze these days. Any PRs to that branch after code freeze today do not make their way to consul-enterprise. This will make behavior for a .0 branch consistent with current behavior for a .x branch.
* Update service-mesh.mdx (#17845)
Deleted two commas which looks quite like some leftovers.
* Add docs for sameness groups with resolvers. (#17851)
* docs: add note about path prefix matching behavior for HTTPRoute config (#17860)
* Add note about path prefix matching behavior for HTTPRoute config
* Update website/content/docs/connect/gateways/api-gateway/configuration/http-route.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
---------
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* docs: update upgrade to consul-dataplane docs on k8s (#17852)
* resource: add `AuthorizerContext` helper method (#17393)
* resource: enforce consistent naming of resource types (#17611)
For consistency, resource type names must follow these rules:
- `Group` must be snake case, and in most cases a single word.
- `GroupVersion` must be lowercase, start with a "v" and end with a number.
- `Kind` must be pascal case.
These were chosen because they map to our protobuf type naming
conventions.
* tooling: generate protoset file (#17364)
Extends the `proto` make target to generate a protoset file for use with
grpcurl etc.
* Fix a bug that wrongly trims domains when there is an overlap with DC name (#17160)
* Fix a bug that wrongly trims domains when there is an overlap with DC name
Before this change, when DC name and domain/alt-domain overlap, the domain name incorrectly trimmed from the query.
Example:
Given: datacenter = dc-test, alt-domain = test.consul.
Querying for "test-node.node.dc-test.consul" will faile, because the
code was trimming "test.consul" instead of just ".consul"
This change, fixes the issue by adding dot (.) before trimming
* trimDomain: ensure domain trimmed without modyfing original domains
* update changelog
---------
Co-authored-by: Dhia Ayachi <dhia@hashicorp.com>
* deps: aws-sdk-go v1.44.289 (#17876)
Signed-off-by: Dan Bond <danbond@protonmail.com>
* api-gateway: add operation cannot be fulfilled error to common errors (#17874)
* add error message
* Update website/content/docs/api-gateway/usage/errors.mdx
Co-authored-by: Nathan Coleman <nathan.coleman@hashicorp.com>
* fix formating issues
---------
Co-authored-by: Nathan Coleman <nathan.coleman@hashicorp.com>
* api-gateway: add step to upgrade instructions for creating intentions (#17875)
* Changelog - add 1.13.9, 1.14.8, and 1.15.4 (#17889)
* docs: update config enable_debug (#17866)
* update doc for config enable_debug
* Update website/content/docs/agent/config/config-files.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
---------
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Update wording on WAN fed and intermediate_pki_path (#17850)
* Allow service identity tokens the ability to read jwt-providers (#17893)
* Allow service identity tokens the ability to read jwt-providers
* more tests
* service_prefix tests
* Update docs (#17476)
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Add emit_tags_as_labels to envoy bootstrap config when using Consul Telemetry Collector (#17888)
* Fix command from kg to kubectl get (#17903)
* Create and update release notes for 1.16 and 1.2 (#17895)
* update release notes for 1.16 and 1.2
* update latest consul core release
* Propose new changes to APIgw upgrade instructions (#17693)
* Propose new changes to APIgw upgrade instructions
* fix build error
* update callouts to render correctly
* Add hideClipboard to log messages
* Added clarification around consul k8s and crds
* Add workflow to verify linux release packages (#17904)
* adding docker files to verify linux packages.
* add verifr-release-linux.yml
* updating name
* pass inputs directly into jobs
* add other linux package platforms
* remove on push
* fix TARGETARCH on debian and ubuntu so it can check arm64 and amd64
* fixing amazon to use the continue line
* add ubuntu i386
* fix comment lines
* working
* remove commented out workflow jobs
* Apply suggestions from code review
Co-authored-by: Nathan Coleman <nathan.coleman@hashicorp.com>
* update fedora and ubuntu to use latest tag
---------
Co-authored-by: Nathan Coleman <nathan.coleman@hashicorp.com>
* Reference hashicorp/consul instead of consul for Docker image (#17914)
* Reference hashicorp/consul instead of consul for Docker image
* Update Make targets that pull consul directly
* Update Consul K8s Upgrade Doc Updates (#17921)
Updating upgrade procedures to encompass expected errors during upgrade process from v1.13.x to v1.14.x.
* Update sameness-group.mdx (#17915)
* Update create-sameness-groups.mdx (#17927)
* deps: coredns v1.10.1 (#17912)
* Ensure RSA keys are at least 2048 bits in length (#17911)
* Ensure RSA keys are at least 2048 bits in length
* Add changelog
* update key length check for FIPS compliance
* Fix no new variables error and failing to return when error exists from
validating
* clean up code for better readability
* actually return value
* tlsutil: Fix check TLS configuration (#17481)
* tlsutil: Fix check TLS configuration
* Rewording docs.
* Update website/content/docs/services/configuration/checks-configuration-reference.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Fix typos and add changelog entry.
---------
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* docs: Deprecations for connect-native SDK and specific connect native APIs (#17937)
* Update v1_16_x.mdx
* Update connect native golang page
---------
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Revert "Add workflow to verify linux release packages (#17904)" (#17942)
This reverts commit 3368f14fab500ebe9f6aeab5631dd1d5f5a453e5.
* Fixes Secondary ConnectCA update (#17846)
This fixes a bug that was identified which resulted in subsequent
ConnectCA configuration update not to persist in the cluster.
* fixing typo in link to jwt-validations-with-intentions doc (#17955)
* Fix streaming backend link (#17958)
* Fix streaming backend link
* Update health.mdx
* Dynamically create jwks clusters for jwt-providers (#17944)
* website: remove deprecated agent rpc docs (#17962)
* Fix missing BalanceOutboundConnections in v2 catalog. (#17964)
* feature - [NET - 4005] - [Supportability] Reloadable Configuration - enable_debug (#17565)
* # This is a combination of 9 commits.
# This is the 1st commit message:
init without tests
# This is the commit message #2:
change log
# This is the commit message #3:
fix tests
# This is the commit message #4:
fix tests
# This is the commit message #5:
added tests
# This is the commit message #6:
change log breaking change
# This is the commit message #7:
removed breaking change
# This is the commit message #8:
fix test
# This is the commit message #9:
keeping the test behaviour same
* # This is a combination of 12 commits.
# This is the 1st commit message:
init without tests
# This is the commit message #2:
change log
# This is the commit message #3:
fix tests
# This is the commit message #4:
fix tests
# This is the commit message #5:
added tests
# This is the commit message #6:
change log breaking change
# This is the commit message #7:
removed breaking change
# This is the commit message #8:
fix test
# This is the commit message #9:
keeping the test behaviour same
# This is the commit message #10:
made enable debug atomic bool
# This is the commit message #11:
fix lint
# This is the commit message #12:
fix test true enable debug
* parent 10f500e895d92cc3691ade7b74a33db755d22039
author absolutelightning <ashesh.vidyut@hashicorp.com> 1687352587 +0530
committer absolutelightning <ashesh.vidyut@hashicorp.com> 1687352592 +0530
init without tests
change log
fix tests
fix tests
added tests
change log breaking change
removed breaking change
fix test
keeping the test behaviour same
made enable debug atomic bool
fix lint
fix test true enable debug
using enable debug in agent as atomic bool
test fixes
fix tests
fix tests
added update on correct locaiton
fix tests
fix reloadable config enable debug
fix tests
fix init and acl 403
* revert commit
* Fix formatting codeblocks on APIgw docs (#17970)
* fix formatting codeblocks
* remove unnecessary indents
* Remove POC code (#17974)
* update doc (#17910)
* update doc
* update link
* Remove duplicate and unused newDecodeConfigEntry func (#17979)
* docs: samenessGroup YAML examples (#17984)
* configuration entry syntax
* Example config
* Add changelog entry for 1.16.0 (#17987)
* Fix typo (#17198)
servcies => services
* Expose JWKS cluster config through JWTProviderConfigEntry (#17978)
* Expose JWKS cluster config through JWTProviderConfigEntry
* fix typos, rename trustedCa to trustedCA
* Integration test for ext-authz Envoy extension (#17980)
* Fix incorrect protocol for transparent proxy upstreams. (#17894)
This PR fixes a bug that was introduced in:
https://github.com/hashicorp/consul/pull/16021
A user setting a protocol in proxy-defaults would cause tproxy implicit
upstreams to not honor the upstream service's protocol set in its
`ServiceDefaults.Protocol` field, and would instead always use the
proxy-defaults value.
Due to the fact that upstreams configured with "tcp" can successfully contact
upstream "http" services, this issue was not recognized until recently (a
proxy-defaults with "tcp" and a listening service with "http" would make
successful requests, but not the opposite).
As a temporary work-around, users experiencing this issue can explicitly set
the protocol on the `ServiceDefaults.UpstreamConfig.Overrides`, which should
take precedence.
The fix in this PR removes the proxy-defaults protocol from the wildcard
upstream that tproxy uses to configure implicit upstreams. When the protocol
was included, it would always overwrite the value during discovery chain
compilation, which was not correct. The discovery chain compiler also consumes
proxy defaults to determine the protocol, so simply excluding it from the
wildcard upstream config map resolves the issue.
* feat: include nodes count in operator usage endpoint and cli command (#17939)
* feat: update operator usage api endpoint to include nodes count
* feat: update operator usange cli command to includes nodes count
* [OSS] Improve Gateway Test Coverage of Catalog Health (#18011)
* fix(cli): remove failing check from 'connect envoy' registration for api gateway
* test(integration): add tests to check catalog statsus of gateways on startup
* remove extra sleep comment
* Update test/integration/consul-container/libs/assert/service.go
* changelog
* Fixes Traffic rate limitting docs (#17997)
* Fix removed service-to-service peering links (#17221)
* docs: fix removed service-to-service peering links
* docs: extend peering-via-mesh-gateways intro (thanks @trujillo-adam)
---------
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* docs: Sameness "beta" warning (#18017)
* Warning updates
* .x
* updated typo in tab heading (#18022)
* updated typo in tab heading
* updated tab group typo, too
* Document that DNS lookups can target cluster peers (#17990)
Static DNS lookups, in addition to explicitly targeting a datacenter,
can target a cluster peer. This was added in 95dc0c7b301b70a6b955a8b7c9737c9b86f03df6 but didn't make the documentation.
The driving function for the change is `parseLocality` here: https://github.com/hashicorp/consul/blob/0b1299c28d8127129d61310ee4280055298438e0/agent/dns_oss.go#L25
The biggest change in this is to adjust the standard lookup syntax to tie
`.<datacenter>` to `.dc` as required-together, and to append in the similar `.<cluster-peer>.peer` optional argument, both to A record and SRV record lookups.
Co-authored-by: David Yu <dyu@hashicorp.com>
* Add first integration test for jwt auth with intention (#18005)
* fix stand-in text for name field (#18030)
* removed sameness conf entry from failover nav (#18033)
* docs - add service sync annotations and k8s service weight annotation (#18032)
* Docs for https://github.com/hashicorp/consul-k8s/pull/2293
* remove versions for enterprise features since they are old
---------
Co-authored-by: Tu Nguyen <im2nguyen@users.noreply.github.com>
* docs - add jobs use case for service mesh k8s (#18037)
* docs - add jobs use case for service mesh k8s
* add code blocks
* address feedback (#18045)
* Add verify server hostname to tls default (#17155)
* [OSS] Fix initial_fetch_timeout to wait for all xDS resources (#18024)
* fix(connect): set initial_fetch_time to wait indefinitely
* changelog
* PR feedback 1
* ui: fix typos for peer service imports (#17999)
* test: fix FIPS inline cert test message (#18076)
* Fix a couple typos in Agent Telemetry Metrics docs (#18080)
* Fix metrics docs
* Add changelog
Signed-off-by: josh <josh.timmons@hashicorp.com>
---------
Signed-off-by: josh <josh.timmons@hashicorp.com>
* docs updates - cluster peering and virtual services (#18069)
* Update route-to-virtual-services.mdx
* Update establish-peering.mdx
* Update service-mesh-compare.mdx (#17279)
grammar change
* Update helm docs on main (#18085)
* ci: use gotestsum v1.10.1 [NET-4042] (#18088)
* Docs: Update proxy lifecycle annotations and consul-dataplane flags (#18075)
* Update proxy lifecycle annotations and consul-dataplane flags
* Pass configured role name to Vault for AWS auth in Connect CA (#17885)
* Docs for dataplane upgrade on k8s (#18051)
* Docs for dataplane upgrade on k8s
---------
Co-authored-by: David Yu <dyu@hashicorp.com>
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* docs - update upgrade index page to not recommend consul leave. (#18100)
* Displays Consul version of each nodes in UI nodes section (#17754)
* update UINodes and UINodeInfo response with consul-version info added as NodeMeta, fetched from serf members
* update test cases TestUINodes, TestUINodeInfo
* added nil check for map
* add consul-version in local agent node metadata
* get consul version from serf member and add this as node meta in catalog register request
* updated ui mock response to include consul versions as node meta
* updated ui trans and added version as query param to node list route
* updates in ui templates to display consul version with filter and sorts
* updates in ui - model class, serializers,comparators,predicates for consul version feature
* added change log for Consul Version Feature
* updated to get version from consul service, if for some reason not available from serf
* updated changelog text
* updated dependent testcases
* multiselection version filter
* Update agent/consul/state/catalog.go
comments updated
Co-authored-by: Jared Kirschner <85913323+jkirschner-hashicorp@users.noreply.github.com>
---------
Co-authored-by: Jared Kirschner <85913323+jkirschner-hashicorp@users.noreply.github.com>
* api gw 1.16 updates (#18081)
* api gw 1.16 updates
* Apply suggestions from code review
Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com>
* update CodeBlockConfig filename
* Apply suggestions from code review
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com>
* remove non-standard intentions page
* Update website/content/docs/api-gateway/configuration/index.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
---------
Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com>
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* [NET-4103] ci: build s390x (#18067)
* ci: build s390x
* ci: test s390x
* ci: dev build s390x
* no GOOS
* ent only
* build: publish s390x
* fix syntax error
* fix syntax error again
* fix syntax error again x2
* test branch
* Move s390x conditionals to step level
* remove test branch
---------
Co-authored-by: emilymianeil <eneil@hashicorp.com>
* :ermahgerd "Sevice Mesh" -> "Service Mesh" (#18116)
Just a typo in the docs.
* Split pbmesh.UpstreamsConfiguration as a resource out of pbmesh.Upstreams (#17991)
Configuration that previously was inlined into the Upstreams resource
applies to both explicit and implicit upstreams and so it makes sense to
split it out into its own resource.
It also has other minor changes:
- Renames `proxy.proto` proxy_configuration.proto`
- Changes the type of `Upstream.destination_ref` from `pbresource.ID` to
`pbresource.Reference`
- Adds comments to fields that didn't have them
* [NET-4895] ci - api tests and consul container tests error because of dependency bugs with go 1.20.6. Pin go to 1.20.5. (#18124)
### Description
The following jobs started failing when go 1.20.6 was released:
- `go-test-api-1-19`
- `go-test-api-1-20`
- `compatibility-integration-tests`
- `upgrade-integration-tests`
`compatibility-integration-tests` and `compatibility-integration-tests`
to this testcontainers issue:
https://github.com/testcontainers/testcontainers-go/issues/1359. This
issue calls for testcontainers to release a new version when one of
their dependencies is fixed. When that is done, we will unpin the go
versions in `compatibility-integration-tests` and
`compatibility-integration-tests`.
### Testing & Reproduction steps
See these jobs broken in CI and then see them work with this PR.
---------
Co-authored-by: Chris Thain <32781396+cthain@users.noreply.github.com>
* Add ingress gateway deprecation notices to docs (#18102)
### Description
This adds notices, that ingress gateway is deprecated, to several places
in the product docs where ingress gateway is the topic.
### Testing & Reproduction steps
Tested with a local copy of the website.
### Links
Deprecation of ingress gateway was announced in the Release Notes for
Consul 1.16 and Consul-K8s 1.2. See:
[https://developer.hashicorp.com/consul/docs/release-notes/consul/v1_16_x#what-s-deprecated](https://developer.hashicorp.com/consul/docs/release-notes/consul/v1_16_x#what-s-deprecated
)
[https://developer.hashicorp.com/consul/docs/release-notes/consul-k8s/v1_2_x#what-s-deprecated](https://developer.hashicorp.com/consul/docs/release-notes/consul-k8s/v1_2_x#what-s-deprecated)
### PR Checklist
* [N/A] updated test coverage
* [X] external facing docs updated
* [X] appropriate backport labels added
* [X] not a security concern
---------
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Add docs for jwt cluster configuration (#18004)
### Description
<!-- Please describe why you're making this change, in plain English.
-->
- Add jwt-provider docs for jwks cluster configuration. The
configuration was added here:
https://github.com/hashicorp/consul/pull/17978
* Docs: fix unmatched bracket for health checks page (#18134)
* NET-4657/add resource service client (#18053)
### Description
<!-- Please describe why you're making this change, in plain English.
-->
Dan had already started on this
[task](https://github.com/hashicorp/consul/pull/17849) which is needed
to start building the HTTP APIs. This just needed some cleanup to get it
ready for review.
Overview:
- Rename `internalResourceServiceClient` to
`insecureResourceServiceClient` for name consistency
- Configure a `secureResourceServiceClient` with auth enabled
### PR Checklist
* [ ] ~updated test coverage~
* [ ] ~external facing docs updated~
* [x] appropriate backport labels added
* [ ] ~not a security concern~
* Fix bug with Vault CA provider (#18112)
Updating RootPKIPath but not IntermediatePKIPath would not update
leaf signing certs with the new root. Unsure if this happens in practice
but manual testing showed it is a bug that would break mesh and agent
connections once the old root is pruned.
* [NET-4897] net/http host header is now verified and request.host that contains socked now error (#18129)
### Description
This is related to https://github.com/hashicorp/consul/pull/18124 where
we pinned the go versions in CI to 1.20.5 and 1.19.10.
go 1.20.6 and 1.19.11 now validate request host headers for validity,
including the hostname cannot be prefixed with slashes.
For local communications (npipe://, unix://), the hostname is not used,
but we need valid and meaningful hostname. Prior versions go Go would
clean the host header, and strip slashes in the process, but go1.20.6
and go1.19.11 no longer do, and reject the host header. Around the
community we are seeing that others are intercepting the req.host and if
it starts with a slash or ends with .sock, they changing the host to
localhost or another dummy value.
[client: define a "dummy" hostname to use for local connections by
thaJeztah · Pull Request #45942 ·
moby/moby](https://github.com/moby/moby/pull/45942)
### Testing & Reproduction steps
Check CI tests.
### Links
* [ ] updated test coverage
* [ ] external facing docs updated
* [ ] appropriate backport labels added
* [ ] not a security concern
* add a conditional around setting LANFilter.AllSegments to make sure it is valid (#18139)
### Description
This is to correct a code problem because this assumes all segments, but
when you get to Enterprise, you can be in partition that is not the
default partition, in which case specifying all segments does not
validate and fails. This is to correct the setting of this filter with
`AllSegments` to `true` to only occur when in the the `default`
partition.
### Testing & Reproduction steps
<!--
* In the case of bugs, describe how to replicate
* If any manual tests were done, document the steps and the conditions
to replicate
* Call out any important/ relevant unit tests, e2e tests or integration
tests you have added or are adding
-->
### Links
<!--
Include any links here that might be helpful for people reviewing your
PR (Tickets, GH issues, API docs, external benchmarks, tools docs, etc).
If there are none, feel free to delete this section.
Please be mindful not to leak any customer or confidential information.
HashiCorp employees may want to use our internal URL shortener to
obfuscate links.
-->
### PR Checklist
* [ ] updated test coverage
* [ ] external facing docs updated
* [ ] appropriate backport labels added
* [ ] not a security concern
* chore: bump upgrade integrations tests to 1.15, 116 [NET-4743] (#18130)
* re org resource type registry (#18133)
* fix: update delegateMock used in ENT (#18149)
### Description
<!-- Please describe why you're making this change, in plain English.
-->
The mock is used in `http_ent_test` file which caused lint failures. For
OSS->ENT parity adding the same change here.
### Links
<!--
Include any links here that might be helpful for people reviewing your
PR (Tickets, GH issues, API docs, external benchmarks, tools docs, etc).
If there are none, feel free to delete this section.
Please be mindful not to leak any customer or confidential information.
HashiCorp employees may want to use our internal URL shortener to
obfuscate links.
-->
Identified in OSS->ENT [merge
PR](https://github.com/hashicorp/consul-enterprise/pull/6328)
### PR Checklist
* [ ] ~updated test coverage~
* [ ] ~external facing docs updated~
* [x] appropriate backport labels added
* [ ] ~not a security concern~
* Use JWT-auth filter in metadata mode & Delegate validation to RBAC filter (#18062)
### Description
<!-- Please describe why you're making this change, in plain English.
-->
- Currently the jwt-auth filter doesn't take into account the service
identity when validating jwt-auth, it only takes into account the path
and jwt provider during validation. This causes issues when multiple
source intentions restrict access to an endpoint with different JWT
providers.
- To fix these issues, rather than use the JWT auth filter for
validation, we use it in metadata mode and allow it to forward the
successful validated JWT token payload to the RBAC filter which will
make the decisions.
This PR ensures requests with and without JWT tokens successfully go
through the jwt-authn filter. The filter however only forwards the data
for successful/valid tokens. On the RBAC filter level, we check the
payload for claims and token issuer + existing rbac rules.
### Testing & Reproduction steps
<!--
* In the case of bugs, describe how to replicate
* If any manual tests were done, document the steps and the conditions
to replicate
* Call out any important/ relevant unit tests, e2e tests or integration
tests you have added or are adding
-->
- This test covers a multi level jwt requirements (requirements at top
level and permissions level). It also assumes you have envoy running,
you have a redis and a sidecar proxy service registered, and have a way
to generate jwks with jwt. I mostly use:
https://www.scottbrady91.com/tools/jwt for this.
- first write your proxy defaults
```
Kind = "proxy-defaults"
name = "global"
config {
protocol = "http"
}
```
- Create two providers
```
Kind = "jwt-provider"
Name = "auth0"
Issuer = "https://ronald.local"
JSONWebKeySet = {
Local = {
JWKS = "eyJrZXlzIjog....."
}
}
```
```
Kind = "jwt-provider"
Name = "okta"
Issuer = "https://ronald.local"
JSONWebKeySet = {
Local = {
JWKS = "eyJrZXlzIjogW3...."
}
}
```
- add a service intention
```
Kind = "service-intentions"
Name = "redis"
JWT = {
Providers = [
{
Name = "okta"
},
]
}
Sources = [
{
Name = "*"
Permissions = [{
Action = "allow"
HTTP = {
PathPrefix = "/workspace"
}
JWT = {
Providers = [
{
Name = "okta"
VerifyClaims = [
{
Path = ["aud"]
Value = "my_client_app"
},
{
Path = ["sub"]
Value = "5be86359073c434bad2da3932222dabe"
}
]
},
]
}
},
{
Action = "allow"
HTTP = {
PathPrefix = "/"
}
JWT = {
Providers = [
{
Name = "auth0"
},
]
}
}]
}
]
```
- generate 3 jwt tokens: 1 from auth0 jwks, 1 from okta jwks with
different claims than `/workspace` expects and 1 with correct claims
- connect to your envoy (change service and address as needed) to view
logs and potential errors. You can add: `-- --log-level debug` to see
what data is being forwarded
```
consul connect envoy -sidecar-for redis1 -grpc-addr 127.0.0.1:8502
```
- Make the following requests:
```
curl -s -H "Authorization: Bearer $Auth0_TOKEN" --insecure --cert leaf.cert --key leaf.key --cacert connect-ca.pem https://localhost:20000/workspace -v
RBAC filter denied
curl -s -H "Authorization: Bearer $Okta_TOKEN_with_wrong_claims" --insecure --cert leaf.cert --key leaf.key --cacert connect-ca.pem https://localhost:20000/workspace -v
RBAC filter denied
curl -s -H "Authorization: Bearer $Okta_TOKEN_with_correct_claims" --insecure --cert leaf.cert --key leaf.key --cacert connect-ca.pem https://localhost:20000/workspace -v
Successful request
```
### TODO
* [x] Update test coverage
* [ ] update integration tests (follow-up PR)
* [x] appropriate backport labels added
* Support Consul Connect Envoy Command on Windows (#17694)
### Description
Add support for consul connect envoy command on windows. This PR fixes
the comments of PR - https://github.com/hashicorp/consul/pull/15114
### Testing
* Built consul.exe from this branch on windows and hosted here - [AWS
S3](https://asheshvidyut-bucket.s3.ap-southeast-2.amazonaws.com/consul.zip)
* Updated the
[tutorial](https://developer.hashicorp.com/consul/tutorials/developer-mesh/consul-windows-workloads)
and changed the `consul_url.default` value to [AWS
S3](https://asheshvidyut-bucket.s3.ap-southeast-2.amazonaws.com/consul.zip)
* Followed the steps in the tutorial and verified that everything is
working as described.
### PR Checklist
* [x] updated test coverage
* [ ] external facing docs updated
* [x] appropriate backport labels added
* [x] not a security concern
---------
Co-authored-by: Franco Bruno Lavayen <cocolavayen@gmail.com>
Co-authored-by: Jose Ignacio Lorenzo <74208929+joselo85@users.noreply.github.com>
Co-authored-by: Jose Ignacio Lorenzo <joseignaciolorenzo85@gmail.com>
Co-authored-by: Dhia Ayachi <dhia@hashicorp.com>
* Change docs to say 168h instead of 7d for server_rejoin_age_max (#18154)
### Description
Addresses
https://github.com/hashicorp/consul/pull/17171#issuecomment-1636930705
* [OSS] test: improve xDS listener code coverage (#18138)
test: improve xDS listener code coverage
* Re-order expected/actual for assertContainerState in consul container tests (#18157)
Re-order expected/actual, consul container tests
* group and document make file (#17943)
* group and document make file
* Add `testing/deployer` (neé `consul-topology`) [NET-4610] (#17823)
Co-authored-by: R.B. Boyer <4903+rboyer@users.noreply.github.com>
Co-authored-by: R.B. Boyer <rb@hashicorp.com>
Co-authored-by: Freddy <freddygv@users.noreply.github.com>
* [NET-4792] Add integrations tests for jwt-auth (#18169)
* Add FIPS reference to consul enterprise docs (#18028)
* Add FIPS reference to consul enterprise docs
* Update website/content/docs/enterprise/index.mdx
Co-authored-by: David Yu <dyu@hashicorp.com>
* remove support for ecs client (fips)
---------
Co-authored-by: David Yu <dyu@hashicorp.com>
* add peering_commontopo tests [NET-3700] (#17951)
Co-authored-by: R.B. Boyer <4903+rboyer@users.noreply.github.com>
Co-authored-by: R.B. Boyer <rb@hashicorp.com>
Co-authored-by: Freddy <freddygv@users.noreply.github.com>
Co-authored-by: NiniOak <anita.akaeze@hashicorp.com>
* docs - remove Sentinel from enterprise features list (#18176)
* Update index.mdx
* Update kv.mdx
* Update docs-nav-data.json
* delete sentinel.mdx
* Update redirects.js
---------
Co-authored-by: Tu Nguyen <im2nguyen@users.noreply.github.com>
* [NET-4865] Bump golang.org/x/net to 0.12.0 (#18186)
Bump golang.org/x/net to 0.12.0
While not necessary to directly address CVE-2023-29406 (which should be
handled by using a patched version of Go when building), an
accompanying change to HTTP/2 error handling does impact agent code.
See https://go-review.googlesource.com/c/net/+/506995 for the HTTP/2
change.
Bump this dependency across our submodules as well for the sake of
potential indirect consumers of `x/net/http`.
* Call resource mutate hook before validate hook (NET-4907) (#18178)
* [NET-4865] security: Update Go version to 1.20.6 (#18190)
Update Go version to 1.20.6
This resolves [CVE-2023-29406]
(https://nvd.nist.gov/vuln/detail/CVE-2023-29406) for uses of the
`net/http` standard library.
Note that until the follow-up to #18124 is done, the version of Go used
in those impacted tests will need to remain on 1.20.5.
* Improve XDS test coverage: JWT auth edition (#18183)
* Improve XDS test coverage: JWT auth edition
more tests
* test: xds coverage for jwt listeners
---------
Co-authored-by: DanStough <dan.stough@hashicorp.com>
* update readme.md (#18191)
u[date readme.md
* Update submodules to latest following 1.16.0 (#18197)
Align all our internal use of submodules on the latest versions.
* SEC-090: Automated trusted workflow pinning (2023-07-18) (#18174)
Result of tsccr-helper -log-level=info -pin-all-workflows .
Co-authored-by: hashicorp-tsccr[bot] <hashicorp-tsccr[bot]@users.noreply.github.com>
* Fix Backport Assistant PR commenting (#18200)
* Fix Backport Assistant failure PR commenting
For general comments on a PR, it looks like you have to use the `/issue`
endpoint rather than `/pulls`, which requires commit/other
review-specific target details.
This matches the endpoint used in `backport-reminder.yml`.
* Remove Backport Reminder workflow
This is noisy (even when adding multiple labels, individual comments per
label are generated), and likely no longer needed: we haven't had this
work in a long time due to an expired GH token, and we now have better
automation for backport PR assignment.
* resource: Pass resource to Write ACL hook instead of just resource Id [NET-4908] (#18192)
* Explicitly enable WebSocket upgrades (#18150)
This PR explicitly enables WebSocket upgrades in Envoy's UpgradeConfig for all
proxy types. (API Gateway, Ingress, and Sidecar.)
Fixes #8283
* docs: fix the description of client rpc (#18206)
* NET-4804: Add dashboard for monitoring consul-k8s (#18208)
* [OSS] Improve xDS Code Coverage - Clusters (#18165)
test: improve xDS cluster code coverage
* NET-4222 take config file consul container (#18218)
Net 4222 take config file consul container
* Envoy Integration Test Windows (#18007)
* [CONSUL-395] Update check_hostport and Usage (#40)
* [CONSUL-397] Copy envoy binary from Image (#41)
* [CONSUL-382] Support openssl in unique test dockerfile (#43)
* [CONSUL-405] Add bats to single container (#44)
* [CONSUL-414] Run Prometheus Test Cases and Validate Changes (#46)
* [CONSUL-410] Run Jaeger in Single container (#45)
* [CONSUL-412] Run test-sds-server in single container (#48)
* [CONSUL-408] Clean containers (#47)
* [CONSUL-384] Rebase and sync fork (#50)
* [CONSUL-415] Create Scenarios Troubleshooting Docs (#49)
* [CONSUL-417] Update Docs Single Container (#51)
* [CONSUL-428] Add Socat to single container (#54)
* [CONSUL-424] Replace pkill in kill_envoy function (#52)
* [CONSUL-434] Modify Docker run functions in Helper script (#53)
* [CONSUL-435] Replace docker run in set_ttl_check_state & wait_for_agent_service_register functions (#55)
* [CONSUL-438] Add netcat (nc) in the Single container Dockerfile (#56)
* [CONSUL-429] Replace Docker run with Docker exec (#57)
* [CONSUL-436] Curl timeout and run tests (#58)
* [CONSUL-443] Create dogstatsd Function (#59)
* [CONSUL-431] Update Docs Netcat (#60)
* [CONSUL-439] Parse nc Command in function (#61)
* [CONSUL-463] Review curl Exec and get_ca_root Func (#63)
* [CONSUL-453] Docker hostname in Helper functions (#64)
* [CONSUL-461] Test wipe volumes without extra cont (#66)
* [CONSUL-454] Check ports in the Server and Agent containers (#65)
* [CONSUL-441] Update windows dockerfile with version (#62)
* [CONSUL-466] Review case-grpc Failing Test (#67)
* [CONSUL-494] Review case-cfg-resolver-svc-failover (#68)
* [CONSUL-496] Replace docker_wget & docker_curl (#69)
* [CONSUL-499] Cleanup Scripts - Remove nanoserver (#70)
* [CONSUL-500] Update Troubleshooting Docs (#72)
* [CONSUL-502] Pull & Tag Envoy Windows Image (#73)
* [CONSUL-504] Replace docker run in docker_consul (#76)
* [CONSUL-505] Change admin_bind
* [CONSUL-399] Update envoy to 1.23.1 (#78)
* [CONSUL-510] Support case-wanfed-gw on Windows (#79)
* [CONSUL-506] Update troubleshooting Documentation (#80)
* [CONSUL-512] Review debug_dump_volumes Function (#81)
* [CONSUL-514] Add zipkin to Docker Image (#82)
* [CONSUL-515] Update Documentation (#83)
* [CONSUL-529] Support case-consul-exec (#86)
* [CONSUL-530] Update Documentation (#87)
* [CONSUL-530] Update default consul version 1.13.3
* [CONSUL-539] Cleanup (#91)
* [CONSUL-546] Scripts Clean-up (#92)
* [CONSUL-491] Support admin_access_log_path value for Windows (#71)
* [CONSUL-519] Implement mkfifo Alternative (#84)
* [CONSUL-542] Create OS Specific Files for Envoy Package (#88)
* [CONSUL-543] Create exec_supported.go (#89)
* [CONSUL-544] Test and Build Changes (#90)
* Implement os.DevNull
* using mmap instead of disk files
* fix import in exec-unix
* fix nmap open too many arguemtn
* go fmt on file
* changelog file
* fix go mod
* Update .changelog/17694.txt
Co-authored-by: Dhia Ayachi <dhia@hashicorp.com>
* different mmap library
* fix bootstrap json
* some fixes
* chocolatey version fix and image fix
* using different library
* fix Map funciton call
* fix mmap call
* fix tcp dump
* fix tcp dump
* windows tcp dump
* Fix docker run
* fix tests
* fix go mod
* fix version 16.0
* fix version
* fix version dev
* sleep to debug
* fix sleep
* fix permission issue
* fix permission issue
* fix permission issue
* fix command
* fix command
* fix funciton
* fix assert config entry status command not found
* fix command not found assert_cert_has_cn
* fix command not found assert_upstream_missing
* fix command not found assert_upstream_missing_once
* fix command not found get_upstream_endpoint
* fix command not found get_envoy_public_listener_once
* fix command not found
* fix test cases
* windows integration test workflow github
* made code similar to unix using npipe
* fix go.mod
* fix dialing of npipe
* dont wait
* check size of written json
* fix undefined n
* running
* fix dep
* fix syntax error
* fix workflow file
* windows runner
* fix runner
* fix from json
* fix runs on
* merge connect envoy
* fix cin path
* build
* fix file name
* fix file name
* fix dev build
* remove unwanted code
* fix upload
* fix bin name
* fix path
* checkout current branch
* fix path
* fix tests
* fix shell bash for windows sh files
* fix permission of run-test.sh
* removed docker dev
* added shell bash for tests
* fix tag
* fix win=true
* fix cd
* added dev
* fix variable undefined
* removed failing tests
* fix tcp dump image
* fix curl
* fix curl
* tcp dump path
* fix tcpdump path
* fix curl
* fix curl install
* stop removing intermediate containers
* fix tcpdump docker image
* revert -rm
* --rm=false
* makeing docker image before
* fix tcpdump
* removed case consul exec
* removed terminating gateway simple
* comment case wasm
* removed data dog
* comment out upload coverage
* uncomment case-consul-exec
* comment case consul exec
* if always
* logs
* using consul 1.17.0
* fix quotes
* revert quotes
* redirect to dev null
* Revert version
* revert consul connect
* fix version
* removed envoy connect
* not using function
* change log
* docker logs
* fix logs
* restructure bad authz
* rmeoved dev null
* output
* fix file descriptor
* fix cacert
* fix cacert
* fix ca cert
* cacert does not work in windows curl
* fix func
* removed docker logs
* added sleep
* fix tls
* commented case-consul-exec
* removed echo
* retry docker consul
* fix upload bin
* uncomment consul exec
* copying consul.exe to docker image
* copy fix
* fix paths
* fix path
* github workspace path
* latest version
* Revert "latest version"
This reverts commit 5a7d7b82d9e7553bcb01b02557ec8969f9deba1d.
* commented consul exec
* added ssl revoke best effort
* revert best effort
* removed unused files
* rename var name and change dir
* windows runner
* permission
* needs setup fix
* swtich to github runner
* fix file path
* fix path
* fix path
* fix path
* fix path
* fix path
* fix build paths
* fix tag
* nightly runs
* added matrix in github workflow, renamed files
* fix job
* fix matrix
* removed brackes
* from json
* without using job matrix
* fix quotes
* revert job matrix
* fix workflow
* fix comment
* added comment
* nightly runs
* removed datadog ci as it is already measured in linux one
* running test
* Revert "running test"
This reverts commit 7013d15a23732179d18ec5d17336e16b26fab5d4.
* pr comment fixes
* running test now
* running subset of test
* running subset of test
* job matrix
* shell bash
* removed bash shell
* linux machine for job matrix
* fix output
* added cat to debug
* using ubuntu latest
* fix job matrix
* fix win true
* fix go test
* revert job matrix
---------
Co-authored-by: Jose Ignacio Lorenzo <74208929+joselo85@users.noreply.github.com>
Co-authored-by: Franco Bruno Lavayen <cocolavayen@gmail.com>
Co-authored-by: Ivan K Berlot <ivanberlot@gmail.com>
Co-authored-by: Ezequiel Fernández Ponce <20102608+ezfepo@users.noreply.github.com>
Co-authored-by: joselo85 <joseignaciolorenzo85@gmail.com>
Co-authored-by: Ezequiel Fernández Ponce <ezequiel.fernandez@southworks.com>
Co-authored-by: Dhia Ayachi <dhia@hashicorp.com>
* fix typos and update ecs compat table (#18215)
* fix typos and update ecs compat table
* real info for the ecs compat matrix table
* Update website/content/docs/ecs/compatibility.mdx
Co-authored-by: Chris Thain <32781396+cthain@users.noreply.github.com>
---------
Co-authored-by: Chris Thain <32781396+cthain@users.noreply.github.com>
* [OSS] proxystate: add proxystate protos (#18216)
* proxystate: add proxystate protos to pbmesh and resolve imports and conflicts between message names
* ci: don't verify s390x (#18224)
* [CC-5718] Remove HCP token requirement during bootstrap (#18140)
* [CC-5718] Remove HCP token requirement during bootstrap
* Re-add error for loading HCP management token
* Remove old comment
* Add changelog entry
* Remove extra validation line
* Apply suggestions from code review
Co-authored-by: lornasong <lornasong@users.noreply.github.com>
---------
Co-authored-by: lornasong <lornasong@users.noreply.github.com>
* [NET-4122] Doc guidance for federation with externalServers (#18207)
Doc guidance for federation with externalServers
Add guidance for proper configuration when joining to a secondary
cluster using WAN fed with external servers also enabled.
Also clarify federation requirements and fix formatting for an
unrelated value.
Update both the Helm chart reference (synced from `consul-k8s`, see
hashicorp/consul-k8s#2583) and the docs on using `externalServers`.
* [OSS] Improve xDS Code Coverage - Endpoints and Misc (#18222)
test: improve xDS endpoints code coverage
* Clarify license reporting timing and GDPR compliance (#18237)
Add Alicia's edits to clarify log timing and other details
* Fix Github Workflow File (#18241)
* [CONSUL-382] Support openssl in unique test dockerfile (#43)
* [CONSUL-405] Add bats to single container (#44)
* [CONSUL-414] Run Prometheus Test Cases and Validate Changes (#46)
* [CONSUL-410] Run Jaeger in Single container (#45)
* [CONSUL-412] Run test-sds-server in single container (#48)
* [CONSUL-408] Clean containers (#47)
* [CONSUL-384] Rebase and sync fork (#50)
* [CONSUL-415] Create Scenarios Troubleshooting Docs (#49)
* [CONSUL-417] Update Docs Single Container (#51)
* [CONSUL-428] Add Socat to single container (#54)
* [CONSUL-424] Replace pkill in kill_envoy function (#52)
* [CONSUL-434] Modify Docker run functions in Helper script (#53)
* [CONSUL-435] Replace docker run in set_ttl_check_state & wait_for_agent_service_register functions (#55)
* [CONSUL-438] Add netcat (nc) in the Single container Dockerfile (#56)
* [CONSUL-429] Replace Docker run with Docker exec (#57)
* [CONSUL-436] Curl timeout and run tests (#58)
* [CONSUL-443] Create dogstatsd Function (#59)
* [CONSUL-431] Update Docs Netcat (#60)
* [CONSUL-439] Parse nc Command in function (#61)
* [CONSUL-463] Review curl Exec and get_ca_root Func (#63)
* [CONSUL-453] Docker hostname in Helper functions (#64)
* [CONSUL-461] Test wipe volumes without extra cont (#66)
* [CONSUL-454] Check ports in the Server and Agent containers (#65)
* [CONSUL-441] Update windows dockerfile with version (#62)
* [CONSUL-466] Review case-grpc Failing Test (#67)
* [CONSUL-494] Review case-cfg-resolver-svc-failover (#68)
* [CONSUL-496] Replace docker_wget & docker_curl (#69)
* [CONSUL-499] Cleanup Scripts - Remove nanoserver (#70)
* [CONSUL-500] Update Troubleshooting Docs (#72)
* [CONSUL-502] Pull & Tag Envoy Windows Image (#73)
* [CONSUL-504] Replace docker run in docker_consul (#76)
* [CONSUL-505] Change admin_bind
* [CONSUL-399] Update envoy to 1.23.1 (#78)
* [CONSUL-510] Support case-wanfed-gw on Windows (#79)
* [CONSUL-506] Update troubleshooting Documentation (#80)
* [CONSUL-512] Review debug_dump_volumes Function (#81)
* [CONSUL-514] Add zipkin to Docker Image (#82)
* [CONSUL-515] Update Documentation (#83)
* [CONSUL-529] Support case-consul-exec (#86)
* [CONSUL-530] Update Documentation (#87)
* [CONSUL-530] Update default consul version 1.13.3
* [CONSUL-539] Cleanup (#91)
* [CONSUL-546] Scripts Clean-up (#92)
* [CONSUL-491] Support admin_access_log_path value for Windows (#71)
* [CONSUL-519] Implement mkfifo Alternative (#84)
* [CONSUL-542] Create OS Specific Files for Envoy Package (#88)
* [CONSUL-543] Create exec_supported.go (#89)
* [CONSUL-544] Test and Build Changes (#90)
* Implement os.DevNull
* using mmap instead of disk files
* fix import in exec-unix
* fix nmap open too many arguemtn
* go fmt on file
* changelog file
* fix go mod
* Update .changelog/17694.txt
Co-authored-by: Dhia Ayachi <dhia@hashicorp.com>
* different mmap library
* fix bootstrap json
* some fixes
* chocolatey version fix and image fix
* using different library
* fix Map funciton call
* fix mmap call
* fix tcp dump
* fix tcp dump
* windows tcp dump
* Fix docker run
* fix tests
* fix go mod
* fix version 16.0
* fix version
* fix version dev
* sleep to debug
* fix sleep
* fix permission issue
* fix permission issue
* fix permission issue
* fix command
* fix command
* fix funciton
* fix assert config entry status command not found
* fix command not found assert_cert_has_cn
* fix command not found assert_upstream_missing
* fix command not found assert_upstream_missing_once
* fix command not found get_upstream_endpoint
* fix command not found get_envoy_public_listener_once
* fix command not found
* fix test cases
* windows integration test workflow github
* made code similar to unix using npipe
* fix go.mod
* fix dialing of npipe
* dont wait
* check size of written json
* fix undefined n
* running
* fix dep
* fix syntax error
* fix workflow file
* windows runner
* fix runner
* fix from json
* fix runs on
* merge connect envoy
* fix cin path
* build
* fix file name
* fix file name
* fix dev build
* remove unwanted code
* fix upload
* fix bin name
* fix path
* checkout current branch
* fix path
* fix tests
* fix shell bash for windows sh files
* fix permission of run-test.sh
* removed docker dev
* added shell bash for tests
* fix tag
* fix win=true
* fix cd
* added dev
* fix variable undefined
* removed failing tests
* fix tcp dump image
* fix curl
* fix curl
* tcp dump path
* fix tcpdump path
* fix curl
* fix curl install
* stop removing intermediate containers
* fix tcpdump docker image
* revert -rm
* --rm=false
* makeing docker image before
* fix tcpdump
* removed case consul exec
* removed terminating gateway simple
* comment case wasm
* removed data dog
* comment out upload coverage
* uncomment case-consul-exec
* comment case consul exec
* if always
* logs
* using consul 1.17.0
* fix quotes
* revert quotes
* redirect to dev null
* Revert version
* revert consul connect
* fix version
* removed envoy connect
* not using function
* change log
* docker logs
* fix logs
* restructure bad authz
* rmeoved dev null
* output
* fix file descriptor
* fix cacert
* fix cacert
* fix ca cert
* cacert does not work in windows curl
* fix func
* removed docker logs
* added sleep
* fix tls
* commented case-consul-exec
* removed echo
* retry docker consul
* fix upload bin
* uncomment consul exec
* copying consul.exe to docker image
* copy fix
* fix paths
* fix path
* github workspace path
* latest version
* Revert "latest version"
This reverts commit 5a7d7b82d9e7553bcb01b02557ec8969f9deba1d.
* commented consul exec
* added ssl revoke best effort
* revert best effort
* removed unused files
* rename var name and change dir
* windows runner
* permission
* needs setup fix
* swtich to github runner
* fix file path
* fix path
* fix path
* fix path
* fix path
* fix path
* fix build paths
* fix tag
* nightly runs
* added matrix in github workflow, renamed files
* fix job
* fix matrix
* removed brackes
* from json
* without using job matrix
* fix quotes
* revert job matrix
* fix workflow
* fix comment
* added comment
* nightly runs
* removed datadog ci as it is already measured in linux one
* running test
* Revert "running test"
This reverts commit 7013d15a23732179d18ec5d17336e16b26fab5d4.
* pr comment fixes
* running test now
* running subset of test
* running subset of test
* job matrix
* shell bash
* removed bash shell
* linux machine for job matrix
* fix output
* added cat to debug
* using ubuntu latest
* fix job matrix
* fix win true
* fix go test
* revert job matrix
* Fix tests
---------
Co-authored-by: Ivan K Berlot <ivanberlot@gmail.com>
Co-authored-by: Jose Ignacio Lorenzo <74208929+joselo85@users.noreply.github.com>
Co-authored-by: Franco Bruno Lavayen <cocolavayen@gmail.com>
Co-authored-by: Ezequiel Fernández Ponce <20102608+ezfepo@users.noreply.github.com>
Co-authored-by: joselo85 <joseignaciolorenzo85@gmail.com>
Co-authored-by: Ezequiel Fernández Ponce <ezequiel.fernandez@southworks.com>
Co-authored-by: Dhia Ayachi <dhia@hashicorp.com>
* NET-4996 - filter go-tests and test-integration workflows from running on docs only and ui only changes (#18236)
* Align build arch matrix with enterprise (#18235)
Ensure that OSS remains in sync w/ Enterprise by aligning the format of
arch matrix args for various build jobs.
* Revert "NET-4996 - filter go-tests and test-integration workflows from running on docs only and ui only changes" (#18248)
Revert "NET-4996 - filter go-tests and test-integration workflows from running on docs only and ui only changes (#18236)"
This reverts commit a11dba710e6ce6f172c0fa6c9b61567cc1efffc8.
* resource: Add scope to resource type registration [NET-4976] (#18214)
Enables querying a resource type's registration to determine if a resource is cluster, partition, or partition and namespace scoped.
* Fix some inconsistencies in jwt docs (#18234)
* NET-1825: More new ACL token creation docs (#18063)
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* [CC-5719] Add support for builtin global-read-only policy
* Add changelog
* Add read-only to docs
* Fix some minor issues.
* Change from ReplaceAll to Sprintf
* Change IsValidPolicy name to return an error instead of bool
* Fix PolicyList test
* Fix other tests
* Apply suggestions from code review
Co-authored-by: Paul Glass <pglass@hashicorp.com>
* Fix state store test for policy list.
* Fix naming issues
* Update acl/validation.go
Co-authored-by: Chris Thain <32781396+cthain@users.noreply.github.com>
* backport of commit d63fa5481dc02c6faae7cc2647b4073b3286af1d
* backport of commit 3d099a6ed8ed10b6dc464c466cb1668914db8f08
---------
Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: Dan Bond <danbond@protonmail.com>
Signed-off-by: josh <josh.timmons@hashicorp.com>
Co-authored-by: Michael Zalimeni <michael.zalimeni@hashicorp.com>
Co-authored-by: Ronald <roncodingenthusiast@users.noreply.github.com>
Co-authored-by: Eric Haberkorn <erichaberkorn@gmail.com>
Co-authored-by: Andrew Stucki <andrew.stucki@hashicorp.com>
Co-authored-by: Luke Kysow <1034429+lkysow@users.noreply.github.com>
Co-authored-by: R.B. Boyer <4903+rboyer@users.noreply.github.com>
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com>
Co-authored-by: David Yu <dyu@hashicorp.com>
Co-authored-by: Bryce Kalow <bkalow@hashicorp.com>
Co-authored-by: Paul Glass <pglass@hashicorp.com>
Co-authored-by: Matt Keeler <mkeeler@users.noreply.github.com>
Co-authored-by: Nathan Coleman <nathan.coleman@hashicorp.com>
Co-authored-by: Poonam Jadhav <poonam.jadhav@hashicorp.com>
Co-authored-by: Tu Nguyen <im2nguyen@users.noreply.github.com>
Co-authored-by: Chris Thain <32781396+cthain@users.noreply.github.com>
Co-authored-by: Hariram Sankaran <56744845+ramramhariram@users.noreply.github.com>
Co-authored-by: shanafarkas <105076572+shanafarkas@users.noreply.github.com>
Co-authored-by: Thomas Eckert <teckert@hashicorp.com>
Co-authored-by: Jeff Apple <79924108+Jeff-Apple@users.noreply.github.com>
Co-authored-by: Joshua Timmons <josh.timmons@hashicorp.com>
Co-authored-by: Ashesh Vidyut <134911583+absolutelightning@users.noreply.github.com>
Co-authored-by: Dan Stough <dan.stough@hashicorp.com>
Co-authored-by: Curt Bushko <cbushko@gmail.com>
Co-authored-by: Tobias Birkefeld <t@craxs.de>
Co-authored-by: Jared Kirschner <85913323+jkirschner-hashicorp@users.noreply.github.com>
Co-authored-by: Semir Patel <semir.patel@hashicorp.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: chappie <6537530+chapmanc@users.noreply.github.com>
Co-authored-by: Derek Menteer <105233703+hashi-derek@users.noreply.github.com>
Co-authored-by: John Murret <john.murret@hashicorp.com>
Co-authored-by: Mark Campbell-Vincent <mnmvincent@gmail.com>
Co-authored-by: Daniel Upton <daniel@floppy.co>
Co-authored-by: Steven Zamborsky <97125550+stevenzamborsky@users.noreply.github.com>
Co-authored-by: George Bolo <george.bolo@gmail.com>
Co-authored-by: Chris S. Kim <ckim@hashicorp.com>
Co-authored-by: wangxinyi7 <121973291+wangxinyi7@users.noreply.github.com>
Co-authored-by: cskh <hui.kang@hashicorp.com>
Co-authored-by: V. K <cn007b@gmail.com>
Co-authored-by: Iryna Shustava <ishustava@users.noreply.github.com>
Co-authored-by: Alex Simenduev <shamil.si@gmail.com>
Co-authored-by: Dhia Ayachi <dhia@hashicorp.com>
Co-authored-by: Dan Bond <danbond@protonmail.com>
Co-authored-by: sarahalsmiller <100602640+sarahalsmiller@users.noreply.github.com>
Co-authored-by: Gerard Nguyen <gerard@hashicorp.com>
Co-authored-by: mr-miles <miles.waller@gmail.com>
Co-authored-by: natemollica-dev <57850649+natemollica-nm@users.noreply.github.com>
Co-authored-by: John Maguire <john.maguire@hashicorp.com>
Co-authored-by: Samantha <hello@entropy.cat>
Co-authored-by: Ranjandas <thejranjan@gmail.com>
Co-authored-by: Evan Phoenix <evan@phx.io>
Co-authored-by: Michael Hofer <karras@users.noreply.github.com>
Co-authored-by: J.C. Jones <james.jc.jones@gmail.com>
Co-authored-by: Fulvio <fulviodenza823@gmail.com>
Co-authored-by: Krastin Krastev <krastin@hashicorp.com>
Co-authored-by: david3a <49253132+david3a@users.noreply.github.com>
Co-authored-by: Nick Irvine <115657443+nfi-hashicorp@users.noreply.github.com>
Co-authored-by: Tom Davies <tom@t-davies.com>
Co-authored-by: Vijay <vijayraghav22@gmail.com>
Co-authored-by: Eddie Rowe <74205376+eddie-rowe@users.noreply.github.com>
Co-authored-by: emilymianeil <eneil@hashicorp.com>
Co-authored-by: nv-hashi <80716011+nv-hashi@users.noreply.github.com>
Co-authored-by: Franco Bruno Lavayen <cocolavayen@gmail.com>
Co-authored-by: Jose Ignacio Lorenzo <74208929+joselo85@users.noreply.github.com>
Co-authored-by: Jose Ignacio Lorenzo <joseignaciolorenzo85@gmail.com>
Co-authored-by: R.B. Boyer <rb@hashicorp.com>
Co-authored-by: Freddy <freddygv@users.noreply.github.com>
Co-authored-by: NiniOak <anita.akaeze@hashicorp.com>
Co-authored-by: hashicorp-tsccr[bot] <129506189+hashicorp-tsccr[bot]@users.noreply.github.com>
Co-authored-by: hashicorp-tsccr[bot] <hashicorp-tsccr[bot]@users.noreply.github.com>
Co-authored-by: Blake Covarrubias <blake@covarrubi.as>
Co-authored-by: Ivan K Berlot <ivanberlot@gmail.com>
Co-authored-by: Ezequiel Fernández Ponce <20102608+ezfepo@users.noreply.github.com>
Co-authored-by: Ezequiel Fernández Ponce <ezequiel.fernandez@southworks.com>
Co-authored-by: Nitya Dhanushkodi <nitya@hashicorp.com>
Co-authored-by: Jeremy Jacobson <jjacobson93@users.noreply.github.com>
Co-authored-by: lornasong <lornasong@users.noreply.github.com>
Co-authored-by: Judith Malnick <judith@hashicorp.com>
Co-authored-by: Jeremy Jacobson <jeremy.jacobson@hashicorp.com>
2023-08-01 17:37:13 +00:00
|
|
|
ACLPolicyGlobalManagementID = "00000000-0000-0000-0000-000000000001"
|
|
|
|
ACLPolicyGlobalManagementName = "global-management"
|
|
|
|
ACLPolicyGlobalManagementDesc = "Builtin Policy that grants unlimited access"
|
|
|
|
|
|
|
|
ACLPolicyGlobalReadOnlyID = "00000000-0000-0000-0000-000000000002"
|
|
|
|
ACLPolicyGlobalReadOnlyName = "builtin/global-read-only"
|
|
|
|
ACLPolicyGlobalReadOnlyDesc = "Builtin Policy that grants unlimited read-only access to all components"
|
|
|
|
|
|
|
|
ACLReservedIDPrefix = "00000000-0000-0000-0000-0000000000"
|
|
|
|
|
|
|
|
aclPolicyGlobalRulesTemplate = `
|
|
|
|
acl = "%[1]s"
|
2018-10-19 16:04:07 +00:00
|
|
|
agent_prefix "" {
|
Backport of [CC-5719] Add support for builtin global-read-only policy into release/1.16.x (#18345)
* [OSS] Post Consul 1.16 updates (#17606)
* chore: update dev build to 1.17
* chore(ci): add nightly 1.16 test
Drop the oldest and add the newest running release branch to nightly
builds.
* Add writeAuditRPCEvent to agent_oss (#17607)
* Add writeAuditRPCEvent to agent_oss
* fix the other diffs
* backport change log
* Add Envoy and Consul version constraints to Envoy extensions (#17612)
* [API Gateway] Fix trust domain for external peered services in synthesis code (#17609)
* [API Gateway] Fix trust domain for external peered services in synthesis code
* Add changelog
* backport ent changes to oss (#17614)
* backport ent changes to oss
* Update .changelog/_5669.txt
Co-authored-by: Michael Zalimeni <michael.zalimeni@hashicorp.com>
---------
Co-authored-by: Michael Zalimeni <michael.zalimeni@hashicorp.com>
* Update intentions.mdx (#17619)
Make behaviour of L7 intentions clearer
* enterprise changelog update for audit (#17625)
* Update list of Envoy versions (#17546)
* [API Gateway] Fix rate limiting for API gateways (#17631)
* [API Gateway] Fix rate limiting for API gateways
* Add changelog
* Fix failing unit tests
* Fix operator usage tests for api package
* sort some imports that are wonky between oss and ent (#17637)
* PmTLS and tproxy improvements with failover and L7 traffic mgmt for k8s (#17624)
* porting over changes from enterprise repo to oss
* applied feedback on service mesh for k8s overview
* fixed typo
* removed ent-only build script file
* Apply suggestions from code review
Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com>
* Apply suggestions from code review
Co-authored-by: David Yu <dyu@hashicorp.com>
Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com>
---------
Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com>
Co-authored-by: David Yu <dyu@hashicorp.com>
* Delete check-legacy-links-format.yml (#17647)
* docs: Reference doc updates for permissive mTLS settings (#17371)
* Reference doc updates for permissive mTLS settings
* Document config entry filtering
* Fix minor doc errors (double slashes in link url paths)
---------
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Add generic experiments configuration and use it to enable catalog v2 resources (#17604)
* Add generic experiments configuration and use it to enable catalog v2 resources
* Run formatting with -s as CI will validate that this has been done
* api-gateway: stop adding all header filters to virtual host when generating xDS (#17644)
* Add header filter to api-gateway xDS golden test
* Stop adding all header filters to virtual host when generating xDS for api-gateway
* Regenerate xDS golden file for api-gateway w/ header filter
* fix: add agent info reporting log (#17654)
* Add new Consul 1.16 docs (#17651)
* Merge pull request #5773 from hashicorp/docs/rate-limiting-from-ip-addresses-1.16
updated docs for rate limiting for IP addresses - 1.16
* Merge pull request #5609 from hashicorp/docs/enterprise-utilization-reporting
Add docs for enterprise utilization reporting
* Merge pull request #5734 from hashicorp/docs/envoy-ext-1.16
Docs/envoy ext 1.16
* Merge pull request #5773 from hashicorp/docs/rate-limiting-from-ip-addresses-1.16
updated docs for rate limiting for IP addresses - 1.16
* Merge pull request #5609 from hashicorp/docs/enterprise-utilization-reporting
Add docs for enterprise utilization reporting
* Merge pull request #5734 from hashicorp/docs/envoy-ext-1.16
Docs/envoy ext 1.16
* fix build errors
---------
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Default `ProxyType` for builtin extensions (#17657)
* Post 1.16.0-rc1 updates (#17663)
- Update changelog to include new entries from release
- Update submodule versions to latest published
* Update service-defaults.mdx (#17656)
* docs: Sameness Groups (#17628)
* port from enterprise branch
* Apply suggestions from code review
Co-authored-by: shanafarkas <105076572+shanafarkas@users.noreply.github.com>
* Update website/content/docs/connect/cluster-peering/usage/create-sameness-groups.mdx
* next steps
* Update website/content/docs/connect/cluster-peering/usage/create-sameness-groups.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Update website/content/docs/k8s/connect/cluster-peering/usage/create-sameness-groups.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
---------
Co-authored-by: shanafarkas <105076572+shanafarkas@users.noreply.github.com>
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Remove "BETA" marker from config entries (#17670)
* CAPIgw for K8s installation updates for 1.16 (#17627)
* trimmed CRD step and reqs from installation
* updated tech specs
* Apply suggestions from code review
Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com>
Co-authored-by: Jeff Apple <79924108+Jeff-Apple@users.noreply.github.com>
* added upgrade instruction
* removed tcp port req
* described downtime and DT-less upgrades
* applied additional review feedback
---------
Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com>
Co-authored-by: Jeff Apple <79924108+Jeff-Apple@users.noreply.github.com>
* additional feedback on API gateway upgrades (#17677)
* additional feedback
* Update website/content/docs/api-gateway/upgrades.mdx
Co-authored-by: Jeff Apple <79924108+Jeff-Apple@users.noreply.github.com>
---------
Co-authored-by: Jeff Apple <79924108+Jeff-Apple@users.noreply.github.com>
* docs: JWT Authorization for intentions (#17643)
* Initial page/nav creation
* configuration entry reference page
* Usage + fixes
* service intentions page
* usage
* description
* config entry updates
* formatting fixes
* Update website/content/docs/connect/config-entries/service-intentions.mdx
Co-authored-by: Paul Glass <pglass@hashicorp.com>
* service intentions review fixes
* Overview page review fixes
* Apply suggestions from code review
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
---------
Co-authored-by: Paul Glass <pglass@hashicorp.com>
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* docs: minor fixes to JWT auth docs (#17680)
* Fixes
* service intentions fixes
* Fix two WAL metrics in docs/agent/telemetry.mdx (#17593)
* updated failover for k8s w-tproxy page title (#17683)
* Add release notes 1.16 rc (#17665)
* Merge pull request #5773 from hashicorp/docs/rate-limiting-from-ip-addresses-1.16
updated docs for rate limiting for IP addresses - 1.16
* Merge pull request #5609 from hashicorp/docs/enterprise-utilization-reporting
Add docs for enterprise utilization reporting
* Merge pull request #5734 from hashicorp/docs/envoy-ext-1.16
Docs/envoy ext 1.16
* Add release notes for 1.16-rc
* Add consul-e license utlization reporting
* Update with rc absolute links
* Update with rc absolute links
* fix typo
* Apply suggestions from code review
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Update to use callout component
* address typo
* docs: FIPS 140-2 Compliance (#17668)
* Page + nav + formatting
* link fix
* Update website/content/docs/enterprise/fips.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Update website/content/docs/enterprise/fips.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Update website/content/docs/enterprise/fips.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Update website/content/docs/enterprise/fips.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Update website/content/docs/enterprise/fips.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Update website/content/docs/enterprise/fips.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Update website/content/docs/enterprise/fips.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Update website/content/docs/enterprise/fips.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Update website/content/docs/enterprise/fips.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Update website/content/docs/enterprise/fips.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* link fix
* Apply suggestions from code review
Co-authored-by: Jeff Apple <79924108+Jeff-Apple@users.noreply.github.com>
* Update website/content/docs/enterprise/fips.mdx
---------
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
Co-authored-by: Jeff Apple <79924108+Jeff-Apple@users.noreply.github.com>
* fix apigw install values file
* fix typos in release notes
---------
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com>
Co-authored-by: Jeff Apple <79924108+Jeff-Apple@users.noreply.github.com>
* fix release notes links (#17687)
* adding redirects for tproxy and envoy extensions (#17688)
* adding redirects
* Apply suggestions from code review
* Fix FIPS copy (#17691)
* fix release notes links
* fix typos on fips docs
* [NET-4107][Supportability] Log Level set to TRACE and duration set to 5m for consul-debug (#17596)
* changed duration to 5 mins and log level to trace
* documentation update
* change log
* ENT merge of ext-authz extension updates (#17684)
* docs: Update default values for Envoy extension proxy types (#17676)
* fix: stop peering delete routine on leader loss (#17483)
* Refactor disco chain prioritize by locality structs (#17696)
This includes prioritize by localities on disco chain targets rather than
resolvers, allowing different targets within the same partition to have
different policies.
* agent: remove agent cache dependency from service mesh leaf certificate management (#17075)
* agent: remove agent cache dependency from service mesh leaf certificate management
This extracts the leaf cert management from within the agent cache.
This code was produced by the following process:
1. All tests in agent/cache, agent/cache-types, agent/auto-config,
agent/consul/servercert were run at each stage.
- The tests in agent matching .*Leaf were run at each stage.
- The tests in agent/leafcert were run at each stage after they
existed.
2. The former leaf cert Fetch implementation was extracted into a new
package behind a "fake RPC" endpoint to make it look almost like all
other cache type internals.
3. The old cache type was shimmed to use the fake RPC endpoint and
generally cleaned up.
4. I selectively duplicated all of Get/Notify/NotifyCallback/Prepopulate
from the agent/cache.Cache implementation over into the new package.
This was renamed as leafcert.Manager.
- Code that was irrelevant to the leaf cert type was deleted
(inlining blocking=true, refresh=false)
5. Everything that used the leaf cert cache type (including proxycfg
stuff) was shifted to use the leafcert.Manager instead.
6. agent/cache-types tests were moved and gently replumbed to execute
as-is against a leafcert.Manager.
7. Inspired by some of the locking changes from derek's branch I split
the fat lock into N+1 locks.
8. The waiter chan struct{} was eventually replaced with a
singleflight.Group around cache updates, which was likely the biggest
net structural change.
9. The awkward two layers or logic produced as a byproduct of marrying
the agent cache management code with the leaf cert type code was
slowly coalesced and flattened to remove confusion.
10. The .*Leaf tests from the agent package were copied and made to work
directly against a leafcert.Manager to increase direct coverage.
I have done a best effort attempt to port the previous leaf-cert cache
type's tests over in spirit, as well as to take the e2e-ish tests in the
agent package with Leaf in the test name and copy those into the
agent/leafcert package to get more direct coverage, rather than coverage
tangled up in the agent logic.
There is no net-new test coverage, just coverage that was pushed around
from elsewhere.
* [core]: Pin github action workflows (#17695)
* docs: missing changelog for _5517 (#17706)
* add enterprise notes for IP-based rate limits (#17711)
* add enterprise notes for IP-based rate limits
* Apply suggestions from code review
Co-authored-by: Tu Nguyen <im2nguyen@users.noreply.github.com>
Co-authored-by: David Yu <dyu@hashicorp.com>
* added bolded 'Enterprise' in list items.
---------
Co-authored-by: Tu Nguyen <im2nguyen@users.noreply.github.com>
Co-authored-by: David Yu <dyu@hashicorp.com>
* Update compatibility.mdx (#17713)
* Remove extraneous version info for Config entries (#17716)
* Update terminating-gateway.mdx
* Update exported-services.mdx
* Update mesh.mdx
* fix: typo in link to section (#17527)
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Bump Alpine to 3.18 (#17719)
* Update Dockerfile
* Create 17719.txt
* NET-1825: New ACL token creation docs (#16465)
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
Co-authored-by: Jared Kirschner <85913323+jkirschner-hashicorp@users.noreply.github.com>
* [NET-3865] [Supportability] Additional Information in the output of 'consul operator raft list-peers' (#17582)
* init
* fix tests
* added -detailed in docs
* added change log
* fix doc
* checking for entry in map
* fix tests
* removed detailed flag
* removed detailed flag
* revert unwanted changes
* removed unwanted changes
* updated change log
* pr review comment changes
* pr comment changes single API instead of two
* fix change log
* fix tests
* fix tests
* fix test operator raft endpoint test
* Update .changelog/17582.txt
Co-authored-by: Semir Patel <semir.patel@hashicorp.com>
* nits
* updated docs
---------
Co-authored-by: Semir Patel <semir.patel@hashicorp.com>
* OSS merge: Update error handling login when applying extensions (#17740)
* Bump atlassian/gajira-transition from 3.0.0 to 3.0.1 (#17741)
Bumps [atlassian/gajira-transition](https://github.com/atlassian/gajira-transition) from 3.0.0 to 3.0.1.
- [Release notes](https://github.com/atlassian/gajira-transition/releases)
- [Commits](https://github.com/atlassian/gajira-transition/compare/4749176faf14633954d72af7a44d7f2af01cc92b...38fc9cd61b03d6a53dd35fcccda172fe04b36de3)
---
updated-dependencies:
- dependency-name: atlassian/gajira-transition
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Add truncation to body (#17723)
* docs: Failover overview minor fix (#17743)
* Incorrect symbol
* Clarification
* slight edit for clarity
* docs - update Envoy and Dataplane compat matrix (#17752)
* Update envoy.mdx
added more detail around default versus other compatible versions
* validate localities on agent configs and registration endpoints (#17712)
* Updated docs added explanation. (#17751)
* init
* fix tests
* added -detailed in docs
* added change log
* fix doc
* checking for entry in map
* fix tests
* removed detailed flag
* removed detailed flag
* revert unwanted changes
* removed unwanted changes
* updated change log
* pr review comment changes
* pr comment changes single API instead of two
* fix change log
* fix tests
* fix tests
* fix test operator raft endpoint test
* Update .changelog/17582.txt
Co-authored-by: Semir Patel <semir.patel@hashicorp.com>
* nits
* updated docs
* explanation added
---------
Co-authored-by: Semir Patel <semir.patel@hashicorp.com>
* Update index.mdx (#17749)
* added redirects and updated links (#17764)
* Add transparent proxy enhancements changelog (#17757)
* docs - remove use of consul leave during upgrade instructions (#17758)
* Fix issue with streaming service health watches. (#17775)
Fix issue with streaming service health watches.
This commit fixes an issue where the health streams were unaware of service
export changes. Whenever an exported-services config entry is modified, it is
effectively an ACL change.
The bug would be triggered by the following situation:
- no services are exported
- an upstream watch to service X is spawned
- the streaming backend filters out data for service X (due to lack of exports)
- service X is finally exported
In the situation above, the streaming backend does not trigger a refresh of its
data. This means that any events that were supposed to have been received prior
to the export are NOT backfilled, and the watches never see service X spawning.
We currently have decided to not trigger a stream refresh in this situation due
to the potential for a thundering herd effect (touching exports would cause a
re-fetch of all watches for that partition, potentially). Therefore, a local
blocking-query approach was added by this commit for agentless.
It's also worth noting that the streaming subscription is currently bypassed
most of the time with agentful, because proxycfg has a `req.Source.Node != ""`
which prevents the `streamingEnabled` check from passing. This means that while
agents should technically have this same issue, they don't experience it with
mesh health watches.
Note that this is a temporary fix that solves the issue for proxycfg, but not
service-discovery use cases.
* Property Override validation improvements (#17759)
* Reject inbound Prop Override patch with Services
Services filtering is only supported for outbound TrafficDirection patches.
* Improve Prop Override unexpected type validation
- Guard against additional invalid parent and target types
- Add specific error handling for Any fields (unsupported)
* Fixes (#17765)
* Update license get explanation (#17782)
This PR is to clarify what happens if the license get command is run on a follower if the leader hasn't been updated with a newer license.
* Add Patch index to Prop Override validation errors (#17777)
When a patch is found invalid, include its index for easier debugging
when multiple patches are provided.
* Stop referenced jwt providers from being deleted (#17755)
* Stop referenced jwt providers from being deleted
* Implement a Catalog Controllers Lifecycle Integration Test (#17435)
* Implement a Catalog Controllers Lifecycle Integration Test
* Prevent triggering the race detector.
This allows defining some variables for protobuf constants and using those in comparisons. Without that, something internal in the fmt package ended up looking at the protobuf message size cache and triggering the race detector.
* HCP Add node id/name to config (#17750)
* Catalog V2 Container Based Integration Test (#17674)
* Implement the Catalog V2 controller integration container tests
This now allows the container tests to import things from the root module. However for now we want to be very restrictive about which packages we allow importing.
* Add an upgrade test for the new catalog
Currently this should be dormant and not executed. However its put in place to detect breaking changes in the future and show an example of how to do an upgrade test with integration tests structured like catalog v2.
* Make testutil.Retry capable of performing cleanup operations
These cleanup operations are executed after each retry attempt.
* Move TestContext to taking an interface instead of a concrete testing.T
This allows this to be used on a retry.R or generally anything that meets the interface.
* Move to using TestContext instead of background contexts
Also this forces all test methods to implement the Cleanup method now instead of that being an optional interface.
Co-authored-by: Daniel Upton <daniel@floppy.co>
* Fix Docs for Trails Leader By (#17763)
* init
* fix tests
* added -detailed in docs
* added change log
* fix doc
* checking for entry in map
* fix tests
* removed detailed flag
* removed detailed flag
* revert unwanted changes
* removed unwanted changes
* updated change log
* pr review comment changes
* pr comment changes single API instead of two
* fix change log
* fix tests
* fix tests
* fix test operator raft endpoint test
* Update .changelog/17582.txt
Co-authored-by: Semir Patel <semir.patel@hashicorp.com>
* nits
* updated docs
* explanation added
* fix doc
* fix docs
---------
Co-authored-by: Semir Patel <semir.patel@hashicorp.com>
* Improve Prop Override docs examples (#17799)
- Provide more realistics examples for setting properties not already
supported natively by Consul
- Remove superfluous commas from HCL, correct target service name, and
fix service defaults vs. proxy defaults in examples
- Align existing integration test to updated docs
* Test permissive mTLS filter chain not configured with tproxy disabled (#17747)
* Add documentation for remote debugging of integration tests. (#17800)
* Add documentation for remote debugging of integration tests.
* add link from main docs page.
* changes related to PR feedback
* Clarify limitations of Prop Override extension (#17801)
Explicitly document the limitations of the extension, particularly what
kind of fields it is capable of modifying.
* Fix formatting for webhook-certs Consul tutorial (#17810)
* Fix formatting for webhook-certs Consul tutorial
* Make a small grammar change to also pick up whitespace changes necessary for formatting
---------
Co-authored-by: David Yu <dyu@hashicorp.com>
* Add jwt-authn metrics to jwt-provider docs (#17816)
* [NET-3095] add jwt-authn metrics docs
* Change URLs for redirects from RC to default latest (#17822)
* Set GOPRIVATE for all hashicorp repos in CI (#17817)
Consistently set GOPRIVATE to include all hashicorp repos, s.t. private
modules are successfully pulled in enterprise CI.
* Make locality aware routing xDS changes (#17826)
* Fixup consul-container/test/debugging.md (#17815)
Add missing `-t` flag and fix minor typo.
* fixes #17732 - AccessorID in request body should be optional when updating ACL token (#17739)
* AccessorID in request body should be optional when updating ACL token
* add a test case
* fix test case
* add changelog entry for PR #17739
* CA provider doc updates and Vault provider minor update (#17831)
Update CA provider docs
Clarify that providers can differ between
primary and secondary datacenters
Provide a comparison chart for consul vs
vault CA providers
Loosen Vault CA provider validation for RootPKIPath
Update Vault CA provider documentation
* ext-authz Envoy extension: support `localhost` as a valid target URI. (#17821)
* CI Updates (#17834)
* Ensure that git access to private repos uses the ELEVATED_GITHUB_TOKEN
* Bump the runner size for the protobuf generation check
This has failed previously when the runner process that communicates with GitHub gets starved causing the job to fail.
* counter part of ent pr (#17618)
* watch: support -filter for consul watch: checks, services, nodes, service (#17780)
* watch: support -filter for watch checks
* Add filter for watch nodes, services, and service
- unit test added
- Add changelog
- update doc
* Trigger OSS => ENT merge for all release branches (#17853)
Previously, this only triggered for release/*.*.x branches; however, our release process involves cutting a release/1.16.0 branch, for example, at time of code freeze these days. Any PRs to that branch after code freeze today do not make their way to consul-enterprise. This will make behavior for a .0 branch consistent with current behavior for a .x branch.
* Update service-mesh.mdx (#17845)
Deleted two commas which looks quite like some leftovers.
* Add docs for sameness groups with resolvers. (#17851)
* docs: add note about path prefix matching behavior for HTTPRoute config (#17860)
* Add note about path prefix matching behavior for HTTPRoute config
* Update website/content/docs/connect/gateways/api-gateway/configuration/http-route.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
---------
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* docs: update upgrade to consul-dataplane docs on k8s (#17852)
* resource: add `AuthorizerContext` helper method (#17393)
* resource: enforce consistent naming of resource types (#17611)
For consistency, resource type names must follow these rules:
- `Group` must be snake case, and in most cases a single word.
- `GroupVersion` must be lowercase, start with a "v" and end with a number.
- `Kind` must be pascal case.
These were chosen because they map to our protobuf type naming
conventions.
* tooling: generate protoset file (#17364)
Extends the `proto` make target to generate a protoset file for use with
grpcurl etc.
* Fix a bug that wrongly trims domains when there is an overlap with DC name (#17160)
* Fix a bug that wrongly trims domains when there is an overlap with DC name
Before this change, when DC name and domain/alt-domain overlap, the domain name incorrectly trimmed from the query.
Example:
Given: datacenter = dc-test, alt-domain = test.consul.
Querying for "test-node.node.dc-test.consul" will faile, because the
code was trimming "test.consul" instead of just ".consul"
This change, fixes the issue by adding dot (.) before trimming
* trimDomain: ensure domain trimmed without modyfing original domains
* update changelog
---------
Co-authored-by: Dhia Ayachi <dhia@hashicorp.com>
* deps: aws-sdk-go v1.44.289 (#17876)
Signed-off-by: Dan Bond <danbond@protonmail.com>
* api-gateway: add operation cannot be fulfilled error to common errors (#17874)
* add error message
* Update website/content/docs/api-gateway/usage/errors.mdx
Co-authored-by: Nathan Coleman <nathan.coleman@hashicorp.com>
* fix formating issues
---------
Co-authored-by: Nathan Coleman <nathan.coleman@hashicorp.com>
* api-gateway: add step to upgrade instructions for creating intentions (#17875)
* Changelog - add 1.13.9, 1.14.8, and 1.15.4 (#17889)
* docs: update config enable_debug (#17866)
* update doc for config enable_debug
* Update website/content/docs/agent/config/config-files.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
---------
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Update wording on WAN fed and intermediate_pki_path (#17850)
* Allow service identity tokens the ability to read jwt-providers (#17893)
* Allow service identity tokens the ability to read jwt-providers
* more tests
* service_prefix tests
* Update docs (#17476)
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Add emit_tags_as_labels to envoy bootstrap config when using Consul Telemetry Collector (#17888)
* Fix command from kg to kubectl get (#17903)
* Create and update release notes for 1.16 and 1.2 (#17895)
* update release notes for 1.16 and 1.2
* update latest consul core release
* Propose new changes to APIgw upgrade instructions (#17693)
* Propose new changes to APIgw upgrade instructions
* fix build error
* update callouts to render correctly
* Add hideClipboard to log messages
* Added clarification around consul k8s and crds
* Add workflow to verify linux release packages (#17904)
* adding docker files to verify linux packages.
* add verifr-release-linux.yml
* updating name
* pass inputs directly into jobs
* add other linux package platforms
* remove on push
* fix TARGETARCH on debian and ubuntu so it can check arm64 and amd64
* fixing amazon to use the continue line
* add ubuntu i386
* fix comment lines
* working
* remove commented out workflow jobs
* Apply suggestions from code review
Co-authored-by: Nathan Coleman <nathan.coleman@hashicorp.com>
* update fedora and ubuntu to use latest tag
---------
Co-authored-by: Nathan Coleman <nathan.coleman@hashicorp.com>
* Reference hashicorp/consul instead of consul for Docker image (#17914)
* Reference hashicorp/consul instead of consul for Docker image
* Update Make targets that pull consul directly
* Update Consul K8s Upgrade Doc Updates (#17921)
Updating upgrade procedures to encompass expected errors during upgrade process from v1.13.x to v1.14.x.
* Update sameness-group.mdx (#17915)
* Update create-sameness-groups.mdx (#17927)
* deps: coredns v1.10.1 (#17912)
* Ensure RSA keys are at least 2048 bits in length (#17911)
* Ensure RSA keys are at least 2048 bits in length
* Add changelog
* update key length check for FIPS compliance
* Fix no new variables error and failing to return when error exists from
validating
* clean up code for better readability
* actually return value
* tlsutil: Fix check TLS configuration (#17481)
* tlsutil: Fix check TLS configuration
* Rewording docs.
* Update website/content/docs/services/configuration/checks-configuration-reference.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Fix typos and add changelog entry.
---------
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* docs: Deprecations for connect-native SDK and specific connect native APIs (#17937)
* Update v1_16_x.mdx
* Update connect native golang page
---------
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Revert "Add workflow to verify linux release packages (#17904)" (#17942)
This reverts commit 3368f14fab500ebe9f6aeab5631dd1d5f5a453e5.
* Fixes Secondary ConnectCA update (#17846)
This fixes a bug that was identified which resulted in subsequent
ConnectCA configuration update not to persist in the cluster.
* fixing typo in link to jwt-validations-with-intentions doc (#17955)
* Fix streaming backend link (#17958)
* Fix streaming backend link
* Update health.mdx
* Dynamically create jwks clusters for jwt-providers (#17944)
* website: remove deprecated agent rpc docs (#17962)
* Fix missing BalanceOutboundConnections in v2 catalog. (#17964)
* feature - [NET - 4005] - [Supportability] Reloadable Configuration - enable_debug (#17565)
* # This is a combination of 9 commits.
# This is the 1st commit message:
init without tests
# This is the commit message #2:
change log
# This is the commit message #3:
fix tests
# This is the commit message #4:
fix tests
# This is the commit message #5:
added tests
# This is the commit message #6:
change log breaking change
# This is the commit message #7:
removed breaking change
# This is the commit message #8:
fix test
# This is the commit message #9:
keeping the test behaviour same
* # This is a combination of 12 commits.
# This is the 1st commit message:
init without tests
# This is the commit message #2:
change log
# This is the commit message #3:
fix tests
# This is the commit message #4:
fix tests
# This is the commit message #5:
added tests
# This is the commit message #6:
change log breaking change
# This is the commit message #7:
removed breaking change
# This is the commit message #8:
fix test
# This is the commit message #9:
keeping the test behaviour same
# This is the commit message #10:
made enable debug atomic bool
# This is the commit message #11:
fix lint
# This is the commit message #12:
fix test true enable debug
* parent 10f500e895d92cc3691ade7b74a33db755d22039
author absolutelightning <ashesh.vidyut@hashicorp.com> 1687352587 +0530
committer absolutelightning <ashesh.vidyut@hashicorp.com> 1687352592 +0530
init without tests
change log
fix tests
fix tests
added tests
change log breaking change
removed breaking change
fix test
keeping the test behaviour same
made enable debug atomic bool
fix lint
fix test true enable debug
using enable debug in agent as atomic bool
test fixes
fix tests
fix tests
added update on correct locaiton
fix tests
fix reloadable config enable debug
fix tests
fix init and acl 403
* revert commit
* Fix formatting codeblocks on APIgw docs (#17970)
* fix formatting codeblocks
* remove unnecessary indents
* Remove POC code (#17974)
* update doc (#17910)
* update doc
* update link
* Remove duplicate and unused newDecodeConfigEntry func (#17979)
* docs: samenessGroup YAML examples (#17984)
* configuration entry syntax
* Example config
* Add changelog entry for 1.16.0 (#17987)
* Fix typo (#17198)
servcies => services
* Expose JWKS cluster config through JWTProviderConfigEntry (#17978)
* Expose JWKS cluster config through JWTProviderConfigEntry
* fix typos, rename trustedCa to trustedCA
* Integration test for ext-authz Envoy extension (#17980)
* Fix incorrect protocol for transparent proxy upstreams. (#17894)
This PR fixes a bug that was introduced in:
https://github.com/hashicorp/consul/pull/16021
A user setting a protocol in proxy-defaults would cause tproxy implicit
upstreams to not honor the upstream service's protocol set in its
`ServiceDefaults.Protocol` field, and would instead always use the
proxy-defaults value.
Due to the fact that upstreams configured with "tcp" can successfully contact
upstream "http" services, this issue was not recognized until recently (a
proxy-defaults with "tcp" and a listening service with "http" would make
successful requests, but not the opposite).
As a temporary work-around, users experiencing this issue can explicitly set
the protocol on the `ServiceDefaults.UpstreamConfig.Overrides`, which should
take precedence.
The fix in this PR removes the proxy-defaults protocol from the wildcard
upstream that tproxy uses to configure implicit upstreams. When the protocol
was included, it would always overwrite the value during discovery chain
compilation, which was not correct. The discovery chain compiler also consumes
proxy defaults to determine the protocol, so simply excluding it from the
wildcard upstream config map resolves the issue.
* feat: include nodes count in operator usage endpoint and cli command (#17939)
* feat: update operator usage api endpoint to include nodes count
* feat: update operator usange cli command to includes nodes count
* [OSS] Improve Gateway Test Coverage of Catalog Health (#18011)
* fix(cli): remove failing check from 'connect envoy' registration for api gateway
* test(integration): add tests to check catalog statsus of gateways on startup
* remove extra sleep comment
* Update test/integration/consul-container/libs/assert/service.go
* changelog
* Fixes Traffic rate limitting docs (#17997)
* Fix removed service-to-service peering links (#17221)
* docs: fix removed service-to-service peering links
* docs: extend peering-via-mesh-gateways intro (thanks @trujillo-adam)
---------
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* docs: Sameness "beta" warning (#18017)
* Warning updates
* .x
* updated typo in tab heading (#18022)
* updated typo in tab heading
* updated tab group typo, too
* Document that DNS lookups can target cluster peers (#17990)
Static DNS lookups, in addition to explicitly targeting a datacenter,
can target a cluster peer. This was added in 95dc0c7b301b70a6b955a8b7c9737c9b86f03df6 but didn't make the documentation.
The driving function for the change is `parseLocality` here: https://github.com/hashicorp/consul/blob/0b1299c28d8127129d61310ee4280055298438e0/agent/dns_oss.go#L25
The biggest change in this is to adjust the standard lookup syntax to tie
`.<datacenter>` to `.dc` as required-together, and to append in the similar `.<cluster-peer>.peer` optional argument, both to A record and SRV record lookups.
Co-authored-by: David Yu <dyu@hashicorp.com>
* Add first integration test for jwt auth with intention (#18005)
* fix stand-in text for name field (#18030)
* removed sameness conf entry from failover nav (#18033)
* docs - add service sync annotations and k8s service weight annotation (#18032)
* Docs for https://github.com/hashicorp/consul-k8s/pull/2293
* remove versions for enterprise features since they are old
---------
Co-authored-by: Tu Nguyen <im2nguyen@users.noreply.github.com>
* docs - add jobs use case for service mesh k8s (#18037)
* docs - add jobs use case for service mesh k8s
* add code blocks
* address feedback (#18045)
* Add verify server hostname to tls default (#17155)
* [OSS] Fix initial_fetch_timeout to wait for all xDS resources (#18024)
* fix(connect): set initial_fetch_time to wait indefinitely
* changelog
* PR feedback 1
* ui: fix typos for peer service imports (#17999)
* test: fix FIPS inline cert test message (#18076)
* Fix a couple typos in Agent Telemetry Metrics docs (#18080)
* Fix metrics docs
* Add changelog
Signed-off-by: josh <josh.timmons@hashicorp.com>
---------
Signed-off-by: josh <josh.timmons@hashicorp.com>
* docs updates - cluster peering and virtual services (#18069)
* Update route-to-virtual-services.mdx
* Update establish-peering.mdx
* Update service-mesh-compare.mdx (#17279)
grammar change
* Update helm docs on main (#18085)
* ci: use gotestsum v1.10.1 [NET-4042] (#18088)
* Docs: Update proxy lifecycle annotations and consul-dataplane flags (#18075)
* Update proxy lifecycle annotations and consul-dataplane flags
* Pass configured role name to Vault for AWS auth in Connect CA (#17885)
* Docs for dataplane upgrade on k8s (#18051)
* Docs for dataplane upgrade on k8s
---------
Co-authored-by: David Yu <dyu@hashicorp.com>
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* docs - update upgrade index page to not recommend consul leave. (#18100)
* Displays Consul version of each nodes in UI nodes section (#17754)
* update UINodes and UINodeInfo response with consul-version info added as NodeMeta, fetched from serf members
* update test cases TestUINodes, TestUINodeInfo
* added nil check for map
* add consul-version in local agent node metadata
* get consul version from serf member and add this as node meta in catalog register request
* updated ui mock response to include consul versions as node meta
* updated ui trans and added version as query param to node list route
* updates in ui templates to display consul version with filter and sorts
* updates in ui - model class, serializers,comparators,predicates for consul version feature
* added change log for Consul Version Feature
* updated to get version from consul service, if for some reason not available from serf
* updated changelog text
* updated dependent testcases
* multiselection version filter
* Update agent/consul/state/catalog.go
comments updated
Co-authored-by: Jared Kirschner <85913323+jkirschner-hashicorp@users.noreply.github.com>
---------
Co-authored-by: Jared Kirschner <85913323+jkirschner-hashicorp@users.noreply.github.com>
* api gw 1.16 updates (#18081)
* api gw 1.16 updates
* Apply suggestions from code review
Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com>
* update CodeBlockConfig filename
* Apply suggestions from code review
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com>
* remove non-standard intentions page
* Update website/content/docs/api-gateway/configuration/index.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
---------
Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com>
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* [NET-4103] ci: build s390x (#18067)
* ci: build s390x
* ci: test s390x
* ci: dev build s390x
* no GOOS
* ent only
* build: publish s390x
* fix syntax error
* fix syntax error again
* fix syntax error again x2
* test branch
* Move s390x conditionals to step level
* remove test branch
---------
Co-authored-by: emilymianeil <eneil@hashicorp.com>
* :ermahgerd "Sevice Mesh" -> "Service Mesh" (#18116)
Just a typo in the docs.
* Split pbmesh.UpstreamsConfiguration as a resource out of pbmesh.Upstreams (#17991)
Configuration that previously was inlined into the Upstreams resource
applies to both explicit and implicit upstreams and so it makes sense to
split it out into its own resource.
It also has other minor changes:
- Renames `proxy.proto` proxy_configuration.proto`
- Changes the type of `Upstream.destination_ref` from `pbresource.ID` to
`pbresource.Reference`
- Adds comments to fields that didn't have them
* [NET-4895] ci - api tests and consul container tests error because of dependency bugs with go 1.20.6. Pin go to 1.20.5. (#18124)
### Description
The following jobs started failing when go 1.20.6 was released:
- `go-test-api-1-19`
- `go-test-api-1-20`
- `compatibility-integration-tests`
- `upgrade-integration-tests`
`compatibility-integration-tests` and `compatibility-integration-tests`
to this testcontainers issue:
https://github.com/testcontainers/testcontainers-go/issues/1359. This
issue calls for testcontainers to release a new version when one of
their dependencies is fixed. When that is done, we will unpin the go
versions in `compatibility-integration-tests` and
`compatibility-integration-tests`.
### Testing & Reproduction steps
See these jobs broken in CI and then see them work with this PR.
---------
Co-authored-by: Chris Thain <32781396+cthain@users.noreply.github.com>
* Add ingress gateway deprecation notices to docs (#18102)
### Description
This adds notices, that ingress gateway is deprecated, to several places
in the product docs where ingress gateway is the topic.
### Testing & Reproduction steps
Tested with a local copy of the website.
### Links
Deprecation of ingress gateway was announced in the Release Notes for
Consul 1.16 and Consul-K8s 1.2. See:
[https://developer.hashicorp.com/consul/docs/release-notes/consul/v1_16_x#what-s-deprecated](https://developer.hashicorp.com/consul/docs/release-notes/consul/v1_16_x#what-s-deprecated
)
[https://developer.hashicorp.com/consul/docs/release-notes/consul-k8s/v1_2_x#what-s-deprecated](https://developer.hashicorp.com/consul/docs/release-notes/consul-k8s/v1_2_x#what-s-deprecated)
### PR Checklist
* [N/A] updated test coverage
* [X] external facing docs updated
* [X] appropriate backport labels added
* [X] not a security concern
---------
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Add docs for jwt cluster configuration (#18004)
### Description
<!-- Please describe why you're making this change, in plain English.
-->
- Add jwt-provider docs for jwks cluster configuration. The
configuration was added here:
https://github.com/hashicorp/consul/pull/17978
* Docs: fix unmatched bracket for health checks page (#18134)
* NET-4657/add resource service client (#18053)
### Description
<!-- Please describe why you're making this change, in plain English.
-->
Dan had already started on this
[task](https://github.com/hashicorp/consul/pull/17849) which is needed
to start building the HTTP APIs. This just needed some cleanup to get it
ready for review.
Overview:
- Rename `internalResourceServiceClient` to
`insecureResourceServiceClient` for name consistency
- Configure a `secureResourceServiceClient` with auth enabled
### PR Checklist
* [ ] ~updated test coverage~
* [ ] ~external facing docs updated~
* [x] appropriate backport labels added
* [ ] ~not a security concern~
* Fix bug with Vault CA provider (#18112)
Updating RootPKIPath but not IntermediatePKIPath would not update
leaf signing certs with the new root. Unsure if this happens in practice
but manual testing showed it is a bug that would break mesh and agent
connections once the old root is pruned.
* [NET-4897] net/http host header is now verified and request.host that contains socked now error (#18129)
### Description
This is related to https://github.com/hashicorp/consul/pull/18124 where
we pinned the go versions in CI to 1.20.5 and 1.19.10.
go 1.20.6 and 1.19.11 now validate request host headers for validity,
including the hostname cannot be prefixed with slashes.
For local communications (npipe://, unix://), the hostname is not used,
but we need valid and meaningful hostname. Prior versions go Go would
clean the host header, and strip slashes in the process, but go1.20.6
and go1.19.11 no longer do, and reject the host header. Around the
community we are seeing that others are intercepting the req.host and if
it starts with a slash or ends with .sock, they changing the host to
localhost or another dummy value.
[client: define a "dummy" hostname to use for local connections by
thaJeztah · Pull Request #45942 ·
moby/moby](https://github.com/moby/moby/pull/45942)
### Testing & Reproduction steps
Check CI tests.
### Links
* [ ] updated test coverage
* [ ] external facing docs updated
* [ ] appropriate backport labels added
* [ ] not a security concern
* add a conditional around setting LANFilter.AllSegments to make sure it is valid (#18139)
### Description
This is to correct a code problem because this assumes all segments, but
when you get to Enterprise, you can be in partition that is not the
default partition, in which case specifying all segments does not
validate and fails. This is to correct the setting of this filter with
`AllSegments` to `true` to only occur when in the the `default`
partition.
### Testing & Reproduction steps
<!--
* In the case of bugs, describe how to replicate
* If any manual tests were done, document the steps and the conditions
to replicate
* Call out any important/ relevant unit tests, e2e tests or integration
tests you have added or are adding
-->
### Links
<!--
Include any links here that might be helpful for people reviewing your
PR (Tickets, GH issues, API docs, external benchmarks, tools docs, etc).
If there are none, feel free to delete this section.
Please be mindful not to leak any customer or confidential information.
HashiCorp employees may want to use our internal URL shortener to
obfuscate links.
-->
### PR Checklist
* [ ] updated test coverage
* [ ] external facing docs updated
* [ ] appropriate backport labels added
* [ ] not a security concern
* chore: bump upgrade integrations tests to 1.15, 116 [NET-4743] (#18130)
* re org resource type registry (#18133)
* fix: update delegateMock used in ENT (#18149)
### Description
<!-- Please describe why you're making this change, in plain English.
-->
The mock is used in `http_ent_test` file which caused lint failures. For
OSS->ENT parity adding the same change here.
### Links
<!--
Include any links here that might be helpful for people reviewing your
PR (Tickets, GH issues, API docs, external benchmarks, tools docs, etc).
If there are none, feel free to delete this section.
Please be mindful not to leak any customer or confidential information.
HashiCorp employees may want to use our internal URL shortener to
obfuscate links.
-->
Identified in OSS->ENT [merge
PR](https://github.com/hashicorp/consul-enterprise/pull/6328)
### PR Checklist
* [ ] ~updated test coverage~
* [ ] ~external facing docs updated~
* [x] appropriate backport labels added
* [ ] ~not a security concern~
* Use JWT-auth filter in metadata mode & Delegate validation to RBAC filter (#18062)
### Description
<!-- Please describe why you're making this change, in plain English.
-->
- Currently the jwt-auth filter doesn't take into account the service
identity when validating jwt-auth, it only takes into account the path
and jwt provider during validation. This causes issues when multiple
source intentions restrict access to an endpoint with different JWT
providers.
- To fix these issues, rather than use the JWT auth filter for
validation, we use it in metadata mode and allow it to forward the
successful validated JWT token payload to the RBAC filter which will
make the decisions.
This PR ensures requests with and without JWT tokens successfully go
through the jwt-authn filter. The filter however only forwards the data
for successful/valid tokens. On the RBAC filter level, we check the
payload for claims and token issuer + existing rbac rules.
### Testing & Reproduction steps
<!--
* In the case of bugs, describe how to replicate
* If any manual tests were done, document the steps and the conditions
to replicate
* Call out any important/ relevant unit tests, e2e tests or integration
tests you have added or are adding
-->
- This test covers a multi level jwt requirements (requirements at top
level and permissions level). It also assumes you have envoy running,
you have a redis and a sidecar proxy service registered, and have a way
to generate jwks with jwt. I mostly use:
https://www.scottbrady91.com/tools/jwt for this.
- first write your proxy defaults
```
Kind = "proxy-defaults"
name = "global"
config {
protocol = "http"
}
```
- Create two providers
```
Kind = "jwt-provider"
Name = "auth0"
Issuer = "https://ronald.local"
JSONWebKeySet = {
Local = {
JWKS = "eyJrZXlzIjog....."
}
}
```
```
Kind = "jwt-provider"
Name = "okta"
Issuer = "https://ronald.local"
JSONWebKeySet = {
Local = {
JWKS = "eyJrZXlzIjogW3...."
}
}
```
- add a service intention
```
Kind = "service-intentions"
Name = "redis"
JWT = {
Providers = [
{
Name = "okta"
},
]
}
Sources = [
{
Name = "*"
Permissions = [{
Action = "allow"
HTTP = {
PathPrefix = "/workspace"
}
JWT = {
Providers = [
{
Name = "okta"
VerifyClaims = [
{
Path = ["aud"]
Value = "my_client_app"
},
{
Path = ["sub"]
Value = "5be86359073c434bad2da3932222dabe"
}
]
},
]
}
},
{
Action = "allow"
HTTP = {
PathPrefix = "/"
}
JWT = {
Providers = [
{
Name = "auth0"
},
]
}
}]
}
]
```
- generate 3 jwt tokens: 1 from auth0 jwks, 1 from okta jwks with
different claims than `/workspace` expects and 1 with correct claims
- connect to your envoy (change service and address as needed) to view
logs and potential errors. You can add: `-- --log-level debug` to see
what data is being forwarded
```
consul connect envoy -sidecar-for redis1 -grpc-addr 127.0.0.1:8502
```
- Make the following requests:
```
curl -s -H "Authorization: Bearer $Auth0_TOKEN" --insecure --cert leaf.cert --key leaf.key --cacert connect-ca.pem https://localhost:20000/workspace -v
RBAC filter denied
curl -s -H "Authorization: Bearer $Okta_TOKEN_with_wrong_claims" --insecure --cert leaf.cert --key leaf.key --cacert connect-ca.pem https://localhost:20000/workspace -v
RBAC filter denied
curl -s -H "Authorization: Bearer $Okta_TOKEN_with_correct_claims" --insecure --cert leaf.cert --key leaf.key --cacert connect-ca.pem https://localhost:20000/workspace -v
Successful request
```
### TODO
* [x] Update test coverage
* [ ] update integration tests (follow-up PR)
* [x] appropriate backport labels added
* Support Consul Connect Envoy Command on Windows (#17694)
### Description
Add support for consul connect envoy command on windows. This PR fixes
the comments of PR - https://github.com/hashicorp/consul/pull/15114
### Testing
* Built consul.exe from this branch on windows and hosted here - [AWS
S3](https://asheshvidyut-bucket.s3.ap-southeast-2.amazonaws.com/consul.zip)
* Updated the
[tutorial](https://developer.hashicorp.com/consul/tutorials/developer-mesh/consul-windows-workloads)
and changed the `consul_url.default` value to [AWS
S3](https://asheshvidyut-bucket.s3.ap-southeast-2.amazonaws.com/consul.zip)
* Followed the steps in the tutorial and verified that everything is
working as described.
### PR Checklist
* [x] updated test coverage
* [ ] external facing docs updated
* [x] appropriate backport labels added
* [x] not a security concern
---------
Co-authored-by: Franco Bruno Lavayen <cocolavayen@gmail.com>
Co-authored-by: Jose Ignacio Lorenzo <74208929+joselo85@users.noreply.github.com>
Co-authored-by: Jose Ignacio Lorenzo <joseignaciolorenzo85@gmail.com>
Co-authored-by: Dhia Ayachi <dhia@hashicorp.com>
* Change docs to say 168h instead of 7d for server_rejoin_age_max (#18154)
### Description
Addresses
https://github.com/hashicorp/consul/pull/17171#issuecomment-1636930705
* [OSS] test: improve xDS listener code coverage (#18138)
test: improve xDS listener code coverage
* Re-order expected/actual for assertContainerState in consul container tests (#18157)
Re-order expected/actual, consul container tests
* group and document make file (#17943)
* group and document make file
* Add `testing/deployer` (neé `consul-topology`) [NET-4610] (#17823)
Co-authored-by: R.B. Boyer <4903+rboyer@users.noreply.github.com>
Co-authored-by: R.B. Boyer <rb@hashicorp.com>
Co-authored-by: Freddy <freddygv@users.noreply.github.com>
* [NET-4792] Add integrations tests for jwt-auth (#18169)
* Add FIPS reference to consul enterprise docs (#18028)
* Add FIPS reference to consul enterprise docs
* Update website/content/docs/enterprise/index.mdx
Co-authored-by: David Yu <dyu@hashicorp.com>
* remove support for ecs client (fips)
---------
Co-authored-by: David Yu <dyu@hashicorp.com>
* add peering_commontopo tests [NET-3700] (#17951)
Co-authored-by: R.B. Boyer <4903+rboyer@users.noreply.github.com>
Co-authored-by: R.B. Boyer <rb@hashicorp.com>
Co-authored-by: Freddy <freddygv@users.noreply.github.com>
Co-authored-by: NiniOak <anita.akaeze@hashicorp.com>
* docs - remove Sentinel from enterprise features list (#18176)
* Update index.mdx
* Update kv.mdx
* Update docs-nav-data.json
* delete sentinel.mdx
* Update redirects.js
---------
Co-authored-by: Tu Nguyen <im2nguyen@users.noreply.github.com>
* [NET-4865] Bump golang.org/x/net to 0.12.0 (#18186)
Bump golang.org/x/net to 0.12.0
While not necessary to directly address CVE-2023-29406 (which should be
handled by using a patched version of Go when building), an
accompanying change to HTTP/2 error handling does impact agent code.
See https://go-review.googlesource.com/c/net/+/506995 for the HTTP/2
change.
Bump this dependency across our submodules as well for the sake of
potential indirect consumers of `x/net/http`.
* Call resource mutate hook before validate hook (NET-4907) (#18178)
* [NET-4865] security: Update Go version to 1.20.6 (#18190)
Update Go version to 1.20.6
This resolves [CVE-2023-29406]
(https://nvd.nist.gov/vuln/detail/CVE-2023-29406) for uses of the
`net/http` standard library.
Note that until the follow-up to #18124 is done, the version of Go used
in those impacted tests will need to remain on 1.20.5.
* Improve XDS test coverage: JWT auth edition (#18183)
* Improve XDS test coverage: JWT auth edition
more tests
* test: xds coverage for jwt listeners
---------
Co-authored-by: DanStough <dan.stough@hashicorp.com>
* update readme.md (#18191)
u[date readme.md
* Update submodules to latest following 1.16.0 (#18197)
Align all our internal use of submodules on the latest versions.
* SEC-090: Automated trusted workflow pinning (2023-07-18) (#18174)
Result of tsccr-helper -log-level=info -pin-all-workflows .
Co-authored-by: hashicorp-tsccr[bot] <hashicorp-tsccr[bot]@users.noreply.github.com>
* Fix Backport Assistant PR commenting (#18200)
* Fix Backport Assistant failure PR commenting
For general comments on a PR, it looks like you have to use the `/issue`
endpoint rather than `/pulls`, which requires commit/other
review-specific target details.
This matches the endpoint used in `backport-reminder.yml`.
* Remove Backport Reminder workflow
This is noisy (even when adding multiple labels, individual comments per
label are generated), and likely no longer needed: we haven't had this
work in a long time due to an expired GH token, and we now have better
automation for backport PR assignment.
* resource: Pass resource to Write ACL hook instead of just resource Id [NET-4908] (#18192)
* Explicitly enable WebSocket upgrades (#18150)
This PR explicitly enables WebSocket upgrades in Envoy's UpgradeConfig for all
proxy types. (API Gateway, Ingress, and Sidecar.)
Fixes #8283
* docs: fix the description of client rpc (#18206)
* NET-4804: Add dashboard for monitoring consul-k8s (#18208)
* [OSS] Improve xDS Code Coverage - Clusters (#18165)
test: improve xDS cluster code coverage
* NET-4222 take config file consul container (#18218)
Net 4222 take config file consul container
* Envoy Integration Test Windows (#18007)
* [CONSUL-395] Update check_hostport and Usage (#40)
* [CONSUL-397] Copy envoy binary from Image (#41)
* [CONSUL-382] Support openssl in unique test dockerfile (#43)
* [CONSUL-405] Add bats to single container (#44)
* [CONSUL-414] Run Prometheus Test Cases and Validate Changes (#46)
* [CONSUL-410] Run Jaeger in Single container (#45)
* [CONSUL-412] Run test-sds-server in single container (#48)
* [CONSUL-408] Clean containers (#47)
* [CONSUL-384] Rebase and sync fork (#50)
* [CONSUL-415] Create Scenarios Troubleshooting Docs (#49)
* [CONSUL-417] Update Docs Single Container (#51)
* [CONSUL-428] Add Socat to single container (#54)
* [CONSUL-424] Replace pkill in kill_envoy function (#52)
* [CONSUL-434] Modify Docker run functions in Helper script (#53)
* [CONSUL-435] Replace docker run in set_ttl_check_state & wait_for_agent_service_register functions (#55)
* [CONSUL-438] Add netcat (nc) in the Single container Dockerfile (#56)
* [CONSUL-429] Replace Docker run with Docker exec (#57)
* [CONSUL-436] Curl timeout and run tests (#58)
* [CONSUL-443] Create dogstatsd Function (#59)
* [CONSUL-431] Update Docs Netcat (#60)
* [CONSUL-439] Parse nc Command in function (#61)
* [CONSUL-463] Review curl Exec and get_ca_root Func (#63)
* [CONSUL-453] Docker hostname in Helper functions (#64)
* [CONSUL-461] Test wipe volumes without extra cont (#66)
* [CONSUL-454] Check ports in the Server and Agent containers (#65)
* [CONSUL-441] Update windows dockerfile with version (#62)
* [CONSUL-466] Review case-grpc Failing Test (#67)
* [CONSUL-494] Review case-cfg-resolver-svc-failover (#68)
* [CONSUL-496] Replace docker_wget & docker_curl (#69)
* [CONSUL-499] Cleanup Scripts - Remove nanoserver (#70)
* [CONSUL-500] Update Troubleshooting Docs (#72)
* [CONSUL-502] Pull & Tag Envoy Windows Image (#73)
* [CONSUL-504] Replace docker run in docker_consul (#76)
* [CONSUL-505] Change admin_bind
* [CONSUL-399] Update envoy to 1.23.1 (#78)
* [CONSUL-510] Support case-wanfed-gw on Windows (#79)
* [CONSUL-506] Update troubleshooting Documentation (#80)
* [CONSUL-512] Review debug_dump_volumes Function (#81)
* [CONSUL-514] Add zipkin to Docker Image (#82)
* [CONSUL-515] Update Documentation (#83)
* [CONSUL-529] Support case-consul-exec (#86)
* [CONSUL-530] Update Documentation (#87)
* [CONSUL-530] Update default consul version 1.13.3
* [CONSUL-539] Cleanup (#91)
* [CONSUL-546] Scripts Clean-up (#92)
* [CONSUL-491] Support admin_access_log_path value for Windows (#71)
* [CONSUL-519] Implement mkfifo Alternative (#84)
* [CONSUL-542] Create OS Specific Files for Envoy Package (#88)
* [CONSUL-543] Create exec_supported.go (#89)
* [CONSUL-544] Test and Build Changes (#90)
* Implement os.DevNull
* using mmap instead of disk files
* fix import in exec-unix
* fix nmap open too many arguemtn
* go fmt on file
* changelog file
* fix go mod
* Update .changelog/17694.txt
Co-authored-by: Dhia Ayachi <dhia@hashicorp.com>
* different mmap library
* fix bootstrap json
* some fixes
* chocolatey version fix and image fix
* using different library
* fix Map funciton call
* fix mmap call
* fix tcp dump
* fix tcp dump
* windows tcp dump
* Fix docker run
* fix tests
* fix go mod
* fix version 16.0
* fix version
* fix version dev
* sleep to debug
* fix sleep
* fix permission issue
* fix permission issue
* fix permission issue
* fix command
* fix command
* fix funciton
* fix assert config entry status command not found
* fix command not found assert_cert_has_cn
* fix command not found assert_upstream_missing
* fix command not found assert_upstream_missing_once
* fix command not found get_upstream_endpoint
* fix command not found get_envoy_public_listener_once
* fix command not found
* fix test cases
* windows integration test workflow github
* made code similar to unix using npipe
* fix go.mod
* fix dialing of npipe
* dont wait
* check size of written json
* fix undefined n
* running
* fix dep
* fix syntax error
* fix workflow file
* windows runner
* fix runner
* fix from json
* fix runs on
* merge connect envoy
* fix cin path
* build
* fix file name
* fix file name
* fix dev build
* remove unwanted code
* fix upload
* fix bin name
* fix path
* checkout current branch
* fix path
* fix tests
* fix shell bash for windows sh files
* fix permission of run-test.sh
* removed docker dev
* added shell bash for tests
* fix tag
* fix win=true
* fix cd
* added dev
* fix variable undefined
* removed failing tests
* fix tcp dump image
* fix curl
* fix curl
* tcp dump path
* fix tcpdump path
* fix curl
* fix curl install
* stop removing intermediate containers
* fix tcpdump docker image
* revert -rm
* --rm=false
* makeing docker image before
* fix tcpdump
* removed case consul exec
* removed terminating gateway simple
* comment case wasm
* removed data dog
* comment out upload coverage
* uncomment case-consul-exec
* comment case consul exec
* if always
* logs
* using consul 1.17.0
* fix quotes
* revert quotes
* redirect to dev null
* Revert version
* revert consul connect
* fix version
* removed envoy connect
* not using function
* change log
* docker logs
* fix logs
* restructure bad authz
* rmeoved dev null
* output
* fix file descriptor
* fix cacert
* fix cacert
* fix ca cert
* cacert does not work in windows curl
* fix func
* removed docker logs
* added sleep
* fix tls
* commented case-consul-exec
* removed echo
* retry docker consul
* fix upload bin
* uncomment consul exec
* copying consul.exe to docker image
* copy fix
* fix paths
* fix path
* github workspace path
* latest version
* Revert "latest version"
This reverts commit 5a7d7b82d9e7553bcb01b02557ec8969f9deba1d.
* commented consul exec
* added ssl revoke best effort
* revert best effort
* removed unused files
* rename var name and change dir
* windows runner
* permission
* needs setup fix
* swtich to github runner
* fix file path
* fix path
* fix path
* fix path
* fix path
* fix path
* fix build paths
* fix tag
* nightly runs
* added matrix in github workflow, renamed files
* fix job
* fix matrix
* removed brackes
* from json
* without using job matrix
* fix quotes
* revert job matrix
* fix workflow
* fix comment
* added comment
* nightly runs
* removed datadog ci as it is already measured in linux one
* running test
* Revert "running test"
This reverts commit 7013d15a23732179d18ec5d17336e16b26fab5d4.
* pr comment fixes
* running test now
* running subset of test
* running subset of test
* job matrix
* shell bash
* removed bash shell
* linux machine for job matrix
* fix output
* added cat to debug
* using ubuntu latest
* fix job matrix
* fix win true
* fix go test
* revert job matrix
---------
Co-authored-by: Jose Ignacio Lorenzo <74208929+joselo85@users.noreply.github.com>
Co-authored-by: Franco Bruno Lavayen <cocolavayen@gmail.com>
Co-authored-by: Ivan K Berlot <ivanberlot@gmail.com>
Co-authored-by: Ezequiel Fernández Ponce <20102608+ezfepo@users.noreply.github.com>
Co-authored-by: joselo85 <joseignaciolorenzo85@gmail.com>
Co-authored-by: Ezequiel Fernández Ponce <ezequiel.fernandez@southworks.com>
Co-authored-by: Dhia Ayachi <dhia@hashicorp.com>
* fix typos and update ecs compat table (#18215)
* fix typos and update ecs compat table
* real info for the ecs compat matrix table
* Update website/content/docs/ecs/compatibility.mdx
Co-authored-by: Chris Thain <32781396+cthain@users.noreply.github.com>
---------
Co-authored-by: Chris Thain <32781396+cthain@users.noreply.github.com>
* [OSS] proxystate: add proxystate protos (#18216)
* proxystate: add proxystate protos to pbmesh and resolve imports and conflicts between message names
* ci: don't verify s390x (#18224)
* [CC-5718] Remove HCP token requirement during bootstrap (#18140)
* [CC-5718] Remove HCP token requirement during bootstrap
* Re-add error for loading HCP management token
* Remove old comment
* Add changelog entry
* Remove extra validation line
* Apply suggestions from code review
Co-authored-by: lornasong <lornasong@users.noreply.github.com>
---------
Co-authored-by: lornasong <lornasong@users.noreply.github.com>
* [NET-4122] Doc guidance for federation with externalServers (#18207)
Doc guidance for federation with externalServers
Add guidance for proper configuration when joining to a secondary
cluster using WAN fed with external servers also enabled.
Also clarify federation requirements and fix formatting for an
unrelated value.
Update both the Helm chart reference (synced from `consul-k8s`, see
hashicorp/consul-k8s#2583) and the docs on using `externalServers`.
* [OSS] Improve xDS Code Coverage - Endpoints and Misc (#18222)
test: improve xDS endpoints code coverage
* Clarify license reporting timing and GDPR compliance (#18237)
Add Alicia's edits to clarify log timing and other details
* Fix Github Workflow File (#18241)
* [CONSUL-382] Support openssl in unique test dockerfile (#43)
* [CONSUL-405] Add bats to single container (#44)
* [CONSUL-414] Run Prometheus Test Cases and Validate Changes (#46)
* [CONSUL-410] Run Jaeger in Single container (#45)
* [CONSUL-412] Run test-sds-server in single container (#48)
* [CONSUL-408] Clean containers (#47)
* [CONSUL-384] Rebase and sync fork (#50)
* [CONSUL-415] Create Scenarios Troubleshooting Docs (#49)
* [CONSUL-417] Update Docs Single Container (#51)
* [CONSUL-428] Add Socat to single container (#54)
* [CONSUL-424] Replace pkill in kill_envoy function (#52)
* [CONSUL-434] Modify Docker run functions in Helper script (#53)
* [CONSUL-435] Replace docker run in set_ttl_check_state & wait_for_agent_service_register functions (#55)
* [CONSUL-438] Add netcat (nc) in the Single container Dockerfile (#56)
* [CONSUL-429] Replace Docker run with Docker exec (#57)
* [CONSUL-436] Curl timeout and run tests (#58)
* [CONSUL-443] Create dogstatsd Function (#59)
* [CONSUL-431] Update Docs Netcat (#60)
* [CONSUL-439] Parse nc Command in function (#61)
* [CONSUL-463] Review curl Exec and get_ca_root Func (#63)
* [CONSUL-453] Docker hostname in Helper functions (#64)
* [CONSUL-461] Test wipe volumes without extra cont (#66)
* [CONSUL-454] Check ports in the Server and Agent containers (#65)
* [CONSUL-441] Update windows dockerfile with version (#62)
* [CONSUL-466] Review case-grpc Failing Test (#67)
* [CONSUL-494] Review case-cfg-resolver-svc-failover (#68)
* [CONSUL-496] Replace docker_wget & docker_curl (#69)
* [CONSUL-499] Cleanup Scripts - Remove nanoserver (#70)
* [CONSUL-500] Update Troubleshooting Docs (#72)
* [CONSUL-502] Pull & Tag Envoy Windows Image (#73)
* [CONSUL-504] Replace docker run in docker_consul (#76)
* [CONSUL-505] Change admin_bind
* [CONSUL-399] Update envoy to 1.23.1 (#78)
* [CONSUL-510] Support case-wanfed-gw on Windows (#79)
* [CONSUL-506] Update troubleshooting Documentation (#80)
* [CONSUL-512] Review debug_dump_volumes Function (#81)
* [CONSUL-514] Add zipkin to Docker Image (#82)
* [CONSUL-515] Update Documentation (#83)
* [CONSUL-529] Support case-consul-exec (#86)
* [CONSUL-530] Update Documentation (#87)
* [CONSUL-530] Update default consul version 1.13.3
* [CONSUL-539] Cleanup (#91)
* [CONSUL-546] Scripts Clean-up (#92)
* [CONSUL-491] Support admin_access_log_path value for Windows (#71)
* [CONSUL-519] Implement mkfifo Alternative (#84)
* [CONSUL-542] Create OS Specific Files for Envoy Package (#88)
* [CONSUL-543] Create exec_supported.go (#89)
* [CONSUL-544] Test and Build Changes (#90)
* Implement os.DevNull
* using mmap instead of disk files
* fix import in exec-unix
* fix nmap open too many arguemtn
* go fmt on file
* changelog file
* fix go mod
* Update .changelog/17694.txt
Co-authored-by: Dhia Ayachi <dhia@hashicorp.com>
* different mmap library
* fix bootstrap json
* some fixes
* chocolatey version fix and image fix
* using different library
* fix Map funciton call
* fix mmap call
* fix tcp dump
* fix tcp dump
* windows tcp dump
* Fix docker run
* fix tests
* fix go mod
* fix version 16.0
* fix version
* fix version dev
* sleep to debug
* fix sleep
* fix permission issue
* fix permission issue
* fix permission issue
* fix command
* fix command
* fix funciton
* fix assert config entry status command not found
* fix command not found assert_cert_has_cn
* fix command not found assert_upstream_missing
* fix command not found assert_upstream_missing_once
* fix command not found get_upstream_endpoint
* fix command not found get_envoy_public_listener_once
* fix command not found
* fix test cases
* windows integration test workflow github
* made code similar to unix using npipe
* fix go.mod
* fix dialing of npipe
* dont wait
* check size of written json
* fix undefined n
* running
* fix dep
* fix syntax error
* fix workflow file
* windows runner
* fix runner
* fix from json
* fix runs on
* merge connect envoy
* fix cin path
* build
* fix file name
* fix file name
* fix dev build
* remove unwanted code
* fix upload
* fix bin name
* fix path
* checkout current branch
* fix path
* fix tests
* fix shell bash for windows sh files
* fix permission of run-test.sh
* removed docker dev
* added shell bash for tests
* fix tag
* fix win=true
* fix cd
* added dev
* fix variable undefined
* removed failing tests
* fix tcp dump image
* fix curl
* fix curl
* tcp dump path
* fix tcpdump path
* fix curl
* fix curl install
* stop removing intermediate containers
* fix tcpdump docker image
* revert -rm
* --rm=false
* makeing docker image before
* fix tcpdump
* removed case consul exec
* removed terminating gateway simple
* comment case wasm
* removed data dog
* comment out upload coverage
* uncomment case-consul-exec
* comment case consul exec
* if always
* logs
* using consul 1.17.0
* fix quotes
* revert quotes
* redirect to dev null
* Revert version
* revert consul connect
* fix version
* removed envoy connect
* not using function
* change log
* docker logs
* fix logs
* restructure bad authz
* rmeoved dev null
* output
* fix file descriptor
* fix cacert
* fix cacert
* fix ca cert
* cacert does not work in windows curl
* fix func
* removed docker logs
* added sleep
* fix tls
* commented case-consul-exec
* removed echo
* retry docker consul
* fix upload bin
* uncomment consul exec
* copying consul.exe to docker image
* copy fix
* fix paths
* fix path
* github workspace path
* latest version
* Revert "latest version"
This reverts commit 5a7d7b82d9e7553bcb01b02557ec8969f9deba1d.
* commented consul exec
* added ssl revoke best effort
* revert best effort
* removed unused files
* rename var name and change dir
* windows runner
* permission
* needs setup fix
* swtich to github runner
* fix file path
* fix path
* fix path
* fix path
* fix path
* fix path
* fix build paths
* fix tag
* nightly runs
* added matrix in github workflow, renamed files
* fix job
* fix matrix
* removed brackes
* from json
* without using job matrix
* fix quotes
* revert job matrix
* fix workflow
* fix comment
* added comment
* nightly runs
* removed datadog ci as it is already measured in linux one
* running test
* Revert "running test"
This reverts commit 7013d15a23732179d18ec5d17336e16b26fab5d4.
* pr comment fixes
* running test now
* running subset of test
* running subset of test
* job matrix
* shell bash
* removed bash shell
* linux machine for job matrix
* fix output
* added cat to debug
* using ubuntu latest
* fix job matrix
* fix win true
* fix go test
* revert job matrix
* Fix tests
---------
Co-authored-by: Ivan K Berlot <ivanberlot@gmail.com>
Co-authored-by: Jose Ignacio Lorenzo <74208929+joselo85@users.noreply.github.com>
Co-authored-by: Franco Bruno Lavayen <cocolavayen@gmail.com>
Co-authored-by: Ezequiel Fernández Ponce <20102608+ezfepo@users.noreply.github.com>
Co-authored-by: joselo85 <joseignaciolorenzo85@gmail.com>
Co-authored-by: Ezequiel Fernández Ponce <ezequiel.fernandez@southworks.com>
Co-authored-by: Dhia Ayachi <dhia@hashicorp.com>
* NET-4996 - filter go-tests and test-integration workflows from running on docs only and ui only changes (#18236)
* Align build arch matrix with enterprise (#18235)
Ensure that OSS remains in sync w/ Enterprise by aligning the format of
arch matrix args for various build jobs.
* Revert "NET-4996 - filter go-tests and test-integration workflows from running on docs only and ui only changes" (#18248)
Revert "NET-4996 - filter go-tests and test-integration workflows from running on docs only and ui only changes (#18236)"
This reverts commit a11dba710e6ce6f172c0fa6c9b61567cc1efffc8.
* resource: Add scope to resource type registration [NET-4976] (#18214)
Enables querying a resource type's registration to determine if a resource is cluster, partition, or partition and namespace scoped.
* Fix some inconsistencies in jwt docs (#18234)
* NET-1825: More new ACL token creation docs (#18063)
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* [CC-5719] Add support for builtin global-read-only policy
* Add changelog
* Add read-only to docs
* Fix some minor issues.
* Change from ReplaceAll to Sprintf
* Change IsValidPolicy name to return an error instead of bool
* Fix PolicyList test
* Fix other tests
* Apply suggestions from code review
Co-authored-by: Paul Glass <pglass@hashicorp.com>
* Fix state store test for policy list.
* Fix naming issues
* Update acl/validation.go
Co-authored-by: Chris Thain <32781396+cthain@users.noreply.github.com>
* backport of commit d63fa5481dc02c6faae7cc2647b4073b3286af1d
* backport of commit 3d099a6ed8ed10b6dc464c466cb1668914db8f08
---------
Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: Dan Bond <danbond@protonmail.com>
Signed-off-by: josh <josh.timmons@hashicorp.com>
Co-authored-by: Michael Zalimeni <michael.zalimeni@hashicorp.com>
Co-authored-by: Ronald <roncodingenthusiast@users.noreply.github.com>
Co-authored-by: Eric Haberkorn <erichaberkorn@gmail.com>
Co-authored-by: Andrew Stucki <andrew.stucki@hashicorp.com>
Co-authored-by: Luke Kysow <1034429+lkysow@users.noreply.github.com>
Co-authored-by: R.B. Boyer <4903+rboyer@users.noreply.github.com>
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com>
Co-authored-by: David Yu <dyu@hashicorp.com>
Co-authored-by: Bryce Kalow <bkalow@hashicorp.com>
Co-authored-by: Paul Glass <pglass@hashicorp.com>
Co-authored-by: Matt Keeler <mkeeler@users.noreply.github.com>
Co-authored-by: Nathan Coleman <nathan.coleman@hashicorp.com>
Co-authored-by: Poonam Jadhav <poonam.jadhav@hashicorp.com>
Co-authored-by: Tu Nguyen <im2nguyen@users.noreply.github.com>
Co-authored-by: Chris Thain <32781396+cthain@users.noreply.github.com>
Co-authored-by: Hariram Sankaran <56744845+ramramhariram@users.noreply.github.com>
Co-authored-by: shanafarkas <105076572+shanafarkas@users.noreply.github.com>
Co-authored-by: Thomas Eckert <teckert@hashicorp.com>
Co-authored-by: Jeff Apple <79924108+Jeff-Apple@users.noreply.github.com>
Co-authored-by: Joshua Timmons <josh.timmons@hashicorp.com>
Co-authored-by: Ashesh Vidyut <134911583+absolutelightning@users.noreply.github.com>
Co-authored-by: Dan Stough <dan.stough@hashicorp.com>
Co-authored-by: Curt Bushko <cbushko@gmail.com>
Co-authored-by: Tobias Birkefeld <t@craxs.de>
Co-authored-by: Jared Kirschner <85913323+jkirschner-hashicorp@users.noreply.github.com>
Co-authored-by: Semir Patel <semir.patel@hashicorp.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: chappie <6537530+chapmanc@users.noreply.github.com>
Co-authored-by: Derek Menteer <105233703+hashi-derek@users.noreply.github.com>
Co-authored-by: John Murret <john.murret@hashicorp.com>
Co-authored-by: Mark Campbell-Vincent <mnmvincent@gmail.com>
Co-authored-by: Daniel Upton <daniel@floppy.co>
Co-authored-by: Steven Zamborsky <97125550+stevenzamborsky@users.noreply.github.com>
Co-authored-by: George Bolo <george.bolo@gmail.com>
Co-authored-by: Chris S. Kim <ckim@hashicorp.com>
Co-authored-by: wangxinyi7 <121973291+wangxinyi7@users.noreply.github.com>
Co-authored-by: cskh <hui.kang@hashicorp.com>
Co-authored-by: V. K <cn007b@gmail.com>
Co-authored-by: Iryna Shustava <ishustava@users.noreply.github.com>
Co-authored-by: Alex Simenduev <shamil.si@gmail.com>
Co-authored-by: Dhia Ayachi <dhia@hashicorp.com>
Co-authored-by: Dan Bond <danbond@protonmail.com>
Co-authored-by: sarahalsmiller <100602640+sarahalsmiller@users.noreply.github.com>
Co-authored-by: Gerard Nguyen <gerard@hashicorp.com>
Co-authored-by: mr-miles <miles.waller@gmail.com>
Co-authored-by: natemollica-dev <57850649+natemollica-nm@users.noreply.github.com>
Co-authored-by: John Maguire <john.maguire@hashicorp.com>
Co-authored-by: Samantha <hello@entropy.cat>
Co-authored-by: Ranjandas <thejranjan@gmail.com>
Co-authored-by: Evan Phoenix <evan@phx.io>
Co-authored-by: Michael Hofer <karras@users.noreply.github.com>
Co-authored-by: J.C. Jones <james.jc.jones@gmail.com>
Co-authored-by: Fulvio <fulviodenza823@gmail.com>
Co-authored-by: Krastin Krastev <krastin@hashicorp.com>
Co-authored-by: david3a <49253132+david3a@users.noreply.github.com>
Co-authored-by: Nick Irvine <115657443+nfi-hashicorp@users.noreply.github.com>
Co-authored-by: Tom Davies <tom@t-davies.com>
Co-authored-by: Vijay <vijayraghav22@gmail.com>
Co-authored-by: Eddie Rowe <74205376+eddie-rowe@users.noreply.github.com>
Co-authored-by: emilymianeil <eneil@hashicorp.com>
Co-authored-by: nv-hashi <80716011+nv-hashi@users.noreply.github.com>
Co-authored-by: Franco Bruno Lavayen <cocolavayen@gmail.com>
Co-authored-by: Jose Ignacio Lorenzo <74208929+joselo85@users.noreply.github.com>
Co-authored-by: Jose Ignacio Lorenzo <joseignaciolorenzo85@gmail.com>
Co-authored-by: R.B. Boyer <rb@hashicorp.com>
Co-authored-by: Freddy <freddygv@users.noreply.github.com>
Co-authored-by: NiniOak <anita.akaeze@hashicorp.com>
Co-authored-by: hashicorp-tsccr[bot] <129506189+hashicorp-tsccr[bot]@users.noreply.github.com>
Co-authored-by: hashicorp-tsccr[bot] <hashicorp-tsccr[bot]@users.noreply.github.com>
Co-authored-by: Blake Covarrubias <blake@covarrubi.as>
Co-authored-by: Ivan K Berlot <ivanberlot@gmail.com>
Co-authored-by: Ezequiel Fernández Ponce <20102608+ezfepo@users.noreply.github.com>
Co-authored-by: Ezequiel Fernández Ponce <ezequiel.fernandez@southworks.com>
Co-authored-by: Nitya Dhanushkodi <nitya@hashicorp.com>
Co-authored-by: Jeremy Jacobson <jjacobson93@users.noreply.github.com>
Co-authored-by: lornasong <lornasong@users.noreply.github.com>
Co-authored-by: Judith Malnick <judith@hashicorp.com>
Co-authored-by: Jeremy Jacobson <jeremy.jacobson@hashicorp.com>
2023-08-01 17:37:13 +00:00
|
|
|
policy = "%[1]s"
|
2018-10-19 16:04:07 +00:00
|
|
|
}
|
|
|
|
event_prefix "" {
|
Backport of [CC-5719] Add support for builtin global-read-only policy into release/1.16.x (#18345)
* [OSS] Post Consul 1.16 updates (#17606)
* chore: update dev build to 1.17
* chore(ci): add nightly 1.16 test
Drop the oldest and add the newest running release branch to nightly
builds.
* Add writeAuditRPCEvent to agent_oss (#17607)
* Add writeAuditRPCEvent to agent_oss
* fix the other diffs
* backport change log
* Add Envoy and Consul version constraints to Envoy extensions (#17612)
* [API Gateway] Fix trust domain for external peered services in synthesis code (#17609)
* [API Gateway] Fix trust domain for external peered services in synthesis code
* Add changelog
* backport ent changes to oss (#17614)
* backport ent changes to oss
* Update .changelog/_5669.txt
Co-authored-by: Michael Zalimeni <michael.zalimeni@hashicorp.com>
---------
Co-authored-by: Michael Zalimeni <michael.zalimeni@hashicorp.com>
* Update intentions.mdx (#17619)
Make behaviour of L7 intentions clearer
* enterprise changelog update for audit (#17625)
* Update list of Envoy versions (#17546)
* [API Gateway] Fix rate limiting for API gateways (#17631)
* [API Gateway] Fix rate limiting for API gateways
* Add changelog
* Fix failing unit tests
* Fix operator usage tests for api package
* sort some imports that are wonky between oss and ent (#17637)
* PmTLS and tproxy improvements with failover and L7 traffic mgmt for k8s (#17624)
* porting over changes from enterprise repo to oss
* applied feedback on service mesh for k8s overview
* fixed typo
* removed ent-only build script file
* Apply suggestions from code review
Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com>
* Apply suggestions from code review
Co-authored-by: David Yu <dyu@hashicorp.com>
Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com>
---------
Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com>
Co-authored-by: David Yu <dyu@hashicorp.com>
* Delete check-legacy-links-format.yml (#17647)
* docs: Reference doc updates for permissive mTLS settings (#17371)
* Reference doc updates for permissive mTLS settings
* Document config entry filtering
* Fix minor doc errors (double slashes in link url paths)
---------
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Add generic experiments configuration and use it to enable catalog v2 resources (#17604)
* Add generic experiments configuration and use it to enable catalog v2 resources
* Run formatting with -s as CI will validate that this has been done
* api-gateway: stop adding all header filters to virtual host when generating xDS (#17644)
* Add header filter to api-gateway xDS golden test
* Stop adding all header filters to virtual host when generating xDS for api-gateway
* Regenerate xDS golden file for api-gateway w/ header filter
* fix: add agent info reporting log (#17654)
* Add new Consul 1.16 docs (#17651)
* Merge pull request #5773 from hashicorp/docs/rate-limiting-from-ip-addresses-1.16
updated docs for rate limiting for IP addresses - 1.16
* Merge pull request #5609 from hashicorp/docs/enterprise-utilization-reporting
Add docs for enterprise utilization reporting
* Merge pull request #5734 from hashicorp/docs/envoy-ext-1.16
Docs/envoy ext 1.16
* Merge pull request #5773 from hashicorp/docs/rate-limiting-from-ip-addresses-1.16
updated docs for rate limiting for IP addresses - 1.16
* Merge pull request #5609 from hashicorp/docs/enterprise-utilization-reporting
Add docs for enterprise utilization reporting
* Merge pull request #5734 from hashicorp/docs/envoy-ext-1.16
Docs/envoy ext 1.16
* fix build errors
---------
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Default `ProxyType` for builtin extensions (#17657)
* Post 1.16.0-rc1 updates (#17663)
- Update changelog to include new entries from release
- Update submodule versions to latest published
* Update service-defaults.mdx (#17656)
* docs: Sameness Groups (#17628)
* port from enterprise branch
* Apply suggestions from code review
Co-authored-by: shanafarkas <105076572+shanafarkas@users.noreply.github.com>
* Update website/content/docs/connect/cluster-peering/usage/create-sameness-groups.mdx
* next steps
* Update website/content/docs/connect/cluster-peering/usage/create-sameness-groups.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Update website/content/docs/k8s/connect/cluster-peering/usage/create-sameness-groups.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
---------
Co-authored-by: shanafarkas <105076572+shanafarkas@users.noreply.github.com>
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Remove "BETA" marker from config entries (#17670)
* CAPIgw for K8s installation updates for 1.16 (#17627)
* trimmed CRD step and reqs from installation
* updated tech specs
* Apply suggestions from code review
Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com>
Co-authored-by: Jeff Apple <79924108+Jeff-Apple@users.noreply.github.com>
* added upgrade instruction
* removed tcp port req
* described downtime and DT-less upgrades
* applied additional review feedback
---------
Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com>
Co-authored-by: Jeff Apple <79924108+Jeff-Apple@users.noreply.github.com>
* additional feedback on API gateway upgrades (#17677)
* additional feedback
* Update website/content/docs/api-gateway/upgrades.mdx
Co-authored-by: Jeff Apple <79924108+Jeff-Apple@users.noreply.github.com>
---------
Co-authored-by: Jeff Apple <79924108+Jeff-Apple@users.noreply.github.com>
* docs: JWT Authorization for intentions (#17643)
* Initial page/nav creation
* configuration entry reference page
* Usage + fixes
* service intentions page
* usage
* description
* config entry updates
* formatting fixes
* Update website/content/docs/connect/config-entries/service-intentions.mdx
Co-authored-by: Paul Glass <pglass@hashicorp.com>
* service intentions review fixes
* Overview page review fixes
* Apply suggestions from code review
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
---------
Co-authored-by: Paul Glass <pglass@hashicorp.com>
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* docs: minor fixes to JWT auth docs (#17680)
* Fixes
* service intentions fixes
* Fix two WAL metrics in docs/agent/telemetry.mdx (#17593)
* updated failover for k8s w-tproxy page title (#17683)
* Add release notes 1.16 rc (#17665)
* Merge pull request #5773 from hashicorp/docs/rate-limiting-from-ip-addresses-1.16
updated docs for rate limiting for IP addresses - 1.16
* Merge pull request #5609 from hashicorp/docs/enterprise-utilization-reporting
Add docs for enterprise utilization reporting
* Merge pull request #5734 from hashicorp/docs/envoy-ext-1.16
Docs/envoy ext 1.16
* Add release notes for 1.16-rc
* Add consul-e license utlization reporting
* Update with rc absolute links
* Update with rc absolute links
* fix typo
* Apply suggestions from code review
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Update to use callout component
* address typo
* docs: FIPS 140-2 Compliance (#17668)
* Page + nav + formatting
* link fix
* Update website/content/docs/enterprise/fips.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Update website/content/docs/enterprise/fips.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Update website/content/docs/enterprise/fips.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Update website/content/docs/enterprise/fips.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Update website/content/docs/enterprise/fips.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Update website/content/docs/enterprise/fips.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Update website/content/docs/enterprise/fips.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Update website/content/docs/enterprise/fips.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Update website/content/docs/enterprise/fips.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Update website/content/docs/enterprise/fips.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* link fix
* Apply suggestions from code review
Co-authored-by: Jeff Apple <79924108+Jeff-Apple@users.noreply.github.com>
* Update website/content/docs/enterprise/fips.mdx
---------
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
Co-authored-by: Jeff Apple <79924108+Jeff-Apple@users.noreply.github.com>
* fix apigw install values file
* fix typos in release notes
---------
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com>
Co-authored-by: Jeff Apple <79924108+Jeff-Apple@users.noreply.github.com>
* fix release notes links (#17687)
* adding redirects for tproxy and envoy extensions (#17688)
* adding redirects
* Apply suggestions from code review
* Fix FIPS copy (#17691)
* fix release notes links
* fix typos on fips docs
* [NET-4107][Supportability] Log Level set to TRACE and duration set to 5m for consul-debug (#17596)
* changed duration to 5 mins and log level to trace
* documentation update
* change log
* ENT merge of ext-authz extension updates (#17684)
* docs: Update default values for Envoy extension proxy types (#17676)
* fix: stop peering delete routine on leader loss (#17483)
* Refactor disco chain prioritize by locality structs (#17696)
This includes prioritize by localities on disco chain targets rather than
resolvers, allowing different targets within the same partition to have
different policies.
* agent: remove agent cache dependency from service mesh leaf certificate management (#17075)
* agent: remove agent cache dependency from service mesh leaf certificate management
This extracts the leaf cert management from within the agent cache.
This code was produced by the following process:
1. All tests in agent/cache, agent/cache-types, agent/auto-config,
agent/consul/servercert were run at each stage.
- The tests in agent matching .*Leaf were run at each stage.
- The tests in agent/leafcert were run at each stage after they
existed.
2. The former leaf cert Fetch implementation was extracted into a new
package behind a "fake RPC" endpoint to make it look almost like all
other cache type internals.
3. The old cache type was shimmed to use the fake RPC endpoint and
generally cleaned up.
4. I selectively duplicated all of Get/Notify/NotifyCallback/Prepopulate
from the agent/cache.Cache implementation over into the new package.
This was renamed as leafcert.Manager.
- Code that was irrelevant to the leaf cert type was deleted
(inlining blocking=true, refresh=false)
5. Everything that used the leaf cert cache type (including proxycfg
stuff) was shifted to use the leafcert.Manager instead.
6. agent/cache-types tests were moved and gently replumbed to execute
as-is against a leafcert.Manager.
7. Inspired by some of the locking changes from derek's branch I split
the fat lock into N+1 locks.
8. The waiter chan struct{} was eventually replaced with a
singleflight.Group around cache updates, which was likely the biggest
net structural change.
9. The awkward two layers or logic produced as a byproduct of marrying
the agent cache management code with the leaf cert type code was
slowly coalesced and flattened to remove confusion.
10. The .*Leaf tests from the agent package were copied and made to work
directly against a leafcert.Manager to increase direct coverage.
I have done a best effort attempt to port the previous leaf-cert cache
type's tests over in spirit, as well as to take the e2e-ish tests in the
agent package with Leaf in the test name and copy those into the
agent/leafcert package to get more direct coverage, rather than coverage
tangled up in the agent logic.
There is no net-new test coverage, just coverage that was pushed around
from elsewhere.
* [core]: Pin github action workflows (#17695)
* docs: missing changelog for _5517 (#17706)
* add enterprise notes for IP-based rate limits (#17711)
* add enterprise notes for IP-based rate limits
* Apply suggestions from code review
Co-authored-by: Tu Nguyen <im2nguyen@users.noreply.github.com>
Co-authored-by: David Yu <dyu@hashicorp.com>
* added bolded 'Enterprise' in list items.
---------
Co-authored-by: Tu Nguyen <im2nguyen@users.noreply.github.com>
Co-authored-by: David Yu <dyu@hashicorp.com>
* Update compatibility.mdx (#17713)
* Remove extraneous version info for Config entries (#17716)
* Update terminating-gateway.mdx
* Update exported-services.mdx
* Update mesh.mdx
* fix: typo in link to section (#17527)
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Bump Alpine to 3.18 (#17719)
* Update Dockerfile
* Create 17719.txt
* NET-1825: New ACL token creation docs (#16465)
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
Co-authored-by: Jared Kirschner <85913323+jkirschner-hashicorp@users.noreply.github.com>
* [NET-3865] [Supportability] Additional Information in the output of 'consul operator raft list-peers' (#17582)
* init
* fix tests
* added -detailed in docs
* added change log
* fix doc
* checking for entry in map
* fix tests
* removed detailed flag
* removed detailed flag
* revert unwanted changes
* removed unwanted changes
* updated change log
* pr review comment changes
* pr comment changes single API instead of two
* fix change log
* fix tests
* fix tests
* fix test operator raft endpoint test
* Update .changelog/17582.txt
Co-authored-by: Semir Patel <semir.patel@hashicorp.com>
* nits
* updated docs
---------
Co-authored-by: Semir Patel <semir.patel@hashicorp.com>
* OSS merge: Update error handling login when applying extensions (#17740)
* Bump atlassian/gajira-transition from 3.0.0 to 3.0.1 (#17741)
Bumps [atlassian/gajira-transition](https://github.com/atlassian/gajira-transition) from 3.0.0 to 3.0.1.
- [Release notes](https://github.com/atlassian/gajira-transition/releases)
- [Commits](https://github.com/atlassian/gajira-transition/compare/4749176faf14633954d72af7a44d7f2af01cc92b...38fc9cd61b03d6a53dd35fcccda172fe04b36de3)
---
updated-dependencies:
- dependency-name: atlassian/gajira-transition
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Add truncation to body (#17723)
* docs: Failover overview minor fix (#17743)
* Incorrect symbol
* Clarification
* slight edit for clarity
* docs - update Envoy and Dataplane compat matrix (#17752)
* Update envoy.mdx
added more detail around default versus other compatible versions
* validate localities on agent configs and registration endpoints (#17712)
* Updated docs added explanation. (#17751)
* init
* fix tests
* added -detailed in docs
* added change log
* fix doc
* checking for entry in map
* fix tests
* removed detailed flag
* removed detailed flag
* revert unwanted changes
* removed unwanted changes
* updated change log
* pr review comment changes
* pr comment changes single API instead of two
* fix change log
* fix tests
* fix tests
* fix test operator raft endpoint test
* Update .changelog/17582.txt
Co-authored-by: Semir Patel <semir.patel@hashicorp.com>
* nits
* updated docs
* explanation added
---------
Co-authored-by: Semir Patel <semir.patel@hashicorp.com>
* Update index.mdx (#17749)
* added redirects and updated links (#17764)
* Add transparent proxy enhancements changelog (#17757)
* docs - remove use of consul leave during upgrade instructions (#17758)
* Fix issue with streaming service health watches. (#17775)
Fix issue with streaming service health watches.
This commit fixes an issue where the health streams were unaware of service
export changes. Whenever an exported-services config entry is modified, it is
effectively an ACL change.
The bug would be triggered by the following situation:
- no services are exported
- an upstream watch to service X is spawned
- the streaming backend filters out data for service X (due to lack of exports)
- service X is finally exported
In the situation above, the streaming backend does not trigger a refresh of its
data. This means that any events that were supposed to have been received prior
to the export are NOT backfilled, and the watches never see service X spawning.
We currently have decided to not trigger a stream refresh in this situation due
to the potential for a thundering herd effect (touching exports would cause a
re-fetch of all watches for that partition, potentially). Therefore, a local
blocking-query approach was added by this commit for agentless.
It's also worth noting that the streaming subscription is currently bypassed
most of the time with agentful, because proxycfg has a `req.Source.Node != ""`
which prevents the `streamingEnabled` check from passing. This means that while
agents should technically have this same issue, they don't experience it with
mesh health watches.
Note that this is a temporary fix that solves the issue for proxycfg, but not
service-discovery use cases.
* Property Override validation improvements (#17759)
* Reject inbound Prop Override patch with Services
Services filtering is only supported for outbound TrafficDirection patches.
* Improve Prop Override unexpected type validation
- Guard against additional invalid parent and target types
- Add specific error handling for Any fields (unsupported)
* Fixes (#17765)
* Update license get explanation (#17782)
This PR is to clarify what happens if the license get command is run on a follower if the leader hasn't been updated with a newer license.
* Add Patch index to Prop Override validation errors (#17777)
When a patch is found invalid, include its index for easier debugging
when multiple patches are provided.
* Stop referenced jwt providers from being deleted (#17755)
* Stop referenced jwt providers from being deleted
* Implement a Catalog Controllers Lifecycle Integration Test (#17435)
* Implement a Catalog Controllers Lifecycle Integration Test
* Prevent triggering the race detector.
This allows defining some variables for protobuf constants and using those in comparisons. Without that, something internal in the fmt package ended up looking at the protobuf message size cache and triggering the race detector.
* HCP Add node id/name to config (#17750)
* Catalog V2 Container Based Integration Test (#17674)
* Implement the Catalog V2 controller integration container tests
This now allows the container tests to import things from the root module. However for now we want to be very restrictive about which packages we allow importing.
* Add an upgrade test for the new catalog
Currently this should be dormant and not executed. However its put in place to detect breaking changes in the future and show an example of how to do an upgrade test with integration tests structured like catalog v2.
* Make testutil.Retry capable of performing cleanup operations
These cleanup operations are executed after each retry attempt.
* Move TestContext to taking an interface instead of a concrete testing.T
This allows this to be used on a retry.R or generally anything that meets the interface.
* Move to using TestContext instead of background contexts
Also this forces all test methods to implement the Cleanup method now instead of that being an optional interface.
Co-authored-by: Daniel Upton <daniel@floppy.co>
* Fix Docs for Trails Leader By (#17763)
* init
* fix tests
* added -detailed in docs
* added change log
* fix doc
* checking for entry in map
* fix tests
* removed detailed flag
* removed detailed flag
* revert unwanted changes
* removed unwanted changes
* updated change log
* pr review comment changes
* pr comment changes single API instead of two
* fix change log
* fix tests
* fix tests
* fix test operator raft endpoint test
* Update .changelog/17582.txt
Co-authored-by: Semir Patel <semir.patel@hashicorp.com>
* nits
* updated docs
* explanation added
* fix doc
* fix docs
---------
Co-authored-by: Semir Patel <semir.patel@hashicorp.com>
* Improve Prop Override docs examples (#17799)
- Provide more realistics examples for setting properties not already
supported natively by Consul
- Remove superfluous commas from HCL, correct target service name, and
fix service defaults vs. proxy defaults in examples
- Align existing integration test to updated docs
* Test permissive mTLS filter chain not configured with tproxy disabled (#17747)
* Add documentation for remote debugging of integration tests. (#17800)
* Add documentation for remote debugging of integration tests.
* add link from main docs page.
* changes related to PR feedback
* Clarify limitations of Prop Override extension (#17801)
Explicitly document the limitations of the extension, particularly what
kind of fields it is capable of modifying.
* Fix formatting for webhook-certs Consul tutorial (#17810)
* Fix formatting for webhook-certs Consul tutorial
* Make a small grammar change to also pick up whitespace changes necessary for formatting
---------
Co-authored-by: David Yu <dyu@hashicorp.com>
* Add jwt-authn metrics to jwt-provider docs (#17816)
* [NET-3095] add jwt-authn metrics docs
* Change URLs for redirects from RC to default latest (#17822)
* Set GOPRIVATE for all hashicorp repos in CI (#17817)
Consistently set GOPRIVATE to include all hashicorp repos, s.t. private
modules are successfully pulled in enterprise CI.
* Make locality aware routing xDS changes (#17826)
* Fixup consul-container/test/debugging.md (#17815)
Add missing `-t` flag and fix minor typo.
* fixes #17732 - AccessorID in request body should be optional when updating ACL token (#17739)
* AccessorID in request body should be optional when updating ACL token
* add a test case
* fix test case
* add changelog entry for PR #17739
* CA provider doc updates and Vault provider minor update (#17831)
Update CA provider docs
Clarify that providers can differ between
primary and secondary datacenters
Provide a comparison chart for consul vs
vault CA providers
Loosen Vault CA provider validation for RootPKIPath
Update Vault CA provider documentation
* ext-authz Envoy extension: support `localhost` as a valid target URI. (#17821)
* CI Updates (#17834)
* Ensure that git access to private repos uses the ELEVATED_GITHUB_TOKEN
* Bump the runner size for the protobuf generation check
This has failed previously when the runner process that communicates with GitHub gets starved causing the job to fail.
* counter part of ent pr (#17618)
* watch: support -filter for consul watch: checks, services, nodes, service (#17780)
* watch: support -filter for watch checks
* Add filter for watch nodes, services, and service
- unit test added
- Add changelog
- update doc
* Trigger OSS => ENT merge for all release branches (#17853)
Previously, this only triggered for release/*.*.x branches; however, our release process involves cutting a release/1.16.0 branch, for example, at time of code freeze these days. Any PRs to that branch after code freeze today do not make their way to consul-enterprise. This will make behavior for a .0 branch consistent with current behavior for a .x branch.
* Update service-mesh.mdx (#17845)
Deleted two commas which looks quite like some leftovers.
* Add docs for sameness groups with resolvers. (#17851)
* docs: add note about path prefix matching behavior for HTTPRoute config (#17860)
* Add note about path prefix matching behavior for HTTPRoute config
* Update website/content/docs/connect/gateways/api-gateway/configuration/http-route.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
---------
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* docs: update upgrade to consul-dataplane docs on k8s (#17852)
* resource: add `AuthorizerContext` helper method (#17393)
* resource: enforce consistent naming of resource types (#17611)
For consistency, resource type names must follow these rules:
- `Group` must be snake case, and in most cases a single word.
- `GroupVersion` must be lowercase, start with a "v" and end with a number.
- `Kind` must be pascal case.
These were chosen because they map to our protobuf type naming
conventions.
* tooling: generate protoset file (#17364)
Extends the `proto` make target to generate a protoset file for use with
grpcurl etc.
* Fix a bug that wrongly trims domains when there is an overlap with DC name (#17160)
* Fix a bug that wrongly trims domains when there is an overlap with DC name
Before this change, when DC name and domain/alt-domain overlap, the domain name incorrectly trimmed from the query.
Example:
Given: datacenter = dc-test, alt-domain = test.consul.
Querying for "test-node.node.dc-test.consul" will faile, because the
code was trimming "test.consul" instead of just ".consul"
This change, fixes the issue by adding dot (.) before trimming
* trimDomain: ensure domain trimmed without modyfing original domains
* update changelog
---------
Co-authored-by: Dhia Ayachi <dhia@hashicorp.com>
* deps: aws-sdk-go v1.44.289 (#17876)
Signed-off-by: Dan Bond <danbond@protonmail.com>
* api-gateway: add operation cannot be fulfilled error to common errors (#17874)
* add error message
* Update website/content/docs/api-gateway/usage/errors.mdx
Co-authored-by: Nathan Coleman <nathan.coleman@hashicorp.com>
* fix formating issues
---------
Co-authored-by: Nathan Coleman <nathan.coleman@hashicorp.com>
* api-gateway: add step to upgrade instructions for creating intentions (#17875)
* Changelog - add 1.13.9, 1.14.8, and 1.15.4 (#17889)
* docs: update config enable_debug (#17866)
* update doc for config enable_debug
* Update website/content/docs/agent/config/config-files.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
---------
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Update wording on WAN fed and intermediate_pki_path (#17850)
* Allow service identity tokens the ability to read jwt-providers (#17893)
* Allow service identity tokens the ability to read jwt-providers
* more tests
* service_prefix tests
* Update docs (#17476)
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Add emit_tags_as_labels to envoy bootstrap config when using Consul Telemetry Collector (#17888)
* Fix command from kg to kubectl get (#17903)
* Create and update release notes for 1.16 and 1.2 (#17895)
* update release notes for 1.16 and 1.2
* update latest consul core release
* Propose new changes to APIgw upgrade instructions (#17693)
* Propose new changes to APIgw upgrade instructions
* fix build error
* update callouts to render correctly
* Add hideClipboard to log messages
* Added clarification around consul k8s and crds
* Add workflow to verify linux release packages (#17904)
* adding docker files to verify linux packages.
* add verifr-release-linux.yml
* updating name
* pass inputs directly into jobs
* add other linux package platforms
* remove on push
* fix TARGETARCH on debian and ubuntu so it can check arm64 and amd64
* fixing amazon to use the continue line
* add ubuntu i386
* fix comment lines
* working
* remove commented out workflow jobs
* Apply suggestions from code review
Co-authored-by: Nathan Coleman <nathan.coleman@hashicorp.com>
* update fedora and ubuntu to use latest tag
---------
Co-authored-by: Nathan Coleman <nathan.coleman@hashicorp.com>
* Reference hashicorp/consul instead of consul for Docker image (#17914)
* Reference hashicorp/consul instead of consul for Docker image
* Update Make targets that pull consul directly
* Update Consul K8s Upgrade Doc Updates (#17921)
Updating upgrade procedures to encompass expected errors during upgrade process from v1.13.x to v1.14.x.
* Update sameness-group.mdx (#17915)
* Update create-sameness-groups.mdx (#17927)
* deps: coredns v1.10.1 (#17912)
* Ensure RSA keys are at least 2048 bits in length (#17911)
* Ensure RSA keys are at least 2048 bits in length
* Add changelog
* update key length check for FIPS compliance
* Fix no new variables error and failing to return when error exists from
validating
* clean up code for better readability
* actually return value
* tlsutil: Fix check TLS configuration (#17481)
* tlsutil: Fix check TLS configuration
* Rewording docs.
* Update website/content/docs/services/configuration/checks-configuration-reference.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Fix typos and add changelog entry.
---------
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* docs: Deprecations for connect-native SDK and specific connect native APIs (#17937)
* Update v1_16_x.mdx
* Update connect native golang page
---------
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Revert "Add workflow to verify linux release packages (#17904)" (#17942)
This reverts commit 3368f14fab500ebe9f6aeab5631dd1d5f5a453e5.
* Fixes Secondary ConnectCA update (#17846)
This fixes a bug that was identified which resulted in subsequent
ConnectCA configuration update not to persist in the cluster.
* fixing typo in link to jwt-validations-with-intentions doc (#17955)
* Fix streaming backend link (#17958)
* Fix streaming backend link
* Update health.mdx
* Dynamically create jwks clusters for jwt-providers (#17944)
* website: remove deprecated agent rpc docs (#17962)
* Fix missing BalanceOutboundConnections in v2 catalog. (#17964)
* feature - [NET - 4005] - [Supportability] Reloadable Configuration - enable_debug (#17565)
* # This is a combination of 9 commits.
# This is the 1st commit message:
init without tests
# This is the commit message #2:
change log
# This is the commit message #3:
fix tests
# This is the commit message #4:
fix tests
# This is the commit message #5:
added tests
# This is the commit message #6:
change log breaking change
# This is the commit message #7:
removed breaking change
# This is the commit message #8:
fix test
# This is the commit message #9:
keeping the test behaviour same
* # This is a combination of 12 commits.
# This is the 1st commit message:
init without tests
# This is the commit message #2:
change log
# This is the commit message #3:
fix tests
# This is the commit message #4:
fix tests
# This is the commit message #5:
added tests
# This is the commit message #6:
change log breaking change
# This is the commit message #7:
removed breaking change
# This is the commit message #8:
fix test
# This is the commit message #9:
keeping the test behaviour same
# This is the commit message #10:
made enable debug atomic bool
# This is the commit message #11:
fix lint
# This is the commit message #12:
fix test true enable debug
* parent 10f500e895d92cc3691ade7b74a33db755d22039
author absolutelightning <ashesh.vidyut@hashicorp.com> 1687352587 +0530
committer absolutelightning <ashesh.vidyut@hashicorp.com> 1687352592 +0530
init without tests
change log
fix tests
fix tests
added tests
change log breaking change
removed breaking change
fix test
keeping the test behaviour same
made enable debug atomic bool
fix lint
fix test true enable debug
using enable debug in agent as atomic bool
test fixes
fix tests
fix tests
added update on correct locaiton
fix tests
fix reloadable config enable debug
fix tests
fix init and acl 403
* revert commit
* Fix formatting codeblocks on APIgw docs (#17970)
* fix formatting codeblocks
* remove unnecessary indents
* Remove POC code (#17974)
* update doc (#17910)
* update doc
* update link
* Remove duplicate and unused newDecodeConfigEntry func (#17979)
* docs: samenessGroup YAML examples (#17984)
* configuration entry syntax
* Example config
* Add changelog entry for 1.16.0 (#17987)
* Fix typo (#17198)
servcies => services
* Expose JWKS cluster config through JWTProviderConfigEntry (#17978)
* Expose JWKS cluster config through JWTProviderConfigEntry
* fix typos, rename trustedCa to trustedCA
* Integration test for ext-authz Envoy extension (#17980)
* Fix incorrect protocol for transparent proxy upstreams. (#17894)
This PR fixes a bug that was introduced in:
https://github.com/hashicorp/consul/pull/16021
A user setting a protocol in proxy-defaults would cause tproxy implicit
upstreams to not honor the upstream service's protocol set in its
`ServiceDefaults.Protocol` field, and would instead always use the
proxy-defaults value.
Due to the fact that upstreams configured with "tcp" can successfully contact
upstream "http" services, this issue was not recognized until recently (a
proxy-defaults with "tcp" and a listening service with "http" would make
successful requests, but not the opposite).
As a temporary work-around, users experiencing this issue can explicitly set
the protocol on the `ServiceDefaults.UpstreamConfig.Overrides`, which should
take precedence.
The fix in this PR removes the proxy-defaults protocol from the wildcard
upstream that tproxy uses to configure implicit upstreams. When the protocol
was included, it would always overwrite the value during discovery chain
compilation, which was not correct. The discovery chain compiler also consumes
proxy defaults to determine the protocol, so simply excluding it from the
wildcard upstream config map resolves the issue.
* feat: include nodes count in operator usage endpoint and cli command (#17939)
* feat: update operator usage api endpoint to include nodes count
* feat: update operator usange cli command to includes nodes count
* [OSS] Improve Gateway Test Coverage of Catalog Health (#18011)
* fix(cli): remove failing check from 'connect envoy' registration for api gateway
* test(integration): add tests to check catalog statsus of gateways on startup
* remove extra sleep comment
* Update test/integration/consul-container/libs/assert/service.go
* changelog
* Fixes Traffic rate limitting docs (#17997)
* Fix removed service-to-service peering links (#17221)
* docs: fix removed service-to-service peering links
* docs: extend peering-via-mesh-gateways intro (thanks @trujillo-adam)
---------
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* docs: Sameness "beta" warning (#18017)
* Warning updates
* .x
* updated typo in tab heading (#18022)
* updated typo in tab heading
* updated tab group typo, too
* Document that DNS lookups can target cluster peers (#17990)
Static DNS lookups, in addition to explicitly targeting a datacenter,
can target a cluster peer. This was added in 95dc0c7b301b70a6b955a8b7c9737c9b86f03df6 but didn't make the documentation.
The driving function for the change is `parseLocality` here: https://github.com/hashicorp/consul/blob/0b1299c28d8127129d61310ee4280055298438e0/agent/dns_oss.go#L25
The biggest change in this is to adjust the standard lookup syntax to tie
`.<datacenter>` to `.dc` as required-together, and to append in the similar `.<cluster-peer>.peer` optional argument, both to A record and SRV record lookups.
Co-authored-by: David Yu <dyu@hashicorp.com>
* Add first integration test for jwt auth with intention (#18005)
* fix stand-in text for name field (#18030)
* removed sameness conf entry from failover nav (#18033)
* docs - add service sync annotations and k8s service weight annotation (#18032)
* Docs for https://github.com/hashicorp/consul-k8s/pull/2293
* remove versions for enterprise features since they are old
---------
Co-authored-by: Tu Nguyen <im2nguyen@users.noreply.github.com>
* docs - add jobs use case for service mesh k8s (#18037)
* docs - add jobs use case for service mesh k8s
* add code blocks
* address feedback (#18045)
* Add verify server hostname to tls default (#17155)
* [OSS] Fix initial_fetch_timeout to wait for all xDS resources (#18024)
* fix(connect): set initial_fetch_time to wait indefinitely
* changelog
* PR feedback 1
* ui: fix typos for peer service imports (#17999)
* test: fix FIPS inline cert test message (#18076)
* Fix a couple typos in Agent Telemetry Metrics docs (#18080)
* Fix metrics docs
* Add changelog
Signed-off-by: josh <josh.timmons@hashicorp.com>
---------
Signed-off-by: josh <josh.timmons@hashicorp.com>
* docs updates - cluster peering and virtual services (#18069)
* Update route-to-virtual-services.mdx
* Update establish-peering.mdx
* Update service-mesh-compare.mdx (#17279)
grammar change
* Update helm docs on main (#18085)
* ci: use gotestsum v1.10.1 [NET-4042] (#18088)
* Docs: Update proxy lifecycle annotations and consul-dataplane flags (#18075)
* Update proxy lifecycle annotations and consul-dataplane flags
* Pass configured role name to Vault for AWS auth in Connect CA (#17885)
* Docs for dataplane upgrade on k8s (#18051)
* Docs for dataplane upgrade on k8s
---------
Co-authored-by: David Yu <dyu@hashicorp.com>
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* docs - update upgrade index page to not recommend consul leave. (#18100)
* Displays Consul version of each nodes in UI nodes section (#17754)
* update UINodes and UINodeInfo response with consul-version info added as NodeMeta, fetched from serf members
* update test cases TestUINodes, TestUINodeInfo
* added nil check for map
* add consul-version in local agent node metadata
* get consul version from serf member and add this as node meta in catalog register request
* updated ui mock response to include consul versions as node meta
* updated ui trans and added version as query param to node list route
* updates in ui templates to display consul version with filter and sorts
* updates in ui - model class, serializers,comparators,predicates for consul version feature
* added change log for Consul Version Feature
* updated to get version from consul service, if for some reason not available from serf
* updated changelog text
* updated dependent testcases
* multiselection version filter
* Update agent/consul/state/catalog.go
comments updated
Co-authored-by: Jared Kirschner <85913323+jkirschner-hashicorp@users.noreply.github.com>
---------
Co-authored-by: Jared Kirschner <85913323+jkirschner-hashicorp@users.noreply.github.com>
* api gw 1.16 updates (#18081)
* api gw 1.16 updates
* Apply suggestions from code review
Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com>
* update CodeBlockConfig filename
* Apply suggestions from code review
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com>
* remove non-standard intentions page
* Update website/content/docs/api-gateway/configuration/index.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
---------
Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com>
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* [NET-4103] ci: build s390x (#18067)
* ci: build s390x
* ci: test s390x
* ci: dev build s390x
* no GOOS
* ent only
* build: publish s390x
* fix syntax error
* fix syntax error again
* fix syntax error again x2
* test branch
* Move s390x conditionals to step level
* remove test branch
---------
Co-authored-by: emilymianeil <eneil@hashicorp.com>
* :ermahgerd "Sevice Mesh" -> "Service Mesh" (#18116)
Just a typo in the docs.
* Split pbmesh.UpstreamsConfiguration as a resource out of pbmesh.Upstreams (#17991)
Configuration that previously was inlined into the Upstreams resource
applies to both explicit and implicit upstreams and so it makes sense to
split it out into its own resource.
It also has other minor changes:
- Renames `proxy.proto` proxy_configuration.proto`
- Changes the type of `Upstream.destination_ref` from `pbresource.ID` to
`pbresource.Reference`
- Adds comments to fields that didn't have them
* [NET-4895] ci - api tests and consul container tests error because of dependency bugs with go 1.20.6. Pin go to 1.20.5. (#18124)
### Description
The following jobs started failing when go 1.20.6 was released:
- `go-test-api-1-19`
- `go-test-api-1-20`
- `compatibility-integration-tests`
- `upgrade-integration-tests`
`compatibility-integration-tests` and `compatibility-integration-tests`
to this testcontainers issue:
https://github.com/testcontainers/testcontainers-go/issues/1359. This
issue calls for testcontainers to release a new version when one of
their dependencies is fixed. When that is done, we will unpin the go
versions in `compatibility-integration-tests` and
`compatibility-integration-tests`.
### Testing & Reproduction steps
See these jobs broken in CI and then see them work with this PR.
---------
Co-authored-by: Chris Thain <32781396+cthain@users.noreply.github.com>
* Add ingress gateway deprecation notices to docs (#18102)
### Description
This adds notices, that ingress gateway is deprecated, to several places
in the product docs where ingress gateway is the topic.
### Testing & Reproduction steps
Tested with a local copy of the website.
### Links
Deprecation of ingress gateway was announced in the Release Notes for
Consul 1.16 and Consul-K8s 1.2. See:
[https://developer.hashicorp.com/consul/docs/release-notes/consul/v1_16_x#what-s-deprecated](https://developer.hashicorp.com/consul/docs/release-notes/consul/v1_16_x#what-s-deprecated
)
[https://developer.hashicorp.com/consul/docs/release-notes/consul-k8s/v1_2_x#what-s-deprecated](https://developer.hashicorp.com/consul/docs/release-notes/consul-k8s/v1_2_x#what-s-deprecated)
### PR Checklist
* [N/A] updated test coverage
* [X] external facing docs updated
* [X] appropriate backport labels added
* [X] not a security concern
---------
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Add docs for jwt cluster configuration (#18004)
### Description
<!-- Please describe why you're making this change, in plain English.
-->
- Add jwt-provider docs for jwks cluster configuration. The
configuration was added here:
https://github.com/hashicorp/consul/pull/17978
* Docs: fix unmatched bracket for health checks page (#18134)
* NET-4657/add resource service client (#18053)
### Description
<!-- Please describe why you're making this change, in plain English.
-->
Dan had already started on this
[task](https://github.com/hashicorp/consul/pull/17849) which is needed
to start building the HTTP APIs. This just needed some cleanup to get it
ready for review.
Overview:
- Rename `internalResourceServiceClient` to
`insecureResourceServiceClient` for name consistency
- Configure a `secureResourceServiceClient` with auth enabled
### PR Checklist
* [ ] ~updated test coverage~
* [ ] ~external facing docs updated~
* [x] appropriate backport labels added
* [ ] ~not a security concern~
* Fix bug with Vault CA provider (#18112)
Updating RootPKIPath but not IntermediatePKIPath would not update
leaf signing certs with the new root. Unsure if this happens in practice
but manual testing showed it is a bug that would break mesh and agent
connections once the old root is pruned.
* [NET-4897] net/http host header is now verified and request.host that contains socked now error (#18129)
### Description
This is related to https://github.com/hashicorp/consul/pull/18124 where
we pinned the go versions in CI to 1.20.5 and 1.19.10.
go 1.20.6 and 1.19.11 now validate request host headers for validity,
including the hostname cannot be prefixed with slashes.
For local communications (npipe://, unix://), the hostname is not used,
but we need valid and meaningful hostname. Prior versions go Go would
clean the host header, and strip slashes in the process, but go1.20.6
and go1.19.11 no longer do, and reject the host header. Around the
community we are seeing that others are intercepting the req.host and if
it starts with a slash or ends with .sock, they changing the host to
localhost or another dummy value.
[client: define a "dummy" hostname to use for local connections by
thaJeztah · Pull Request #45942 ·
moby/moby](https://github.com/moby/moby/pull/45942)
### Testing & Reproduction steps
Check CI tests.
### Links
* [ ] updated test coverage
* [ ] external facing docs updated
* [ ] appropriate backport labels added
* [ ] not a security concern
* add a conditional around setting LANFilter.AllSegments to make sure it is valid (#18139)
### Description
This is to correct a code problem because this assumes all segments, but
when you get to Enterprise, you can be in partition that is not the
default partition, in which case specifying all segments does not
validate and fails. This is to correct the setting of this filter with
`AllSegments` to `true` to only occur when in the the `default`
partition.
### Testing & Reproduction steps
<!--
* In the case of bugs, describe how to replicate
* If any manual tests were done, document the steps and the conditions
to replicate
* Call out any important/ relevant unit tests, e2e tests or integration
tests you have added or are adding
-->
### Links
<!--
Include any links here that might be helpful for people reviewing your
PR (Tickets, GH issues, API docs, external benchmarks, tools docs, etc).
If there are none, feel free to delete this section.
Please be mindful not to leak any customer or confidential information.
HashiCorp employees may want to use our internal URL shortener to
obfuscate links.
-->
### PR Checklist
* [ ] updated test coverage
* [ ] external facing docs updated
* [ ] appropriate backport labels added
* [ ] not a security concern
* chore: bump upgrade integrations tests to 1.15, 116 [NET-4743] (#18130)
* re org resource type registry (#18133)
* fix: update delegateMock used in ENT (#18149)
### Description
<!-- Please describe why you're making this change, in plain English.
-->
The mock is used in `http_ent_test` file which caused lint failures. For
OSS->ENT parity adding the same change here.
### Links
<!--
Include any links here that might be helpful for people reviewing your
PR (Tickets, GH issues, API docs, external benchmarks, tools docs, etc).
If there are none, feel free to delete this section.
Please be mindful not to leak any customer or confidential information.
HashiCorp employees may want to use our internal URL shortener to
obfuscate links.
-->
Identified in OSS->ENT [merge
PR](https://github.com/hashicorp/consul-enterprise/pull/6328)
### PR Checklist
* [ ] ~updated test coverage~
* [ ] ~external facing docs updated~
* [x] appropriate backport labels added
* [ ] ~not a security concern~
* Use JWT-auth filter in metadata mode & Delegate validation to RBAC filter (#18062)
### Description
<!-- Please describe why you're making this change, in plain English.
-->
- Currently the jwt-auth filter doesn't take into account the service
identity when validating jwt-auth, it only takes into account the path
and jwt provider during validation. This causes issues when multiple
source intentions restrict access to an endpoint with different JWT
providers.
- To fix these issues, rather than use the JWT auth filter for
validation, we use it in metadata mode and allow it to forward the
successful validated JWT token payload to the RBAC filter which will
make the decisions.
This PR ensures requests with and without JWT tokens successfully go
through the jwt-authn filter. The filter however only forwards the data
for successful/valid tokens. On the RBAC filter level, we check the
payload for claims and token issuer + existing rbac rules.
### Testing & Reproduction steps
<!--
* In the case of bugs, describe how to replicate
* If any manual tests were done, document the steps and the conditions
to replicate
* Call out any important/ relevant unit tests, e2e tests or integration
tests you have added or are adding
-->
- This test covers a multi level jwt requirements (requirements at top
level and permissions level). It also assumes you have envoy running,
you have a redis and a sidecar proxy service registered, and have a way
to generate jwks with jwt. I mostly use:
https://www.scottbrady91.com/tools/jwt for this.
- first write your proxy defaults
```
Kind = "proxy-defaults"
name = "global"
config {
protocol = "http"
}
```
- Create two providers
```
Kind = "jwt-provider"
Name = "auth0"
Issuer = "https://ronald.local"
JSONWebKeySet = {
Local = {
JWKS = "eyJrZXlzIjog....."
}
}
```
```
Kind = "jwt-provider"
Name = "okta"
Issuer = "https://ronald.local"
JSONWebKeySet = {
Local = {
JWKS = "eyJrZXlzIjogW3...."
}
}
```
- add a service intention
```
Kind = "service-intentions"
Name = "redis"
JWT = {
Providers = [
{
Name = "okta"
},
]
}
Sources = [
{
Name = "*"
Permissions = [{
Action = "allow"
HTTP = {
PathPrefix = "/workspace"
}
JWT = {
Providers = [
{
Name = "okta"
VerifyClaims = [
{
Path = ["aud"]
Value = "my_client_app"
},
{
Path = ["sub"]
Value = "5be86359073c434bad2da3932222dabe"
}
]
},
]
}
},
{
Action = "allow"
HTTP = {
PathPrefix = "/"
}
JWT = {
Providers = [
{
Name = "auth0"
},
]
}
}]
}
]
```
- generate 3 jwt tokens: 1 from auth0 jwks, 1 from okta jwks with
different claims than `/workspace` expects and 1 with correct claims
- connect to your envoy (change service and address as needed) to view
logs and potential errors. You can add: `-- --log-level debug` to see
what data is being forwarded
```
consul connect envoy -sidecar-for redis1 -grpc-addr 127.0.0.1:8502
```
- Make the following requests:
```
curl -s -H "Authorization: Bearer $Auth0_TOKEN" --insecure --cert leaf.cert --key leaf.key --cacert connect-ca.pem https://localhost:20000/workspace -v
RBAC filter denied
curl -s -H "Authorization: Bearer $Okta_TOKEN_with_wrong_claims" --insecure --cert leaf.cert --key leaf.key --cacert connect-ca.pem https://localhost:20000/workspace -v
RBAC filter denied
curl -s -H "Authorization: Bearer $Okta_TOKEN_with_correct_claims" --insecure --cert leaf.cert --key leaf.key --cacert connect-ca.pem https://localhost:20000/workspace -v
Successful request
```
### TODO
* [x] Update test coverage
* [ ] update integration tests (follow-up PR)
* [x] appropriate backport labels added
* Support Consul Connect Envoy Command on Windows (#17694)
### Description
Add support for consul connect envoy command on windows. This PR fixes
the comments of PR - https://github.com/hashicorp/consul/pull/15114
### Testing
* Built consul.exe from this branch on windows and hosted here - [AWS
S3](https://asheshvidyut-bucket.s3.ap-southeast-2.amazonaws.com/consul.zip)
* Updated the
[tutorial](https://developer.hashicorp.com/consul/tutorials/developer-mesh/consul-windows-workloads)
and changed the `consul_url.default` value to [AWS
S3](https://asheshvidyut-bucket.s3.ap-southeast-2.amazonaws.com/consul.zip)
* Followed the steps in the tutorial and verified that everything is
working as described.
### PR Checklist
* [x] updated test coverage
* [ ] external facing docs updated
* [x] appropriate backport labels added
* [x] not a security concern
---------
Co-authored-by: Franco Bruno Lavayen <cocolavayen@gmail.com>
Co-authored-by: Jose Ignacio Lorenzo <74208929+joselo85@users.noreply.github.com>
Co-authored-by: Jose Ignacio Lorenzo <joseignaciolorenzo85@gmail.com>
Co-authored-by: Dhia Ayachi <dhia@hashicorp.com>
* Change docs to say 168h instead of 7d for server_rejoin_age_max (#18154)
### Description
Addresses
https://github.com/hashicorp/consul/pull/17171#issuecomment-1636930705
* [OSS] test: improve xDS listener code coverage (#18138)
test: improve xDS listener code coverage
* Re-order expected/actual for assertContainerState in consul container tests (#18157)
Re-order expected/actual, consul container tests
* group and document make file (#17943)
* group and document make file
* Add `testing/deployer` (neé `consul-topology`) [NET-4610] (#17823)
Co-authored-by: R.B. Boyer <4903+rboyer@users.noreply.github.com>
Co-authored-by: R.B. Boyer <rb@hashicorp.com>
Co-authored-by: Freddy <freddygv@users.noreply.github.com>
* [NET-4792] Add integrations tests for jwt-auth (#18169)
* Add FIPS reference to consul enterprise docs (#18028)
* Add FIPS reference to consul enterprise docs
* Update website/content/docs/enterprise/index.mdx
Co-authored-by: David Yu <dyu@hashicorp.com>
* remove support for ecs client (fips)
---------
Co-authored-by: David Yu <dyu@hashicorp.com>
* add peering_commontopo tests [NET-3700] (#17951)
Co-authored-by: R.B. Boyer <4903+rboyer@users.noreply.github.com>
Co-authored-by: R.B. Boyer <rb@hashicorp.com>
Co-authored-by: Freddy <freddygv@users.noreply.github.com>
Co-authored-by: NiniOak <anita.akaeze@hashicorp.com>
* docs - remove Sentinel from enterprise features list (#18176)
* Update index.mdx
* Update kv.mdx
* Update docs-nav-data.json
* delete sentinel.mdx
* Update redirects.js
---------
Co-authored-by: Tu Nguyen <im2nguyen@users.noreply.github.com>
* [NET-4865] Bump golang.org/x/net to 0.12.0 (#18186)
Bump golang.org/x/net to 0.12.0
While not necessary to directly address CVE-2023-29406 (which should be
handled by using a patched version of Go when building), an
accompanying change to HTTP/2 error handling does impact agent code.
See https://go-review.googlesource.com/c/net/+/506995 for the HTTP/2
change.
Bump this dependency across our submodules as well for the sake of
potential indirect consumers of `x/net/http`.
* Call resource mutate hook before validate hook (NET-4907) (#18178)
* [NET-4865] security: Update Go version to 1.20.6 (#18190)
Update Go version to 1.20.6
This resolves [CVE-2023-29406]
(https://nvd.nist.gov/vuln/detail/CVE-2023-29406) for uses of the
`net/http` standard library.
Note that until the follow-up to #18124 is done, the version of Go used
in those impacted tests will need to remain on 1.20.5.
* Improve XDS test coverage: JWT auth edition (#18183)
* Improve XDS test coverage: JWT auth edition
more tests
* test: xds coverage for jwt listeners
---------
Co-authored-by: DanStough <dan.stough@hashicorp.com>
* update readme.md (#18191)
u[date readme.md
* Update submodules to latest following 1.16.0 (#18197)
Align all our internal use of submodules on the latest versions.
* SEC-090: Automated trusted workflow pinning (2023-07-18) (#18174)
Result of tsccr-helper -log-level=info -pin-all-workflows .
Co-authored-by: hashicorp-tsccr[bot] <hashicorp-tsccr[bot]@users.noreply.github.com>
* Fix Backport Assistant PR commenting (#18200)
* Fix Backport Assistant failure PR commenting
For general comments on a PR, it looks like you have to use the `/issue`
endpoint rather than `/pulls`, which requires commit/other
review-specific target details.
This matches the endpoint used in `backport-reminder.yml`.
* Remove Backport Reminder workflow
This is noisy (even when adding multiple labels, individual comments per
label are generated), and likely no longer needed: we haven't had this
work in a long time due to an expired GH token, and we now have better
automation for backport PR assignment.
* resource: Pass resource to Write ACL hook instead of just resource Id [NET-4908] (#18192)
* Explicitly enable WebSocket upgrades (#18150)
This PR explicitly enables WebSocket upgrades in Envoy's UpgradeConfig for all
proxy types. (API Gateway, Ingress, and Sidecar.)
Fixes #8283
* docs: fix the description of client rpc (#18206)
* NET-4804: Add dashboard for monitoring consul-k8s (#18208)
* [OSS] Improve xDS Code Coverage - Clusters (#18165)
test: improve xDS cluster code coverage
* NET-4222 take config file consul container (#18218)
Net 4222 take config file consul container
* Envoy Integration Test Windows (#18007)
* [CONSUL-395] Update check_hostport and Usage (#40)
* [CONSUL-397] Copy envoy binary from Image (#41)
* [CONSUL-382] Support openssl in unique test dockerfile (#43)
* [CONSUL-405] Add bats to single container (#44)
* [CONSUL-414] Run Prometheus Test Cases and Validate Changes (#46)
* [CONSUL-410] Run Jaeger in Single container (#45)
* [CONSUL-412] Run test-sds-server in single container (#48)
* [CONSUL-408] Clean containers (#47)
* [CONSUL-384] Rebase and sync fork (#50)
* [CONSUL-415] Create Scenarios Troubleshooting Docs (#49)
* [CONSUL-417] Update Docs Single Container (#51)
* [CONSUL-428] Add Socat to single container (#54)
* [CONSUL-424] Replace pkill in kill_envoy function (#52)
* [CONSUL-434] Modify Docker run functions in Helper script (#53)
* [CONSUL-435] Replace docker run in set_ttl_check_state & wait_for_agent_service_register functions (#55)
* [CONSUL-438] Add netcat (nc) in the Single container Dockerfile (#56)
* [CONSUL-429] Replace Docker run with Docker exec (#57)
* [CONSUL-436] Curl timeout and run tests (#58)
* [CONSUL-443] Create dogstatsd Function (#59)
* [CONSUL-431] Update Docs Netcat (#60)
* [CONSUL-439] Parse nc Command in function (#61)
* [CONSUL-463] Review curl Exec and get_ca_root Func (#63)
* [CONSUL-453] Docker hostname in Helper functions (#64)
* [CONSUL-461] Test wipe volumes without extra cont (#66)
* [CONSUL-454] Check ports in the Server and Agent containers (#65)
* [CONSUL-441] Update windows dockerfile with version (#62)
* [CONSUL-466] Review case-grpc Failing Test (#67)
* [CONSUL-494] Review case-cfg-resolver-svc-failover (#68)
* [CONSUL-496] Replace docker_wget & docker_curl (#69)
* [CONSUL-499] Cleanup Scripts - Remove nanoserver (#70)
* [CONSUL-500] Update Troubleshooting Docs (#72)
* [CONSUL-502] Pull & Tag Envoy Windows Image (#73)
* [CONSUL-504] Replace docker run in docker_consul (#76)
* [CONSUL-505] Change admin_bind
* [CONSUL-399] Update envoy to 1.23.1 (#78)
* [CONSUL-510] Support case-wanfed-gw on Windows (#79)
* [CONSUL-506] Update troubleshooting Documentation (#80)
* [CONSUL-512] Review debug_dump_volumes Function (#81)
* [CONSUL-514] Add zipkin to Docker Image (#82)
* [CONSUL-515] Update Documentation (#83)
* [CONSUL-529] Support case-consul-exec (#86)
* [CONSUL-530] Update Documentation (#87)
* [CONSUL-530] Update default consul version 1.13.3
* [CONSUL-539] Cleanup (#91)
* [CONSUL-546] Scripts Clean-up (#92)
* [CONSUL-491] Support admin_access_log_path value for Windows (#71)
* [CONSUL-519] Implement mkfifo Alternative (#84)
* [CONSUL-542] Create OS Specific Files for Envoy Package (#88)
* [CONSUL-543] Create exec_supported.go (#89)
* [CONSUL-544] Test and Build Changes (#90)
* Implement os.DevNull
* using mmap instead of disk files
* fix import in exec-unix
* fix nmap open too many arguemtn
* go fmt on file
* changelog file
* fix go mod
* Update .changelog/17694.txt
Co-authored-by: Dhia Ayachi <dhia@hashicorp.com>
* different mmap library
* fix bootstrap json
* some fixes
* chocolatey version fix and image fix
* using different library
* fix Map funciton call
* fix mmap call
* fix tcp dump
* fix tcp dump
* windows tcp dump
* Fix docker run
* fix tests
* fix go mod
* fix version 16.0
* fix version
* fix version dev
* sleep to debug
* fix sleep
* fix permission issue
* fix permission issue
* fix permission issue
* fix command
* fix command
* fix funciton
* fix assert config entry status command not found
* fix command not found assert_cert_has_cn
* fix command not found assert_upstream_missing
* fix command not found assert_upstream_missing_once
* fix command not found get_upstream_endpoint
* fix command not found get_envoy_public_listener_once
* fix command not found
* fix test cases
* windows integration test workflow github
* made code similar to unix using npipe
* fix go.mod
* fix dialing of npipe
* dont wait
* check size of written json
* fix undefined n
* running
* fix dep
* fix syntax error
* fix workflow file
* windows runner
* fix runner
* fix from json
* fix runs on
* merge connect envoy
* fix cin path
* build
* fix file name
* fix file name
* fix dev build
* remove unwanted code
* fix upload
* fix bin name
* fix path
* checkout current branch
* fix path
* fix tests
* fix shell bash for windows sh files
* fix permission of run-test.sh
* removed docker dev
* added shell bash for tests
* fix tag
* fix win=true
* fix cd
* added dev
* fix variable undefined
* removed failing tests
* fix tcp dump image
* fix curl
* fix curl
* tcp dump path
* fix tcpdump path
* fix curl
* fix curl install
* stop removing intermediate containers
* fix tcpdump docker image
* revert -rm
* --rm=false
* makeing docker image before
* fix tcpdump
* removed case consul exec
* removed terminating gateway simple
* comment case wasm
* removed data dog
* comment out upload coverage
* uncomment case-consul-exec
* comment case consul exec
* if always
* logs
* using consul 1.17.0
* fix quotes
* revert quotes
* redirect to dev null
* Revert version
* revert consul connect
* fix version
* removed envoy connect
* not using function
* change log
* docker logs
* fix logs
* restructure bad authz
* rmeoved dev null
* output
* fix file descriptor
* fix cacert
* fix cacert
* fix ca cert
* cacert does not work in windows curl
* fix func
* removed docker logs
* added sleep
* fix tls
* commented case-consul-exec
* removed echo
* retry docker consul
* fix upload bin
* uncomment consul exec
* copying consul.exe to docker image
* copy fix
* fix paths
* fix path
* github workspace path
* latest version
* Revert "latest version"
This reverts commit 5a7d7b82d9e7553bcb01b02557ec8969f9deba1d.
* commented consul exec
* added ssl revoke best effort
* revert best effort
* removed unused files
* rename var name and change dir
* windows runner
* permission
* needs setup fix
* swtich to github runner
* fix file path
* fix path
* fix path
* fix path
* fix path
* fix path
* fix build paths
* fix tag
* nightly runs
* added matrix in github workflow, renamed files
* fix job
* fix matrix
* removed brackes
* from json
* without using job matrix
* fix quotes
* revert job matrix
* fix workflow
* fix comment
* added comment
* nightly runs
* removed datadog ci as it is already measured in linux one
* running test
* Revert "running test"
This reverts commit 7013d15a23732179d18ec5d17336e16b26fab5d4.
* pr comment fixes
* running test now
* running subset of test
* running subset of test
* job matrix
* shell bash
* removed bash shell
* linux machine for job matrix
* fix output
* added cat to debug
* using ubuntu latest
* fix job matrix
* fix win true
* fix go test
* revert job matrix
---------
Co-authored-by: Jose Ignacio Lorenzo <74208929+joselo85@users.noreply.github.com>
Co-authored-by: Franco Bruno Lavayen <cocolavayen@gmail.com>
Co-authored-by: Ivan K Berlot <ivanberlot@gmail.com>
Co-authored-by: Ezequiel Fernández Ponce <20102608+ezfepo@users.noreply.github.com>
Co-authored-by: joselo85 <joseignaciolorenzo85@gmail.com>
Co-authored-by: Ezequiel Fernández Ponce <ezequiel.fernandez@southworks.com>
Co-authored-by: Dhia Ayachi <dhia@hashicorp.com>
* fix typos and update ecs compat table (#18215)
* fix typos and update ecs compat table
* real info for the ecs compat matrix table
* Update website/content/docs/ecs/compatibility.mdx
Co-authored-by: Chris Thain <32781396+cthain@users.noreply.github.com>
---------
Co-authored-by: Chris Thain <32781396+cthain@users.noreply.github.com>
* [OSS] proxystate: add proxystate protos (#18216)
* proxystate: add proxystate protos to pbmesh and resolve imports and conflicts between message names
* ci: don't verify s390x (#18224)
* [CC-5718] Remove HCP token requirement during bootstrap (#18140)
* [CC-5718] Remove HCP token requirement during bootstrap
* Re-add error for loading HCP management token
* Remove old comment
* Add changelog entry
* Remove extra validation line
* Apply suggestions from code review
Co-authored-by: lornasong <lornasong@users.noreply.github.com>
---------
Co-authored-by: lornasong <lornasong@users.noreply.github.com>
* [NET-4122] Doc guidance for federation with externalServers (#18207)
Doc guidance for federation with externalServers
Add guidance for proper configuration when joining to a secondary
cluster using WAN fed with external servers also enabled.
Also clarify federation requirements and fix formatting for an
unrelated value.
Update both the Helm chart reference (synced from `consul-k8s`, see
hashicorp/consul-k8s#2583) and the docs on using `externalServers`.
* [OSS] Improve xDS Code Coverage - Endpoints and Misc (#18222)
test: improve xDS endpoints code coverage
* Clarify license reporting timing and GDPR compliance (#18237)
Add Alicia's edits to clarify log timing and other details
* Fix Github Workflow File (#18241)
* [CONSUL-382] Support openssl in unique test dockerfile (#43)
* [CONSUL-405] Add bats to single container (#44)
* [CONSUL-414] Run Prometheus Test Cases and Validate Changes (#46)
* [CONSUL-410] Run Jaeger in Single container (#45)
* [CONSUL-412] Run test-sds-server in single container (#48)
* [CONSUL-408] Clean containers (#47)
* [CONSUL-384] Rebase and sync fork (#50)
* [CONSUL-415] Create Scenarios Troubleshooting Docs (#49)
* [CONSUL-417] Update Docs Single Container (#51)
* [CONSUL-428] Add Socat to single container (#54)
* [CONSUL-424] Replace pkill in kill_envoy function (#52)
* [CONSUL-434] Modify Docker run functions in Helper script (#53)
* [CONSUL-435] Replace docker run in set_ttl_check_state & wait_for_agent_service_register functions (#55)
* [CONSUL-438] Add netcat (nc) in the Single container Dockerfile (#56)
* [CONSUL-429] Replace Docker run with Docker exec (#57)
* [CONSUL-436] Curl timeout and run tests (#58)
* [CONSUL-443] Create dogstatsd Function (#59)
* [CONSUL-431] Update Docs Netcat (#60)
* [CONSUL-439] Parse nc Command in function (#61)
* [CONSUL-463] Review curl Exec and get_ca_root Func (#63)
* [CONSUL-453] Docker hostname in Helper functions (#64)
* [CONSUL-461] Test wipe volumes without extra cont (#66)
* [CONSUL-454] Check ports in the Server and Agent containers (#65)
* [CONSUL-441] Update windows dockerfile with version (#62)
* [CONSUL-466] Review case-grpc Failing Test (#67)
* [CONSUL-494] Review case-cfg-resolver-svc-failover (#68)
* [CONSUL-496] Replace docker_wget & docker_curl (#69)
* [CONSUL-499] Cleanup Scripts - Remove nanoserver (#70)
* [CONSUL-500] Update Troubleshooting Docs (#72)
* [CONSUL-502] Pull & Tag Envoy Windows Image (#73)
* [CONSUL-504] Replace docker run in docker_consul (#76)
* [CONSUL-505] Change admin_bind
* [CONSUL-399] Update envoy to 1.23.1 (#78)
* [CONSUL-510] Support case-wanfed-gw on Windows (#79)
* [CONSUL-506] Update troubleshooting Documentation (#80)
* [CONSUL-512] Review debug_dump_volumes Function (#81)
* [CONSUL-514] Add zipkin to Docker Image (#82)
* [CONSUL-515] Update Documentation (#83)
* [CONSUL-529] Support case-consul-exec (#86)
* [CONSUL-530] Update Documentation (#87)
* [CONSUL-530] Update default consul version 1.13.3
* [CONSUL-539] Cleanup (#91)
* [CONSUL-546] Scripts Clean-up (#92)
* [CONSUL-491] Support admin_access_log_path value for Windows (#71)
* [CONSUL-519] Implement mkfifo Alternative (#84)
* [CONSUL-542] Create OS Specific Files for Envoy Package (#88)
* [CONSUL-543] Create exec_supported.go (#89)
* [CONSUL-544] Test and Build Changes (#90)
* Implement os.DevNull
* using mmap instead of disk files
* fix import in exec-unix
* fix nmap open too many arguemtn
* go fmt on file
* changelog file
* fix go mod
* Update .changelog/17694.txt
Co-authored-by: Dhia Ayachi <dhia@hashicorp.com>
* different mmap library
* fix bootstrap json
* some fixes
* chocolatey version fix and image fix
* using different library
* fix Map funciton call
* fix mmap call
* fix tcp dump
* fix tcp dump
* windows tcp dump
* Fix docker run
* fix tests
* fix go mod
* fix version 16.0
* fix version
* fix version dev
* sleep to debug
* fix sleep
* fix permission issue
* fix permission issue
* fix permission issue
* fix command
* fix command
* fix funciton
* fix assert config entry status command not found
* fix command not found assert_cert_has_cn
* fix command not found assert_upstream_missing
* fix command not found assert_upstream_missing_once
* fix command not found get_upstream_endpoint
* fix command not found get_envoy_public_listener_once
* fix command not found
* fix test cases
* windows integration test workflow github
* made code similar to unix using npipe
* fix go.mod
* fix dialing of npipe
* dont wait
* check size of written json
* fix undefined n
* running
* fix dep
* fix syntax error
* fix workflow file
* windows runner
* fix runner
* fix from json
* fix runs on
* merge connect envoy
* fix cin path
* build
* fix file name
* fix file name
* fix dev build
* remove unwanted code
* fix upload
* fix bin name
* fix path
* checkout current branch
* fix path
* fix tests
* fix shell bash for windows sh files
* fix permission of run-test.sh
* removed docker dev
* added shell bash for tests
* fix tag
* fix win=true
* fix cd
* added dev
* fix variable undefined
* removed failing tests
* fix tcp dump image
* fix curl
* fix curl
* tcp dump path
* fix tcpdump path
* fix curl
* fix curl install
* stop removing intermediate containers
* fix tcpdump docker image
* revert -rm
* --rm=false
* makeing docker image before
* fix tcpdump
* removed case consul exec
* removed terminating gateway simple
* comment case wasm
* removed data dog
* comment out upload coverage
* uncomment case-consul-exec
* comment case consul exec
* if always
* logs
* using consul 1.17.0
* fix quotes
* revert quotes
* redirect to dev null
* Revert version
* revert consul connect
* fix version
* removed envoy connect
* not using function
* change log
* docker logs
* fix logs
* restructure bad authz
* rmeoved dev null
* output
* fix file descriptor
* fix cacert
* fix cacert
* fix ca cert
* cacert does not work in windows curl
* fix func
* removed docker logs
* added sleep
* fix tls
* commented case-consul-exec
* removed echo
* retry docker consul
* fix upload bin
* uncomment consul exec
* copying consul.exe to docker image
* copy fix
* fix paths
* fix path
* github workspace path
* latest version
* Revert "latest version"
This reverts commit 5a7d7b82d9e7553bcb01b02557ec8969f9deba1d.
* commented consul exec
* added ssl revoke best effort
* revert best effort
* removed unused files
* rename var name and change dir
* windows runner
* permission
* needs setup fix
* swtich to github runner
* fix file path
* fix path
* fix path
* fix path
* fix path
* fix path
* fix build paths
* fix tag
* nightly runs
* added matrix in github workflow, renamed files
* fix job
* fix matrix
* removed brackes
* from json
* without using job matrix
* fix quotes
* revert job matrix
* fix workflow
* fix comment
* added comment
* nightly runs
* removed datadog ci as it is already measured in linux one
* running test
* Revert "running test"
This reverts commit 7013d15a23732179d18ec5d17336e16b26fab5d4.
* pr comment fixes
* running test now
* running subset of test
* running subset of test
* job matrix
* shell bash
* removed bash shell
* linux machine for job matrix
* fix output
* added cat to debug
* using ubuntu latest
* fix job matrix
* fix win true
* fix go test
* revert job matrix
* Fix tests
---------
Co-authored-by: Ivan K Berlot <ivanberlot@gmail.com>
Co-authored-by: Jose Ignacio Lorenzo <74208929+joselo85@users.noreply.github.com>
Co-authored-by: Franco Bruno Lavayen <cocolavayen@gmail.com>
Co-authored-by: Ezequiel Fernández Ponce <20102608+ezfepo@users.noreply.github.com>
Co-authored-by: joselo85 <joseignaciolorenzo85@gmail.com>
Co-authored-by: Ezequiel Fernández Ponce <ezequiel.fernandez@southworks.com>
Co-authored-by: Dhia Ayachi <dhia@hashicorp.com>
* NET-4996 - filter go-tests and test-integration workflows from running on docs only and ui only changes (#18236)
* Align build arch matrix with enterprise (#18235)
Ensure that OSS remains in sync w/ Enterprise by aligning the format of
arch matrix args for various build jobs.
* Revert "NET-4996 - filter go-tests and test-integration workflows from running on docs only and ui only changes" (#18248)
Revert "NET-4996 - filter go-tests and test-integration workflows from running on docs only and ui only changes (#18236)"
This reverts commit a11dba710e6ce6f172c0fa6c9b61567cc1efffc8.
* resource: Add scope to resource type registration [NET-4976] (#18214)
Enables querying a resource type's registration to determine if a resource is cluster, partition, or partition and namespace scoped.
* Fix some inconsistencies in jwt docs (#18234)
* NET-1825: More new ACL token creation docs (#18063)
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* [CC-5719] Add support for builtin global-read-only policy
* Add changelog
* Add read-only to docs
* Fix some minor issues.
* Change from ReplaceAll to Sprintf
* Change IsValidPolicy name to return an error instead of bool
* Fix PolicyList test
* Fix other tests
* Apply suggestions from code review
Co-authored-by: Paul Glass <pglass@hashicorp.com>
* Fix state store test for policy list.
* Fix naming issues
* Update acl/validation.go
Co-authored-by: Chris Thain <32781396+cthain@users.noreply.github.com>
* backport of commit d63fa5481dc02c6faae7cc2647b4073b3286af1d
* backport of commit 3d099a6ed8ed10b6dc464c466cb1668914db8f08
---------
Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: Dan Bond <danbond@protonmail.com>
Signed-off-by: josh <josh.timmons@hashicorp.com>
Co-authored-by: Michael Zalimeni <michael.zalimeni@hashicorp.com>
Co-authored-by: Ronald <roncodingenthusiast@users.noreply.github.com>
Co-authored-by: Eric Haberkorn <erichaberkorn@gmail.com>
Co-authored-by: Andrew Stucki <andrew.stucki@hashicorp.com>
Co-authored-by: Luke Kysow <1034429+lkysow@users.noreply.github.com>
Co-authored-by: R.B. Boyer <4903+rboyer@users.noreply.github.com>
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com>
Co-authored-by: David Yu <dyu@hashicorp.com>
Co-authored-by: Bryce Kalow <bkalow@hashicorp.com>
Co-authored-by: Paul Glass <pglass@hashicorp.com>
Co-authored-by: Matt Keeler <mkeeler@users.noreply.github.com>
Co-authored-by: Nathan Coleman <nathan.coleman@hashicorp.com>
Co-authored-by: Poonam Jadhav <poonam.jadhav@hashicorp.com>
Co-authored-by: Tu Nguyen <im2nguyen@users.noreply.github.com>
Co-authored-by: Chris Thain <32781396+cthain@users.noreply.github.com>
Co-authored-by: Hariram Sankaran <56744845+ramramhariram@users.noreply.github.com>
Co-authored-by: shanafarkas <105076572+shanafarkas@users.noreply.github.com>
Co-authored-by: Thomas Eckert <teckert@hashicorp.com>
Co-authored-by: Jeff Apple <79924108+Jeff-Apple@users.noreply.github.com>
Co-authored-by: Joshua Timmons <josh.timmons@hashicorp.com>
Co-authored-by: Ashesh Vidyut <134911583+absolutelightning@users.noreply.github.com>
Co-authored-by: Dan Stough <dan.stough@hashicorp.com>
Co-authored-by: Curt Bushko <cbushko@gmail.com>
Co-authored-by: Tobias Birkefeld <t@craxs.de>
Co-authored-by: Jared Kirschner <85913323+jkirschner-hashicorp@users.noreply.github.com>
Co-authored-by: Semir Patel <semir.patel@hashicorp.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: chappie <6537530+chapmanc@users.noreply.github.com>
Co-authored-by: Derek Menteer <105233703+hashi-derek@users.noreply.github.com>
Co-authored-by: John Murret <john.murret@hashicorp.com>
Co-authored-by: Mark Campbell-Vincent <mnmvincent@gmail.com>
Co-authored-by: Daniel Upton <daniel@floppy.co>
Co-authored-by: Steven Zamborsky <97125550+stevenzamborsky@users.noreply.github.com>
Co-authored-by: George Bolo <george.bolo@gmail.com>
Co-authored-by: Chris S. Kim <ckim@hashicorp.com>
Co-authored-by: wangxinyi7 <121973291+wangxinyi7@users.noreply.github.com>
Co-authored-by: cskh <hui.kang@hashicorp.com>
Co-authored-by: V. K <cn007b@gmail.com>
Co-authored-by: Iryna Shustava <ishustava@users.noreply.github.com>
Co-authored-by: Alex Simenduev <shamil.si@gmail.com>
Co-authored-by: Dhia Ayachi <dhia@hashicorp.com>
Co-authored-by: Dan Bond <danbond@protonmail.com>
Co-authored-by: sarahalsmiller <100602640+sarahalsmiller@users.noreply.github.com>
Co-authored-by: Gerard Nguyen <gerard@hashicorp.com>
Co-authored-by: mr-miles <miles.waller@gmail.com>
Co-authored-by: natemollica-dev <57850649+natemollica-nm@users.noreply.github.com>
Co-authored-by: John Maguire <john.maguire@hashicorp.com>
Co-authored-by: Samantha <hello@entropy.cat>
Co-authored-by: Ranjandas <thejranjan@gmail.com>
Co-authored-by: Evan Phoenix <evan@phx.io>
Co-authored-by: Michael Hofer <karras@users.noreply.github.com>
Co-authored-by: J.C. Jones <james.jc.jones@gmail.com>
Co-authored-by: Fulvio <fulviodenza823@gmail.com>
Co-authored-by: Krastin Krastev <krastin@hashicorp.com>
Co-authored-by: david3a <49253132+david3a@users.noreply.github.com>
Co-authored-by: Nick Irvine <115657443+nfi-hashicorp@users.noreply.github.com>
Co-authored-by: Tom Davies <tom@t-davies.com>
Co-authored-by: Vijay <vijayraghav22@gmail.com>
Co-authored-by: Eddie Rowe <74205376+eddie-rowe@users.noreply.github.com>
Co-authored-by: emilymianeil <eneil@hashicorp.com>
Co-authored-by: nv-hashi <80716011+nv-hashi@users.noreply.github.com>
Co-authored-by: Franco Bruno Lavayen <cocolavayen@gmail.com>
Co-authored-by: Jose Ignacio Lorenzo <74208929+joselo85@users.noreply.github.com>
Co-authored-by: Jose Ignacio Lorenzo <joseignaciolorenzo85@gmail.com>
Co-authored-by: R.B. Boyer <rb@hashicorp.com>
Co-authored-by: Freddy <freddygv@users.noreply.github.com>
Co-authored-by: NiniOak <anita.akaeze@hashicorp.com>
Co-authored-by: hashicorp-tsccr[bot] <129506189+hashicorp-tsccr[bot]@users.noreply.github.com>
Co-authored-by: hashicorp-tsccr[bot] <hashicorp-tsccr[bot]@users.noreply.github.com>
Co-authored-by: Blake Covarrubias <blake@covarrubi.as>
Co-authored-by: Ivan K Berlot <ivanberlot@gmail.com>
Co-authored-by: Ezequiel Fernández Ponce <20102608+ezfepo@users.noreply.github.com>
Co-authored-by: Ezequiel Fernández Ponce <ezequiel.fernandez@southworks.com>
Co-authored-by: Nitya Dhanushkodi <nitya@hashicorp.com>
Co-authored-by: Jeremy Jacobson <jjacobson93@users.noreply.github.com>
Co-authored-by: lornasong <lornasong@users.noreply.github.com>
Co-authored-by: Judith Malnick <judith@hashicorp.com>
Co-authored-by: Jeremy Jacobson <jeremy.jacobson@hashicorp.com>
2023-08-01 17:37:13 +00:00
|
|
|
policy = "%[1]s"
|
2018-10-19 16:04:07 +00:00
|
|
|
}
|
|
|
|
key_prefix "" {
|
Backport of [CC-5719] Add support for builtin global-read-only policy into release/1.16.x (#18345)
* [OSS] Post Consul 1.16 updates (#17606)
* chore: update dev build to 1.17
* chore(ci): add nightly 1.16 test
Drop the oldest and add the newest running release branch to nightly
builds.
* Add writeAuditRPCEvent to agent_oss (#17607)
* Add writeAuditRPCEvent to agent_oss
* fix the other diffs
* backport change log
* Add Envoy and Consul version constraints to Envoy extensions (#17612)
* [API Gateway] Fix trust domain for external peered services in synthesis code (#17609)
* [API Gateway] Fix trust domain for external peered services in synthesis code
* Add changelog
* backport ent changes to oss (#17614)
* backport ent changes to oss
* Update .changelog/_5669.txt
Co-authored-by: Michael Zalimeni <michael.zalimeni@hashicorp.com>
---------
Co-authored-by: Michael Zalimeni <michael.zalimeni@hashicorp.com>
* Update intentions.mdx (#17619)
Make behaviour of L7 intentions clearer
* enterprise changelog update for audit (#17625)
* Update list of Envoy versions (#17546)
* [API Gateway] Fix rate limiting for API gateways (#17631)
* [API Gateway] Fix rate limiting for API gateways
* Add changelog
* Fix failing unit tests
* Fix operator usage tests for api package
* sort some imports that are wonky between oss and ent (#17637)
* PmTLS and tproxy improvements with failover and L7 traffic mgmt for k8s (#17624)
* porting over changes from enterprise repo to oss
* applied feedback on service mesh for k8s overview
* fixed typo
* removed ent-only build script file
* Apply suggestions from code review
Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com>
* Apply suggestions from code review
Co-authored-by: David Yu <dyu@hashicorp.com>
Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com>
---------
Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com>
Co-authored-by: David Yu <dyu@hashicorp.com>
* Delete check-legacy-links-format.yml (#17647)
* docs: Reference doc updates for permissive mTLS settings (#17371)
* Reference doc updates for permissive mTLS settings
* Document config entry filtering
* Fix minor doc errors (double slashes in link url paths)
---------
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Add generic experiments configuration and use it to enable catalog v2 resources (#17604)
* Add generic experiments configuration and use it to enable catalog v2 resources
* Run formatting with -s as CI will validate that this has been done
* api-gateway: stop adding all header filters to virtual host when generating xDS (#17644)
* Add header filter to api-gateway xDS golden test
* Stop adding all header filters to virtual host when generating xDS for api-gateway
* Regenerate xDS golden file for api-gateway w/ header filter
* fix: add agent info reporting log (#17654)
* Add new Consul 1.16 docs (#17651)
* Merge pull request #5773 from hashicorp/docs/rate-limiting-from-ip-addresses-1.16
updated docs for rate limiting for IP addresses - 1.16
* Merge pull request #5609 from hashicorp/docs/enterprise-utilization-reporting
Add docs for enterprise utilization reporting
* Merge pull request #5734 from hashicorp/docs/envoy-ext-1.16
Docs/envoy ext 1.16
* Merge pull request #5773 from hashicorp/docs/rate-limiting-from-ip-addresses-1.16
updated docs for rate limiting for IP addresses - 1.16
* Merge pull request #5609 from hashicorp/docs/enterprise-utilization-reporting
Add docs for enterprise utilization reporting
* Merge pull request #5734 from hashicorp/docs/envoy-ext-1.16
Docs/envoy ext 1.16
* fix build errors
---------
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Default `ProxyType` for builtin extensions (#17657)
* Post 1.16.0-rc1 updates (#17663)
- Update changelog to include new entries from release
- Update submodule versions to latest published
* Update service-defaults.mdx (#17656)
* docs: Sameness Groups (#17628)
* port from enterprise branch
* Apply suggestions from code review
Co-authored-by: shanafarkas <105076572+shanafarkas@users.noreply.github.com>
* Update website/content/docs/connect/cluster-peering/usage/create-sameness-groups.mdx
* next steps
* Update website/content/docs/connect/cluster-peering/usage/create-sameness-groups.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Update website/content/docs/k8s/connect/cluster-peering/usage/create-sameness-groups.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
---------
Co-authored-by: shanafarkas <105076572+shanafarkas@users.noreply.github.com>
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Remove "BETA" marker from config entries (#17670)
* CAPIgw for K8s installation updates for 1.16 (#17627)
* trimmed CRD step and reqs from installation
* updated tech specs
* Apply suggestions from code review
Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com>
Co-authored-by: Jeff Apple <79924108+Jeff-Apple@users.noreply.github.com>
* added upgrade instruction
* removed tcp port req
* described downtime and DT-less upgrades
* applied additional review feedback
---------
Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com>
Co-authored-by: Jeff Apple <79924108+Jeff-Apple@users.noreply.github.com>
* additional feedback on API gateway upgrades (#17677)
* additional feedback
* Update website/content/docs/api-gateway/upgrades.mdx
Co-authored-by: Jeff Apple <79924108+Jeff-Apple@users.noreply.github.com>
---------
Co-authored-by: Jeff Apple <79924108+Jeff-Apple@users.noreply.github.com>
* docs: JWT Authorization for intentions (#17643)
* Initial page/nav creation
* configuration entry reference page
* Usage + fixes
* service intentions page
* usage
* description
* config entry updates
* formatting fixes
* Update website/content/docs/connect/config-entries/service-intentions.mdx
Co-authored-by: Paul Glass <pglass@hashicorp.com>
* service intentions review fixes
* Overview page review fixes
* Apply suggestions from code review
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
---------
Co-authored-by: Paul Glass <pglass@hashicorp.com>
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* docs: minor fixes to JWT auth docs (#17680)
* Fixes
* service intentions fixes
* Fix two WAL metrics in docs/agent/telemetry.mdx (#17593)
* updated failover for k8s w-tproxy page title (#17683)
* Add release notes 1.16 rc (#17665)
* Merge pull request #5773 from hashicorp/docs/rate-limiting-from-ip-addresses-1.16
updated docs for rate limiting for IP addresses - 1.16
* Merge pull request #5609 from hashicorp/docs/enterprise-utilization-reporting
Add docs for enterprise utilization reporting
* Merge pull request #5734 from hashicorp/docs/envoy-ext-1.16
Docs/envoy ext 1.16
* Add release notes for 1.16-rc
* Add consul-e license utlization reporting
* Update with rc absolute links
* Update with rc absolute links
* fix typo
* Apply suggestions from code review
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Update to use callout component
* address typo
* docs: FIPS 140-2 Compliance (#17668)
* Page + nav + formatting
* link fix
* Update website/content/docs/enterprise/fips.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Update website/content/docs/enterprise/fips.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Update website/content/docs/enterprise/fips.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Update website/content/docs/enterprise/fips.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Update website/content/docs/enterprise/fips.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Update website/content/docs/enterprise/fips.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Update website/content/docs/enterprise/fips.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Update website/content/docs/enterprise/fips.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Update website/content/docs/enterprise/fips.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Update website/content/docs/enterprise/fips.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* link fix
* Apply suggestions from code review
Co-authored-by: Jeff Apple <79924108+Jeff-Apple@users.noreply.github.com>
* Update website/content/docs/enterprise/fips.mdx
---------
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
Co-authored-by: Jeff Apple <79924108+Jeff-Apple@users.noreply.github.com>
* fix apigw install values file
* fix typos in release notes
---------
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com>
Co-authored-by: Jeff Apple <79924108+Jeff-Apple@users.noreply.github.com>
* fix release notes links (#17687)
* adding redirects for tproxy and envoy extensions (#17688)
* adding redirects
* Apply suggestions from code review
* Fix FIPS copy (#17691)
* fix release notes links
* fix typos on fips docs
* [NET-4107][Supportability] Log Level set to TRACE and duration set to 5m for consul-debug (#17596)
* changed duration to 5 mins and log level to trace
* documentation update
* change log
* ENT merge of ext-authz extension updates (#17684)
* docs: Update default values for Envoy extension proxy types (#17676)
* fix: stop peering delete routine on leader loss (#17483)
* Refactor disco chain prioritize by locality structs (#17696)
This includes prioritize by localities on disco chain targets rather than
resolvers, allowing different targets within the same partition to have
different policies.
* agent: remove agent cache dependency from service mesh leaf certificate management (#17075)
* agent: remove agent cache dependency from service mesh leaf certificate management
This extracts the leaf cert management from within the agent cache.
This code was produced by the following process:
1. All tests in agent/cache, agent/cache-types, agent/auto-config,
agent/consul/servercert were run at each stage.
- The tests in agent matching .*Leaf were run at each stage.
- The tests in agent/leafcert were run at each stage after they
existed.
2. The former leaf cert Fetch implementation was extracted into a new
package behind a "fake RPC" endpoint to make it look almost like all
other cache type internals.
3. The old cache type was shimmed to use the fake RPC endpoint and
generally cleaned up.
4. I selectively duplicated all of Get/Notify/NotifyCallback/Prepopulate
from the agent/cache.Cache implementation over into the new package.
This was renamed as leafcert.Manager.
- Code that was irrelevant to the leaf cert type was deleted
(inlining blocking=true, refresh=false)
5. Everything that used the leaf cert cache type (including proxycfg
stuff) was shifted to use the leafcert.Manager instead.
6. agent/cache-types tests were moved and gently replumbed to execute
as-is against a leafcert.Manager.
7. Inspired by some of the locking changes from derek's branch I split
the fat lock into N+1 locks.
8. The waiter chan struct{} was eventually replaced with a
singleflight.Group around cache updates, which was likely the biggest
net structural change.
9. The awkward two layers or logic produced as a byproduct of marrying
the agent cache management code with the leaf cert type code was
slowly coalesced and flattened to remove confusion.
10. The .*Leaf tests from the agent package were copied and made to work
directly against a leafcert.Manager to increase direct coverage.
I have done a best effort attempt to port the previous leaf-cert cache
type's tests over in spirit, as well as to take the e2e-ish tests in the
agent package with Leaf in the test name and copy those into the
agent/leafcert package to get more direct coverage, rather than coverage
tangled up in the agent logic.
There is no net-new test coverage, just coverage that was pushed around
from elsewhere.
* [core]: Pin github action workflows (#17695)
* docs: missing changelog for _5517 (#17706)
* add enterprise notes for IP-based rate limits (#17711)
* add enterprise notes for IP-based rate limits
* Apply suggestions from code review
Co-authored-by: Tu Nguyen <im2nguyen@users.noreply.github.com>
Co-authored-by: David Yu <dyu@hashicorp.com>
* added bolded 'Enterprise' in list items.
---------
Co-authored-by: Tu Nguyen <im2nguyen@users.noreply.github.com>
Co-authored-by: David Yu <dyu@hashicorp.com>
* Update compatibility.mdx (#17713)
* Remove extraneous version info for Config entries (#17716)
* Update terminating-gateway.mdx
* Update exported-services.mdx
* Update mesh.mdx
* fix: typo in link to section (#17527)
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Bump Alpine to 3.18 (#17719)
* Update Dockerfile
* Create 17719.txt
* NET-1825: New ACL token creation docs (#16465)
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
Co-authored-by: Jared Kirschner <85913323+jkirschner-hashicorp@users.noreply.github.com>
* [NET-3865] [Supportability] Additional Information in the output of 'consul operator raft list-peers' (#17582)
* init
* fix tests
* added -detailed in docs
* added change log
* fix doc
* checking for entry in map
* fix tests
* removed detailed flag
* removed detailed flag
* revert unwanted changes
* removed unwanted changes
* updated change log
* pr review comment changes
* pr comment changes single API instead of two
* fix change log
* fix tests
* fix tests
* fix test operator raft endpoint test
* Update .changelog/17582.txt
Co-authored-by: Semir Patel <semir.patel@hashicorp.com>
* nits
* updated docs
---------
Co-authored-by: Semir Patel <semir.patel@hashicorp.com>
* OSS merge: Update error handling login when applying extensions (#17740)
* Bump atlassian/gajira-transition from 3.0.0 to 3.0.1 (#17741)
Bumps [atlassian/gajira-transition](https://github.com/atlassian/gajira-transition) from 3.0.0 to 3.0.1.
- [Release notes](https://github.com/atlassian/gajira-transition/releases)
- [Commits](https://github.com/atlassian/gajira-transition/compare/4749176faf14633954d72af7a44d7f2af01cc92b...38fc9cd61b03d6a53dd35fcccda172fe04b36de3)
---
updated-dependencies:
- dependency-name: atlassian/gajira-transition
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Add truncation to body (#17723)
* docs: Failover overview minor fix (#17743)
* Incorrect symbol
* Clarification
* slight edit for clarity
* docs - update Envoy and Dataplane compat matrix (#17752)
* Update envoy.mdx
added more detail around default versus other compatible versions
* validate localities on agent configs and registration endpoints (#17712)
* Updated docs added explanation. (#17751)
* init
* fix tests
* added -detailed in docs
* added change log
* fix doc
* checking for entry in map
* fix tests
* removed detailed flag
* removed detailed flag
* revert unwanted changes
* removed unwanted changes
* updated change log
* pr review comment changes
* pr comment changes single API instead of two
* fix change log
* fix tests
* fix tests
* fix test operator raft endpoint test
* Update .changelog/17582.txt
Co-authored-by: Semir Patel <semir.patel@hashicorp.com>
* nits
* updated docs
* explanation added
---------
Co-authored-by: Semir Patel <semir.patel@hashicorp.com>
* Update index.mdx (#17749)
* added redirects and updated links (#17764)
* Add transparent proxy enhancements changelog (#17757)
* docs - remove use of consul leave during upgrade instructions (#17758)
* Fix issue with streaming service health watches. (#17775)
Fix issue with streaming service health watches.
This commit fixes an issue where the health streams were unaware of service
export changes. Whenever an exported-services config entry is modified, it is
effectively an ACL change.
The bug would be triggered by the following situation:
- no services are exported
- an upstream watch to service X is spawned
- the streaming backend filters out data for service X (due to lack of exports)
- service X is finally exported
In the situation above, the streaming backend does not trigger a refresh of its
data. This means that any events that were supposed to have been received prior
to the export are NOT backfilled, and the watches never see service X spawning.
We currently have decided to not trigger a stream refresh in this situation due
to the potential for a thundering herd effect (touching exports would cause a
re-fetch of all watches for that partition, potentially). Therefore, a local
blocking-query approach was added by this commit for agentless.
It's also worth noting that the streaming subscription is currently bypassed
most of the time with agentful, because proxycfg has a `req.Source.Node != ""`
which prevents the `streamingEnabled` check from passing. This means that while
agents should technically have this same issue, they don't experience it with
mesh health watches.
Note that this is a temporary fix that solves the issue for proxycfg, but not
service-discovery use cases.
* Property Override validation improvements (#17759)
* Reject inbound Prop Override patch with Services
Services filtering is only supported for outbound TrafficDirection patches.
* Improve Prop Override unexpected type validation
- Guard against additional invalid parent and target types
- Add specific error handling for Any fields (unsupported)
* Fixes (#17765)
* Update license get explanation (#17782)
This PR is to clarify what happens if the license get command is run on a follower if the leader hasn't been updated with a newer license.
* Add Patch index to Prop Override validation errors (#17777)
When a patch is found invalid, include its index for easier debugging
when multiple patches are provided.
* Stop referenced jwt providers from being deleted (#17755)
* Stop referenced jwt providers from being deleted
* Implement a Catalog Controllers Lifecycle Integration Test (#17435)
* Implement a Catalog Controllers Lifecycle Integration Test
* Prevent triggering the race detector.
This allows defining some variables for protobuf constants and using those in comparisons. Without that, something internal in the fmt package ended up looking at the protobuf message size cache and triggering the race detector.
* HCP Add node id/name to config (#17750)
* Catalog V2 Container Based Integration Test (#17674)
* Implement the Catalog V2 controller integration container tests
This now allows the container tests to import things from the root module. However for now we want to be very restrictive about which packages we allow importing.
* Add an upgrade test for the new catalog
Currently this should be dormant and not executed. However its put in place to detect breaking changes in the future and show an example of how to do an upgrade test with integration tests structured like catalog v2.
* Make testutil.Retry capable of performing cleanup operations
These cleanup operations are executed after each retry attempt.
* Move TestContext to taking an interface instead of a concrete testing.T
This allows this to be used on a retry.R or generally anything that meets the interface.
* Move to using TestContext instead of background contexts
Also this forces all test methods to implement the Cleanup method now instead of that being an optional interface.
Co-authored-by: Daniel Upton <daniel@floppy.co>
* Fix Docs for Trails Leader By (#17763)
* init
* fix tests
* added -detailed in docs
* added change log
* fix doc
* checking for entry in map
* fix tests
* removed detailed flag
* removed detailed flag
* revert unwanted changes
* removed unwanted changes
* updated change log
* pr review comment changes
* pr comment changes single API instead of two
* fix change log
* fix tests
* fix tests
* fix test operator raft endpoint test
* Update .changelog/17582.txt
Co-authored-by: Semir Patel <semir.patel@hashicorp.com>
* nits
* updated docs
* explanation added
* fix doc
* fix docs
---------
Co-authored-by: Semir Patel <semir.patel@hashicorp.com>
* Improve Prop Override docs examples (#17799)
- Provide more realistics examples for setting properties not already
supported natively by Consul
- Remove superfluous commas from HCL, correct target service name, and
fix service defaults vs. proxy defaults in examples
- Align existing integration test to updated docs
* Test permissive mTLS filter chain not configured with tproxy disabled (#17747)
* Add documentation for remote debugging of integration tests. (#17800)
* Add documentation for remote debugging of integration tests.
* add link from main docs page.
* changes related to PR feedback
* Clarify limitations of Prop Override extension (#17801)
Explicitly document the limitations of the extension, particularly what
kind of fields it is capable of modifying.
* Fix formatting for webhook-certs Consul tutorial (#17810)
* Fix formatting for webhook-certs Consul tutorial
* Make a small grammar change to also pick up whitespace changes necessary for formatting
---------
Co-authored-by: David Yu <dyu@hashicorp.com>
* Add jwt-authn metrics to jwt-provider docs (#17816)
* [NET-3095] add jwt-authn metrics docs
* Change URLs for redirects from RC to default latest (#17822)
* Set GOPRIVATE for all hashicorp repos in CI (#17817)
Consistently set GOPRIVATE to include all hashicorp repos, s.t. private
modules are successfully pulled in enterprise CI.
* Make locality aware routing xDS changes (#17826)
* Fixup consul-container/test/debugging.md (#17815)
Add missing `-t` flag and fix minor typo.
* fixes #17732 - AccessorID in request body should be optional when updating ACL token (#17739)
* AccessorID in request body should be optional when updating ACL token
* add a test case
* fix test case
* add changelog entry for PR #17739
* CA provider doc updates and Vault provider minor update (#17831)
Update CA provider docs
Clarify that providers can differ between
primary and secondary datacenters
Provide a comparison chart for consul vs
vault CA providers
Loosen Vault CA provider validation for RootPKIPath
Update Vault CA provider documentation
* ext-authz Envoy extension: support `localhost` as a valid target URI. (#17821)
* CI Updates (#17834)
* Ensure that git access to private repos uses the ELEVATED_GITHUB_TOKEN
* Bump the runner size for the protobuf generation check
This has failed previously when the runner process that communicates with GitHub gets starved causing the job to fail.
* counter part of ent pr (#17618)
* watch: support -filter for consul watch: checks, services, nodes, service (#17780)
* watch: support -filter for watch checks
* Add filter for watch nodes, services, and service
- unit test added
- Add changelog
- update doc
* Trigger OSS => ENT merge for all release branches (#17853)
Previously, this only triggered for release/*.*.x branches; however, our release process involves cutting a release/1.16.0 branch, for example, at time of code freeze these days. Any PRs to that branch after code freeze today do not make their way to consul-enterprise. This will make behavior for a .0 branch consistent with current behavior for a .x branch.
* Update service-mesh.mdx (#17845)
Deleted two commas which looks quite like some leftovers.
* Add docs for sameness groups with resolvers. (#17851)
* docs: add note about path prefix matching behavior for HTTPRoute config (#17860)
* Add note about path prefix matching behavior for HTTPRoute config
* Update website/content/docs/connect/gateways/api-gateway/configuration/http-route.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
---------
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* docs: update upgrade to consul-dataplane docs on k8s (#17852)
* resource: add `AuthorizerContext` helper method (#17393)
* resource: enforce consistent naming of resource types (#17611)
For consistency, resource type names must follow these rules:
- `Group` must be snake case, and in most cases a single word.
- `GroupVersion` must be lowercase, start with a "v" and end with a number.
- `Kind` must be pascal case.
These were chosen because they map to our protobuf type naming
conventions.
* tooling: generate protoset file (#17364)
Extends the `proto` make target to generate a protoset file for use with
grpcurl etc.
* Fix a bug that wrongly trims domains when there is an overlap with DC name (#17160)
* Fix a bug that wrongly trims domains when there is an overlap with DC name
Before this change, when DC name and domain/alt-domain overlap, the domain name incorrectly trimmed from the query.
Example:
Given: datacenter = dc-test, alt-domain = test.consul.
Querying for "test-node.node.dc-test.consul" will faile, because the
code was trimming "test.consul" instead of just ".consul"
This change, fixes the issue by adding dot (.) before trimming
* trimDomain: ensure domain trimmed without modyfing original domains
* update changelog
---------
Co-authored-by: Dhia Ayachi <dhia@hashicorp.com>
* deps: aws-sdk-go v1.44.289 (#17876)
Signed-off-by: Dan Bond <danbond@protonmail.com>
* api-gateway: add operation cannot be fulfilled error to common errors (#17874)
* add error message
* Update website/content/docs/api-gateway/usage/errors.mdx
Co-authored-by: Nathan Coleman <nathan.coleman@hashicorp.com>
* fix formating issues
---------
Co-authored-by: Nathan Coleman <nathan.coleman@hashicorp.com>
* api-gateway: add step to upgrade instructions for creating intentions (#17875)
* Changelog - add 1.13.9, 1.14.8, and 1.15.4 (#17889)
* docs: update config enable_debug (#17866)
* update doc for config enable_debug
* Update website/content/docs/agent/config/config-files.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
---------
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Update wording on WAN fed and intermediate_pki_path (#17850)
* Allow service identity tokens the ability to read jwt-providers (#17893)
* Allow service identity tokens the ability to read jwt-providers
* more tests
* service_prefix tests
* Update docs (#17476)
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Add emit_tags_as_labels to envoy bootstrap config when using Consul Telemetry Collector (#17888)
* Fix command from kg to kubectl get (#17903)
* Create and update release notes for 1.16 and 1.2 (#17895)
* update release notes for 1.16 and 1.2
* update latest consul core release
* Propose new changes to APIgw upgrade instructions (#17693)
* Propose new changes to APIgw upgrade instructions
* fix build error
* update callouts to render correctly
* Add hideClipboard to log messages
* Added clarification around consul k8s and crds
* Add workflow to verify linux release packages (#17904)
* adding docker files to verify linux packages.
* add verifr-release-linux.yml
* updating name
* pass inputs directly into jobs
* add other linux package platforms
* remove on push
* fix TARGETARCH on debian and ubuntu so it can check arm64 and amd64
* fixing amazon to use the continue line
* add ubuntu i386
* fix comment lines
* working
* remove commented out workflow jobs
* Apply suggestions from code review
Co-authored-by: Nathan Coleman <nathan.coleman@hashicorp.com>
* update fedora and ubuntu to use latest tag
---------
Co-authored-by: Nathan Coleman <nathan.coleman@hashicorp.com>
* Reference hashicorp/consul instead of consul for Docker image (#17914)
* Reference hashicorp/consul instead of consul for Docker image
* Update Make targets that pull consul directly
* Update Consul K8s Upgrade Doc Updates (#17921)
Updating upgrade procedures to encompass expected errors during upgrade process from v1.13.x to v1.14.x.
* Update sameness-group.mdx (#17915)
* Update create-sameness-groups.mdx (#17927)
* deps: coredns v1.10.1 (#17912)
* Ensure RSA keys are at least 2048 bits in length (#17911)
* Ensure RSA keys are at least 2048 bits in length
* Add changelog
* update key length check for FIPS compliance
* Fix no new variables error and failing to return when error exists from
validating
* clean up code for better readability
* actually return value
* tlsutil: Fix check TLS configuration (#17481)
* tlsutil: Fix check TLS configuration
* Rewording docs.
* Update website/content/docs/services/configuration/checks-configuration-reference.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Fix typos and add changelog entry.
---------
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* docs: Deprecations for connect-native SDK and specific connect native APIs (#17937)
* Update v1_16_x.mdx
* Update connect native golang page
---------
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Revert "Add workflow to verify linux release packages (#17904)" (#17942)
This reverts commit 3368f14fab500ebe9f6aeab5631dd1d5f5a453e5.
* Fixes Secondary ConnectCA update (#17846)
This fixes a bug that was identified which resulted in subsequent
ConnectCA configuration update not to persist in the cluster.
* fixing typo in link to jwt-validations-with-intentions doc (#17955)
* Fix streaming backend link (#17958)
* Fix streaming backend link
* Update health.mdx
* Dynamically create jwks clusters for jwt-providers (#17944)
* website: remove deprecated agent rpc docs (#17962)
* Fix missing BalanceOutboundConnections in v2 catalog. (#17964)
* feature - [NET - 4005] - [Supportability] Reloadable Configuration - enable_debug (#17565)
* # This is a combination of 9 commits.
# This is the 1st commit message:
init without tests
# This is the commit message #2:
change log
# This is the commit message #3:
fix tests
# This is the commit message #4:
fix tests
# This is the commit message #5:
added tests
# This is the commit message #6:
change log breaking change
# This is the commit message #7:
removed breaking change
# This is the commit message #8:
fix test
# This is the commit message #9:
keeping the test behaviour same
* # This is a combination of 12 commits.
# This is the 1st commit message:
init without tests
# This is the commit message #2:
change log
# This is the commit message #3:
fix tests
# This is the commit message #4:
fix tests
# This is the commit message #5:
added tests
# This is the commit message #6:
change log breaking change
# This is the commit message #7:
removed breaking change
# This is the commit message #8:
fix test
# This is the commit message #9:
keeping the test behaviour same
# This is the commit message #10:
made enable debug atomic bool
# This is the commit message #11:
fix lint
# This is the commit message #12:
fix test true enable debug
* parent 10f500e895d92cc3691ade7b74a33db755d22039
author absolutelightning <ashesh.vidyut@hashicorp.com> 1687352587 +0530
committer absolutelightning <ashesh.vidyut@hashicorp.com> 1687352592 +0530
init without tests
change log
fix tests
fix tests
added tests
change log breaking change
removed breaking change
fix test
keeping the test behaviour same
made enable debug atomic bool
fix lint
fix test true enable debug
using enable debug in agent as atomic bool
test fixes
fix tests
fix tests
added update on correct locaiton
fix tests
fix reloadable config enable debug
fix tests
fix init and acl 403
* revert commit
* Fix formatting codeblocks on APIgw docs (#17970)
* fix formatting codeblocks
* remove unnecessary indents
* Remove POC code (#17974)
* update doc (#17910)
* update doc
* update link
* Remove duplicate and unused newDecodeConfigEntry func (#17979)
* docs: samenessGroup YAML examples (#17984)
* configuration entry syntax
* Example config
* Add changelog entry for 1.16.0 (#17987)
* Fix typo (#17198)
servcies => services
* Expose JWKS cluster config through JWTProviderConfigEntry (#17978)
* Expose JWKS cluster config through JWTProviderConfigEntry
* fix typos, rename trustedCa to trustedCA
* Integration test for ext-authz Envoy extension (#17980)
* Fix incorrect protocol for transparent proxy upstreams. (#17894)
This PR fixes a bug that was introduced in:
https://github.com/hashicorp/consul/pull/16021
A user setting a protocol in proxy-defaults would cause tproxy implicit
upstreams to not honor the upstream service's protocol set in its
`ServiceDefaults.Protocol` field, and would instead always use the
proxy-defaults value.
Due to the fact that upstreams configured with "tcp" can successfully contact
upstream "http" services, this issue was not recognized until recently (a
proxy-defaults with "tcp" and a listening service with "http" would make
successful requests, but not the opposite).
As a temporary work-around, users experiencing this issue can explicitly set
the protocol on the `ServiceDefaults.UpstreamConfig.Overrides`, which should
take precedence.
The fix in this PR removes the proxy-defaults protocol from the wildcard
upstream that tproxy uses to configure implicit upstreams. When the protocol
was included, it would always overwrite the value during discovery chain
compilation, which was not correct. The discovery chain compiler also consumes
proxy defaults to determine the protocol, so simply excluding it from the
wildcard upstream config map resolves the issue.
* feat: include nodes count in operator usage endpoint and cli command (#17939)
* feat: update operator usage api endpoint to include nodes count
* feat: update operator usange cli command to includes nodes count
* [OSS] Improve Gateway Test Coverage of Catalog Health (#18011)
* fix(cli): remove failing check from 'connect envoy' registration for api gateway
* test(integration): add tests to check catalog statsus of gateways on startup
* remove extra sleep comment
* Update test/integration/consul-container/libs/assert/service.go
* changelog
* Fixes Traffic rate limitting docs (#17997)
* Fix removed service-to-service peering links (#17221)
* docs: fix removed service-to-service peering links
* docs: extend peering-via-mesh-gateways intro (thanks @trujillo-adam)
---------
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* docs: Sameness "beta" warning (#18017)
* Warning updates
* .x
* updated typo in tab heading (#18022)
* updated typo in tab heading
* updated tab group typo, too
* Document that DNS lookups can target cluster peers (#17990)
Static DNS lookups, in addition to explicitly targeting a datacenter,
can target a cluster peer. This was added in 95dc0c7b301b70a6b955a8b7c9737c9b86f03df6 but didn't make the documentation.
The driving function for the change is `parseLocality` here: https://github.com/hashicorp/consul/blob/0b1299c28d8127129d61310ee4280055298438e0/agent/dns_oss.go#L25
The biggest change in this is to adjust the standard lookup syntax to tie
`.<datacenter>` to `.dc` as required-together, and to append in the similar `.<cluster-peer>.peer` optional argument, both to A record and SRV record lookups.
Co-authored-by: David Yu <dyu@hashicorp.com>
* Add first integration test for jwt auth with intention (#18005)
* fix stand-in text for name field (#18030)
* removed sameness conf entry from failover nav (#18033)
* docs - add service sync annotations and k8s service weight annotation (#18032)
* Docs for https://github.com/hashicorp/consul-k8s/pull/2293
* remove versions for enterprise features since they are old
---------
Co-authored-by: Tu Nguyen <im2nguyen@users.noreply.github.com>
* docs - add jobs use case for service mesh k8s (#18037)
* docs - add jobs use case for service mesh k8s
* add code blocks
* address feedback (#18045)
* Add verify server hostname to tls default (#17155)
* [OSS] Fix initial_fetch_timeout to wait for all xDS resources (#18024)
* fix(connect): set initial_fetch_time to wait indefinitely
* changelog
* PR feedback 1
* ui: fix typos for peer service imports (#17999)
* test: fix FIPS inline cert test message (#18076)
* Fix a couple typos in Agent Telemetry Metrics docs (#18080)
* Fix metrics docs
* Add changelog
Signed-off-by: josh <josh.timmons@hashicorp.com>
---------
Signed-off-by: josh <josh.timmons@hashicorp.com>
* docs updates - cluster peering and virtual services (#18069)
* Update route-to-virtual-services.mdx
* Update establish-peering.mdx
* Update service-mesh-compare.mdx (#17279)
grammar change
* Update helm docs on main (#18085)
* ci: use gotestsum v1.10.1 [NET-4042] (#18088)
* Docs: Update proxy lifecycle annotations and consul-dataplane flags (#18075)
* Update proxy lifecycle annotations and consul-dataplane flags
* Pass configured role name to Vault for AWS auth in Connect CA (#17885)
* Docs for dataplane upgrade on k8s (#18051)
* Docs for dataplane upgrade on k8s
---------
Co-authored-by: David Yu <dyu@hashicorp.com>
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* docs - update upgrade index page to not recommend consul leave. (#18100)
* Displays Consul version of each nodes in UI nodes section (#17754)
* update UINodes and UINodeInfo response with consul-version info added as NodeMeta, fetched from serf members
* update test cases TestUINodes, TestUINodeInfo
* added nil check for map
* add consul-version in local agent node metadata
* get consul version from serf member and add this as node meta in catalog register request
* updated ui mock response to include consul versions as node meta
* updated ui trans and added version as query param to node list route
* updates in ui templates to display consul version with filter and sorts
* updates in ui - model class, serializers,comparators,predicates for consul version feature
* added change log for Consul Version Feature
* updated to get version from consul service, if for some reason not available from serf
* updated changelog text
* updated dependent testcases
* multiselection version filter
* Update agent/consul/state/catalog.go
comments updated
Co-authored-by: Jared Kirschner <85913323+jkirschner-hashicorp@users.noreply.github.com>
---------
Co-authored-by: Jared Kirschner <85913323+jkirschner-hashicorp@users.noreply.github.com>
* api gw 1.16 updates (#18081)
* api gw 1.16 updates
* Apply suggestions from code review
Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com>
* update CodeBlockConfig filename
* Apply suggestions from code review
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com>
* remove non-standard intentions page
* Update website/content/docs/api-gateway/configuration/index.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
---------
Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com>
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* [NET-4103] ci: build s390x (#18067)
* ci: build s390x
* ci: test s390x
* ci: dev build s390x
* no GOOS
* ent only
* build: publish s390x
* fix syntax error
* fix syntax error again
* fix syntax error again x2
* test branch
* Move s390x conditionals to step level
* remove test branch
---------
Co-authored-by: emilymianeil <eneil@hashicorp.com>
* :ermahgerd "Sevice Mesh" -> "Service Mesh" (#18116)
Just a typo in the docs.
* Split pbmesh.UpstreamsConfiguration as a resource out of pbmesh.Upstreams (#17991)
Configuration that previously was inlined into the Upstreams resource
applies to both explicit and implicit upstreams and so it makes sense to
split it out into its own resource.
It also has other minor changes:
- Renames `proxy.proto` proxy_configuration.proto`
- Changes the type of `Upstream.destination_ref` from `pbresource.ID` to
`pbresource.Reference`
- Adds comments to fields that didn't have them
* [NET-4895] ci - api tests and consul container tests error because of dependency bugs with go 1.20.6. Pin go to 1.20.5. (#18124)
### Description
The following jobs started failing when go 1.20.6 was released:
- `go-test-api-1-19`
- `go-test-api-1-20`
- `compatibility-integration-tests`
- `upgrade-integration-tests`
`compatibility-integration-tests` and `compatibility-integration-tests`
to this testcontainers issue:
https://github.com/testcontainers/testcontainers-go/issues/1359. This
issue calls for testcontainers to release a new version when one of
their dependencies is fixed. When that is done, we will unpin the go
versions in `compatibility-integration-tests` and
`compatibility-integration-tests`.
### Testing & Reproduction steps
See these jobs broken in CI and then see them work with this PR.
---------
Co-authored-by: Chris Thain <32781396+cthain@users.noreply.github.com>
* Add ingress gateway deprecation notices to docs (#18102)
### Description
This adds notices, that ingress gateway is deprecated, to several places
in the product docs where ingress gateway is the topic.
### Testing & Reproduction steps
Tested with a local copy of the website.
### Links
Deprecation of ingress gateway was announced in the Release Notes for
Consul 1.16 and Consul-K8s 1.2. See:
[https://developer.hashicorp.com/consul/docs/release-notes/consul/v1_16_x#what-s-deprecated](https://developer.hashicorp.com/consul/docs/release-notes/consul/v1_16_x#what-s-deprecated
)
[https://developer.hashicorp.com/consul/docs/release-notes/consul-k8s/v1_2_x#what-s-deprecated](https://developer.hashicorp.com/consul/docs/release-notes/consul-k8s/v1_2_x#what-s-deprecated)
### PR Checklist
* [N/A] updated test coverage
* [X] external facing docs updated
* [X] appropriate backport labels added
* [X] not a security concern
---------
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Add docs for jwt cluster configuration (#18004)
### Description
<!-- Please describe why you're making this change, in plain English.
-->
- Add jwt-provider docs for jwks cluster configuration. The
configuration was added here:
https://github.com/hashicorp/consul/pull/17978
* Docs: fix unmatched bracket for health checks page (#18134)
* NET-4657/add resource service client (#18053)
### Description
<!-- Please describe why you're making this change, in plain English.
-->
Dan had already started on this
[task](https://github.com/hashicorp/consul/pull/17849) which is needed
to start building the HTTP APIs. This just needed some cleanup to get it
ready for review.
Overview:
- Rename `internalResourceServiceClient` to
`insecureResourceServiceClient` for name consistency
- Configure a `secureResourceServiceClient` with auth enabled
### PR Checklist
* [ ] ~updated test coverage~
* [ ] ~external facing docs updated~
* [x] appropriate backport labels added
* [ ] ~not a security concern~
* Fix bug with Vault CA provider (#18112)
Updating RootPKIPath but not IntermediatePKIPath would not update
leaf signing certs with the new root. Unsure if this happens in practice
but manual testing showed it is a bug that would break mesh and agent
connections once the old root is pruned.
* [NET-4897] net/http host header is now verified and request.host that contains socked now error (#18129)
### Description
This is related to https://github.com/hashicorp/consul/pull/18124 where
we pinned the go versions in CI to 1.20.5 and 1.19.10.
go 1.20.6 and 1.19.11 now validate request host headers for validity,
including the hostname cannot be prefixed with slashes.
For local communications (npipe://, unix://), the hostname is not used,
but we need valid and meaningful hostname. Prior versions go Go would
clean the host header, and strip slashes in the process, but go1.20.6
and go1.19.11 no longer do, and reject the host header. Around the
community we are seeing that others are intercepting the req.host and if
it starts with a slash or ends with .sock, they changing the host to
localhost or another dummy value.
[client: define a "dummy" hostname to use for local connections by
thaJeztah · Pull Request #45942 ·
moby/moby](https://github.com/moby/moby/pull/45942)
### Testing & Reproduction steps
Check CI tests.
### Links
* [ ] updated test coverage
* [ ] external facing docs updated
* [ ] appropriate backport labels added
* [ ] not a security concern
* add a conditional around setting LANFilter.AllSegments to make sure it is valid (#18139)
### Description
This is to correct a code problem because this assumes all segments, but
when you get to Enterprise, you can be in partition that is not the
default partition, in which case specifying all segments does not
validate and fails. This is to correct the setting of this filter with
`AllSegments` to `true` to only occur when in the the `default`
partition.
### Testing & Reproduction steps
<!--
* In the case of bugs, describe how to replicate
* If any manual tests were done, document the steps and the conditions
to replicate
* Call out any important/ relevant unit tests, e2e tests or integration
tests you have added or are adding
-->
### Links
<!--
Include any links here that might be helpful for people reviewing your
PR (Tickets, GH issues, API docs, external benchmarks, tools docs, etc).
If there are none, feel free to delete this section.
Please be mindful not to leak any customer or confidential information.
HashiCorp employees may want to use our internal URL shortener to
obfuscate links.
-->
### PR Checklist
* [ ] updated test coverage
* [ ] external facing docs updated
* [ ] appropriate backport labels added
* [ ] not a security concern
* chore: bump upgrade integrations tests to 1.15, 116 [NET-4743] (#18130)
* re org resource type registry (#18133)
* fix: update delegateMock used in ENT (#18149)
### Description
<!-- Please describe why you're making this change, in plain English.
-->
The mock is used in `http_ent_test` file which caused lint failures. For
OSS->ENT parity adding the same change here.
### Links
<!--
Include any links here that might be helpful for people reviewing your
PR (Tickets, GH issues, API docs, external benchmarks, tools docs, etc).
If there are none, feel free to delete this section.
Please be mindful not to leak any customer or confidential information.
HashiCorp employees may want to use our internal URL shortener to
obfuscate links.
-->
Identified in OSS->ENT [merge
PR](https://github.com/hashicorp/consul-enterprise/pull/6328)
### PR Checklist
* [ ] ~updated test coverage~
* [ ] ~external facing docs updated~
* [x] appropriate backport labels added
* [ ] ~not a security concern~
* Use JWT-auth filter in metadata mode & Delegate validation to RBAC filter (#18062)
### Description
<!-- Please describe why you're making this change, in plain English.
-->
- Currently the jwt-auth filter doesn't take into account the service
identity when validating jwt-auth, it only takes into account the path
and jwt provider during validation. This causes issues when multiple
source intentions restrict access to an endpoint with different JWT
providers.
- To fix these issues, rather than use the JWT auth filter for
validation, we use it in metadata mode and allow it to forward the
successful validated JWT token payload to the RBAC filter which will
make the decisions.
This PR ensures requests with and without JWT tokens successfully go
through the jwt-authn filter. The filter however only forwards the data
for successful/valid tokens. On the RBAC filter level, we check the
payload for claims and token issuer + existing rbac rules.
### Testing & Reproduction steps
<!--
* In the case of bugs, describe how to replicate
* If any manual tests were done, document the steps and the conditions
to replicate
* Call out any important/ relevant unit tests, e2e tests or integration
tests you have added or are adding
-->
- This test covers a multi level jwt requirements (requirements at top
level and permissions level). It also assumes you have envoy running,
you have a redis and a sidecar proxy service registered, and have a way
to generate jwks with jwt. I mostly use:
https://www.scottbrady91.com/tools/jwt for this.
- first write your proxy defaults
```
Kind = "proxy-defaults"
name = "global"
config {
protocol = "http"
}
```
- Create two providers
```
Kind = "jwt-provider"
Name = "auth0"
Issuer = "https://ronald.local"
JSONWebKeySet = {
Local = {
JWKS = "eyJrZXlzIjog....."
}
}
```
```
Kind = "jwt-provider"
Name = "okta"
Issuer = "https://ronald.local"
JSONWebKeySet = {
Local = {
JWKS = "eyJrZXlzIjogW3...."
}
}
```
- add a service intention
```
Kind = "service-intentions"
Name = "redis"
JWT = {
Providers = [
{
Name = "okta"
},
]
}
Sources = [
{
Name = "*"
Permissions = [{
Action = "allow"
HTTP = {
PathPrefix = "/workspace"
}
JWT = {
Providers = [
{
Name = "okta"
VerifyClaims = [
{
Path = ["aud"]
Value = "my_client_app"
},
{
Path = ["sub"]
Value = "5be86359073c434bad2da3932222dabe"
}
]
},
]
}
},
{
Action = "allow"
HTTP = {
PathPrefix = "/"
}
JWT = {
Providers = [
{
Name = "auth0"
},
]
}
}]
}
]
```
- generate 3 jwt tokens: 1 from auth0 jwks, 1 from okta jwks with
different claims than `/workspace` expects and 1 with correct claims
- connect to your envoy (change service and address as needed) to view
logs and potential errors. You can add: `-- --log-level debug` to see
what data is being forwarded
```
consul connect envoy -sidecar-for redis1 -grpc-addr 127.0.0.1:8502
```
- Make the following requests:
```
curl -s -H "Authorization: Bearer $Auth0_TOKEN" --insecure --cert leaf.cert --key leaf.key --cacert connect-ca.pem https://localhost:20000/workspace -v
RBAC filter denied
curl -s -H "Authorization: Bearer $Okta_TOKEN_with_wrong_claims" --insecure --cert leaf.cert --key leaf.key --cacert connect-ca.pem https://localhost:20000/workspace -v
RBAC filter denied
curl -s -H "Authorization: Bearer $Okta_TOKEN_with_correct_claims" --insecure --cert leaf.cert --key leaf.key --cacert connect-ca.pem https://localhost:20000/workspace -v
Successful request
```
### TODO
* [x] Update test coverage
* [ ] update integration tests (follow-up PR)
* [x] appropriate backport labels added
* Support Consul Connect Envoy Command on Windows (#17694)
### Description
Add support for consul connect envoy command on windows. This PR fixes
the comments of PR - https://github.com/hashicorp/consul/pull/15114
### Testing
* Built consul.exe from this branch on windows and hosted here - [AWS
S3](https://asheshvidyut-bucket.s3.ap-southeast-2.amazonaws.com/consul.zip)
* Updated the
[tutorial](https://developer.hashicorp.com/consul/tutorials/developer-mesh/consul-windows-workloads)
and changed the `consul_url.default` value to [AWS
S3](https://asheshvidyut-bucket.s3.ap-southeast-2.amazonaws.com/consul.zip)
* Followed the steps in the tutorial and verified that everything is
working as described.
### PR Checklist
* [x] updated test coverage
* [ ] external facing docs updated
* [x] appropriate backport labels added
* [x] not a security concern
---------
Co-authored-by: Franco Bruno Lavayen <cocolavayen@gmail.com>
Co-authored-by: Jose Ignacio Lorenzo <74208929+joselo85@users.noreply.github.com>
Co-authored-by: Jose Ignacio Lorenzo <joseignaciolorenzo85@gmail.com>
Co-authored-by: Dhia Ayachi <dhia@hashicorp.com>
* Change docs to say 168h instead of 7d for server_rejoin_age_max (#18154)
### Description
Addresses
https://github.com/hashicorp/consul/pull/17171#issuecomment-1636930705
* [OSS] test: improve xDS listener code coverage (#18138)
test: improve xDS listener code coverage
* Re-order expected/actual for assertContainerState in consul container tests (#18157)
Re-order expected/actual, consul container tests
* group and document make file (#17943)
* group and document make file
* Add `testing/deployer` (neé `consul-topology`) [NET-4610] (#17823)
Co-authored-by: R.B. Boyer <4903+rboyer@users.noreply.github.com>
Co-authored-by: R.B. Boyer <rb@hashicorp.com>
Co-authored-by: Freddy <freddygv@users.noreply.github.com>
* [NET-4792] Add integrations tests for jwt-auth (#18169)
* Add FIPS reference to consul enterprise docs (#18028)
* Add FIPS reference to consul enterprise docs
* Update website/content/docs/enterprise/index.mdx
Co-authored-by: David Yu <dyu@hashicorp.com>
* remove support for ecs client (fips)
---------
Co-authored-by: David Yu <dyu@hashicorp.com>
* add peering_commontopo tests [NET-3700] (#17951)
Co-authored-by: R.B. Boyer <4903+rboyer@users.noreply.github.com>
Co-authored-by: R.B. Boyer <rb@hashicorp.com>
Co-authored-by: Freddy <freddygv@users.noreply.github.com>
Co-authored-by: NiniOak <anita.akaeze@hashicorp.com>
* docs - remove Sentinel from enterprise features list (#18176)
* Update index.mdx
* Update kv.mdx
* Update docs-nav-data.json
* delete sentinel.mdx
* Update redirects.js
---------
Co-authored-by: Tu Nguyen <im2nguyen@users.noreply.github.com>
* [NET-4865] Bump golang.org/x/net to 0.12.0 (#18186)
Bump golang.org/x/net to 0.12.0
While not necessary to directly address CVE-2023-29406 (which should be
handled by using a patched version of Go when building), an
accompanying change to HTTP/2 error handling does impact agent code.
See https://go-review.googlesource.com/c/net/+/506995 for the HTTP/2
change.
Bump this dependency across our submodules as well for the sake of
potential indirect consumers of `x/net/http`.
* Call resource mutate hook before validate hook (NET-4907) (#18178)
* [NET-4865] security: Update Go version to 1.20.6 (#18190)
Update Go version to 1.20.6
This resolves [CVE-2023-29406]
(https://nvd.nist.gov/vuln/detail/CVE-2023-29406) for uses of the
`net/http` standard library.
Note that until the follow-up to #18124 is done, the version of Go used
in those impacted tests will need to remain on 1.20.5.
* Improve XDS test coverage: JWT auth edition (#18183)
* Improve XDS test coverage: JWT auth edition
more tests
* test: xds coverage for jwt listeners
---------
Co-authored-by: DanStough <dan.stough@hashicorp.com>
* update readme.md (#18191)
u[date readme.md
* Update submodules to latest following 1.16.0 (#18197)
Align all our internal use of submodules on the latest versions.
* SEC-090: Automated trusted workflow pinning (2023-07-18) (#18174)
Result of tsccr-helper -log-level=info -pin-all-workflows .
Co-authored-by: hashicorp-tsccr[bot] <hashicorp-tsccr[bot]@users.noreply.github.com>
* Fix Backport Assistant PR commenting (#18200)
* Fix Backport Assistant failure PR commenting
For general comments on a PR, it looks like you have to use the `/issue`
endpoint rather than `/pulls`, which requires commit/other
review-specific target details.
This matches the endpoint used in `backport-reminder.yml`.
* Remove Backport Reminder workflow
This is noisy (even when adding multiple labels, individual comments per
label are generated), and likely no longer needed: we haven't had this
work in a long time due to an expired GH token, and we now have better
automation for backport PR assignment.
* resource: Pass resource to Write ACL hook instead of just resource Id [NET-4908] (#18192)
* Explicitly enable WebSocket upgrades (#18150)
This PR explicitly enables WebSocket upgrades in Envoy's UpgradeConfig for all
proxy types. (API Gateway, Ingress, and Sidecar.)
Fixes #8283
* docs: fix the description of client rpc (#18206)
* NET-4804: Add dashboard for monitoring consul-k8s (#18208)
* [OSS] Improve xDS Code Coverage - Clusters (#18165)
test: improve xDS cluster code coverage
* NET-4222 take config file consul container (#18218)
Net 4222 take config file consul container
* Envoy Integration Test Windows (#18007)
* [CONSUL-395] Update check_hostport and Usage (#40)
* [CONSUL-397] Copy envoy binary from Image (#41)
* [CONSUL-382] Support openssl in unique test dockerfile (#43)
* [CONSUL-405] Add bats to single container (#44)
* [CONSUL-414] Run Prometheus Test Cases and Validate Changes (#46)
* [CONSUL-410] Run Jaeger in Single container (#45)
* [CONSUL-412] Run test-sds-server in single container (#48)
* [CONSUL-408] Clean containers (#47)
* [CONSUL-384] Rebase and sync fork (#50)
* [CONSUL-415] Create Scenarios Troubleshooting Docs (#49)
* [CONSUL-417] Update Docs Single Container (#51)
* [CONSUL-428] Add Socat to single container (#54)
* [CONSUL-424] Replace pkill in kill_envoy function (#52)
* [CONSUL-434] Modify Docker run functions in Helper script (#53)
* [CONSUL-435] Replace docker run in set_ttl_check_state & wait_for_agent_service_register functions (#55)
* [CONSUL-438] Add netcat (nc) in the Single container Dockerfile (#56)
* [CONSUL-429] Replace Docker run with Docker exec (#57)
* [CONSUL-436] Curl timeout and run tests (#58)
* [CONSUL-443] Create dogstatsd Function (#59)
* [CONSUL-431] Update Docs Netcat (#60)
* [CONSUL-439] Parse nc Command in function (#61)
* [CONSUL-463] Review curl Exec and get_ca_root Func (#63)
* [CONSUL-453] Docker hostname in Helper functions (#64)
* [CONSUL-461] Test wipe volumes without extra cont (#66)
* [CONSUL-454] Check ports in the Server and Agent containers (#65)
* [CONSUL-441] Update windows dockerfile with version (#62)
* [CONSUL-466] Review case-grpc Failing Test (#67)
* [CONSUL-494] Review case-cfg-resolver-svc-failover (#68)
* [CONSUL-496] Replace docker_wget & docker_curl (#69)
* [CONSUL-499] Cleanup Scripts - Remove nanoserver (#70)
* [CONSUL-500] Update Troubleshooting Docs (#72)
* [CONSUL-502] Pull & Tag Envoy Windows Image (#73)
* [CONSUL-504] Replace docker run in docker_consul (#76)
* [CONSUL-505] Change admin_bind
* [CONSUL-399] Update envoy to 1.23.1 (#78)
* [CONSUL-510] Support case-wanfed-gw on Windows (#79)
* [CONSUL-506] Update troubleshooting Documentation (#80)
* [CONSUL-512] Review debug_dump_volumes Function (#81)
* [CONSUL-514] Add zipkin to Docker Image (#82)
* [CONSUL-515] Update Documentation (#83)
* [CONSUL-529] Support case-consul-exec (#86)
* [CONSUL-530] Update Documentation (#87)
* [CONSUL-530] Update default consul version 1.13.3
* [CONSUL-539] Cleanup (#91)
* [CONSUL-546] Scripts Clean-up (#92)
* [CONSUL-491] Support admin_access_log_path value for Windows (#71)
* [CONSUL-519] Implement mkfifo Alternative (#84)
* [CONSUL-542] Create OS Specific Files for Envoy Package (#88)
* [CONSUL-543] Create exec_supported.go (#89)
* [CONSUL-544] Test and Build Changes (#90)
* Implement os.DevNull
* using mmap instead of disk files
* fix import in exec-unix
* fix nmap open too many arguemtn
* go fmt on file
* changelog file
* fix go mod
* Update .changelog/17694.txt
Co-authored-by: Dhia Ayachi <dhia@hashicorp.com>
* different mmap library
* fix bootstrap json
* some fixes
* chocolatey version fix and image fix
* using different library
* fix Map funciton call
* fix mmap call
* fix tcp dump
* fix tcp dump
* windows tcp dump
* Fix docker run
* fix tests
* fix go mod
* fix version 16.0
* fix version
* fix version dev
* sleep to debug
* fix sleep
* fix permission issue
* fix permission issue
* fix permission issue
* fix command
* fix command
* fix funciton
* fix assert config entry status command not found
* fix command not found assert_cert_has_cn
* fix command not found assert_upstream_missing
* fix command not found assert_upstream_missing_once
* fix command not found get_upstream_endpoint
* fix command not found get_envoy_public_listener_once
* fix command not found
* fix test cases
* windows integration test workflow github
* made code similar to unix using npipe
* fix go.mod
* fix dialing of npipe
* dont wait
* check size of written json
* fix undefined n
* running
* fix dep
* fix syntax error
* fix workflow file
* windows runner
* fix runner
* fix from json
* fix runs on
* merge connect envoy
* fix cin path
* build
* fix file name
* fix file name
* fix dev build
* remove unwanted code
* fix upload
* fix bin name
* fix path
* checkout current branch
* fix path
* fix tests
* fix shell bash for windows sh files
* fix permission of run-test.sh
* removed docker dev
* added shell bash for tests
* fix tag
* fix win=true
* fix cd
* added dev
* fix variable undefined
* removed failing tests
* fix tcp dump image
* fix curl
* fix curl
* tcp dump path
* fix tcpdump path
* fix curl
* fix curl install
* stop removing intermediate containers
* fix tcpdump docker image
* revert -rm
* --rm=false
* makeing docker image before
* fix tcpdump
* removed case consul exec
* removed terminating gateway simple
* comment case wasm
* removed data dog
* comment out upload coverage
* uncomment case-consul-exec
* comment case consul exec
* if always
* logs
* using consul 1.17.0
* fix quotes
* revert quotes
* redirect to dev null
* Revert version
* revert consul connect
* fix version
* removed envoy connect
* not using function
* change log
* docker logs
* fix logs
* restructure bad authz
* rmeoved dev null
* output
* fix file descriptor
* fix cacert
* fix cacert
* fix ca cert
* cacert does not work in windows curl
* fix func
* removed docker logs
* added sleep
* fix tls
* commented case-consul-exec
* removed echo
* retry docker consul
* fix upload bin
* uncomment consul exec
* copying consul.exe to docker image
* copy fix
* fix paths
* fix path
* github workspace path
* latest version
* Revert "latest version"
This reverts commit 5a7d7b82d9e7553bcb01b02557ec8969f9deba1d.
* commented consul exec
* added ssl revoke best effort
* revert best effort
* removed unused files
* rename var name and change dir
* windows runner
* permission
* needs setup fix
* swtich to github runner
* fix file path
* fix path
* fix path
* fix path
* fix path
* fix path
* fix build paths
* fix tag
* nightly runs
* added matrix in github workflow, renamed files
* fix job
* fix matrix
* removed brackes
* from json
* without using job matrix
* fix quotes
* revert job matrix
* fix workflow
* fix comment
* added comment
* nightly runs
* removed datadog ci as it is already measured in linux one
* running test
* Revert "running test"
This reverts commit 7013d15a23732179d18ec5d17336e16b26fab5d4.
* pr comment fixes
* running test now
* running subset of test
* running subset of test
* job matrix
* shell bash
* removed bash shell
* linux machine for job matrix
* fix output
* added cat to debug
* using ubuntu latest
* fix job matrix
* fix win true
* fix go test
* revert job matrix
---------
Co-authored-by: Jose Ignacio Lorenzo <74208929+joselo85@users.noreply.github.com>
Co-authored-by: Franco Bruno Lavayen <cocolavayen@gmail.com>
Co-authored-by: Ivan K Berlot <ivanberlot@gmail.com>
Co-authored-by: Ezequiel Fernández Ponce <20102608+ezfepo@users.noreply.github.com>
Co-authored-by: joselo85 <joseignaciolorenzo85@gmail.com>
Co-authored-by: Ezequiel Fernández Ponce <ezequiel.fernandez@southworks.com>
Co-authored-by: Dhia Ayachi <dhia@hashicorp.com>
* fix typos and update ecs compat table (#18215)
* fix typos and update ecs compat table
* real info for the ecs compat matrix table
* Update website/content/docs/ecs/compatibility.mdx
Co-authored-by: Chris Thain <32781396+cthain@users.noreply.github.com>
---------
Co-authored-by: Chris Thain <32781396+cthain@users.noreply.github.com>
* [OSS] proxystate: add proxystate protos (#18216)
* proxystate: add proxystate protos to pbmesh and resolve imports and conflicts between message names
* ci: don't verify s390x (#18224)
* [CC-5718] Remove HCP token requirement during bootstrap (#18140)
* [CC-5718] Remove HCP token requirement during bootstrap
* Re-add error for loading HCP management token
* Remove old comment
* Add changelog entry
* Remove extra validation line
* Apply suggestions from code review
Co-authored-by: lornasong <lornasong@users.noreply.github.com>
---------
Co-authored-by: lornasong <lornasong@users.noreply.github.com>
* [NET-4122] Doc guidance for federation with externalServers (#18207)
Doc guidance for federation with externalServers
Add guidance for proper configuration when joining to a secondary
cluster using WAN fed with external servers also enabled.
Also clarify federation requirements and fix formatting for an
unrelated value.
Update both the Helm chart reference (synced from `consul-k8s`, see
hashicorp/consul-k8s#2583) and the docs on using `externalServers`.
* [OSS] Improve xDS Code Coverage - Endpoints and Misc (#18222)
test: improve xDS endpoints code coverage
* Clarify license reporting timing and GDPR compliance (#18237)
Add Alicia's edits to clarify log timing and other details
* Fix Github Workflow File (#18241)
* [CONSUL-382] Support openssl in unique test dockerfile (#43)
* [CONSUL-405] Add bats to single container (#44)
* [CONSUL-414] Run Prometheus Test Cases and Validate Changes (#46)
* [CONSUL-410] Run Jaeger in Single container (#45)
* [CONSUL-412] Run test-sds-server in single container (#48)
* [CONSUL-408] Clean containers (#47)
* [CONSUL-384] Rebase and sync fork (#50)
* [CONSUL-415] Create Scenarios Troubleshooting Docs (#49)
* [CONSUL-417] Update Docs Single Container (#51)
* [CONSUL-428] Add Socat to single container (#54)
* [CONSUL-424] Replace pkill in kill_envoy function (#52)
* [CONSUL-434] Modify Docker run functions in Helper script (#53)
* [CONSUL-435] Replace docker run in set_ttl_check_state & wait_for_agent_service_register functions (#55)
* [CONSUL-438] Add netcat (nc) in the Single container Dockerfile (#56)
* [CONSUL-429] Replace Docker run with Docker exec (#57)
* [CONSUL-436] Curl timeout and run tests (#58)
* [CONSUL-443] Create dogstatsd Function (#59)
* [CONSUL-431] Update Docs Netcat (#60)
* [CONSUL-439] Parse nc Command in function (#61)
* [CONSUL-463] Review curl Exec and get_ca_root Func (#63)
* [CONSUL-453] Docker hostname in Helper functions (#64)
* [CONSUL-461] Test wipe volumes without extra cont (#66)
* [CONSUL-454] Check ports in the Server and Agent containers (#65)
* [CONSUL-441] Update windows dockerfile with version (#62)
* [CONSUL-466] Review case-grpc Failing Test (#67)
* [CONSUL-494] Review case-cfg-resolver-svc-failover (#68)
* [CONSUL-496] Replace docker_wget & docker_curl (#69)
* [CONSUL-499] Cleanup Scripts - Remove nanoserver (#70)
* [CONSUL-500] Update Troubleshooting Docs (#72)
* [CONSUL-502] Pull & Tag Envoy Windows Image (#73)
* [CONSUL-504] Replace docker run in docker_consul (#76)
* [CONSUL-505] Change admin_bind
* [CONSUL-399] Update envoy to 1.23.1 (#78)
* [CONSUL-510] Support case-wanfed-gw on Windows (#79)
* [CONSUL-506] Update troubleshooting Documentation (#80)
* [CONSUL-512] Review debug_dump_volumes Function (#81)
* [CONSUL-514] Add zipkin to Docker Image (#82)
* [CONSUL-515] Update Documentation (#83)
* [CONSUL-529] Support case-consul-exec (#86)
* [CONSUL-530] Update Documentation (#87)
* [CONSUL-530] Update default consul version 1.13.3
* [CONSUL-539] Cleanup (#91)
* [CONSUL-546] Scripts Clean-up (#92)
* [CONSUL-491] Support admin_access_log_path value for Windows (#71)
* [CONSUL-519] Implement mkfifo Alternative (#84)
* [CONSUL-542] Create OS Specific Files for Envoy Package (#88)
* [CONSUL-543] Create exec_supported.go (#89)
* [CONSUL-544] Test and Build Changes (#90)
* Implement os.DevNull
* using mmap instead of disk files
* fix import in exec-unix
* fix nmap open too many arguemtn
* go fmt on file
* changelog file
* fix go mod
* Update .changelog/17694.txt
Co-authored-by: Dhia Ayachi <dhia@hashicorp.com>
* different mmap library
* fix bootstrap json
* some fixes
* chocolatey version fix and image fix
* using different library
* fix Map funciton call
* fix mmap call
* fix tcp dump
* fix tcp dump
* windows tcp dump
* Fix docker run
* fix tests
* fix go mod
* fix version 16.0
* fix version
* fix version dev
* sleep to debug
* fix sleep
* fix permission issue
* fix permission issue
* fix permission issue
* fix command
* fix command
* fix funciton
* fix assert config entry status command not found
* fix command not found assert_cert_has_cn
* fix command not found assert_upstream_missing
* fix command not found assert_upstream_missing_once
* fix command not found get_upstream_endpoint
* fix command not found get_envoy_public_listener_once
* fix command not found
* fix test cases
* windows integration test workflow github
* made code similar to unix using npipe
* fix go.mod
* fix dialing of npipe
* dont wait
* check size of written json
* fix undefined n
* running
* fix dep
* fix syntax error
* fix workflow file
* windows runner
* fix runner
* fix from json
* fix runs on
* merge connect envoy
* fix cin path
* build
* fix file name
* fix file name
* fix dev build
* remove unwanted code
* fix upload
* fix bin name
* fix path
* checkout current branch
* fix path
* fix tests
* fix shell bash for windows sh files
* fix permission of run-test.sh
* removed docker dev
* added shell bash for tests
* fix tag
* fix win=true
* fix cd
* added dev
* fix variable undefined
* removed failing tests
* fix tcp dump image
* fix curl
* fix curl
* tcp dump path
* fix tcpdump path
* fix curl
* fix curl install
* stop removing intermediate containers
* fix tcpdump docker image
* revert -rm
* --rm=false
* makeing docker image before
* fix tcpdump
* removed case consul exec
* removed terminating gateway simple
* comment case wasm
* removed data dog
* comment out upload coverage
* uncomment case-consul-exec
* comment case consul exec
* if always
* logs
* using consul 1.17.0
* fix quotes
* revert quotes
* redirect to dev null
* Revert version
* revert consul connect
* fix version
* removed envoy connect
* not using function
* change log
* docker logs
* fix logs
* restructure bad authz
* rmeoved dev null
* output
* fix file descriptor
* fix cacert
* fix cacert
* fix ca cert
* cacert does not work in windows curl
* fix func
* removed docker logs
* added sleep
* fix tls
* commented case-consul-exec
* removed echo
* retry docker consul
* fix upload bin
* uncomment consul exec
* copying consul.exe to docker image
* copy fix
* fix paths
* fix path
* github workspace path
* latest version
* Revert "latest version"
This reverts commit 5a7d7b82d9e7553bcb01b02557ec8969f9deba1d.
* commented consul exec
* added ssl revoke best effort
* revert best effort
* removed unused files
* rename var name and change dir
* windows runner
* permission
* needs setup fix
* swtich to github runner
* fix file path
* fix path
* fix path
* fix path
* fix path
* fix path
* fix build paths
* fix tag
* nightly runs
* added matrix in github workflow, renamed files
* fix job
* fix matrix
* removed brackes
* from json
* without using job matrix
* fix quotes
* revert job matrix
* fix workflow
* fix comment
* added comment
* nightly runs
* removed datadog ci as it is already measured in linux one
* running test
* Revert "running test"
This reverts commit 7013d15a23732179d18ec5d17336e16b26fab5d4.
* pr comment fixes
* running test now
* running subset of test
* running subset of test
* job matrix
* shell bash
* removed bash shell
* linux machine for job matrix
* fix output
* added cat to debug
* using ubuntu latest
* fix job matrix
* fix win true
* fix go test
* revert job matrix
* Fix tests
---------
Co-authored-by: Ivan K Berlot <ivanberlot@gmail.com>
Co-authored-by: Jose Ignacio Lorenzo <74208929+joselo85@users.noreply.github.com>
Co-authored-by: Franco Bruno Lavayen <cocolavayen@gmail.com>
Co-authored-by: Ezequiel Fernández Ponce <20102608+ezfepo@users.noreply.github.com>
Co-authored-by: joselo85 <joseignaciolorenzo85@gmail.com>
Co-authored-by: Ezequiel Fernández Ponce <ezequiel.fernandez@southworks.com>
Co-authored-by: Dhia Ayachi <dhia@hashicorp.com>
* NET-4996 - filter go-tests and test-integration workflows from running on docs only and ui only changes (#18236)
* Align build arch matrix with enterprise (#18235)
Ensure that OSS remains in sync w/ Enterprise by aligning the format of
arch matrix args for various build jobs.
* Revert "NET-4996 - filter go-tests and test-integration workflows from running on docs only and ui only changes" (#18248)
Revert "NET-4996 - filter go-tests and test-integration workflows from running on docs only and ui only changes (#18236)"
This reverts commit a11dba710e6ce6f172c0fa6c9b61567cc1efffc8.
* resource: Add scope to resource type registration [NET-4976] (#18214)
Enables querying a resource type's registration to determine if a resource is cluster, partition, or partition and namespace scoped.
* Fix some inconsistencies in jwt docs (#18234)
* NET-1825: More new ACL token creation docs (#18063)
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* [CC-5719] Add support for builtin global-read-only policy
* Add changelog
* Add read-only to docs
* Fix some minor issues.
* Change from ReplaceAll to Sprintf
* Change IsValidPolicy name to return an error instead of bool
* Fix PolicyList test
* Fix other tests
* Apply suggestions from code review
Co-authored-by: Paul Glass <pglass@hashicorp.com>
* Fix state store test for policy list.
* Fix naming issues
* Update acl/validation.go
Co-authored-by: Chris Thain <32781396+cthain@users.noreply.github.com>
* backport of commit d63fa5481dc02c6faae7cc2647b4073b3286af1d
* backport of commit 3d099a6ed8ed10b6dc464c466cb1668914db8f08
---------
Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: Dan Bond <danbond@protonmail.com>
Signed-off-by: josh <josh.timmons@hashicorp.com>
Co-authored-by: Michael Zalimeni <michael.zalimeni@hashicorp.com>
Co-authored-by: Ronald <roncodingenthusiast@users.noreply.github.com>
Co-authored-by: Eric Haberkorn <erichaberkorn@gmail.com>
Co-authored-by: Andrew Stucki <andrew.stucki@hashicorp.com>
Co-authored-by: Luke Kysow <1034429+lkysow@users.noreply.github.com>
Co-authored-by: R.B. Boyer <4903+rboyer@users.noreply.github.com>
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com>
Co-authored-by: David Yu <dyu@hashicorp.com>
Co-authored-by: Bryce Kalow <bkalow@hashicorp.com>
Co-authored-by: Paul Glass <pglass@hashicorp.com>
Co-authored-by: Matt Keeler <mkeeler@users.noreply.github.com>
Co-authored-by: Nathan Coleman <nathan.coleman@hashicorp.com>
Co-authored-by: Poonam Jadhav <poonam.jadhav@hashicorp.com>
Co-authored-by: Tu Nguyen <im2nguyen@users.noreply.github.com>
Co-authored-by: Chris Thain <32781396+cthain@users.noreply.github.com>
Co-authored-by: Hariram Sankaran <56744845+ramramhariram@users.noreply.github.com>
Co-authored-by: shanafarkas <105076572+shanafarkas@users.noreply.github.com>
Co-authored-by: Thomas Eckert <teckert@hashicorp.com>
Co-authored-by: Jeff Apple <79924108+Jeff-Apple@users.noreply.github.com>
Co-authored-by: Joshua Timmons <josh.timmons@hashicorp.com>
Co-authored-by: Ashesh Vidyut <134911583+absolutelightning@users.noreply.github.com>
Co-authored-by: Dan Stough <dan.stough@hashicorp.com>
Co-authored-by: Curt Bushko <cbushko@gmail.com>
Co-authored-by: Tobias Birkefeld <t@craxs.de>
Co-authored-by: Jared Kirschner <85913323+jkirschner-hashicorp@users.noreply.github.com>
Co-authored-by: Semir Patel <semir.patel@hashicorp.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: chappie <6537530+chapmanc@users.noreply.github.com>
Co-authored-by: Derek Menteer <105233703+hashi-derek@users.noreply.github.com>
Co-authored-by: John Murret <john.murret@hashicorp.com>
Co-authored-by: Mark Campbell-Vincent <mnmvincent@gmail.com>
Co-authored-by: Daniel Upton <daniel@floppy.co>
Co-authored-by: Steven Zamborsky <97125550+stevenzamborsky@users.noreply.github.com>
Co-authored-by: George Bolo <george.bolo@gmail.com>
Co-authored-by: Chris S. Kim <ckim@hashicorp.com>
Co-authored-by: wangxinyi7 <121973291+wangxinyi7@users.noreply.github.com>
Co-authored-by: cskh <hui.kang@hashicorp.com>
Co-authored-by: V. K <cn007b@gmail.com>
Co-authored-by: Iryna Shustava <ishustava@users.noreply.github.com>
Co-authored-by: Alex Simenduev <shamil.si@gmail.com>
Co-authored-by: Dhia Ayachi <dhia@hashicorp.com>
Co-authored-by: Dan Bond <danbond@protonmail.com>
Co-authored-by: sarahalsmiller <100602640+sarahalsmiller@users.noreply.github.com>
Co-authored-by: Gerard Nguyen <gerard@hashicorp.com>
Co-authored-by: mr-miles <miles.waller@gmail.com>
Co-authored-by: natemollica-dev <57850649+natemollica-nm@users.noreply.github.com>
Co-authored-by: John Maguire <john.maguire@hashicorp.com>
Co-authored-by: Samantha <hello@entropy.cat>
Co-authored-by: Ranjandas <thejranjan@gmail.com>
Co-authored-by: Evan Phoenix <evan@phx.io>
Co-authored-by: Michael Hofer <karras@users.noreply.github.com>
Co-authored-by: J.C. Jones <james.jc.jones@gmail.com>
Co-authored-by: Fulvio <fulviodenza823@gmail.com>
Co-authored-by: Krastin Krastev <krastin@hashicorp.com>
Co-authored-by: david3a <49253132+david3a@users.noreply.github.com>
Co-authored-by: Nick Irvine <115657443+nfi-hashicorp@users.noreply.github.com>
Co-authored-by: Tom Davies <tom@t-davies.com>
Co-authored-by: Vijay <vijayraghav22@gmail.com>
Co-authored-by: Eddie Rowe <74205376+eddie-rowe@users.noreply.github.com>
Co-authored-by: emilymianeil <eneil@hashicorp.com>
Co-authored-by: nv-hashi <80716011+nv-hashi@users.noreply.github.com>
Co-authored-by: Franco Bruno Lavayen <cocolavayen@gmail.com>
Co-authored-by: Jose Ignacio Lorenzo <74208929+joselo85@users.noreply.github.com>
Co-authored-by: Jose Ignacio Lorenzo <joseignaciolorenzo85@gmail.com>
Co-authored-by: R.B. Boyer <rb@hashicorp.com>
Co-authored-by: Freddy <freddygv@users.noreply.github.com>
Co-authored-by: NiniOak <anita.akaeze@hashicorp.com>
Co-authored-by: hashicorp-tsccr[bot] <129506189+hashicorp-tsccr[bot]@users.noreply.github.com>
Co-authored-by: hashicorp-tsccr[bot] <hashicorp-tsccr[bot]@users.noreply.github.com>
Co-authored-by: Blake Covarrubias <blake@covarrubi.as>
Co-authored-by: Ivan K Berlot <ivanberlot@gmail.com>
Co-authored-by: Ezequiel Fernández Ponce <20102608+ezfepo@users.noreply.github.com>
Co-authored-by: Ezequiel Fernández Ponce <ezequiel.fernandez@southworks.com>
Co-authored-by: Nitya Dhanushkodi <nitya@hashicorp.com>
Co-authored-by: Jeremy Jacobson <jjacobson93@users.noreply.github.com>
Co-authored-by: lornasong <lornasong@users.noreply.github.com>
Co-authored-by: Judith Malnick <judith@hashicorp.com>
Co-authored-by: Jeremy Jacobson <jeremy.jacobson@hashicorp.com>
2023-08-01 17:37:13 +00:00
|
|
|
policy = "%[1]s"
|
2018-10-19 16:04:07 +00:00
|
|
|
}
|
Backport of [CC-5719] Add support for builtin global-read-only policy into release/1.16.x (#18345)
* [OSS] Post Consul 1.16 updates (#17606)
* chore: update dev build to 1.17
* chore(ci): add nightly 1.16 test
Drop the oldest and add the newest running release branch to nightly
builds.
* Add writeAuditRPCEvent to agent_oss (#17607)
* Add writeAuditRPCEvent to agent_oss
* fix the other diffs
* backport change log
* Add Envoy and Consul version constraints to Envoy extensions (#17612)
* [API Gateway] Fix trust domain for external peered services in synthesis code (#17609)
* [API Gateway] Fix trust domain for external peered services in synthesis code
* Add changelog
* backport ent changes to oss (#17614)
* backport ent changes to oss
* Update .changelog/_5669.txt
Co-authored-by: Michael Zalimeni <michael.zalimeni@hashicorp.com>
---------
Co-authored-by: Michael Zalimeni <michael.zalimeni@hashicorp.com>
* Update intentions.mdx (#17619)
Make behaviour of L7 intentions clearer
* enterprise changelog update for audit (#17625)
* Update list of Envoy versions (#17546)
* [API Gateway] Fix rate limiting for API gateways (#17631)
* [API Gateway] Fix rate limiting for API gateways
* Add changelog
* Fix failing unit tests
* Fix operator usage tests for api package
* sort some imports that are wonky between oss and ent (#17637)
* PmTLS and tproxy improvements with failover and L7 traffic mgmt for k8s (#17624)
* porting over changes from enterprise repo to oss
* applied feedback on service mesh for k8s overview
* fixed typo
* removed ent-only build script file
* Apply suggestions from code review
Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com>
* Apply suggestions from code review
Co-authored-by: David Yu <dyu@hashicorp.com>
Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com>
---------
Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com>
Co-authored-by: David Yu <dyu@hashicorp.com>
* Delete check-legacy-links-format.yml (#17647)
* docs: Reference doc updates for permissive mTLS settings (#17371)
* Reference doc updates for permissive mTLS settings
* Document config entry filtering
* Fix minor doc errors (double slashes in link url paths)
---------
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Add generic experiments configuration and use it to enable catalog v2 resources (#17604)
* Add generic experiments configuration and use it to enable catalog v2 resources
* Run formatting with -s as CI will validate that this has been done
* api-gateway: stop adding all header filters to virtual host when generating xDS (#17644)
* Add header filter to api-gateway xDS golden test
* Stop adding all header filters to virtual host when generating xDS for api-gateway
* Regenerate xDS golden file for api-gateway w/ header filter
* fix: add agent info reporting log (#17654)
* Add new Consul 1.16 docs (#17651)
* Merge pull request #5773 from hashicorp/docs/rate-limiting-from-ip-addresses-1.16
updated docs for rate limiting for IP addresses - 1.16
* Merge pull request #5609 from hashicorp/docs/enterprise-utilization-reporting
Add docs for enterprise utilization reporting
* Merge pull request #5734 from hashicorp/docs/envoy-ext-1.16
Docs/envoy ext 1.16
* Merge pull request #5773 from hashicorp/docs/rate-limiting-from-ip-addresses-1.16
updated docs for rate limiting for IP addresses - 1.16
* Merge pull request #5609 from hashicorp/docs/enterprise-utilization-reporting
Add docs for enterprise utilization reporting
* Merge pull request #5734 from hashicorp/docs/envoy-ext-1.16
Docs/envoy ext 1.16
* fix build errors
---------
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Default `ProxyType` for builtin extensions (#17657)
* Post 1.16.0-rc1 updates (#17663)
- Update changelog to include new entries from release
- Update submodule versions to latest published
* Update service-defaults.mdx (#17656)
* docs: Sameness Groups (#17628)
* port from enterprise branch
* Apply suggestions from code review
Co-authored-by: shanafarkas <105076572+shanafarkas@users.noreply.github.com>
* Update website/content/docs/connect/cluster-peering/usage/create-sameness-groups.mdx
* next steps
* Update website/content/docs/connect/cluster-peering/usage/create-sameness-groups.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Update website/content/docs/k8s/connect/cluster-peering/usage/create-sameness-groups.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
---------
Co-authored-by: shanafarkas <105076572+shanafarkas@users.noreply.github.com>
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Remove "BETA" marker from config entries (#17670)
* CAPIgw for K8s installation updates for 1.16 (#17627)
* trimmed CRD step and reqs from installation
* updated tech specs
* Apply suggestions from code review
Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com>
Co-authored-by: Jeff Apple <79924108+Jeff-Apple@users.noreply.github.com>
* added upgrade instruction
* removed tcp port req
* described downtime and DT-less upgrades
* applied additional review feedback
---------
Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com>
Co-authored-by: Jeff Apple <79924108+Jeff-Apple@users.noreply.github.com>
* additional feedback on API gateway upgrades (#17677)
* additional feedback
* Update website/content/docs/api-gateway/upgrades.mdx
Co-authored-by: Jeff Apple <79924108+Jeff-Apple@users.noreply.github.com>
---------
Co-authored-by: Jeff Apple <79924108+Jeff-Apple@users.noreply.github.com>
* docs: JWT Authorization for intentions (#17643)
* Initial page/nav creation
* configuration entry reference page
* Usage + fixes
* service intentions page
* usage
* description
* config entry updates
* formatting fixes
* Update website/content/docs/connect/config-entries/service-intentions.mdx
Co-authored-by: Paul Glass <pglass@hashicorp.com>
* service intentions review fixes
* Overview page review fixes
* Apply suggestions from code review
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
---------
Co-authored-by: Paul Glass <pglass@hashicorp.com>
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* docs: minor fixes to JWT auth docs (#17680)
* Fixes
* service intentions fixes
* Fix two WAL metrics in docs/agent/telemetry.mdx (#17593)
* updated failover for k8s w-tproxy page title (#17683)
* Add release notes 1.16 rc (#17665)
* Merge pull request #5773 from hashicorp/docs/rate-limiting-from-ip-addresses-1.16
updated docs for rate limiting for IP addresses - 1.16
* Merge pull request #5609 from hashicorp/docs/enterprise-utilization-reporting
Add docs for enterprise utilization reporting
* Merge pull request #5734 from hashicorp/docs/envoy-ext-1.16
Docs/envoy ext 1.16
* Add release notes for 1.16-rc
* Add consul-e license utlization reporting
* Update with rc absolute links
* Update with rc absolute links
* fix typo
* Apply suggestions from code review
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Update to use callout component
* address typo
* docs: FIPS 140-2 Compliance (#17668)
* Page + nav + formatting
* link fix
* Update website/content/docs/enterprise/fips.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Update website/content/docs/enterprise/fips.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Update website/content/docs/enterprise/fips.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Update website/content/docs/enterprise/fips.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Update website/content/docs/enterprise/fips.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Update website/content/docs/enterprise/fips.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Update website/content/docs/enterprise/fips.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Update website/content/docs/enterprise/fips.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Update website/content/docs/enterprise/fips.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Update website/content/docs/enterprise/fips.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* link fix
* Apply suggestions from code review
Co-authored-by: Jeff Apple <79924108+Jeff-Apple@users.noreply.github.com>
* Update website/content/docs/enterprise/fips.mdx
---------
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
Co-authored-by: Jeff Apple <79924108+Jeff-Apple@users.noreply.github.com>
* fix apigw install values file
* fix typos in release notes
---------
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com>
Co-authored-by: Jeff Apple <79924108+Jeff-Apple@users.noreply.github.com>
* fix release notes links (#17687)
* adding redirects for tproxy and envoy extensions (#17688)
* adding redirects
* Apply suggestions from code review
* Fix FIPS copy (#17691)
* fix release notes links
* fix typos on fips docs
* [NET-4107][Supportability] Log Level set to TRACE and duration set to 5m for consul-debug (#17596)
* changed duration to 5 mins and log level to trace
* documentation update
* change log
* ENT merge of ext-authz extension updates (#17684)
* docs: Update default values for Envoy extension proxy types (#17676)
* fix: stop peering delete routine on leader loss (#17483)
* Refactor disco chain prioritize by locality structs (#17696)
This includes prioritize by localities on disco chain targets rather than
resolvers, allowing different targets within the same partition to have
different policies.
* agent: remove agent cache dependency from service mesh leaf certificate management (#17075)
* agent: remove agent cache dependency from service mesh leaf certificate management
This extracts the leaf cert management from within the agent cache.
This code was produced by the following process:
1. All tests in agent/cache, agent/cache-types, agent/auto-config,
agent/consul/servercert were run at each stage.
- The tests in agent matching .*Leaf were run at each stage.
- The tests in agent/leafcert were run at each stage after they
existed.
2. The former leaf cert Fetch implementation was extracted into a new
package behind a "fake RPC" endpoint to make it look almost like all
other cache type internals.
3. The old cache type was shimmed to use the fake RPC endpoint and
generally cleaned up.
4. I selectively duplicated all of Get/Notify/NotifyCallback/Prepopulate
from the agent/cache.Cache implementation over into the new package.
This was renamed as leafcert.Manager.
- Code that was irrelevant to the leaf cert type was deleted
(inlining blocking=true, refresh=false)
5. Everything that used the leaf cert cache type (including proxycfg
stuff) was shifted to use the leafcert.Manager instead.
6. agent/cache-types tests were moved and gently replumbed to execute
as-is against a leafcert.Manager.
7. Inspired by some of the locking changes from derek's branch I split
the fat lock into N+1 locks.
8. The waiter chan struct{} was eventually replaced with a
singleflight.Group around cache updates, which was likely the biggest
net structural change.
9. The awkward two layers or logic produced as a byproduct of marrying
the agent cache management code with the leaf cert type code was
slowly coalesced and flattened to remove confusion.
10. The .*Leaf tests from the agent package were copied and made to work
directly against a leafcert.Manager to increase direct coverage.
I have done a best effort attempt to port the previous leaf-cert cache
type's tests over in spirit, as well as to take the e2e-ish tests in the
agent package with Leaf in the test name and copy those into the
agent/leafcert package to get more direct coverage, rather than coverage
tangled up in the agent logic.
There is no net-new test coverage, just coverage that was pushed around
from elsewhere.
* [core]: Pin github action workflows (#17695)
* docs: missing changelog for _5517 (#17706)
* add enterprise notes for IP-based rate limits (#17711)
* add enterprise notes for IP-based rate limits
* Apply suggestions from code review
Co-authored-by: Tu Nguyen <im2nguyen@users.noreply.github.com>
Co-authored-by: David Yu <dyu@hashicorp.com>
* added bolded 'Enterprise' in list items.
---------
Co-authored-by: Tu Nguyen <im2nguyen@users.noreply.github.com>
Co-authored-by: David Yu <dyu@hashicorp.com>
* Update compatibility.mdx (#17713)
* Remove extraneous version info for Config entries (#17716)
* Update terminating-gateway.mdx
* Update exported-services.mdx
* Update mesh.mdx
* fix: typo in link to section (#17527)
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Bump Alpine to 3.18 (#17719)
* Update Dockerfile
* Create 17719.txt
* NET-1825: New ACL token creation docs (#16465)
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
Co-authored-by: Jared Kirschner <85913323+jkirschner-hashicorp@users.noreply.github.com>
* [NET-3865] [Supportability] Additional Information in the output of 'consul operator raft list-peers' (#17582)
* init
* fix tests
* added -detailed in docs
* added change log
* fix doc
* checking for entry in map
* fix tests
* removed detailed flag
* removed detailed flag
* revert unwanted changes
* removed unwanted changes
* updated change log
* pr review comment changes
* pr comment changes single API instead of two
* fix change log
* fix tests
* fix tests
* fix test operator raft endpoint test
* Update .changelog/17582.txt
Co-authored-by: Semir Patel <semir.patel@hashicorp.com>
* nits
* updated docs
---------
Co-authored-by: Semir Patel <semir.patel@hashicorp.com>
* OSS merge: Update error handling login when applying extensions (#17740)
* Bump atlassian/gajira-transition from 3.0.0 to 3.0.1 (#17741)
Bumps [atlassian/gajira-transition](https://github.com/atlassian/gajira-transition) from 3.0.0 to 3.0.1.
- [Release notes](https://github.com/atlassian/gajira-transition/releases)
- [Commits](https://github.com/atlassian/gajira-transition/compare/4749176faf14633954d72af7a44d7f2af01cc92b...38fc9cd61b03d6a53dd35fcccda172fe04b36de3)
---
updated-dependencies:
- dependency-name: atlassian/gajira-transition
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Add truncation to body (#17723)
* docs: Failover overview minor fix (#17743)
* Incorrect symbol
* Clarification
* slight edit for clarity
* docs - update Envoy and Dataplane compat matrix (#17752)
* Update envoy.mdx
added more detail around default versus other compatible versions
* validate localities on agent configs and registration endpoints (#17712)
* Updated docs added explanation. (#17751)
* init
* fix tests
* added -detailed in docs
* added change log
* fix doc
* checking for entry in map
* fix tests
* removed detailed flag
* removed detailed flag
* revert unwanted changes
* removed unwanted changes
* updated change log
* pr review comment changes
* pr comment changes single API instead of two
* fix change log
* fix tests
* fix tests
* fix test operator raft endpoint test
* Update .changelog/17582.txt
Co-authored-by: Semir Patel <semir.patel@hashicorp.com>
* nits
* updated docs
* explanation added
---------
Co-authored-by: Semir Patel <semir.patel@hashicorp.com>
* Update index.mdx (#17749)
* added redirects and updated links (#17764)
* Add transparent proxy enhancements changelog (#17757)
* docs - remove use of consul leave during upgrade instructions (#17758)
* Fix issue with streaming service health watches. (#17775)
Fix issue with streaming service health watches.
This commit fixes an issue where the health streams were unaware of service
export changes. Whenever an exported-services config entry is modified, it is
effectively an ACL change.
The bug would be triggered by the following situation:
- no services are exported
- an upstream watch to service X is spawned
- the streaming backend filters out data for service X (due to lack of exports)
- service X is finally exported
In the situation above, the streaming backend does not trigger a refresh of its
data. This means that any events that were supposed to have been received prior
to the export are NOT backfilled, and the watches never see service X spawning.
We currently have decided to not trigger a stream refresh in this situation due
to the potential for a thundering herd effect (touching exports would cause a
re-fetch of all watches for that partition, potentially). Therefore, a local
blocking-query approach was added by this commit for agentless.
It's also worth noting that the streaming subscription is currently bypassed
most of the time with agentful, because proxycfg has a `req.Source.Node != ""`
which prevents the `streamingEnabled` check from passing. This means that while
agents should technically have this same issue, they don't experience it with
mesh health watches.
Note that this is a temporary fix that solves the issue for proxycfg, but not
service-discovery use cases.
* Property Override validation improvements (#17759)
* Reject inbound Prop Override patch with Services
Services filtering is only supported for outbound TrafficDirection patches.
* Improve Prop Override unexpected type validation
- Guard against additional invalid parent and target types
- Add specific error handling for Any fields (unsupported)
* Fixes (#17765)
* Update license get explanation (#17782)
This PR is to clarify what happens if the license get command is run on a follower if the leader hasn't been updated with a newer license.
* Add Patch index to Prop Override validation errors (#17777)
When a patch is found invalid, include its index for easier debugging
when multiple patches are provided.
* Stop referenced jwt providers from being deleted (#17755)
* Stop referenced jwt providers from being deleted
* Implement a Catalog Controllers Lifecycle Integration Test (#17435)
* Implement a Catalog Controllers Lifecycle Integration Test
* Prevent triggering the race detector.
This allows defining some variables for protobuf constants and using those in comparisons. Without that, something internal in the fmt package ended up looking at the protobuf message size cache and triggering the race detector.
* HCP Add node id/name to config (#17750)
* Catalog V2 Container Based Integration Test (#17674)
* Implement the Catalog V2 controller integration container tests
This now allows the container tests to import things from the root module. However for now we want to be very restrictive about which packages we allow importing.
* Add an upgrade test for the new catalog
Currently this should be dormant and not executed. However its put in place to detect breaking changes in the future and show an example of how to do an upgrade test with integration tests structured like catalog v2.
* Make testutil.Retry capable of performing cleanup operations
These cleanup operations are executed after each retry attempt.
* Move TestContext to taking an interface instead of a concrete testing.T
This allows this to be used on a retry.R or generally anything that meets the interface.
* Move to using TestContext instead of background contexts
Also this forces all test methods to implement the Cleanup method now instead of that being an optional interface.
Co-authored-by: Daniel Upton <daniel@floppy.co>
* Fix Docs for Trails Leader By (#17763)
* init
* fix tests
* added -detailed in docs
* added change log
* fix doc
* checking for entry in map
* fix tests
* removed detailed flag
* removed detailed flag
* revert unwanted changes
* removed unwanted changes
* updated change log
* pr review comment changes
* pr comment changes single API instead of two
* fix change log
* fix tests
* fix tests
* fix test operator raft endpoint test
* Update .changelog/17582.txt
Co-authored-by: Semir Patel <semir.patel@hashicorp.com>
* nits
* updated docs
* explanation added
* fix doc
* fix docs
---------
Co-authored-by: Semir Patel <semir.patel@hashicorp.com>
* Improve Prop Override docs examples (#17799)
- Provide more realistics examples for setting properties not already
supported natively by Consul
- Remove superfluous commas from HCL, correct target service name, and
fix service defaults vs. proxy defaults in examples
- Align existing integration test to updated docs
* Test permissive mTLS filter chain not configured with tproxy disabled (#17747)
* Add documentation for remote debugging of integration tests. (#17800)
* Add documentation for remote debugging of integration tests.
* add link from main docs page.
* changes related to PR feedback
* Clarify limitations of Prop Override extension (#17801)
Explicitly document the limitations of the extension, particularly what
kind of fields it is capable of modifying.
* Fix formatting for webhook-certs Consul tutorial (#17810)
* Fix formatting for webhook-certs Consul tutorial
* Make a small grammar change to also pick up whitespace changes necessary for formatting
---------
Co-authored-by: David Yu <dyu@hashicorp.com>
* Add jwt-authn metrics to jwt-provider docs (#17816)
* [NET-3095] add jwt-authn metrics docs
* Change URLs for redirects from RC to default latest (#17822)
* Set GOPRIVATE for all hashicorp repos in CI (#17817)
Consistently set GOPRIVATE to include all hashicorp repos, s.t. private
modules are successfully pulled in enterprise CI.
* Make locality aware routing xDS changes (#17826)
* Fixup consul-container/test/debugging.md (#17815)
Add missing `-t` flag and fix minor typo.
* fixes #17732 - AccessorID in request body should be optional when updating ACL token (#17739)
* AccessorID in request body should be optional when updating ACL token
* add a test case
* fix test case
* add changelog entry for PR #17739
* CA provider doc updates and Vault provider minor update (#17831)
Update CA provider docs
Clarify that providers can differ between
primary and secondary datacenters
Provide a comparison chart for consul vs
vault CA providers
Loosen Vault CA provider validation for RootPKIPath
Update Vault CA provider documentation
* ext-authz Envoy extension: support `localhost` as a valid target URI. (#17821)
* CI Updates (#17834)
* Ensure that git access to private repos uses the ELEVATED_GITHUB_TOKEN
* Bump the runner size for the protobuf generation check
This has failed previously when the runner process that communicates with GitHub gets starved causing the job to fail.
* counter part of ent pr (#17618)
* watch: support -filter for consul watch: checks, services, nodes, service (#17780)
* watch: support -filter for watch checks
* Add filter for watch nodes, services, and service
- unit test added
- Add changelog
- update doc
* Trigger OSS => ENT merge for all release branches (#17853)
Previously, this only triggered for release/*.*.x branches; however, our release process involves cutting a release/1.16.0 branch, for example, at time of code freeze these days. Any PRs to that branch after code freeze today do not make their way to consul-enterprise. This will make behavior for a .0 branch consistent with current behavior for a .x branch.
* Update service-mesh.mdx (#17845)
Deleted two commas which looks quite like some leftovers.
* Add docs for sameness groups with resolvers. (#17851)
* docs: add note about path prefix matching behavior for HTTPRoute config (#17860)
* Add note about path prefix matching behavior for HTTPRoute config
* Update website/content/docs/connect/gateways/api-gateway/configuration/http-route.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
---------
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* docs: update upgrade to consul-dataplane docs on k8s (#17852)
* resource: add `AuthorizerContext` helper method (#17393)
* resource: enforce consistent naming of resource types (#17611)
For consistency, resource type names must follow these rules:
- `Group` must be snake case, and in most cases a single word.
- `GroupVersion` must be lowercase, start with a "v" and end with a number.
- `Kind` must be pascal case.
These were chosen because they map to our protobuf type naming
conventions.
* tooling: generate protoset file (#17364)
Extends the `proto` make target to generate a protoset file for use with
grpcurl etc.
* Fix a bug that wrongly trims domains when there is an overlap with DC name (#17160)
* Fix a bug that wrongly trims domains when there is an overlap with DC name
Before this change, when DC name and domain/alt-domain overlap, the domain name incorrectly trimmed from the query.
Example:
Given: datacenter = dc-test, alt-domain = test.consul.
Querying for "test-node.node.dc-test.consul" will faile, because the
code was trimming "test.consul" instead of just ".consul"
This change, fixes the issue by adding dot (.) before trimming
* trimDomain: ensure domain trimmed without modyfing original domains
* update changelog
---------
Co-authored-by: Dhia Ayachi <dhia@hashicorp.com>
* deps: aws-sdk-go v1.44.289 (#17876)
Signed-off-by: Dan Bond <danbond@protonmail.com>
* api-gateway: add operation cannot be fulfilled error to common errors (#17874)
* add error message
* Update website/content/docs/api-gateway/usage/errors.mdx
Co-authored-by: Nathan Coleman <nathan.coleman@hashicorp.com>
* fix formating issues
---------
Co-authored-by: Nathan Coleman <nathan.coleman@hashicorp.com>
* api-gateway: add step to upgrade instructions for creating intentions (#17875)
* Changelog - add 1.13.9, 1.14.8, and 1.15.4 (#17889)
* docs: update config enable_debug (#17866)
* update doc for config enable_debug
* Update website/content/docs/agent/config/config-files.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
---------
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Update wording on WAN fed and intermediate_pki_path (#17850)
* Allow service identity tokens the ability to read jwt-providers (#17893)
* Allow service identity tokens the ability to read jwt-providers
* more tests
* service_prefix tests
* Update docs (#17476)
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Add emit_tags_as_labels to envoy bootstrap config when using Consul Telemetry Collector (#17888)
* Fix command from kg to kubectl get (#17903)
* Create and update release notes for 1.16 and 1.2 (#17895)
* update release notes for 1.16 and 1.2
* update latest consul core release
* Propose new changes to APIgw upgrade instructions (#17693)
* Propose new changes to APIgw upgrade instructions
* fix build error
* update callouts to render correctly
* Add hideClipboard to log messages
* Added clarification around consul k8s and crds
* Add workflow to verify linux release packages (#17904)
* adding docker files to verify linux packages.
* add verifr-release-linux.yml
* updating name
* pass inputs directly into jobs
* add other linux package platforms
* remove on push
* fix TARGETARCH on debian and ubuntu so it can check arm64 and amd64
* fixing amazon to use the continue line
* add ubuntu i386
* fix comment lines
* working
* remove commented out workflow jobs
* Apply suggestions from code review
Co-authored-by: Nathan Coleman <nathan.coleman@hashicorp.com>
* update fedora and ubuntu to use latest tag
---------
Co-authored-by: Nathan Coleman <nathan.coleman@hashicorp.com>
* Reference hashicorp/consul instead of consul for Docker image (#17914)
* Reference hashicorp/consul instead of consul for Docker image
* Update Make targets that pull consul directly
* Update Consul K8s Upgrade Doc Updates (#17921)
Updating upgrade procedures to encompass expected errors during upgrade process from v1.13.x to v1.14.x.
* Update sameness-group.mdx (#17915)
* Update create-sameness-groups.mdx (#17927)
* deps: coredns v1.10.1 (#17912)
* Ensure RSA keys are at least 2048 bits in length (#17911)
* Ensure RSA keys are at least 2048 bits in length
* Add changelog
* update key length check for FIPS compliance
* Fix no new variables error and failing to return when error exists from
validating
* clean up code for better readability
* actually return value
* tlsutil: Fix check TLS configuration (#17481)
* tlsutil: Fix check TLS configuration
* Rewording docs.
* Update website/content/docs/services/configuration/checks-configuration-reference.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Fix typos and add changelog entry.
---------
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* docs: Deprecations for connect-native SDK and specific connect native APIs (#17937)
* Update v1_16_x.mdx
* Update connect native golang page
---------
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Revert "Add workflow to verify linux release packages (#17904)" (#17942)
This reverts commit 3368f14fab500ebe9f6aeab5631dd1d5f5a453e5.
* Fixes Secondary ConnectCA update (#17846)
This fixes a bug that was identified which resulted in subsequent
ConnectCA configuration update not to persist in the cluster.
* fixing typo in link to jwt-validations-with-intentions doc (#17955)
* Fix streaming backend link (#17958)
* Fix streaming backend link
* Update health.mdx
* Dynamically create jwks clusters for jwt-providers (#17944)
* website: remove deprecated agent rpc docs (#17962)
* Fix missing BalanceOutboundConnections in v2 catalog. (#17964)
* feature - [NET - 4005] - [Supportability] Reloadable Configuration - enable_debug (#17565)
* # This is a combination of 9 commits.
# This is the 1st commit message:
init without tests
# This is the commit message #2:
change log
# This is the commit message #3:
fix tests
# This is the commit message #4:
fix tests
# This is the commit message #5:
added tests
# This is the commit message #6:
change log breaking change
# This is the commit message #7:
removed breaking change
# This is the commit message #8:
fix test
# This is the commit message #9:
keeping the test behaviour same
* # This is a combination of 12 commits.
# This is the 1st commit message:
init without tests
# This is the commit message #2:
change log
# This is the commit message #3:
fix tests
# This is the commit message #4:
fix tests
# This is the commit message #5:
added tests
# This is the commit message #6:
change log breaking change
# This is the commit message #7:
removed breaking change
# This is the commit message #8:
fix test
# This is the commit message #9:
keeping the test behaviour same
# This is the commit message #10:
made enable debug atomic bool
# This is the commit message #11:
fix lint
# This is the commit message #12:
fix test true enable debug
* parent 10f500e895d92cc3691ade7b74a33db755d22039
author absolutelightning <ashesh.vidyut@hashicorp.com> 1687352587 +0530
committer absolutelightning <ashesh.vidyut@hashicorp.com> 1687352592 +0530
init without tests
change log
fix tests
fix tests
added tests
change log breaking change
removed breaking change
fix test
keeping the test behaviour same
made enable debug atomic bool
fix lint
fix test true enable debug
using enable debug in agent as atomic bool
test fixes
fix tests
fix tests
added update on correct locaiton
fix tests
fix reloadable config enable debug
fix tests
fix init and acl 403
* revert commit
* Fix formatting codeblocks on APIgw docs (#17970)
* fix formatting codeblocks
* remove unnecessary indents
* Remove POC code (#17974)
* update doc (#17910)
* update doc
* update link
* Remove duplicate and unused newDecodeConfigEntry func (#17979)
* docs: samenessGroup YAML examples (#17984)
* configuration entry syntax
* Example config
* Add changelog entry for 1.16.0 (#17987)
* Fix typo (#17198)
servcies => services
* Expose JWKS cluster config through JWTProviderConfigEntry (#17978)
* Expose JWKS cluster config through JWTProviderConfigEntry
* fix typos, rename trustedCa to trustedCA
* Integration test for ext-authz Envoy extension (#17980)
* Fix incorrect protocol for transparent proxy upstreams. (#17894)
This PR fixes a bug that was introduced in:
https://github.com/hashicorp/consul/pull/16021
A user setting a protocol in proxy-defaults would cause tproxy implicit
upstreams to not honor the upstream service's protocol set in its
`ServiceDefaults.Protocol` field, and would instead always use the
proxy-defaults value.
Due to the fact that upstreams configured with "tcp" can successfully contact
upstream "http" services, this issue was not recognized until recently (a
proxy-defaults with "tcp" and a listening service with "http" would make
successful requests, but not the opposite).
As a temporary work-around, users experiencing this issue can explicitly set
the protocol on the `ServiceDefaults.UpstreamConfig.Overrides`, which should
take precedence.
The fix in this PR removes the proxy-defaults protocol from the wildcard
upstream that tproxy uses to configure implicit upstreams. When the protocol
was included, it would always overwrite the value during discovery chain
compilation, which was not correct. The discovery chain compiler also consumes
proxy defaults to determine the protocol, so simply excluding it from the
wildcard upstream config map resolves the issue.
* feat: include nodes count in operator usage endpoint and cli command (#17939)
* feat: update operator usage api endpoint to include nodes count
* feat: update operator usange cli command to includes nodes count
* [OSS] Improve Gateway Test Coverage of Catalog Health (#18011)
* fix(cli): remove failing check from 'connect envoy' registration for api gateway
* test(integration): add tests to check catalog statsus of gateways on startup
* remove extra sleep comment
* Update test/integration/consul-container/libs/assert/service.go
* changelog
* Fixes Traffic rate limitting docs (#17997)
* Fix removed service-to-service peering links (#17221)
* docs: fix removed service-to-service peering links
* docs: extend peering-via-mesh-gateways intro (thanks @trujillo-adam)
---------
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* docs: Sameness "beta" warning (#18017)
* Warning updates
* .x
* updated typo in tab heading (#18022)
* updated typo in tab heading
* updated tab group typo, too
* Document that DNS lookups can target cluster peers (#17990)
Static DNS lookups, in addition to explicitly targeting a datacenter,
can target a cluster peer. This was added in 95dc0c7b301b70a6b955a8b7c9737c9b86f03df6 but didn't make the documentation.
The driving function for the change is `parseLocality` here: https://github.com/hashicorp/consul/blob/0b1299c28d8127129d61310ee4280055298438e0/agent/dns_oss.go#L25
The biggest change in this is to adjust the standard lookup syntax to tie
`.<datacenter>` to `.dc` as required-together, and to append in the similar `.<cluster-peer>.peer` optional argument, both to A record and SRV record lookups.
Co-authored-by: David Yu <dyu@hashicorp.com>
* Add first integration test for jwt auth with intention (#18005)
* fix stand-in text for name field (#18030)
* removed sameness conf entry from failover nav (#18033)
* docs - add service sync annotations and k8s service weight annotation (#18032)
* Docs for https://github.com/hashicorp/consul-k8s/pull/2293
* remove versions for enterprise features since they are old
---------
Co-authored-by: Tu Nguyen <im2nguyen@users.noreply.github.com>
* docs - add jobs use case for service mesh k8s (#18037)
* docs - add jobs use case for service mesh k8s
* add code blocks
* address feedback (#18045)
* Add verify server hostname to tls default (#17155)
* [OSS] Fix initial_fetch_timeout to wait for all xDS resources (#18024)
* fix(connect): set initial_fetch_time to wait indefinitely
* changelog
* PR feedback 1
* ui: fix typos for peer service imports (#17999)
* test: fix FIPS inline cert test message (#18076)
* Fix a couple typos in Agent Telemetry Metrics docs (#18080)
* Fix metrics docs
* Add changelog
Signed-off-by: josh <josh.timmons@hashicorp.com>
---------
Signed-off-by: josh <josh.timmons@hashicorp.com>
* docs updates - cluster peering and virtual services (#18069)
* Update route-to-virtual-services.mdx
* Update establish-peering.mdx
* Update service-mesh-compare.mdx (#17279)
grammar change
* Update helm docs on main (#18085)
* ci: use gotestsum v1.10.1 [NET-4042] (#18088)
* Docs: Update proxy lifecycle annotations and consul-dataplane flags (#18075)
* Update proxy lifecycle annotations and consul-dataplane flags
* Pass configured role name to Vault for AWS auth in Connect CA (#17885)
* Docs for dataplane upgrade on k8s (#18051)
* Docs for dataplane upgrade on k8s
---------
Co-authored-by: David Yu <dyu@hashicorp.com>
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* docs - update upgrade index page to not recommend consul leave. (#18100)
* Displays Consul version of each nodes in UI nodes section (#17754)
* update UINodes and UINodeInfo response with consul-version info added as NodeMeta, fetched from serf members
* update test cases TestUINodes, TestUINodeInfo
* added nil check for map
* add consul-version in local agent node metadata
* get consul version from serf member and add this as node meta in catalog register request
* updated ui mock response to include consul versions as node meta
* updated ui trans and added version as query param to node list route
* updates in ui templates to display consul version with filter and sorts
* updates in ui - model class, serializers,comparators,predicates for consul version feature
* added change log for Consul Version Feature
* updated to get version from consul service, if for some reason not available from serf
* updated changelog text
* updated dependent testcases
* multiselection version filter
* Update agent/consul/state/catalog.go
comments updated
Co-authored-by: Jared Kirschner <85913323+jkirschner-hashicorp@users.noreply.github.com>
---------
Co-authored-by: Jared Kirschner <85913323+jkirschner-hashicorp@users.noreply.github.com>
* api gw 1.16 updates (#18081)
* api gw 1.16 updates
* Apply suggestions from code review
Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com>
* update CodeBlockConfig filename
* Apply suggestions from code review
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com>
* remove non-standard intentions page
* Update website/content/docs/api-gateway/configuration/index.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
---------
Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com>
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* [NET-4103] ci: build s390x (#18067)
* ci: build s390x
* ci: test s390x
* ci: dev build s390x
* no GOOS
* ent only
* build: publish s390x
* fix syntax error
* fix syntax error again
* fix syntax error again x2
* test branch
* Move s390x conditionals to step level
* remove test branch
---------
Co-authored-by: emilymianeil <eneil@hashicorp.com>
* :ermahgerd "Sevice Mesh" -> "Service Mesh" (#18116)
Just a typo in the docs.
* Split pbmesh.UpstreamsConfiguration as a resource out of pbmesh.Upstreams (#17991)
Configuration that previously was inlined into the Upstreams resource
applies to both explicit and implicit upstreams and so it makes sense to
split it out into its own resource.
It also has other minor changes:
- Renames `proxy.proto` proxy_configuration.proto`
- Changes the type of `Upstream.destination_ref` from `pbresource.ID` to
`pbresource.Reference`
- Adds comments to fields that didn't have them
* [NET-4895] ci - api tests and consul container tests error because of dependency bugs with go 1.20.6. Pin go to 1.20.5. (#18124)
### Description
The following jobs started failing when go 1.20.6 was released:
- `go-test-api-1-19`
- `go-test-api-1-20`
- `compatibility-integration-tests`
- `upgrade-integration-tests`
`compatibility-integration-tests` and `compatibility-integration-tests`
to this testcontainers issue:
https://github.com/testcontainers/testcontainers-go/issues/1359. This
issue calls for testcontainers to release a new version when one of
their dependencies is fixed. When that is done, we will unpin the go
versions in `compatibility-integration-tests` and
`compatibility-integration-tests`.
### Testing & Reproduction steps
See these jobs broken in CI and then see them work with this PR.
---------
Co-authored-by: Chris Thain <32781396+cthain@users.noreply.github.com>
* Add ingress gateway deprecation notices to docs (#18102)
### Description
This adds notices, that ingress gateway is deprecated, to several places
in the product docs where ingress gateway is the topic.
### Testing & Reproduction steps
Tested with a local copy of the website.
### Links
Deprecation of ingress gateway was announced in the Release Notes for
Consul 1.16 and Consul-K8s 1.2. See:
[https://developer.hashicorp.com/consul/docs/release-notes/consul/v1_16_x#what-s-deprecated](https://developer.hashicorp.com/consul/docs/release-notes/consul/v1_16_x#what-s-deprecated
)
[https://developer.hashicorp.com/consul/docs/release-notes/consul-k8s/v1_2_x#what-s-deprecated](https://developer.hashicorp.com/consul/docs/release-notes/consul-k8s/v1_2_x#what-s-deprecated)
### PR Checklist
* [N/A] updated test coverage
* [X] external facing docs updated
* [X] appropriate backport labels added
* [X] not a security concern
---------
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Add docs for jwt cluster configuration (#18004)
### Description
<!-- Please describe why you're making this change, in plain English.
-->
- Add jwt-provider docs for jwks cluster configuration. The
configuration was added here:
https://github.com/hashicorp/consul/pull/17978
* Docs: fix unmatched bracket for health checks page (#18134)
* NET-4657/add resource service client (#18053)
### Description
<!-- Please describe why you're making this change, in plain English.
-->
Dan had already started on this
[task](https://github.com/hashicorp/consul/pull/17849) which is needed
to start building the HTTP APIs. This just needed some cleanup to get it
ready for review.
Overview:
- Rename `internalResourceServiceClient` to
`insecureResourceServiceClient` for name consistency
- Configure a `secureResourceServiceClient` with auth enabled
### PR Checklist
* [ ] ~updated test coverage~
* [ ] ~external facing docs updated~
* [x] appropriate backport labels added
* [ ] ~not a security concern~
* Fix bug with Vault CA provider (#18112)
Updating RootPKIPath but not IntermediatePKIPath would not update
leaf signing certs with the new root. Unsure if this happens in practice
but manual testing showed it is a bug that would break mesh and agent
connections once the old root is pruned.
* [NET-4897] net/http host header is now verified and request.host that contains socked now error (#18129)
### Description
This is related to https://github.com/hashicorp/consul/pull/18124 where
we pinned the go versions in CI to 1.20.5 and 1.19.10.
go 1.20.6 and 1.19.11 now validate request host headers for validity,
including the hostname cannot be prefixed with slashes.
For local communications (npipe://, unix://), the hostname is not used,
but we need valid and meaningful hostname. Prior versions go Go would
clean the host header, and strip slashes in the process, but go1.20.6
and go1.19.11 no longer do, and reject the host header. Around the
community we are seeing that others are intercepting the req.host and if
it starts with a slash or ends with .sock, they changing the host to
localhost or another dummy value.
[client: define a "dummy" hostname to use for local connections by
thaJeztah · Pull Request #45942 ·
moby/moby](https://github.com/moby/moby/pull/45942)
### Testing & Reproduction steps
Check CI tests.
### Links
* [ ] updated test coverage
* [ ] external facing docs updated
* [ ] appropriate backport labels added
* [ ] not a security concern
* add a conditional around setting LANFilter.AllSegments to make sure it is valid (#18139)
### Description
This is to correct a code problem because this assumes all segments, but
when you get to Enterprise, you can be in partition that is not the
default partition, in which case specifying all segments does not
validate and fails. This is to correct the setting of this filter with
`AllSegments` to `true` to only occur when in the the `default`
partition.
### Testing & Reproduction steps
<!--
* In the case of bugs, describe how to replicate
* If any manual tests were done, document the steps and the conditions
to replicate
* Call out any important/ relevant unit tests, e2e tests or integration
tests you have added or are adding
-->
### Links
<!--
Include any links here that might be helpful for people reviewing your
PR (Tickets, GH issues, API docs, external benchmarks, tools docs, etc).
If there are none, feel free to delete this section.
Please be mindful not to leak any customer or confidential information.
HashiCorp employees may want to use our internal URL shortener to
obfuscate links.
-->
### PR Checklist
* [ ] updated test coverage
* [ ] external facing docs updated
* [ ] appropriate backport labels added
* [ ] not a security concern
* chore: bump upgrade integrations tests to 1.15, 116 [NET-4743] (#18130)
* re org resource type registry (#18133)
* fix: update delegateMock used in ENT (#18149)
### Description
<!-- Please describe why you're making this change, in plain English.
-->
The mock is used in `http_ent_test` file which caused lint failures. For
OSS->ENT parity adding the same change here.
### Links
<!--
Include any links here that might be helpful for people reviewing your
PR (Tickets, GH issues, API docs, external benchmarks, tools docs, etc).
If there are none, feel free to delete this section.
Please be mindful not to leak any customer or confidential information.
HashiCorp employees may want to use our internal URL shortener to
obfuscate links.
-->
Identified in OSS->ENT [merge
PR](https://github.com/hashicorp/consul-enterprise/pull/6328)
### PR Checklist
* [ ] ~updated test coverage~
* [ ] ~external facing docs updated~
* [x] appropriate backport labels added
* [ ] ~not a security concern~
* Use JWT-auth filter in metadata mode & Delegate validation to RBAC filter (#18062)
### Description
<!-- Please describe why you're making this change, in plain English.
-->
- Currently the jwt-auth filter doesn't take into account the service
identity when validating jwt-auth, it only takes into account the path
and jwt provider during validation. This causes issues when multiple
source intentions restrict access to an endpoint with different JWT
providers.
- To fix these issues, rather than use the JWT auth filter for
validation, we use it in metadata mode and allow it to forward the
successful validated JWT token payload to the RBAC filter which will
make the decisions.
This PR ensures requests with and without JWT tokens successfully go
through the jwt-authn filter. The filter however only forwards the data
for successful/valid tokens. On the RBAC filter level, we check the
payload for claims and token issuer + existing rbac rules.
### Testing & Reproduction steps
<!--
* In the case of bugs, describe how to replicate
* If any manual tests were done, document the steps and the conditions
to replicate
* Call out any important/ relevant unit tests, e2e tests or integration
tests you have added or are adding
-->
- This test covers a multi level jwt requirements (requirements at top
level and permissions level). It also assumes you have envoy running,
you have a redis and a sidecar proxy service registered, and have a way
to generate jwks with jwt. I mostly use:
https://www.scottbrady91.com/tools/jwt for this.
- first write your proxy defaults
```
Kind = "proxy-defaults"
name = "global"
config {
protocol = "http"
}
```
- Create two providers
```
Kind = "jwt-provider"
Name = "auth0"
Issuer = "https://ronald.local"
JSONWebKeySet = {
Local = {
JWKS = "eyJrZXlzIjog....."
}
}
```
```
Kind = "jwt-provider"
Name = "okta"
Issuer = "https://ronald.local"
JSONWebKeySet = {
Local = {
JWKS = "eyJrZXlzIjogW3...."
}
}
```
- add a service intention
```
Kind = "service-intentions"
Name = "redis"
JWT = {
Providers = [
{
Name = "okta"
},
]
}
Sources = [
{
Name = "*"
Permissions = [{
Action = "allow"
HTTP = {
PathPrefix = "/workspace"
}
JWT = {
Providers = [
{
Name = "okta"
VerifyClaims = [
{
Path = ["aud"]
Value = "my_client_app"
},
{
Path = ["sub"]
Value = "5be86359073c434bad2da3932222dabe"
}
]
},
]
}
},
{
Action = "allow"
HTTP = {
PathPrefix = "/"
}
JWT = {
Providers = [
{
Name = "auth0"
},
]
}
}]
}
]
```
- generate 3 jwt tokens: 1 from auth0 jwks, 1 from okta jwks with
different claims than `/workspace` expects and 1 with correct claims
- connect to your envoy (change service and address as needed) to view
logs and potential errors. You can add: `-- --log-level debug` to see
what data is being forwarded
```
consul connect envoy -sidecar-for redis1 -grpc-addr 127.0.0.1:8502
```
- Make the following requests:
```
curl -s -H "Authorization: Bearer $Auth0_TOKEN" --insecure --cert leaf.cert --key leaf.key --cacert connect-ca.pem https://localhost:20000/workspace -v
RBAC filter denied
curl -s -H "Authorization: Bearer $Okta_TOKEN_with_wrong_claims" --insecure --cert leaf.cert --key leaf.key --cacert connect-ca.pem https://localhost:20000/workspace -v
RBAC filter denied
curl -s -H "Authorization: Bearer $Okta_TOKEN_with_correct_claims" --insecure --cert leaf.cert --key leaf.key --cacert connect-ca.pem https://localhost:20000/workspace -v
Successful request
```
### TODO
* [x] Update test coverage
* [ ] update integration tests (follow-up PR)
* [x] appropriate backport labels added
* Support Consul Connect Envoy Command on Windows (#17694)
### Description
Add support for consul connect envoy command on windows. This PR fixes
the comments of PR - https://github.com/hashicorp/consul/pull/15114
### Testing
* Built consul.exe from this branch on windows and hosted here - [AWS
S3](https://asheshvidyut-bucket.s3.ap-southeast-2.amazonaws.com/consul.zip)
* Updated the
[tutorial](https://developer.hashicorp.com/consul/tutorials/developer-mesh/consul-windows-workloads)
and changed the `consul_url.default` value to [AWS
S3](https://asheshvidyut-bucket.s3.ap-southeast-2.amazonaws.com/consul.zip)
* Followed the steps in the tutorial and verified that everything is
working as described.
### PR Checklist
* [x] updated test coverage
* [ ] external facing docs updated
* [x] appropriate backport labels added
* [x] not a security concern
---------
Co-authored-by: Franco Bruno Lavayen <cocolavayen@gmail.com>
Co-authored-by: Jose Ignacio Lorenzo <74208929+joselo85@users.noreply.github.com>
Co-authored-by: Jose Ignacio Lorenzo <joseignaciolorenzo85@gmail.com>
Co-authored-by: Dhia Ayachi <dhia@hashicorp.com>
* Change docs to say 168h instead of 7d for server_rejoin_age_max (#18154)
### Description
Addresses
https://github.com/hashicorp/consul/pull/17171#issuecomment-1636930705
* [OSS] test: improve xDS listener code coverage (#18138)
test: improve xDS listener code coverage
* Re-order expected/actual for assertContainerState in consul container tests (#18157)
Re-order expected/actual, consul container tests
* group and document make file (#17943)
* group and document make file
* Add `testing/deployer` (neé `consul-topology`) [NET-4610] (#17823)
Co-authored-by: R.B. Boyer <4903+rboyer@users.noreply.github.com>
Co-authored-by: R.B. Boyer <rb@hashicorp.com>
Co-authored-by: Freddy <freddygv@users.noreply.github.com>
* [NET-4792] Add integrations tests for jwt-auth (#18169)
* Add FIPS reference to consul enterprise docs (#18028)
* Add FIPS reference to consul enterprise docs
* Update website/content/docs/enterprise/index.mdx
Co-authored-by: David Yu <dyu@hashicorp.com>
* remove support for ecs client (fips)
---------
Co-authored-by: David Yu <dyu@hashicorp.com>
* add peering_commontopo tests [NET-3700] (#17951)
Co-authored-by: R.B. Boyer <4903+rboyer@users.noreply.github.com>
Co-authored-by: R.B. Boyer <rb@hashicorp.com>
Co-authored-by: Freddy <freddygv@users.noreply.github.com>
Co-authored-by: NiniOak <anita.akaeze@hashicorp.com>
* docs - remove Sentinel from enterprise features list (#18176)
* Update index.mdx
* Update kv.mdx
* Update docs-nav-data.json
* delete sentinel.mdx
* Update redirects.js
---------
Co-authored-by: Tu Nguyen <im2nguyen@users.noreply.github.com>
* [NET-4865] Bump golang.org/x/net to 0.12.0 (#18186)
Bump golang.org/x/net to 0.12.0
While not necessary to directly address CVE-2023-29406 (which should be
handled by using a patched version of Go when building), an
accompanying change to HTTP/2 error handling does impact agent code.
See https://go-review.googlesource.com/c/net/+/506995 for the HTTP/2
change.
Bump this dependency across our submodules as well for the sake of
potential indirect consumers of `x/net/http`.
* Call resource mutate hook before validate hook (NET-4907) (#18178)
* [NET-4865] security: Update Go version to 1.20.6 (#18190)
Update Go version to 1.20.6
This resolves [CVE-2023-29406]
(https://nvd.nist.gov/vuln/detail/CVE-2023-29406) for uses of the
`net/http` standard library.
Note that until the follow-up to #18124 is done, the version of Go used
in those impacted tests will need to remain on 1.20.5.
* Improve XDS test coverage: JWT auth edition (#18183)
* Improve XDS test coverage: JWT auth edition
more tests
* test: xds coverage for jwt listeners
---------
Co-authored-by: DanStough <dan.stough@hashicorp.com>
* update readme.md (#18191)
u[date readme.md
* Update submodules to latest following 1.16.0 (#18197)
Align all our internal use of submodules on the latest versions.
* SEC-090: Automated trusted workflow pinning (2023-07-18) (#18174)
Result of tsccr-helper -log-level=info -pin-all-workflows .
Co-authored-by: hashicorp-tsccr[bot] <hashicorp-tsccr[bot]@users.noreply.github.com>
* Fix Backport Assistant PR commenting (#18200)
* Fix Backport Assistant failure PR commenting
For general comments on a PR, it looks like you have to use the `/issue`
endpoint rather than `/pulls`, which requires commit/other
review-specific target details.
This matches the endpoint used in `backport-reminder.yml`.
* Remove Backport Reminder workflow
This is noisy (even when adding multiple labels, individual comments per
label are generated), and likely no longer needed: we haven't had this
work in a long time due to an expired GH token, and we now have better
automation for backport PR assignment.
* resource: Pass resource to Write ACL hook instead of just resource Id [NET-4908] (#18192)
* Explicitly enable WebSocket upgrades (#18150)
This PR explicitly enables WebSocket upgrades in Envoy's UpgradeConfig for all
proxy types. (API Gateway, Ingress, and Sidecar.)
Fixes #8283
* docs: fix the description of client rpc (#18206)
* NET-4804: Add dashboard for monitoring consul-k8s (#18208)
* [OSS] Improve xDS Code Coverage - Clusters (#18165)
test: improve xDS cluster code coverage
* NET-4222 take config file consul container (#18218)
Net 4222 take config file consul container
* Envoy Integration Test Windows (#18007)
* [CONSUL-395] Update check_hostport and Usage (#40)
* [CONSUL-397] Copy envoy binary from Image (#41)
* [CONSUL-382] Support openssl in unique test dockerfile (#43)
* [CONSUL-405] Add bats to single container (#44)
* [CONSUL-414] Run Prometheus Test Cases and Validate Changes (#46)
* [CONSUL-410] Run Jaeger in Single container (#45)
* [CONSUL-412] Run test-sds-server in single container (#48)
* [CONSUL-408] Clean containers (#47)
* [CONSUL-384] Rebase and sync fork (#50)
* [CONSUL-415] Create Scenarios Troubleshooting Docs (#49)
* [CONSUL-417] Update Docs Single Container (#51)
* [CONSUL-428] Add Socat to single container (#54)
* [CONSUL-424] Replace pkill in kill_envoy function (#52)
* [CONSUL-434] Modify Docker run functions in Helper script (#53)
* [CONSUL-435] Replace docker run in set_ttl_check_state & wait_for_agent_service_register functions (#55)
* [CONSUL-438] Add netcat (nc) in the Single container Dockerfile (#56)
* [CONSUL-429] Replace Docker run with Docker exec (#57)
* [CONSUL-436] Curl timeout and run tests (#58)
* [CONSUL-443] Create dogstatsd Function (#59)
* [CONSUL-431] Update Docs Netcat (#60)
* [CONSUL-439] Parse nc Command in function (#61)
* [CONSUL-463] Review curl Exec and get_ca_root Func (#63)
* [CONSUL-453] Docker hostname in Helper functions (#64)
* [CONSUL-461] Test wipe volumes without extra cont (#66)
* [CONSUL-454] Check ports in the Server and Agent containers (#65)
* [CONSUL-441] Update windows dockerfile with version (#62)
* [CONSUL-466] Review case-grpc Failing Test (#67)
* [CONSUL-494] Review case-cfg-resolver-svc-failover (#68)
* [CONSUL-496] Replace docker_wget & docker_curl (#69)
* [CONSUL-499] Cleanup Scripts - Remove nanoserver (#70)
* [CONSUL-500] Update Troubleshooting Docs (#72)
* [CONSUL-502] Pull & Tag Envoy Windows Image (#73)
* [CONSUL-504] Replace docker run in docker_consul (#76)
* [CONSUL-505] Change admin_bind
* [CONSUL-399] Update envoy to 1.23.1 (#78)
* [CONSUL-510] Support case-wanfed-gw on Windows (#79)
* [CONSUL-506] Update troubleshooting Documentation (#80)
* [CONSUL-512] Review debug_dump_volumes Function (#81)
* [CONSUL-514] Add zipkin to Docker Image (#82)
* [CONSUL-515] Update Documentation (#83)
* [CONSUL-529] Support case-consul-exec (#86)
* [CONSUL-530] Update Documentation (#87)
* [CONSUL-530] Update default consul version 1.13.3
* [CONSUL-539] Cleanup (#91)
* [CONSUL-546] Scripts Clean-up (#92)
* [CONSUL-491] Support admin_access_log_path value for Windows (#71)
* [CONSUL-519] Implement mkfifo Alternative (#84)
* [CONSUL-542] Create OS Specific Files for Envoy Package (#88)
* [CONSUL-543] Create exec_supported.go (#89)
* [CONSUL-544] Test and Build Changes (#90)
* Implement os.DevNull
* using mmap instead of disk files
* fix import in exec-unix
* fix nmap open too many arguemtn
* go fmt on file
* changelog file
* fix go mod
* Update .changelog/17694.txt
Co-authored-by: Dhia Ayachi <dhia@hashicorp.com>
* different mmap library
* fix bootstrap json
* some fixes
* chocolatey version fix and image fix
* using different library
* fix Map funciton call
* fix mmap call
* fix tcp dump
* fix tcp dump
* windows tcp dump
* Fix docker run
* fix tests
* fix go mod
* fix version 16.0
* fix version
* fix version dev
* sleep to debug
* fix sleep
* fix permission issue
* fix permission issue
* fix permission issue
* fix command
* fix command
* fix funciton
* fix assert config entry status command not found
* fix command not found assert_cert_has_cn
* fix command not found assert_upstream_missing
* fix command not found assert_upstream_missing_once
* fix command not found get_upstream_endpoint
* fix command not found get_envoy_public_listener_once
* fix command not found
* fix test cases
* windows integration test workflow github
* made code similar to unix using npipe
* fix go.mod
* fix dialing of npipe
* dont wait
* check size of written json
* fix undefined n
* running
* fix dep
* fix syntax error
* fix workflow file
* windows runner
* fix runner
* fix from json
* fix runs on
* merge connect envoy
* fix cin path
* build
* fix file name
* fix file name
* fix dev build
* remove unwanted code
* fix upload
* fix bin name
* fix path
* checkout current branch
* fix path
* fix tests
* fix shell bash for windows sh files
* fix permission of run-test.sh
* removed docker dev
* added shell bash for tests
* fix tag
* fix win=true
* fix cd
* added dev
* fix variable undefined
* removed failing tests
* fix tcp dump image
* fix curl
* fix curl
* tcp dump path
* fix tcpdump path
* fix curl
* fix curl install
* stop removing intermediate containers
* fix tcpdump docker image
* revert -rm
* --rm=false
* makeing docker image before
* fix tcpdump
* removed case consul exec
* removed terminating gateway simple
* comment case wasm
* removed data dog
* comment out upload coverage
* uncomment case-consul-exec
* comment case consul exec
* if always
* logs
* using consul 1.17.0
* fix quotes
* revert quotes
* redirect to dev null
* Revert version
* revert consul connect
* fix version
* removed envoy connect
* not using function
* change log
* docker logs
* fix logs
* restructure bad authz
* rmeoved dev null
* output
* fix file descriptor
* fix cacert
* fix cacert
* fix ca cert
* cacert does not work in windows curl
* fix func
* removed docker logs
* added sleep
* fix tls
* commented case-consul-exec
* removed echo
* retry docker consul
* fix upload bin
* uncomment consul exec
* copying consul.exe to docker image
* copy fix
* fix paths
* fix path
* github workspace path
* latest version
* Revert "latest version"
This reverts commit 5a7d7b82d9e7553bcb01b02557ec8969f9deba1d.
* commented consul exec
* added ssl revoke best effort
* revert best effort
* removed unused files
* rename var name and change dir
* windows runner
* permission
* needs setup fix
* swtich to github runner
* fix file path
* fix path
* fix path
* fix path
* fix path
* fix path
* fix build paths
* fix tag
* nightly runs
* added matrix in github workflow, renamed files
* fix job
* fix matrix
* removed brackes
* from json
* without using job matrix
* fix quotes
* revert job matrix
* fix workflow
* fix comment
* added comment
* nightly runs
* removed datadog ci as it is already measured in linux one
* running test
* Revert "running test"
This reverts commit 7013d15a23732179d18ec5d17336e16b26fab5d4.
* pr comment fixes
* running test now
* running subset of test
* running subset of test
* job matrix
* shell bash
* removed bash shell
* linux machine for job matrix
* fix output
* added cat to debug
* using ubuntu latest
* fix job matrix
* fix win true
* fix go test
* revert job matrix
---------
Co-authored-by: Jose Ignacio Lorenzo <74208929+joselo85@users.noreply.github.com>
Co-authored-by: Franco Bruno Lavayen <cocolavayen@gmail.com>
Co-authored-by: Ivan K Berlot <ivanberlot@gmail.com>
Co-authored-by: Ezequiel Fernández Ponce <20102608+ezfepo@users.noreply.github.com>
Co-authored-by: joselo85 <joseignaciolorenzo85@gmail.com>
Co-authored-by: Ezequiel Fernández Ponce <ezequiel.fernandez@southworks.com>
Co-authored-by: Dhia Ayachi <dhia@hashicorp.com>
* fix typos and update ecs compat table (#18215)
* fix typos and update ecs compat table
* real info for the ecs compat matrix table
* Update website/content/docs/ecs/compatibility.mdx
Co-authored-by: Chris Thain <32781396+cthain@users.noreply.github.com>
---------
Co-authored-by: Chris Thain <32781396+cthain@users.noreply.github.com>
* [OSS] proxystate: add proxystate protos (#18216)
* proxystate: add proxystate protos to pbmesh and resolve imports and conflicts between message names
* ci: don't verify s390x (#18224)
* [CC-5718] Remove HCP token requirement during bootstrap (#18140)
* [CC-5718] Remove HCP token requirement during bootstrap
* Re-add error for loading HCP management token
* Remove old comment
* Add changelog entry
* Remove extra validation line
* Apply suggestions from code review
Co-authored-by: lornasong <lornasong@users.noreply.github.com>
---------
Co-authored-by: lornasong <lornasong@users.noreply.github.com>
* [NET-4122] Doc guidance for federation with externalServers (#18207)
Doc guidance for federation with externalServers
Add guidance for proper configuration when joining to a secondary
cluster using WAN fed with external servers also enabled.
Also clarify federation requirements and fix formatting for an
unrelated value.
Update both the Helm chart reference (synced from `consul-k8s`, see
hashicorp/consul-k8s#2583) and the docs on using `externalServers`.
* [OSS] Improve xDS Code Coverage - Endpoints and Misc (#18222)
test: improve xDS endpoints code coverage
* Clarify license reporting timing and GDPR compliance (#18237)
Add Alicia's edits to clarify log timing and other details
* Fix Github Workflow File (#18241)
* [CONSUL-382] Support openssl in unique test dockerfile (#43)
* [CONSUL-405] Add bats to single container (#44)
* [CONSUL-414] Run Prometheus Test Cases and Validate Changes (#46)
* [CONSUL-410] Run Jaeger in Single container (#45)
* [CONSUL-412] Run test-sds-server in single container (#48)
* [CONSUL-408] Clean containers (#47)
* [CONSUL-384] Rebase and sync fork (#50)
* [CONSUL-415] Create Scenarios Troubleshooting Docs (#49)
* [CONSUL-417] Update Docs Single Container (#51)
* [CONSUL-428] Add Socat to single container (#54)
* [CONSUL-424] Replace pkill in kill_envoy function (#52)
* [CONSUL-434] Modify Docker run functions in Helper script (#53)
* [CONSUL-435] Replace docker run in set_ttl_check_state & wait_for_agent_service_register functions (#55)
* [CONSUL-438] Add netcat (nc) in the Single container Dockerfile (#56)
* [CONSUL-429] Replace Docker run with Docker exec (#57)
* [CONSUL-436] Curl timeout and run tests (#58)
* [CONSUL-443] Create dogstatsd Function (#59)
* [CONSUL-431] Update Docs Netcat (#60)
* [CONSUL-439] Parse nc Command in function (#61)
* [CONSUL-463] Review curl Exec and get_ca_root Func (#63)
* [CONSUL-453] Docker hostname in Helper functions (#64)
* [CONSUL-461] Test wipe volumes without extra cont (#66)
* [CONSUL-454] Check ports in the Server and Agent containers (#65)
* [CONSUL-441] Update windows dockerfile with version (#62)
* [CONSUL-466] Review case-grpc Failing Test (#67)
* [CONSUL-494] Review case-cfg-resolver-svc-failover (#68)
* [CONSUL-496] Replace docker_wget & docker_curl (#69)
* [CONSUL-499] Cleanup Scripts - Remove nanoserver (#70)
* [CONSUL-500] Update Troubleshooting Docs (#72)
* [CONSUL-502] Pull & Tag Envoy Windows Image (#73)
* [CONSUL-504] Replace docker run in docker_consul (#76)
* [CONSUL-505] Change admin_bind
* [CONSUL-399] Update envoy to 1.23.1 (#78)
* [CONSUL-510] Support case-wanfed-gw on Windows (#79)
* [CONSUL-506] Update troubleshooting Documentation (#80)
* [CONSUL-512] Review debug_dump_volumes Function (#81)
* [CONSUL-514] Add zipkin to Docker Image (#82)
* [CONSUL-515] Update Documentation (#83)
* [CONSUL-529] Support case-consul-exec (#86)
* [CONSUL-530] Update Documentation (#87)
* [CONSUL-530] Update default consul version 1.13.3
* [CONSUL-539] Cleanup (#91)
* [CONSUL-546] Scripts Clean-up (#92)
* [CONSUL-491] Support admin_access_log_path value for Windows (#71)
* [CONSUL-519] Implement mkfifo Alternative (#84)
* [CONSUL-542] Create OS Specific Files for Envoy Package (#88)
* [CONSUL-543] Create exec_supported.go (#89)
* [CONSUL-544] Test and Build Changes (#90)
* Implement os.DevNull
* using mmap instead of disk files
* fix import in exec-unix
* fix nmap open too many arguemtn
* go fmt on file
* changelog file
* fix go mod
* Update .changelog/17694.txt
Co-authored-by: Dhia Ayachi <dhia@hashicorp.com>
* different mmap library
* fix bootstrap json
* some fixes
* chocolatey version fix and image fix
* using different library
* fix Map funciton call
* fix mmap call
* fix tcp dump
* fix tcp dump
* windows tcp dump
* Fix docker run
* fix tests
* fix go mod
* fix version 16.0
* fix version
* fix version dev
* sleep to debug
* fix sleep
* fix permission issue
* fix permission issue
* fix permission issue
* fix command
* fix command
* fix funciton
* fix assert config entry status command not found
* fix command not found assert_cert_has_cn
* fix command not found assert_upstream_missing
* fix command not found assert_upstream_missing_once
* fix command not found get_upstream_endpoint
* fix command not found get_envoy_public_listener_once
* fix command not found
* fix test cases
* windows integration test workflow github
* made code similar to unix using npipe
* fix go.mod
* fix dialing of npipe
* dont wait
* check size of written json
* fix undefined n
* running
* fix dep
* fix syntax error
* fix workflow file
* windows runner
* fix runner
* fix from json
* fix runs on
* merge connect envoy
* fix cin path
* build
* fix file name
* fix file name
* fix dev build
* remove unwanted code
* fix upload
* fix bin name
* fix path
* checkout current branch
* fix path
* fix tests
* fix shell bash for windows sh files
* fix permission of run-test.sh
* removed docker dev
* added shell bash for tests
* fix tag
* fix win=true
* fix cd
* added dev
* fix variable undefined
* removed failing tests
* fix tcp dump image
* fix curl
* fix curl
* tcp dump path
* fix tcpdump path
* fix curl
* fix curl install
* stop removing intermediate containers
* fix tcpdump docker image
* revert -rm
* --rm=false
* makeing docker image before
* fix tcpdump
* removed case consul exec
* removed terminating gateway simple
* comment case wasm
* removed data dog
* comment out upload coverage
* uncomment case-consul-exec
* comment case consul exec
* if always
* logs
* using consul 1.17.0
* fix quotes
* revert quotes
* redirect to dev null
* Revert version
* revert consul connect
* fix version
* removed envoy connect
* not using function
* change log
* docker logs
* fix logs
* restructure bad authz
* rmeoved dev null
* output
* fix file descriptor
* fix cacert
* fix cacert
* fix ca cert
* cacert does not work in windows curl
* fix func
* removed docker logs
* added sleep
* fix tls
* commented case-consul-exec
* removed echo
* retry docker consul
* fix upload bin
* uncomment consul exec
* copying consul.exe to docker image
* copy fix
* fix paths
* fix path
* github workspace path
* latest version
* Revert "latest version"
This reverts commit 5a7d7b82d9e7553bcb01b02557ec8969f9deba1d.
* commented consul exec
* added ssl revoke best effort
* revert best effort
* removed unused files
* rename var name and change dir
* windows runner
* permission
* needs setup fix
* swtich to github runner
* fix file path
* fix path
* fix path
* fix path
* fix path
* fix path
* fix build paths
* fix tag
* nightly runs
* added matrix in github workflow, renamed files
* fix job
* fix matrix
* removed brackes
* from json
* without using job matrix
* fix quotes
* revert job matrix
* fix workflow
* fix comment
* added comment
* nightly runs
* removed datadog ci as it is already measured in linux one
* running test
* Revert "running test"
This reverts commit 7013d15a23732179d18ec5d17336e16b26fab5d4.
* pr comment fixes
* running test now
* running subset of test
* running subset of test
* job matrix
* shell bash
* removed bash shell
* linux machine for job matrix
* fix output
* added cat to debug
* using ubuntu latest
* fix job matrix
* fix win true
* fix go test
* revert job matrix
* Fix tests
---------
Co-authored-by: Ivan K Berlot <ivanberlot@gmail.com>
Co-authored-by: Jose Ignacio Lorenzo <74208929+joselo85@users.noreply.github.com>
Co-authored-by: Franco Bruno Lavayen <cocolavayen@gmail.com>
Co-authored-by: Ezequiel Fernández Ponce <20102608+ezfepo@users.noreply.github.com>
Co-authored-by: joselo85 <joseignaciolorenzo85@gmail.com>
Co-authored-by: Ezequiel Fernández Ponce <ezequiel.fernandez@southworks.com>
Co-authored-by: Dhia Ayachi <dhia@hashicorp.com>
* NET-4996 - filter go-tests and test-integration workflows from running on docs only and ui only changes (#18236)
* Align build arch matrix with enterprise (#18235)
Ensure that OSS remains in sync w/ Enterprise by aligning the format of
arch matrix args for various build jobs.
* Revert "NET-4996 - filter go-tests and test-integration workflows from running on docs only and ui only changes" (#18248)
Revert "NET-4996 - filter go-tests and test-integration workflows from running on docs only and ui only changes (#18236)"
This reverts commit a11dba710e6ce6f172c0fa6c9b61567cc1efffc8.
* resource: Add scope to resource type registration [NET-4976] (#18214)
Enables querying a resource type's registration to determine if a resource is cluster, partition, or partition and namespace scoped.
* Fix some inconsistencies in jwt docs (#18234)
* NET-1825: More new ACL token creation docs (#18063)
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* [CC-5719] Add support for builtin global-read-only policy
* Add changelog
* Add read-only to docs
* Fix some minor issues.
* Change from ReplaceAll to Sprintf
* Change IsValidPolicy name to return an error instead of bool
* Fix PolicyList test
* Fix other tests
* Apply suggestions from code review
Co-authored-by: Paul Glass <pglass@hashicorp.com>
* Fix state store test for policy list.
* Fix naming issues
* Update acl/validation.go
Co-authored-by: Chris Thain <32781396+cthain@users.noreply.github.com>
* backport of commit d63fa5481dc02c6faae7cc2647b4073b3286af1d
* backport of commit 3d099a6ed8ed10b6dc464c466cb1668914db8f08
---------
Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: Dan Bond <danbond@protonmail.com>
Signed-off-by: josh <josh.timmons@hashicorp.com>
Co-authored-by: Michael Zalimeni <michael.zalimeni@hashicorp.com>
Co-authored-by: Ronald <roncodingenthusiast@users.noreply.github.com>
Co-authored-by: Eric Haberkorn <erichaberkorn@gmail.com>
Co-authored-by: Andrew Stucki <andrew.stucki@hashicorp.com>
Co-authored-by: Luke Kysow <1034429+lkysow@users.noreply.github.com>
Co-authored-by: R.B. Boyer <4903+rboyer@users.noreply.github.com>
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com>
Co-authored-by: David Yu <dyu@hashicorp.com>
Co-authored-by: Bryce Kalow <bkalow@hashicorp.com>
Co-authored-by: Paul Glass <pglass@hashicorp.com>
Co-authored-by: Matt Keeler <mkeeler@users.noreply.github.com>
Co-authored-by: Nathan Coleman <nathan.coleman@hashicorp.com>
Co-authored-by: Poonam Jadhav <poonam.jadhav@hashicorp.com>
Co-authored-by: Tu Nguyen <im2nguyen@users.noreply.github.com>
Co-authored-by: Chris Thain <32781396+cthain@users.noreply.github.com>
Co-authored-by: Hariram Sankaran <56744845+ramramhariram@users.noreply.github.com>
Co-authored-by: shanafarkas <105076572+shanafarkas@users.noreply.github.com>
Co-authored-by: Thomas Eckert <teckert@hashicorp.com>
Co-authored-by: Jeff Apple <79924108+Jeff-Apple@users.noreply.github.com>
Co-authored-by: Joshua Timmons <josh.timmons@hashicorp.com>
Co-authored-by: Ashesh Vidyut <134911583+absolutelightning@users.noreply.github.com>
Co-authored-by: Dan Stough <dan.stough@hashicorp.com>
Co-authored-by: Curt Bushko <cbushko@gmail.com>
Co-authored-by: Tobias Birkefeld <t@craxs.de>
Co-authored-by: Jared Kirschner <85913323+jkirschner-hashicorp@users.noreply.github.com>
Co-authored-by: Semir Patel <semir.patel@hashicorp.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: chappie <6537530+chapmanc@users.noreply.github.com>
Co-authored-by: Derek Menteer <105233703+hashi-derek@users.noreply.github.com>
Co-authored-by: John Murret <john.murret@hashicorp.com>
Co-authored-by: Mark Campbell-Vincent <mnmvincent@gmail.com>
Co-authored-by: Daniel Upton <daniel@floppy.co>
Co-authored-by: Steven Zamborsky <97125550+stevenzamborsky@users.noreply.github.com>
Co-authored-by: George Bolo <george.bolo@gmail.com>
Co-authored-by: Chris S. Kim <ckim@hashicorp.com>
Co-authored-by: wangxinyi7 <121973291+wangxinyi7@users.noreply.github.com>
Co-authored-by: cskh <hui.kang@hashicorp.com>
Co-authored-by: V. K <cn007b@gmail.com>
Co-authored-by: Iryna Shustava <ishustava@users.noreply.github.com>
Co-authored-by: Alex Simenduev <shamil.si@gmail.com>
Co-authored-by: Dhia Ayachi <dhia@hashicorp.com>
Co-authored-by: Dan Bond <danbond@protonmail.com>
Co-authored-by: sarahalsmiller <100602640+sarahalsmiller@users.noreply.github.com>
Co-authored-by: Gerard Nguyen <gerard@hashicorp.com>
Co-authored-by: mr-miles <miles.waller@gmail.com>
Co-authored-by: natemollica-dev <57850649+natemollica-nm@users.noreply.github.com>
Co-authored-by: John Maguire <john.maguire@hashicorp.com>
Co-authored-by: Samantha <hello@entropy.cat>
Co-authored-by: Ranjandas <thejranjan@gmail.com>
Co-authored-by: Evan Phoenix <evan@phx.io>
Co-authored-by: Michael Hofer <karras@users.noreply.github.com>
Co-authored-by: J.C. Jones <james.jc.jones@gmail.com>
Co-authored-by: Fulvio <fulviodenza823@gmail.com>
Co-authored-by: Krastin Krastev <krastin@hashicorp.com>
Co-authored-by: david3a <49253132+david3a@users.noreply.github.com>
Co-authored-by: Nick Irvine <115657443+nfi-hashicorp@users.noreply.github.com>
Co-authored-by: Tom Davies <tom@t-davies.com>
Co-authored-by: Vijay <vijayraghav22@gmail.com>
Co-authored-by: Eddie Rowe <74205376+eddie-rowe@users.noreply.github.com>
Co-authored-by: emilymianeil <eneil@hashicorp.com>
Co-authored-by: nv-hashi <80716011+nv-hashi@users.noreply.github.com>
Co-authored-by: Franco Bruno Lavayen <cocolavayen@gmail.com>
Co-authored-by: Jose Ignacio Lorenzo <74208929+joselo85@users.noreply.github.com>
Co-authored-by: Jose Ignacio Lorenzo <joseignaciolorenzo85@gmail.com>
Co-authored-by: R.B. Boyer <rb@hashicorp.com>
Co-authored-by: Freddy <freddygv@users.noreply.github.com>
Co-authored-by: NiniOak <anita.akaeze@hashicorp.com>
Co-authored-by: hashicorp-tsccr[bot] <129506189+hashicorp-tsccr[bot]@users.noreply.github.com>
Co-authored-by: hashicorp-tsccr[bot] <hashicorp-tsccr[bot]@users.noreply.github.com>
Co-authored-by: Blake Covarrubias <blake@covarrubi.as>
Co-authored-by: Ivan K Berlot <ivanberlot@gmail.com>
Co-authored-by: Ezequiel Fernández Ponce <20102608+ezfepo@users.noreply.github.com>
Co-authored-by: Ezequiel Fernández Ponce <ezequiel.fernandez@southworks.com>
Co-authored-by: Nitya Dhanushkodi <nitya@hashicorp.com>
Co-authored-by: Jeremy Jacobson <jjacobson93@users.noreply.github.com>
Co-authored-by: lornasong <lornasong@users.noreply.github.com>
Co-authored-by: Judith Malnick <judith@hashicorp.com>
Co-authored-by: Jeremy Jacobson <jeremy.jacobson@hashicorp.com>
2023-08-01 17:37:13 +00:00
|
|
|
keyring = "%[1]s"
|
2018-10-19 16:04:07 +00:00
|
|
|
node_prefix "" {
|
Backport of [CC-5719] Add support for builtin global-read-only policy into release/1.16.x (#18345)
* [OSS] Post Consul 1.16 updates (#17606)
* chore: update dev build to 1.17
* chore(ci): add nightly 1.16 test
Drop the oldest and add the newest running release branch to nightly
builds.
* Add writeAuditRPCEvent to agent_oss (#17607)
* Add writeAuditRPCEvent to agent_oss
* fix the other diffs
* backport change log
* Add Envoy and Consul version constraints to Envoy extensions (#17612)
* [API Gateway] Fix trust domain for external peered services in synthesis code (#17609)
* [API Gateway] Fix trust domain for external peered services in synthesis code
* Add changelog
* backport ent changes to oss (#17614)
* backport ent changes to oss
* Update .changelog/_5669.txt
Co-authored-by: Michael Zalimeni <michael.zalimeni@hashicorp.com>
---------
Co-authored-by: Michael Zalimeni <michael.zalimeni@hashicorp.com>
* Update intentions.mdx (#17619)
Make behaviour of L7 intentions clearer
* enterprise changelog update for audit (#17625)
* Update list of Envoy versions (#17546)
* [API Gateway] Fix rate limiting for API gateways (#17631)
* [API Gateway] Fix rate limiting for API gateways
* Add changelog
* Fix failing unit tests
* Fix operator usage tests for api package
* sort some imports that are wonky between oss and ent (#17637)
* PmTLS and tproxy improvements with failover and L7 traffic mgmt for k8s (#17624)
* porting over changes from enterprise repo to oss
* applied feedback on service mesh for k8s overview
* fixed typo
* removed ent-only build script file
* Apply suggestions from code review
Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com>
* Apply suggestions from code review
Co-authored-by: David Yu <dyu@hashicorp.com>
Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com>
---------
Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com>
Co-authored-by: David Yu <dyu@hashicorp.com>
* Delete check-legacy-links-format.yml (#17647)
* docs: Reference doc updates for permissive mTLS settings (#17371)
* Reference doc updates for permissive mTLS settings
* Document config entry filtering
* Fix minor doc errors (double slashes in link url paths)
---------
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Add generic experiments configuration and use it to enable catalog v2 resources (#17604)
* Add generic experiments configuration and use it to enable catalog v2 resources
* Run formatting with -s as CI will validate that this has been done
* api-gateway: stop adding all header filters to virtual host when generating xDS (#17644)
* Add header filter to api-gateway xDS golden test
* Stop adding all header filters to virtual host when generating xDS for api-gateway
* Regenerate xDS golden file for api-gateway w/ header filter
* fix: add agent info reporting log (#17654)
* Add new Consul 1.16 docs (#17651)
* Merge pull request #5773 from hashicorp/docs/rate-limiting-from-ip-addresses-1.16
updated docs for rate limiting for IP addresses - 1.16
* Merge pull request #5609 from hashicorp/docs/enterprise-utilization-reporting
Add docs for enterprise utilization reporting
* Merge pull request #5734 from hashicorp/docs/envoy-ext-1.16
Docs/envoy ext 1.16
* Merge pull request #5773 from hashicorp/docs/rate-limiting-from-ip-addresses-1.16
updated docs for rate limiting for IP addresses - 1.16
* Merge pull request #5609 from hashicorp/docs/enterprise-utilization-reporting
Add docs for enterprise utilization reporting
* Merge pull request #5734 from hashicorp/docs/envoy-ext-1.16
Docs/envoy ext 1.16
* fix build errors
---------
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Default `ProxyType` for builtin extensions (#17657)
* Post 1.16.0-rc1 updates (#17663)
- Update changelog to include new entries from release
- Update submodule versions to latest published
* Update service-defaults.mdx (#17656)
* docs: Sameness Groups (#17628)
* port from enterprise branch
* Apply suggestions from code review
Co-authored-by: shanafarkas <105076572+shanafarkas@users.noreply.github.com>
* Update website/content/docs/connect/cluster-peering/usage/create-sameness-groups.mdx
* next steps
* Update website/content/docs/connect/cluster-peering/usage/create-sameness-groups.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Update website/content/docs/k8s/connect/cluster-peering/usage/create-sameness-groups.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
---------
Co-authored-by: shanafarkas <105076572+shanafarkas@users.noreply.github.com>
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Remove "BETA" marker from config entries (#17670)
* CAPIgw for K8s installation updates for 1.16 (#17627)
* trimmed CRD step and reqs from installation
* updated tech specs
* Apply suggestions from code review
Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com>
Co-authored-by: Jeff Apple <79924108+Jeff-Apple@users.noreply.github.com>
* added upgrade instruction
* removed tcp port req
* described downtime and DT-less upgrades
* applied additional review feedback
---------
Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com>
Co-authored-by: Jeff Apple <79924108+Jeff-Apple@users.noreply.github.com>
* additional feedback on API gateway upgrades (#17677)
* additional feedback
* Update website/content/docs/api-gateway/upgrades.mdx
Co-authored-by: Jeff Apple <79924108+Jeff-Apple@users.noreply.github.com>
---------
Co-authored-by: Jeff Apple <79924108+Jeff-Apple@users.noreply.github.com>
* docs: JWT Authorization for intentions (#17643)
* Initial page/nav creation
* configuration entry reference page
* Usage + fixes
* service intentions page
* usage
* description
* config entry updates
* formatting fixes
* Update website/content/docs/connect/config-entries/service-intentions.mdx
Co-authored-by: Paul Glass <pglass@hashicorp.com>
* service intentions review fixes
* Overview page review fixes
* Apply suggestions from code review
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
---------
Co-authored-by: Paul Glass <pglass@hashicorp.com>
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* docs: minor fixes to JWT auth docs (#17680)
* Fixes
* service intentions fixes
* Fix two WAL metrics in docs/agent/telemetry.mdx (#17593)
* updated failover for k8s w-tproxy page title (#17683)
* Add release notes 1.16 rc (#17665)
* Merge pull request #5773 from hashicorp/docs/rate-limiting-from-ip-addresses-1.16
updated docs for rate limiting for IP addresses - 1.16
* Merge pull request #5609 from hashicorp/docs/enterprise-utilization-reporting
Add docs for enterprise utilization reporting
* Merge pull request #5734 from hashicorp/docs/envoy-ext-1.16
Docs/envoy ext 1.16
* Add release notes for 1.16-rc
* Add consul-e license utlization reporting
* Update with rc absolute links
* Update with rc absolute links
* fix typo
* Apply suggestions from code review
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Update to use callout component
* address typo
* docs: FIPS 140-2 Compliance (#17668)
* Page + nav + formatting
* link fix
* Update website/content/docs/enterprise/fips.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Update website/content/docs/enterprise/fips.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Update website/content/docs/enterprise/fips.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Update website/content/docs/enterprise/fips.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Update website/content/docs/enterprise/fips.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Update website/content/docs/enterprise/fips.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Update website/content/docs/enterprise/fips.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Update website/content/docs/enterprise/fips.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Update website/content/docs/enterprise/fips.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Update website/content/docs/enterprise/fips.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* link fix
* Apply suggestions from code review
Co-authored-by: Jeff Apple <79924108+Jeff-Apple@users.noreply.github.com>
* Update website/content/docs/enterprise/fips.mdx
---------
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
Co-authored-by: Jeff Apple <79924108+Jeff-Apple@users.noreply.github.com>
* fix apigw install values file
* fix typos in release notes
---------
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com>
Co-authored-by: Jeff Apple <79924108+Jeff-Apple@users.noreply.github.com>
* fix release notes links (#17687)
* adding redirects for tproxy and envoy extensions (#17688)
* adding redirects
* Apply suggestions from code review
* Fix FIPS copy (#17691)
* fix release notes links
* fix typos on fips docs
* [NET-4107][Supportability] Log Level set to TRACE and duration set to 5m for consul-debug (#17596)
* changed duration to 5 mins and log level to trace
* documentation update
* change log
* ENT merge of ext-authz extension updates (#17684)
* docs: Update default values for Envoy extension proxy types (#17676)
* fix: stop peering delete routine on leader loss (#17483)
* Refactor disco chain prioritize by locality structs (#17696)
This includes prioritize by localities on disco chain targets rather than
resolvers, allowing different targets within the same partition to have
different policies.
* agent: remove agent cache dependency from service mesh leaf certificate management (#17075)
* agent: remove agent cache dependency from service mesh leaf certificate management
This extracts the leaf cert management from within the agent cache.
This code was produced by the following process:
1. All tests in agent/cache, agent/cache-types, agent/auto-config,
agent/consul/servercert were run at each stage.
- The tests in agent matching .*Leaf were run at each stage.
- The tests in agent/leafcert were run at each stage after they
existed.
2. The former leaf cert Fetch implementation was extracted into a new
package behind a "fake RPC" endpoint to make it look almost like all
other cache type internals.
3. The old cache type was shimmed to use the fake RPC endpoint and
generally cleaned up.
4. I selectively duplicated all of Get/Notify/NotifyCallback/Prepopulate
from the agent/cache.Cache implementation over into the new package.
This was renamed as leafcert.Manager.
- Code that was irrelevant to the leaf cert type was deleted
(inlining blocking=true, refresh=false)
5. Everything that used the leaf cert cache type (including proxycfg
stuff) was shifted to use the leafcert.Manager instead.
6. agent/cache-types tests were moved and gently replumbed to execute
as-is against a leafcert.Manager.
7. Inspired by some of the locking changes from derek's branch I split
the fat lock into N+1 locks.
8. The waiter chan struct{} was eventually replaced with a
singleflight.Group around cache updates, which was likely the biggest
net structural change.
9. The awkward two layers or logic produced as a byproduct of marrying
the agent cache management code with the leaf cert type code was
slowly coalesced and flattened to remove confusion.
10. The .*Leaf tests from the agent package were copied and made to work
directly against a leafcert.Manager to increase direct coverage.
I have done a best effort attempt to port the previous leaf-cert cache
type's tests over in spirit, as well as to take the e2e-ish tests in the
agent package with Leaf in the test name and copy those into the
agent/leafcert package to get more direct coverage, rather than coverage
tangled up in the agent logic.
There is no net-new test coverage, just coverage that was pushed around
from elsewhere.
* [core]: Pin github action workflows (#17695)
* docs: missing changelog for _5517 (#17706)
* add enterprise notes for IP-based rate limits (#17711)
* add enterprise notes for IP-based rate limits
* Apply suggestions from code review
Co-authored-by: Tu Nguyen <im2nguyen@users.noreply.github.com>
Co-authored-by: David Yu <dyu@hashicorp.com>
* added bolded 'Enterprise' in list items.
---------
Co-authored-by: Tu Nguyen <im2nguyen@users.noreply.github.com>
Co-authored-by: David Yu <dyu@hashicorp.com>
* Update compatibility.mdx (#17713)
* Remove extraneous version info for Config entries (#17716)
* Update terminating-gateway.mdx
* Update exported-services.mdx
* Update mesh.mdx
* fix: typo in link to section (#17527)
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Bump Alpine to 3.18 (#17719)
* Update Dockerfile
* Create 17719.txt
* NET-1825: New ACL token creation docs (#16465)
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
Co-authored-by: Jared Kirschner <85913323+jkirschner-hashicorp@users.noreply.github.com>
* [NET-3865] [Supportability] Additional Information in the output of 'consul operator raft list-peers' (#17582)
* init
* fix tests
* added -detailed in docs
* added change log
* fix doc
* checking for entry in map
* fix tests
* removed detailed flag
* removed detailed flag
* revert unwanted changes
* removed unwanted changes
* updated change log
* pr review comment changes
* pr comment changes single API instead of two
* fix change log
* fix tests
* fix tests
* fix test operator raft endpoint test
* Update .changelog/17582.txt
Co-authored-by: Semir Patel <semir.patel@hashicorp.com>
* nits
* updated docs
---------
Co-authored-by: Semir Patel <semir.patel@hashicorp.com>
* OSS merge: Update error handling login when applying extensions (#17740)
* Bump atlassian/gajira-transition from 3.0.0 to 3.0.1 (#17741)
Bumps [atlassian/gajira-transition](https://github.com/atlassian/gajira-transition) from 3.0.0 to 3.0.1.
- [Release notes](https://github.com/atlassian/gajira-transition/releases)
- [Commits](https://github.com/atlassian/gajira-transition/compare/4749176faf14633954d72af7a44d7f2af01cc92b...38fc9cd61b03d6a53dd35fcccda172fe04b36de3)
---
updated-dependencies:
- dependency-name: atlassian/gajira-transition
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Add truncation to body (#17723)
* docs: Failover overview minor fix (#17743)
* Incorrect symbol
* Clarification
* slight edit for clarity
* docs - update Envoy and Dataplane compat matrix (#17752)
* Update envoy.mdx
added more detail around default versus other compatible versions
* validate localities on agent configs and registration endpoints (#17712)
* Updated docs added explanation. (#17751)
* init
* fix tests
* added -detailed in docs
* added change log
* fix doc
* checking for entry in map
* fix tests
* removed detailed flag
* removed detailed flag
* revert unwanted changes
* removed unwanted changes
* updated change log
* pr review comment changes
* pr comment changes single API instead of two
* fix change log
* fix tests
* fix tests
* fix test operator raft endpoint test
* Update .changelog/17582.txt
Co-authored-by: Semir Patel <semir.patel@hashicorp.com>
* nits
* updated docs
* explanation added
---------
Co-authored-by: Semir Patel <semir.patel@hashicorp.com>
* Update index.mdx (#17749)
* added redirects and updated links (#17764)
* Add transparent proxy enhancements changelog (#17757)
* docs - remove use of consul leave during upgrade instructions (#17758)
* Fix issue with streaming service health watches. (#17775)
Fix issue with streaming service health watches.
This commit fixes an issue where the health streams were unaware of service
export changes. Whenever an exported-services config entry is modified, it is
effectively an ACL change.
The bug would be triggered by the following situation:
- no services are exported
- an upstream watch to service X is spawned
- the streaming backend filters out data for service X (due to lack of exports)
- service X is finally exported
In the situation above, the streaming backend does not trigger a refresh of its
data. This means that any events that were supposed to have been received prior
to the export are NOT backfilled, and the watches never see service X spawning.
We currently have decided to not trigger a stream refresh in this situation due
to the potential for a thundering herd effect (touching exports would cause a
re-fetch of all watches for that partition, potentially). Therefore, a local
blocking-query approach was added by this commit for agentless.
It's also worth noting that the streaming subscription is currently bypassed
most of the time with agentful, because proxycfg has a `req.Source.Node != ""`
which prevents the `streamingEnabled` check from passing. This means that while
agents should technically have this same issue, they don't experience it with
mesh health watches.
Note that this is a temporary fix that solves the issue for proxycfg, but not
service-discovery use cases.
* Property Override validation improvements (#17759)
* Reject inbound Prop Override patch with Services
Services filtering is only supported for outbound TrafficDirection patches.
* Improve Prop Override unexpected type validation
- Guard against additional invalid parent and target types
- Add specific error handling for Any fields (unsupported)
* Fixes (#17765)
* Update license get explanation (#17782)
This PR is to clarify what happens if the license get command is run on a follower if the leader hasn't been updated with a newer license.
* Add Patch index to Prop Override validation errors (#17777)
When a patch is found invalid, include its index for easier debugging
when multiple patches are provided.
* Stop referenced jwt providers from being deleted (#17755)
* Stop referenced jwt providers from being deleted
* Implement a Catalog Controllers Lifecycle Integration Test (#17435)
* Implement a Catalog Controllers Lifecycle Integration Test
* Prevent triggering the race detector.
This allows defining some variables for protobuf constants and using those in comparisons. Without that, something internal in the fmt package ended up looking at the protobuf message size cache and triggering the race detector.
* HCP Add node id/name to config (#17750)
* Catalog V2 Container Based Integration Test (#17674)
* Implement the Catalog V2 controller integration container tests
This now allows the container tests to import things from the root module. However for now we want to be very restrictive about which packages we allow importing.
* Add an upgrade test for the new catalog
Currently this should be dormant and not executed. However its put in place to detect breaking changes in the future and show an example of how to do an upgrade test with integration tests structured like catalog v2.
* Make testutil.Retry capable of performing cleanup operations
These cleanup operations are executed after each retry attempt.
* Move TestContext to taking an interface instead of a concrete testing.T
This allows this to be used on a retry.R or generally anything that meets the interface.
* Move to using TestContext instead of background contexts
Also this forces all test methods to implement the Cleanup method now instead of that being an optional interface.
Co-authored-by: Daniel Upton <daniel@floppy.co>
* Fix Docs for Trails Leader By (#17763)
* init
* fix tests
* added -detailed in docs
* added change log
* fix doc
* checking for entry in map
* fix tests
* removed detailed flag
* removed detailed flag
* revert unwanted changes
* removed unwanted changes
* updated change log
* pr review comment changes
* pr comment changes single API instead of two
* fix change log
* fix tests
* fix tests
* fix test operator raft endpoint test
* Update .changelog/17582.txt
Co-authored-by: Semir Patel <semir.patel@hashicorp.com>
* nits
* updated docs
* explanation added
* fix doc
* fix docs
---------
Co-authored-by: Semir Patel <semir.patel@hashicorp.com>
* Improve Prop Override docs examples (#17799)
- Provide more realistics examples for setting properties not already
supported natively by Consul
- Remove superfluous commas from HCL, correct target service name, and
fix service defaults vs. proxy defaults in examples
- Align existing integration test to updated docs
* Test permissive mTLS filter chain not configured with tproxy disabled (#17747)
* Add documentation for remote debugging of integration tests. (#17800)
* Add documentation for remote debugging of integration tests.
* add link from main docs page.
* changes related to PR feedback
* Clarify limitations of Prop Override extension (#17801)
Explicitly document the limitations of the extension, particularly what
kind of fields it is capable of modifying.
* Fix formatting for webhook-certs Consul tutorial (#17810)
* Fix formatting for webhook-certs Consul tutorial
* Make a small grammar change to also pick up whitespace changes necessary for formatting
---------
Co-authored-by: David Yu <dyu@hashicorp.com>
* Add jwt-authn metrics to jwt-provider docs (#17816)
* [NET-3095] add jwt-authn metrics docs
* Change URLs for redirects from RC to default latest (#17822)
* Set GOPRIVATE for all hashicorp repos in CI (#17817)
Consistently set GOPRIVATE to include all hashicorp repos, s.t. private
modules are successfully pulled in enterprise CI.
* Make locality aware routing xDS changes (#17826)
* Fixup consul-container/test/debugging.md (#17815)
Add missing `-t` flag and fix minor typo.
* fixes #17732 - AccessorID in request body should be optional when updating ACL token (#17739)
* AccessorID in request body should be optional when updating ACL token
* add a test case
* fix test case
* add changelog entry for PR #17739
* CA provider doc updates and Vault provider minor update (#17831)
Update CA provider docs
Clarify that providers can differ between
primary and secondary datacenters
Provide a comparison chart for consul vs
vault CA providers
Loosen Vault CA provider validation for RootPKIPath
Update Vault CA provider documentation
* ext-authz Envoy extension: support `localhost` as a valid target URI. (#17821)
* CI Updates (#17834)
* Ensure that git access to private repos uses the ELEVATED_GITHUB_TOKEN
* Bump the runner size for the protobuf generation check
This has failed previously when the runner process that communicates with GitHub gets starved causing the job to fail.
* counter part of ent pr (#17618)
* watch: support -filter for consul watch: checks, services, nodes, service (#17780)
* watch: support -filter for watch checks
* Add filter for watch nodes, services, and service
- unit test added
- Add changelog
- update doc
* Trigger OSS => ENT merge for all release branches (#17853)
Previously, this only triggered for release/*.*.x branches; however, our release process involves cutting a release/1.16.0 branch, for example, at time of code freeze these days. Any PRs to that branch after code freeze today do not make their way to consul-enterprise. This will make behavior for a .0 branch consistent with current behavior for a .x branch.
* Update service-mesh.mdx (#17845)
Deleted two commas which looks quite like some leftovers.
* Add docs for sameness groups with resolvers. (#17851)
* docs: add note about path prefix matching behavior for HTTPRoute config (#17860)
* Add note about path prefix matching behavior for HTTPRoute config
* Update website/content/docs/connect/gateways/api-gateway/configuration/http-route.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
---------
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* docs: update upgrade to consul-dataplane docs on k8s (#17852)
* resource: add `AuthorizerContext` helper method (#17393)
* resource: enforce consistent naming of resource types (#17611)
For consistency, resource type names must follow these rules:
- `Group` must be snake case, and in most cases a single word.
- `GroupVersion` must be lowercase, start with a "v" and end with a number.
- `Kind` must be pascal case.
These were chosen because they map to our protobuf type naming
conventions.
* tooling: generate protoset file (#17364)
Extends the `proto` make target to generate a protoset file for use with
grpcurl etc.
* Fix a bug that wrongly trims domains when there is an overlap with DC name (#17160)
* Fix a bug that wrongly trims domains when there is an overlap with DC name
Before this change, when DC name and domain/alt-domain overlap, the domain name incorrectly trimmed from the query.
Example:
Given: datacenter = dc-test, alt-domain = test.consul.
Querying for "test-node.node.dc-test.consul" will faile, because the
code was trimming "test.consul" instead of just ".consul"
This change, fixes the issue by adding dot (.) before trimming
* trimDomain: ensure domain trimmed without modyfing original domains
* update changelog
---------
Co-authored-by: Dhia Ayachi <dhia@hashicorp.com>
* deps: aws-sdk-go v1.44.289 (#17876)
Signed-off-by: Dan Bond <danbond@protonmail.com>
* api-gateway: add operation cannot be fulfilled error to common errors (#17874)
* add error message
* Update website/content/docs/api-gateway/usage/errors.mdx
Co-authored-by: Nathan Coleman <nathan.coleman@hashicorp.com>
* fix formating issues
---------
Co-authored-by: Nathan Coleman <nathan.coleman@hashicorp.com>
* api-gateway: add step to upgrade instructions for creating intentions (#17875)
* Changelog - add 1.13.9, 1.14.8, and 1.15.4 (#17889)
* docs: update config enable_debug (#17866)
* update doc for config enable_debug
* Update website/content/docs/agent/config/config-files.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
---------
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Update wording on WAN fed and intermediate_pki_path (#17850)
* Allow service identity tokens the ability to read jwt-providers (#17893)
* Allow service identity tokens the ability to read jwt-providers
* more tests
* service_prefix tests
* Update docs (#17476)
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Add emit_tags_as_labels to envoy bootstrap config when using Consul Telemetry Collector (#17888)
* Fix command from kg to kubectl get (#17903)
* Create and update release notes for 1.16 and 1.2 (#17895)
* update release notes for 1.16 and 1.2
* update latest consul core release
* Propose new changes to APIgw upgrade instructions (#17693)
* Propose new changes to APIgw upgrade instructions
* fix build error
* update callouts to render correctly
* Add hideClipboard to log messages
* Added clarification around consul k8s and crds
* Add workflow to verify linux release packages (#17904)
* adding docker files to verify linux packages.
* add verifr-release-linux.yml
* updating name
* pass inputs directly into jobs
* add other linux package platforms
* remove on push
* fix TARGETARCH on debian and ubuntu so it can check arm64 and amd64
* fixing amazon to use the continue line
* add ubuntu i386
* fix comment lines
* working
* remove commented out workflow jobs
* Apply suggestions from code review
Co-authored-by: Nathan Coleman <nathan.coleman@hashicorp.com>
* update fedora and ubuntu to use latest tag
---------
Co-authored-by: Nathan Coleman <nathan.coleman@hashicorp.com>
* Reference hashicorp/consul instead of consul for Docker image (#17914)
* Reference hashicorp/consul instead of consul for Docker image
* Update Make targets that pull consul directly
* Update Consul K8s Upgrade Doc Updates (#17921)
Updating upgrade procedures to encompass expected errors during upgrade process from v1.13.x to v1.14.x.
* Update sameness-group.mdx (#17915)
* Update create-sameness-groups.mdx (#17927)
* deps: coredns v1.10.1 (#17912)
* Ensure RSA keys are at least 2048 bits in length (#17911)
* Ensure RSA keys are at least 2048 bits in length
* Add changelog
* update key length check for FIPS compliance
* Fix no new variables error and failing to return when error exists from
validating
* clean up code for better readability
* actually return value
* tlsutil: Fix check TLS configuration (#17481)
* tlsutil: Fix check TLS configuration
* Rewording docs.
* Update website/content/docs/services/configuration/checks-configuration-reference.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Fix typos and add changelog entry.
---------
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* docs: Deprecations for connect-native SDK and specific connect native APIs (#17937)
* Update v1_16_x.mdx
* Update connect native golang page
---------
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Revert "Add workflow to verify linux release packages (#17904)" (#17942)
This reverts commit 3368f14fab500ebe9f6aeab5631dd1d5f5a453e5.
* Fixes Secondary ConnectCA update (#17846)
This fixes a bug that was identified which resulted in subsequent
ConnectCA configuration update not to persist in the cluster.
* fixing typo in link to jwt-validations-with-intentions doc (#17955)
* Fix streaming backend link (#17958)
* Fix streaming backend link
* Update health.mdx
* Dynamically create jwks clusters for jwt-providers (#17944)
* website: remove deprecated agent rpc docs (#17962)
* Fix missing BalanceOutboundConnections in v2 catalog. (#17964)
* feature - [NET - 4005] - [Supportability] Reloadable Configuration - enable_debug (#17565)
* # This is a combination of 9 commits.
# This is the 1st commit message:
init without tests
# This is the commit message #2:
change log
# This is the commit message #3:
fix tests
# This is the commit message #4:
fix tests
# This is the commit message #5:
added tests
# This is the commit message #6:
change log breaking change
# This is the commit message #7:
removed breaking change
# This is the commit message #8:
fix test
# This is the commit message #9:
keeping the test behaviour same
* # This is a combination of 12 commits.
# This is the 1st commit message:
init without tests
# This is the commit message #2:
change log
# This is the commit message #3:
fix tests
# This is the commit message #4:
fix tests
# This is the commit message #5:
added tests
# This is the commit message #6:
change log breaking change
# This is the commit message #7:
removed breaking change
# This is the commit message #8:
fix test
# This is the commit message #9:
keeping the test behaviour same
# This is the commit message #10:
made enable debug atomic bool
# This is the commit message #11:
fix lint
# This is the commit message #12:
fix test true enable debug
* parent 10f500e895d92cc3691ade7b74a33db755d22039
author absolutelightning <ashesh.vidyut@hashicorp.com> 1687352587 +0530
committer absolutelightning <ashesh.vidyut@hashicorp.com> 1687352592 +0530
init without tests
change log
fix tests
fix tests
added tests
change log breaking change
removed breaking change
fix test
keeping the test behaviour same
made enable debug atomic bool
fix lint
fix test true enable debug
using enable debug in agent as atomic bool
test fixes
fix tests
fix tests
added update on correct locaiton
fix tests
fix reloadable config enable debug
fix tests
fix init and acl 403
* revert commit
* Fix formatting codeblocks on APIgw docs (#17970)
* fix formatting codeblocks
* remove unnecessary indents
* Remove POC code (#17974)
* update doc (#17910)
* update doc
* update link
* Remove duplicate and unused newDecodeConfigEntry func (#17979)
* docs: samenessGroup YAML examples (#17984)
* configuration entry syntax
* Example config
* Add changelog entry for 1.16.0 (#17987)
* Fix typo (#17198)
servcies => services
* Expose JWKS cluster config through JWTProviderConfigEntry (#17978)
* Expose JWKS cluster config through JWTProviderConfigEntry
* fix typos, rename trustedCa to trustedCA
* Integration test for ext-authz Envoy extension (#17980)
* Fix incorrect protocol for transparent proxy upstreams. (#17894)
This PR fixes a bug that was introduced in:
https://github.com/hashicorp/consul/pull/16021
A user setting a protocol in proxy-defaults would cause tproxy implicit
upstreams to not honor the upstream service's protocol set in its
`ServiceDefaults.Protocol` field, and would instead always use the
proxy-defaults value.
Due to the fact that upstreams configured with "tcp" can successfully contact
upstream "http" services, this issue was not recognized until recently (a
proxy-defaults with "tcp" and a listening service with "http" would make
successful requests, but not the opposite).
As a temporary work-around, users experiencing this issue can explicitly set
the protocol on the `ServiceDefaults.UpstreamConfig.Overrides`, which should
take precedence.
The fix in this PR removes the proxy-defaults protocol from the wildcard
upstream that tproxy uses to configure implicit upstreams. When the protocol
was included, it would always overwrite the value during discovery chain
compilation, which was not correct. The discovery chain compiler also consumes
proxy defaults to determine the protocol, so simply excluding it from the
wildcard upstream config map resolves the issue.
* feat: include nodes count in operator usage endpoint and cli command (#17939)
* feat: update operator usage api endpoint to include nodes count
* feat: update operator usange cli command to includes nodes count
* [OSS] Improve Gateway Test Coverage of Catalog Health (#18011)
* fix(cli): remove failing check from 'connect envoy' registration for api gateway
* test(integration): add tests to check catalog statsus of gateways on startup
* remove extra sleep comment
* Update test/integration/consul-container/libs/assert/service.go
* changelog
* Fixes Traffic rate limitting docs (#17997)
* Fix removed service-to-service peering links (#17221)
* docs: fix removed service-to-service peering links
* docs: extend peering-via-mesh-gateways intro (thanks @trujillo-adam)
---------
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* docs: Sameness "beta" warning (#18017)
* Warning updates
* .x
* updated typo in tab heading (#18022)
* updated typo in tab heading
* updated tab group typo, too
* Document that DNS lookups can target cluster peers (#17990)
Static DNS lookups, in addition to explicitly targeting a datacenter,
can target a cluster peer. This was added in 95dc0c7b301b70a6b955a8b7c9737c9b86f03df6 but didn't make the documentation.
The driving function for the change is `parseLocality` here: https://github.com/hashicorp/consul/blob/0b1299c28d8127129d61310ee4280055298438e0/agent/dns_oss.go#L25
The biggest change in this is to adjust the standard lookup syntax to tie
`.<datacenter>` to `.dc` as required-together, and to append in the similar `.<cluster-peer>.peer` optional argument, both to A record and SRV record lookups.
Co-authored-by: David Yu <dyu@hashicorp.com>
* Add first integration test for jwt auth with intention (#18005)
* fix stand-in text for name field (#18030)
* removed sameness conf entry from failover nav (#18033)
* docs - add service sync annotations and k8s service weight annotation (#18032)
* Docs for https://github.com/hashicorp/consul-k8s/pull/2293
* remove versions for enterprise features since they are old
---------
Co-authored-by: Tu Nguyen <im2nguyen@users.noreply.github.com>
* docs - add jobs use case for service mesh k8s (#18037)
* docs - add jobs use case for service mesh k8s
* add code blocks
* address feedback (#18045)
* Add verify server hostname to tls default (#17155)
* [OSS] Fix initial_fetch_timeout to wait for all xDS resources (#18024)
* fix(connect): set initial_fetch_time to wait indefinitely
* changelog
* PR feedback 1
* ui: fix typos for peer service imports (#17999)
* test: fix FIPS inline cert test message (#18076)
* Fix a couple typos in Agent Telemetry Metrics docs (#18080)
* Fix metrics docs
* Add changelog
Signed-off-by: josh <josh.timmons@hashicorp.com>
---------
Signed-off-by: josh <josh.timmons@hashicorp.com>
* docs updates - cluster peering and virtual services (#18069)
* Update route-to-virtual-services.mdx
* Update establish-peering.mdx
* Update service-mesh-compare.mdx (#17279)
grammar change
* Update helm docs on main (#18085)
* ci: use gotestsum v1.10.1 [NET-4042] (#18088)
* Docs: Update proxy lifecycle annotations and consul-dataplane flags (#18075)
* Update proxy lifecycle annotations and consul-dataplane flags
* Pass configured role name to Vault for AWS auth in Connect CA (#17885)
* Docs for dataplane upgrade on k8s (#18051)
* Docs for dataplane upgrade on k8s
---------
Co-authored-by: David Yu <dyu@hashicorp.com>
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* docs - update upgrade index page to not recommend consul leave. (#18100)
* Displays Consul version of each nodes in UI nodes section (#17754)
* update UINodes and UINodeInfo response with consul-version info added as NodeMeta, fetched from serf members
* update test cases TestUINodes, TestUINodeInfo
* added nil check for map
* add consul-version in local agent node metadata
* get consul version from serf member and add this as node meta in catalog register request
* updated ui mock response to include consul versions as node meta
* updated ui trans and added version as query param to node list route
* updates in ui templates to display consul version with filter and sorts
* updates in ui - model class, serializers,comparators,predicates for consul version feature
* added change log for Consul Version Feature
* updated to get version from consul service, if for some reason not available from serf
* updated changelog text
* updated dependent testcases
* multiselection version filter
* Update agent/consul/state/catalog.go
comments updated
Co-authored-by: Jared Kirschner <85913323+jkirschner-hashicorp@users.noreply.github.com>
---------
Co-authored-by: Jared Kirschner <85913323+jkirschner-hashicorp@users.noreply.github.com>
* api gw 1.16 updates (#18081)
* api gw 1.16 updates
* Apply suggestions from code review
Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com>
* update CodeBlockConfig filename
* Apply suggestions from code review
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com>
* remove non-standard intentions page
* Update website/content/docs/api-gateway/configuration/index.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
---------
Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com>
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* [NET-4103] ci: build s390x (#18067)
* ci: build s390x
* ci: test s390x
* ci: dev build s390x
* no GOOS
* ent only
* build: publish s390x
* fix syntax error
* fix syntax error again
* fix syntax error again x2
* test branch
* Move s390x conditionals to step level
* remove test branch
---------
Co-authored-by: emilymianeil <eneil@hashicorp.com>
* :ermahgerd "Sevice Mesh" -> "Service Mesh" (#18116)
Just a typo in the docs.
* Split pbmesh.UpstreamsConfiguration as a resource out of pbmesh.Upstreams (#17991)
Configuration that previously was inlined into the Upstreams resource
applies to both explicit and implicit upstreams and so it makes sense to
split it out into its own resource.
It also has other minor changes:
- Renames `proxy.proto` proxy_configuration.proto`
- Changes the type of `Upstream.destination_ref` from `pbresource.ID` to
`pbresource.Reference`
- Adds comments to fields that didn't have them
* [NET-4895] ci - api tests and consul container tests error because of dependency bugs with go 1.20.6. Pin go to 1.20.5. (#18124)
### Description
The following jobs started failing when go 1.20.6 was released:
- `go-test-api-1-19`
- `go-test-api-1-20`
- `compatibility-integration-tests`
- `upgrade-integration-tests`
`compatibility-integration-tests` and `compatibility-integration-tests`
to this testcontainers issue:
https://github.com/testcontainers/testcontainers-go/issues/1359. This
issue calls for testcontainers to release a new version when one of
their dependencies is fixed. When that is done, we will unpin the go
versions in `compatibility-integration-tests` and
`compatibility-integration-tests`.
### Testing & Reproduction steps
See these jobs broken in CI and then see them work with this PR.
---------
Co-authored-by: Chris Thain <32781396+cthain@users.noreply.github.com>
* Add ingress gateway deprecation notices to docs (#18102)
### Description
This adds notices, that ingress gateway is deprecated, to several places
in the product docs where ingress gateway is the topic.
### Testing & Reproduction steps
Tested with a local copy of the website.
### Links
Deprecation of ingress gateway was announced in the Release Notes for
Consul 1.16 and Consul-K8s 1.2. See:
[https://developer.hashicorp.com/consul/docs/release-notes/consul/v1_16_x#what-s-deprecated](https://developer.hashicorp.com/consul/docs/release-notes/consul/v1_16_x#what-s-deprecated
)
[https://developer.hashicorp.com/consul/docs/release-notes/consul-k8s/v1_2_x#what-s-deprecated](https://developer.hashicorp.com/consul/docs/release-notes/consul-k8s/v1_2_x#what-s-deprecated)
### PR Checklist
* [N/A] updated test coverage
* [X] external facing docs updated
* [X] appropriate backport labels added
* [X] not a security concern
---------
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Add docs for jwt cluster configuration (#18004)
### Description
<!-- Please describe why you're making this change, in plain English.
-->
- Add jwt-provider docs for jwks cluster configuration. The
configuration was added here:
https://github.com/hashicorp/consul/pull/17978
* Docs: fix unmatched bracket for health checks page (#18134)
* NET-4657/add resource service client (#18053)
### Description
<!-- Please describe why you're making this change, in plain English.
-->
Dan had already started on this
[task](https://github.com/hashicorp/consul/pull/17849) which is needed
to start building the HTTP APIs. This just needed some cleanup to get it
ready for review.
Overview:
- Rename `internalResourceServiceClient` to
`insecureResourceServiceClient` for name consistency
- Configure a `secureResourceServiceClient` with auth enabled
### PR Checklist
* [ ] ~updated test coverage~
* [ ] ~external facing docs updated~
* [x] appropriate backport labels added
* [ ] ~not a security concern~
* Fix bug with Vault CA provider (#18112)
Updating RootPKIPath but not IntermediatePKIPath would not update
leaf signing certs with the new root. Unsure if this happens in practice
but manual testing showed it is a bug that would break mesh and agent
connections once the old root is pruned.
* [NET-4897] net/http host header is now verified and request.host that contains socked now error (#18129)
### Description
This is related to https://github.com/hashicorp/consul/pull/18124 where
we pinned the go versions in CI to 1.20.5 and 1.19.10.
go 1.20.6 and 1.19.11 now validate request host headers for validity,
including the hostname cannot be prefixed with slashes.
For local communications (npipe://, unix://), the hostname is not used,
but we need valid and meaningful hostname. Prior versions go Go would
clean the host header, and strip slashes in the process, but go1.20.6
and go1.19.11 no longer do, and reject the host header. Around the
community we are seeing that others are intercepting the req.host and if
it starts with a slash or ends with .sock, they changing the host to
localhost or another dummy value.
[client: define a "dummy" hostname to use for local connections by
thaJeztah · Pull Request #45942 ·
moby/moby](https://github.com/moby/moby/pull/45942)
### Testing & Reproduction steps
Check CI tests.
### Links
* [ ] updated test coverage
* [ ] external facing docs updated
* [ ] appropriate backport labels added
* [ ] not a security concern
* add a conditional around setting LANFilter.AllSegments to make sure it is valid (#18139)
### Description
This is to correct a code problem because this assumes all segments, but
when you get to Enterprise, you can be in partition that is not the
default partition, in which case specifying all segments does not
validate and fails. This is to correct the setting of this filter with
`AllSegments` to `true` to only occur when in the the `default`
partition.
### Testing & Reproduction steps
<!--
* In the case of bugs, describe how to replicate
* If any manual tests were done, document the steps and the conditions
to replicate
* Call out any important/ relevant unit tests, e2e tests or integration
tests you have added or are adding
-->
### Links
<!--
Include any links here that might be helpful for people reviewing your
PR (Tickets, GH issues, API docs, external benchmarks, tools docs, etc).
If there are none, feel free to delete this section.
Please be mindful not to leak any customer or confidential information.
HashiCorp employees may want to use our internal URL shortener to
obfuscate links.
-->
### PR Checklist
* [ ] updated test coverage
* [ ] external facing docs updated
* [ ] appropriate backport labels added
* [ ] not a security concern
* chore: bump upgrade integrations tests to 1.15, 116 [NET-4743] (#18130)
* re org resource type registry (#18133)
* fix: update delegateMock used in ENT (#18149)
### Description
<!-- Please describe why you're making this change, in plain English.
-->
The mock is used in `http_ent_test` file which caused lint failures. For
OSS->ENT parity adding the same change here.
### Links
<!--
Include any links here that might be helpful for people reviewing your
PR (Tickets, GH issues, API docs, external benchmarks, tools docs, etc).
If there are none, feel free to delete this section.
Please be mindful not to leak any customer or confidential information.
HashiCorp employees may want to use our internal URL shortener to
obfuscate links.
-->
Identified in OSS->ENT [merge
PR](https://github.com/hashicorp/consul-enterprise/pull/6328)
### PR Checklist
* [ ] ~updated test coverage~
* [ ] ~external facing docs updated~
* [x] appropriate backport labels added
* [ ] ~not a security concern~
* Use JWT-auth filter in metadata mode & Delegate validation to RBAC filter (#18062)
### Description
<!-- Please describe why you're making this change, in plain English.
-->
- Currently the jwt-auth filter doesn't take into account the service
identity when validating jwt-auth, it only takes into account the path
and jwt provider during validation. This causes issues when multiple
source intentions restrict access to an endpoint with different JWT
providers.
- To fix these issues, rather than use the JWT auth filter for
validation, we use it in metadata mode and allow it to forward the
successful validated JWT token payload to the RBAC filter which will
make the decisions.
This PR ensures requests with and without JWT tokens successfully go
through the jwt-authn filter. The filter however only forwards the data
for successful/valid tokens. On the RBAC filter level, we check the
payload for claims and token issuer + existing rbac rules.
### Testing & Reproduction steps
<!--
* In the case of bugs, describe how to replicate
* If any manual tests were done, document the steps and the conditions
to replicate
* Call out any important/ relevant unit tests, e2e tests or integration
tests you have added or are adding
-->
- This test covers a multi level jwt requirements (requirements at top
level and permissions level). It also assumes you have envoy running,
you have a redis and a sidecar proxy service registered, and have a way
to generate jwks with jwt. I mostly use:
https://www.scottbrady91.com/tools/jwt for this.
- first write your proxy defaults
```
Kind = "proxy-defaults"
name = "global"
config {
protocol = "http"
}
```
- Create two providers
```
Kind = "jwt-provider"
Name = "auth0"
Issuer = "https://ronald.local"
JSONWebKeySet = {
Local = {
JWKS = "eyJrZXlzIjog....."
}
}
```
```
Kind = "jwt-provider"
Name = "okta"
Issuer = "https://ronald.local"
JSONWebKeySet = {
Local = {
JWKS = "eyJrZXlzIjogW3...."
}
}
```
- add a service intention
```
Kind = "service-intentions"
Name = "redis"
JWT = {
Providers = [
{
Name = "okta"
},
]
}
Sources = [
{
Name = "*"
Permissions = [{
Action = "allow"
HTTP = {
PathPrefix = "/workspace"
}
JWT = {
Providers = [
{
Name = "okta"
VerifyClaims = [
{
Path = ["aud"]
Value = "my_client_app"
},
{
Path = ["sub"]
Value = "5be86359073c434bad2da3932222dabe"
}
]
},
]
}
},
{
Action = "allow"
HTTP = {
PathPrefix = "/"
}
JWT = {
Providers = [
{
Name = "auth0"
},
]
}
}]
}
]
```
- generate 3 jwt tokens: 1 from auth0 jwks, 1 from okta jwks with
different claims than `/workspace` expects and 1 with correct claims
- connect to your envoy (change service and address as needed) to view
logs and potential errors. You can add: `-- --log-level debug` to see
what data is being forwarded
```
consul connect envoy -sidecar-for redis1 -grpc-addr 127.0.0.1:8502
```
- Make the following requests:
```
curl -s -H "Authorization: Bearer $Auth0_TOKEN" --insecure --cert leaf.cert --key leaf.key --cacert connect-ca.pem https://localhost:20000/workspace -v
RBAC filter denied
curl -s -H "Authorization: Bearer $Okta_TOKEN_with_wrong_claims" --insecure --cert leaf.cert --key leaf.key --cacert connect-ca.pem https://localhost:20000/workspace -v
RBAC filter denied
curl -s -H "Authorization: Bearer $Okta_TOKEN_with_correct_claims" --insecure --cert leaf.cert --key leaf.key --cacert connect-ca.pem https://localhost:20000/workspace -v
Successful request
```
### TODO
* [x] Update test coverage
* [ ] update integration tests (follow-up PR)
* [x] appropriate backport labels added
* Support Consul Connect Envoy Command on Windows (#17694)
### Description
Add support for consul connect envoy command on windows. This PR fixes
the comments of PR - https://github.com/hashicorp/consul/pull/15114
### Testing
* Built consul.exe from this branch on windows and hosted here - [AWS
S3](https://asheshvidyut-bucket.s3.ap-southeast-2.amazonaws.com/consul.zip)
* Updated the
[tutorial](https://developer.hashicorp.com/consul/tutorials/developer-mesh/consul-windows-workloads)
and changed the `consul_url.default` value to [AWS
S3](https://asheshvidyut-bucket.s3.ap-southeast-2.amazonaws.com/consul.zip)
* Followed the steps in the tutorial and verified that everything is
working as described.
### PR Checklist
* [x] updated test coverage
* [ ] external facing docs updated
* [x] appropriate backport labels added
* [x] not a security concern
---------
Co-authored-by: Franco Bruno Lavayen <cocolavayen@gmail.com>
Co-authored-by: Jose Ignacio Lorenzo <74208929+joselo85@users.noreply.github.com>
Co-authored-by: Jose Ignacio Lorenzo <joseignaciolorenzo85@gmail.com>
Co-authored-by: Dhia Ayachi <dhia@hashicorp.com>
* Change docs to say 168h instead of 7d for server_rejoin_age_max (#18154)
### Description
Addresses
https://github.com/hashicorp/consul/pull/17171#issuecomment-1636930705
* [OSS] test: improve xDS listener code coverage (#18138)
test: improve xDS listener code coverage
* Re-order expected/actual for assertContainerState in consul container tests (#18157)
Re-order expected/actual, consul container tests
* group and document make file (#17943)
* group and document make file
* Add `testing/deployer` (neé `consul-topology`) [NET-4610] (#17823)
Co-authored-by: R.B. Boyer <4903+rboyer@users.noreply.github.com>
Co-authored-by: R.B. Boyer <rb@hashicorp.com>
Co-authored-by: Freddy <freddygv@users.noreply.github.com>
* [NET-4792] Add integrations tests for jwt-auth (#18169)
* Add FIPS reference to consul enterprise docs (#18028)
* Add FIPS reference to consul enterprise docs
* Update website/content/docs/enterprise/index.mdx
Co-authored-by: David Yu <dyu@hashicorp.com>
* remove support for ecs client (fips)
---------
Co-authored-by: David Yu <dyu@hashicorp.com>
* add peering_commontopo tests [NET-3700] (#17951)
Co-authored-by: R.B. Boyer <4903+rboyer@users.noreply.github.com>
Co-authored-by: R.B. Boyer <rb@hashicorp.com>
Co-authored-by: Freddy <freddygv@users.noreply.github.com>
Co-authored-by: NiniOak <anita.akaeze@hashicorp.com>
* docs - remove Sentinel from enterprise features list (#18176)
* Update index.mdx
* Update kv.mdx
* Update docs-nav-data.json
* delete sentinel.mdx
* Update redirects.js
---------
Co-authored-by: Tu Nguyen <im2nguyen@users.noreply.github.com>
* [NET-4865] Bump golang.org/x/net to 0.12.0 (#18186)
Bump golang.org/x/net to 0.12.0
While not necessary to directly address CVE-2023-29406 (which should be
handled by using a patched version of Go when building), an
accompanying change to HTTP/2 error handling does impact agent code.
See https://go-review.googlesource.com/c/net/+/506995 for the HTTP/2
change.
Bump this dependency across our submodules as well for the sake of
potential indirect consumers of `x/net/http`.
* Call resource mutate hook before validate hook (NET-4907) (#18178)
* [NET-4865] security: Update Go version to 1.20.6 (#18190)
Update Go version to 1.20.6
This resolves [CVE-2023-29406]
(https://nvd.nist.gov/vuln/detail/CVE-2023-29406) for uses of the
`net/http` standard library.
Note that until the follow-up to #18124 is done, the version of Go used
in those impacted tests will need to remain on 1.20.5.
* Improve XDS test coverage: JWT auth edition (#18183)
* Improve XDS test coverage: JWT auth edition
more tests
* test: xds coverage for jwt listeners
---------
Co-authored-by: DanStough <dan.stough@hashicorp.com>
* update readme.md (#18191)
u[date readme.md
* Update submodules to latest following 1.16.0 (#18197)
Align all our internal use of submodules on the latest versions.
* SEC-090: Automated trusted workflow pinning (2023-07-18) (#18174)
Result of tsccr-helper -log-level=info -pin-all-workflows .
Co-authored-by: hashicorp-tsccr[bot] <hashicorp-tsccr[bot]@users.noreply.github.com>
* Fix Backport Assistant PR commenting (#18200)
* Fix Backport Assistant failure PR commenting
For general comments on a PR, it looks like you have to use the `/issue`
endpoint rather than `/pulls`, which requires commit/other
review-specific target details.
This matches the endpoint used in `backport-reminder.yml`.
* Remove Backport Reminder workflow
This is noisy (even when adding multiple labels, individual comments per
label are generated), and likely no longer needed: we haven't had this
work in a long time due to an expired GH token, and we now have better
automation for backport PR assignment.
* resource: Pass resource to Write ACL hook instead of just resource Id [NET-4908] (#18192)
* Explicitly enable WebSocket upgrades (#18150)
This PR explicitly enables WebSocket upgrades in Envoy's UpgradeConfig for all
proxy types. (API Gateway, Ingress, and Sidecar.)
Fixes #8283
* docs: fix the description of client rpc (#18206)
* NET-4804: Add dashboard for monitoring consul-k8s (#18208)
* [OSS] Improve xDS Code Coverage - Clusters (#18165)
test: improve xDS cluster code coverage
* NET-4222 take config file consul container (#18218)
Net 4222 take config file consul container
* Envoy Integration Test Windows (#18007)
* [CONSUL-395] Update check_hostport and Usage (#40)
* [CONSUL-397] Copy envoy binary from Image (#41)
* [CONSUL-382] Support openssl in unique test dockerfile (#43)
* [CONSUL-405] Add bats to single container (#44)
* [CONSUL-414] Run Prometheus Test Cases and Validate Changes (#46)
* [CONSUL-410] Run Jaeger in Single container (#45)
* [CONSUL-412] Run test-sds-server in single container (#48)
* [CONSUL-408] Clean containers (#47)
* [CONSUL-384] Rebase and sync fork (#50)
* [CONSUL-415] Create Scenarios Troubleshooting Docs (#49)
* [CONSUL-417] Update Docs Single Container (#51)
* [CONSUL-428] Add Socat to single container (#54)
* [CONSUL-424] Replace pkill in kill_envoy function (#52)
* [CONSUL-434] Modify Docker run functions in Helper script (#53)
* [CONSUL-435] Replace docker run in set_ttl_check_state & wait_for_agent_service_register functions (#55)
* [CONSUL-438] Add netcat (nc) in the Single container Dockerfile (#56)
* [CONSUL-429] Replace Docker run with Docker exec (#57)
* [CONSUL-436] Curl timeout and run tests (#58)
* [CONSUL-443] Create dogstatsd Function (#59)
* [CONSUL-431] Update Docs Netcat (#60)
* [CONSUL-439] Parse nc Command in function (#61)
* [CONSUL-463] Review curl Exec and get_ca_root Func (#63)
* [CONSUL-453] Docker hostname in Helper functions (#64)
* [CONSUL-461] Test wipe volumes without extra cont (#66)
* [CONSUL-454] Check ports in the Server and Agent containers (#65)
* [CONSUL-441] Update windows dockerfile with version (#62)
* [CONSUL-466] Review case-grpc Failing Test (#67)
* [CONSUL-494] Review case-cfg-resolver-svc-failover (#68)
* [CONSUL-496] Replace docker_wget & docker_curl (#69)
* [CONSUL-499] Cleanup Scripts - Remove nanoserver (#70)
* [CONSUL-500] Update Troubleshooting Docs (#72)
* [CONSUL-502] Pull & Tag Envoy Windows Image (#73)
* [CONSUL-504] Replace docker run in docker_consul (#76)
* [CONSUL-505] Change admin_bind
* [CONSUL-399] Update envoy to 1.23.1 (#78)
* [CONSUL-510] Support case-wanfed-gw on Windows (#79)
* [CONSUL-506] Update troubleshooting Documentation (#80)
* [CONSUL-512] Review debug_dump_volumes Function (#81)
* [CONSUL-514] Add zipkin to Docker Image (#82)
* [CONSUL-515] Update Documentation (#83)
* [CONSUL-529] Support case-consul-exec (#86)
* [CONSUL-530] Update Documentation (#87)
* [CONSUL-530] Update default consul version 1.13.3
* [CONSUL-539] Cleanup (#91)
* [CONSUL-546] Scripts Clean-up (#92)
* [CONSUL-491] Support admin_access_log_path value for Windows (#71)
* [CONSUL-519] Implement mkfifo Alternative (#84)
* [CONSUL-542] Create OS Specific Files for Envoy Package (#88)
* [CONSUL-543] Create exec_supported.go (#89)
* [CONSUL-544] Test and Build Changes (#90)
* Implement os.DevNull
* using mmap instead of disk files
* fix import in exec-unix
* fix nmap open too many arguemtn
* go fmt on file
* changelog file
* fix go mod
* Update .changelog/17694.txt
Co-authored-by: Dhia Ayachi <dhia@hashicorp.com>
* different mmap library
* fix bootstrap json
* some fixes
* chocolatey version fix and image fix
* using different library
* fix Map funciton call
* fix mmap call
* fix tcp dump
* fix tcp dump
* windows tcp dump
* Fix docker run
* fix tests
* fix go mod
* fix version 16.0
* fix version
* fix version dev
* sleep to debug
* fix sleep
* fix permission issue
* fix permission issue
* fix permission issue
* fix command
* fix command
* fix funciton
* fix assert config entry status command not found
* fix command not found assert_cert_has_cn
* fix command not found assert_upstream_missing
* fix command not found assert_upstream_missing_once
* fix command not found get_upstream_endpoint
* fix command not found get_envoy_public_listener_once
* fix command not found
* fix test cases
* windows integration test workflow github
* made code similar to unix using npipe
* fix go.mod
* fix dialing of npipe
* dont wait
* check size of written json
* fix undefined n
* running
* fix dep
* fix syntax error
* fix workflow file
* windows runner
* fix runner
* fix from json
* fix runs on
* merge connect envoy
* fix cin path
* build
* fix file name
* fix file name
* fix dev build
* remove unwanted code
* fix upload
* fix bin name
* fix path
* checkout current branch
* fix path
* fix tests
* fix shell bash for windows sh files
* fix permission of run-test.sh
* removed docker dev
* added shell bash for tests
* fix tag
* fix win=true
* fix cd
* added dev
* fix variable undefined
* removed failing tests
* fix tcp dump image
* fix curl
* fix curl
* tcp dump path
* fix tcpdump path
* fix curl
* fix curl install
* stop removing intermediate containers
* fix tcpdump docker image
* revert -rm
* --rm=false
* makeing docker image before
* fix tcpdump
* removed case consul exec
* removed terminating gateway simple
* comment case wasm
* removed data dog
* comment out upload coverage
* uncomment case-consul-exec
* comment case consul exec
* if always
* logs
* using consul 1.17.0
* fix quotes
* revert quotes
* redirect to dev null
* Revert version
* revert consul connect
* fix version
* removed envoy connect
* not using function
* change log
* docker logs
* fix logs
* restructure bad authz
* rmeoved dev null
* output
* fix file descriptor
* fix cacert
* fix cacert
* fix ca cert
* cacert does not work in windows curl
* fix func
* removed docker logs
* added sleep
* fix tls
* commented case-consul-exec
* removed echo
* retry docker consul
* fix upload bin
* uncomment consul exec
* copying consul.exe to docker image
* copy fix
* fix paths
* fix path
* github workspace path
* latest version
* Revert "latest version"
This reverts commit 5a7d7b82d9e7553bcb01b02557ec8969f9deba1d.
* commented consul exec
* added ssl revoke best effort
* revert best effort
* removed unused files
* rename var name and change dir
* windows runner
* permission
* needs setup fix
* swtich to github runner
* fix file path
* fix path
* fix path
* fix path
* fix path
* fix path
* fix build paths
* fix tag
* nightly runs
* added matrix in github workflow, renamed files
* fix job
* fix matrix
* removed brackes
* from json
* without using job matrix
* fix quotes
* revert job matrix
* fix workflow
* fix comment
* added comment
* nightly runs
* removed datadog ci as it is already measured in linux one
* running test
* Revert "running test"
This reverts commit 7013d15a23732179d18ec5d17336e16b26fab5d4.
* pr comment fixes
* running test now
* running subset of test
* running subset of test
* job matrix
* shell bash
* removed bash shell
* linux machine for job matrix
* fix output
* added cat to debug
* using ubuntu latest
* fix job matrix
* fix win true
* fix go test
* revert job matrix
---------
Co-authored-by: Jose Ignacio Lorenzo <74208929+joselo85@users.noreply.github.com>
Co-authored-by: Franco Bruno Lavayen <cocolavayen@gmail.com>
Co-authored-by: Ivan K Berlot <ivanberlot@gmail.com>
Co-authored-by: Ezequiel Fernández Ponce <20102608+ezfepo@users.noreply.github.com>
Co-authored-by: joselo85 <joseignaciolorenzo85@gmail.com>
Co-authored-by: Ezequiel Fernández Ponce <ezequiel.fernandez@southworks.com>
Co-authored-by: Dhia Ayachi <dhia@hashicorp.com>
* fix typos and update ecs compat table (#18215)
* fix typos and update ecs compat table
* real info for the ecs compat matrix table
* Update website/content/docs/ecs/compatibility.mdx
Co-authored-by: Chris Thain <32781396+cthain@users.noreply.github.com>
---------
Co-authored-by: Chris Thain <32781396+cthain@users.noreply.github.com>
* [OSS] proxystate: add proxystate protos (#18216)
* proxystate: add proxystate protos to pbmesh and resolve imports and conflicts between message names
* ci: don't verify s390x (#18224)
* [CC-5718] Remove HCP token requirement during bootstrap (#18140)
* [CC-5718] Remove HCP token requirement during bootstrap
* Re-add error for loading HCP management token
* Remove old comment
* Add changelog entry
* Remove extra validation line
* Apply suggestions from code review
Co-authored-by: lornasong <lornasong@users.noreply.github.com>
---------
Co-authored-by: lornasong <lornasong@users.noreply.github.com>
* [NET-4122] Doc guidance for federation with externalServers (#18207)
Doc guidance for federation with externalServers
Add guidance for proper configuration when joining to a secondary
cluster using WAN fed with external servers also enabled.
Also clarify federation requirements and fix formatting for an
unrelated value.
Update both the Helm chart reference (synced from `consul-k8s`, see
hashicorp/consul-k8s#2583) and the docs on using `externalServers`.
* [OSS] Improve xDS Code Coverage - Endpoints and Misc (#18222)
test: improve xDS endpoints code coverage
* Clarify license reporting timing and GDPR compliance (#18237)
Add Alicia's edits to clarify log timing and other details
* Fix Github Workflow File (#18241)
* [CONSUL-382] Support openssl in unique test dockerfile (#43)
* [CONSUL-405] Add bats to single container (#44)
* [CONSUL-414] Run Prometheus Test Cases and Validate Changes (#46)
* [CONSUL-410] Run Jaeger in Single container (#45)
* [CONSUL-412] Run test-sds-server in single container (#48)
* [CONSUL-408] Clean containers (#47)
* [CONSUL-384] Rebase and sync fork (#50)
* [CONSUL-415] Create Scenarios Troubleshooting Docs (#49)
* [CONSUL-417] Update Docs Single Container (#51)
* [CONSUL-428] Add Socat to single container (#54)
* [CONSUL-424] Replace pkill in kill_envoy function (#52)
* [CONSUL-434] Modify Docker run functions in Helper script (#53)
* [CONSUL-435] Replace docker run in set_ttl_check_state & wait_for_agent_service_register functions (#55)
* [CONSUL-438] Add netcat (nc) in the Single container Dockerfile (#56)
* [CONSUL-429] Replace Docker run with Docker exec (#57)
* [CONSUL-436] Curl timeout and run tests (#58)
* [CONSUL-443] Create dogstatsd Function (#59)
* [CONSUL-431] Update Docs Netcat (#60)
* [CONSUL-439] Parse nc Command in function (#61)
* [CONSUL-463] Review curl Exec and get_ca_root Func (#63)
* [CONSUL-453] Docker hostname in Helper functions (#64)
* [CONSUL-461] Test wipe volumes without extra cont (#66)
* [CONSUL-454] Check ports in the Server and Agent containers (#65)
* [CONSUL-441] Update windows dockerfile with version (#62)
* [CONSUL-466] Review case-grpc Failing Test (#67)
* [CONSUL-494] Review case-cfg-resolver-svc-failover (#68)
* [CONSUL-496] Replace docker_wget & docker_curl (#69)
* [CONSUL-499] Cleanup Scripts - Remove nanoserver (#70)
* [CONSUL-500] Update Troubleshooting Docs (#72)
* [CONSUL-502] Pull & Tag Envoy Windows Image (#73)
* [CONSUL-504] Replace docker run in docker_consul (#76)
* [CONSUL-505] Change admin_bind
* [CONSUL-399] Update envoy to 1.23.1 (#78)
* [CONSUL-510] Support case-wanfed-gw on Windows (#79)
* [CONSUL-506] Update troubleshooting Documentation (#80)
* [CONSUL-512] Review debug_dump_volumes Function (#81)
* [CONSUL-514] Add zipkin to Docker Image (#82)
* [CONSUL-515] Update Documentation (#83)
* [CONSUL-529] Support case-consul-exec (#86)
* [CONSUL-530] Update Documentation (#87)
* [CONSUL-530] Update default consul version 1.13.3
* [CONSUL-539] Cleanup (#91)
* [CONSUL-546] Scripts Clean-up (#92)
* [CONSUL-491] Support admin_access_log_path value for Windows (#71)
* [CONSUL-519] Implement mkfifo Alternative (#84)
* [CONSUL-542] Create OS Specific Files for Envoy Package (#88)
* [CONSUL-543] Create exec_supported.go (#89)
* [CONSUL-544] Test and Build Changes (#90)
* Implement os.DevNull
* using mmap instead of disk files
* fix import in exec-unix
* fix nmap open too many arguemtn
* go fmt on file
* changelog file
* fix go mod
* Update .changelog/17694.txt
Co-authored-by: Dhia Ayachi <dhia@hashicorp.com>
* different mmap library
* fix bootstrap json
* some fixes
* chocolatey version fix and image fix
* using different library
* fix Map funciton call
* fix mmap call
* fix tcp dump
* fix tcp dump
* windows tcp dump
* Fix docker run
* fix tests
* fix go mod
* fix version 16.0
* fix version
* fix version dev
* sleep to debug
* fix sleep
* fix permission issue
* fix permission issue
* fix permission issue
* fix command
* fix command
* fix funciton
* fix assert config entry status command not found
* fix command not found assert_cert_has_cn
* fix command not found assert_upstream_missing
* fix command not found assert_upstream_missing_once
* fix command not found get_upstream_endpoint
* fix command not found get_envoy_public_listener_once
* fix command not found
* fix test cases
* windows integration test workflow github
* made code similar to unix using npipe
* fix go.mod
* fix dialing of npipe
* dont wait
* check size of written json
* fix undefined n
* running
* fix dep
* fix syntax error
* fix workflow file
* windows runner
* fix runner
* fix from json
* fix runs on
* merge connect envoy
* fix cin path
* build
* fix file name
* fix file name
* fix dev build
* remove unwanted code
* fix upload
* fix bin name
* fix path
* checkout current branch
* fix path
* fix tests
* fix shell bash for windows sh files
* fix permission of run-test.sh
* removed docker dev
* added shell bash for tests
* fix tag
* fix win=true
* fix cd
* added dev
* fix variable undefined
* removed failing tests
* fix tcp dump image
* fix curl
* fix curl
* tcp dump path
* fix tcpdump path
* fix curl
* fix curl install
* stop removing intermediate containers
* fix tcpdump docker image
* revert -rm
* --rm=false
* makeing docker image before
* fix tcpdump
* removed case consul exec
* removed terminating gateway simple
* comment case wasm
* removed data dog
* comment out upload coverage
* uncomment case-consul-exec
* comment case consul exec
* if always
* logs
* using consul 1.17.0
* fix quotes
* revert quotes
* redirect to dev null
* Revert version
* revert consul connect
* fix version
* removed envoy connect
* not using function
* change log
* docker logs
* fix logs
* restructure bad authz
* rmeoved dev null
* output
* fix file descriptor
* fix cacert
* fix cacert
* fix ca cert
* cacert does not work in windows curl
* fix func
* removed docker logs
* added sleep
* fix tls
* commented case-consul-exec
* removed echo
* retry docker consul
* fix upload bin
* uncomment consul exec
* copying consul.exe to docker image
* copy fix
* fix paths
* fix path
* github workspace path
* latest version
* Revert "latest version"
This reverts commit 5a7d7b82d9e7553bcb01b02557ec8969f9deba1d.
* commented consul exec
* added ssl revoke best effort
* revert best effort
* removed unused files
* rename var name and change dir
* windows runner
* permission
* needs setup fix
* swtich to github runner
* fix file path
* fix path
* fix path
* fix path
* fix path
* fix path
* fix build paths
* fix tag
* nightly runs
* added matrix in github workflow, renamed files
* fix job
* fix matrix
* removed brackes
* from json
* without using job matrix
* fix quotes
* revert job matrix
* fix workflow
* fix comment
* added comment
* nightly runs
* removed datadog ci as it is already measured in linux one
* running test
* Revert "running test"
This reverts commit 7013d15a23732179d18ec5d17336e16b26fab5d4.
* pr comment fixes
* running test now
* running subset of test
* running subset of test
* job matrix
* shell bash
* removed bash shell
* linux machine for job matrix
* fix output
* added cat to debug
* using ubuntu latest
* fix job matrix
* fix win true
* fix go test
* revert job matrix
* Fix tests
---------
Co-authored-by: Ivan K Berlot <ivanberlot@gmail.com>
Co-authored-by: Jose Ignacio Lorenzo <74208929+joselo85@users.noreply.github.com>
Co-authored-by: Franco Bruno Lavayen <cocolavayen@gmail.com>
Co-authored-by: Ezequiel Fernández Ponce <20102608+ezfepo@users.noreply.github.com>
Co-authored-by: joselo85 <joseignaciolorenzo85@gmail.com>
Co-authored-by: Ezequiel Fernández Ponce <ezequiel.fernandez@southworks.com>
Co-authored-by: Dhia Ayachi <dhia@hashicorp.com>
* NET-4996 - filter go-tests and test-integration workflows from running on docs only and ui only changes (#18236)
* Align build arch matrix with enterprise (#18235)
Ensure that OSS remains in sync w/ Enterprise by aligning the format of
arch matrix args for various build jobs.
* Revert "NET-4996 - filter go-tests and test-integration workflows from running on docs only and ui only changes" (#18248)
Revert "NET-4996 - filter go-tests and test-integration workflows from running on docs only and ui only changes (#18236)"
This reverts commit a11dba710e6ce6f172c0fa6c9b61567cc1efffc8.
* resource: Add scope to resource type registration [NET-4976] (#18214)
Enables querying a resource type's registration to determine if a resource is cluster, partition, or partition and namespace scoped.
* Fix some inconsistencies in jwt docs (#18234)
* NET-1825: More new ACL token creation docs (#18063)
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* [CC-5719] Add support for builtin global-read-only policy
* Add changelog
* Add read-only to docs
* Fix some minor issues.
* Change from ReplaceAll to Sprintf
* Change IsValidPolicy name to return an error instead of bool
* Fix PolicyList test
* Fix other tests
* Apply suggestions from code review
Co-authored-by: Paul Glass <pglass@hashicorp.com>
* Fix state store test for policy list.
* Fix naming issues
* Update acl/validation.go
Co-authored-by: Chris Thain <32781396+cthain@users.noreply.github.com>
* backport of commit d63fa5481dc02c6faae7cc2647b4073b3286af1d
* backport of commit 3d099a6ed8ed10b6dc464c466cb1668914db8f08
---------
Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: Dan Bond <danbond@protonmail.com>
Signed-off-by: josh <josh.timmons@hashicorp.com>
Co-authored-by: Michael Zalimeni <michael.zalimeni@hashicorp.com>
Co-authored-by: Ronald <roncodingenthusiast@users.noreply.github.com>
Co-authored-by: Eric Haberkorn <erichaberkorn@gmail.com>
Co-authored-by: Andrew Stucki <andrew.stucki@hashicorp.com>
Co-authored-by: Luke Kysow <1034429+lkysow@users.noreply.github.com>
Co-authored-by: R.B. Boyer <4903+rboyer@users.noreply.github.com>
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com>
Co-authored-by: David Yu <dyu@hashicorp.com>
Co-authored-by: Bryce Kalow <bkalow@hashicorp.com>
Co-authored-by: Paul Glass <pglass@hashicorp.com>
Co-authored-by: Matt Keeler <mkeeler@users.noreply.github.com>
Co-authored-by: Nathan Coleman <nathan.coleman@hashicorp.com>
Co-authored-by: Poonam Jadhav <poonam.jadhav@hashicorp.com>
Co-authored-by: Tu Nguyen <im2nguyen@users.noreply.github.com>
Co-authored-by: Chris Thain <32781396+cthain@users.noreply.github.com>
Co-authored-by: Hariram Sankaran <56744845+ramramhariram@users.noreply.github.com>
Co-authored-by: shanafarkas <105076572+shanafarkas@users.noreply.github.com>
Co-authored-by: Thomas Eckert <teckert@hashicorp.com>
Co-authored-by: Jeff Apple <79924108+Jeff-Apple@users.noreply.github.com>
Co-authored-by: Joshua Timmons <josh.timmons@hashicorp.com>
Co-authored-by: Ashesh Vidyut <134911583+absolutelightning@users.noreply.github.com>
Co-authored-by: Dan Stough <dan.stough@hashicorp.com>
Co-authored-by: Curt Bushko <cbushko@gmail.com>
Co-authored-by: Tobias Birkefeld <t@craxs.de>
Co-authored-by: Jared Kirschner <85913323+jkirschner-hashicorp@users.noreply.github.com>
Co-authored-by: Semir Patel <semir.patel@hashicorp.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: chappie <6537530+chapmanc@users.noreply.github.com>
Co-authored-by: Derek Menteer <105233703+hashi-derek@users.noreply.github.com>
Co-authored-by: John Murret <john.murret@hashicorp.com>
Co-authored-by: Mark Campbell-Vincent <mnmvincent@gmail.com>
Co-authored-by: Daniel Upton <daniel@floppy.co>
Co-authored-by: Steven Zamborsky <97125550+stevenzamborsky@users.noreply.github.com>
Co-authored-by: George Bolo <george.bolo@gmail.com>
Co-authored-by: Chris S. Kim <ckim@hashicorp.com>
Co-authored-by: wangxinyi7 <121973291+wangxinyi7@users.noreply.github.com>
Co-authored-by: cskh <hui.kang@hashicorp.com>
Co-authored-by: V. K <cn007b@gmail.com>
Co-authored-by: Iryna Shustava <ishustava@users.noreply.github.com>
Co-authored-by: Alex Simenduev <shamil.si@gmail.com>
Co-authored-by: Dhia Ayachi <dhia@hashicorp.com>
Co-authored-by: Dan Bond <danbond@protonmail.com>
Co-authored-by: sarahalsmiller <100602640+sarahalsmiller@users.noreply.github.com>
Co-authored-by: Gerard Nguyen <gerard@hashicorp.com>
Co-authored-by: mr-miles <miles.waller@gmail.com>
Co-authored-by: natemollica-dev <57850649+natemollica-nm@users.noreply.github.com>
Co-authored-by: John Maguire <john.maguire@hashicorp.com>
Co-authored-by: Samantha <hello@entropy.cat>
Co-authored-by: Ranjandas <thejranjan@gmail.com>
Co-authored-by: Evan Phoenix <evan@phx.io>
Co-authored-by: Michael Hofer <karras@users.noreply.github.com>
Co-authored-by: J.C. Jones <james.jc.jones@gmail.com>
Co-authored-by: Fulvio <fulviodenza823@gmail.com>
Co-authored-by: Krastin Krastev <krastin@hashicorp.com>
Co-authored-by: david3a <49253132+david3a@users.noreply.github.com>
Co-authored-by: Nick Irvine <115657443+nfi-hashicorp@users.noreply.github.com>
Co-authored-by: Tom Davies <tom@t-davies.com>
Co-authored-by: Vijay <vijayraghav22@gmail.com>
Co-authored-by: Eddie Rowe <74205376+eddie-rowe@users.noreply.github.com>
Co-authored-by: emilymianeil <eneil@hashicorp.com>
Co-authored-by: nv-hashi <80716011+nv-hashi@users.noreply.github.com>
Co-authored-by: Franco Bruno Lavayen <cocolavayen@gmail.com>
Co-authored-by: Jose Ignacio Lorenzo <74208929+joselo85@users.noreply.github.com>
Co-authored-by: Jose Ignacio Lorenzo <joseignaciolorenzo85@gmail.com>
Co-authored-by: R.B. Boyer <rb@hashicorp.com>
Co-authored-by: Freddy <freddygv@users.noreply.github.com>
Co-authored-by: NiniOak <anita.akaeze@hashicorp.com>
Co-authored-by: hashicorp-tsccr[bot] <129506189+hashicorp-tsccr[bot]@users.noreply.github.com>
Co-authored-by: hashicorp-tsccr[bot] <hashicorp-tsccr[bot]@users.noreply.github.com>
Co-authored-by: Blake Covarrubias <blake@covarrubi.as>
Co-authored-by: Ivan K Berlot <ivanberlot@gmail.com>
Co-authored-by: Ezequiel Fernández Ponce <20102608+ezfepo@users.noreply.github.com>
Co-authored-by: Ezequiel Fernández Ponce <ezequiel.fernandez@southworks.com>
Co-authored-by: Nitya Dhanushkodi <nitya@hashicorp.com>
Co-authored-by: Jeremy Jacobson <jjacobson93@users.noreply.github.com>
Co-authored-by: lornasong <lornasong@users.noreply.github.com>
Co-authored-by: Judith Malnick <judith@hashicorp.com>
Co-authored-by: Jeremy Jacobson <jeremy.jacobson@hashicorp.com>
2023-08-01 17:37:13 +00:00
|
|
|
policy = "%[1]s"
|
2018-10-19 16:04:07 +00:00
|
|
|
}
|
Backport of [CC-5719] Add support for builtin global-read-only policy into release/1.16.x (#18345)
* [OSS] Post Consul 1.16 updates (#17606)
* chore: update dev build to 1.17
* chore(ci): add nightly 1.16 test
Drop the oldest and add the newest running release branch to nightly
builds.
* Add writeAuditRPCEvent to agent_oss (#17607)
* Add writeAuditRPCEvent to agent_oss
* fix the other diffs
* backport change log
* Add Envoy and Consul version constraints to Envoy extensions (#17612)
* [API Gateway] Fix trust domain for external peered services in synthesis code (#17609)
* [API Gateway] Fix trust domain for external peered services in synthesis code
* Add changelog
* backport ent changes to oss (#17614)
* backport ent changes to oss
* Update .changelog/_5669.txt
Co-authored-by: Michael Zalimeni <michael.zalimeni@hashicorp.com>
---------
Co-authored-by: Michael Zalimeni <michael.zalimeni@hashicorp.com>
* Update intentions.mdx (#17619)
Make behaviour of L7 intentions clearer
* enterprise changelog update for audit (#17625)
* Update list of Envoy versions (#17546)
* [API Gateway] Fix rate limiting for API gateways (#17631)
* [API Gateway] Fix rate limiting for API gateways
* Add changelog
* Fix failing unit tests
* Fix operator usage tests for api package
* sort some imports that are wonky between oss and ent (#17637)
* PmTLS and tproxy improvements with failover and L7 traffic mgmt for k8s (#17624)
* porting over changes from enterprise repo to oss
* applied feedback on service mesh for k8s overview
* fixed typo
* removed ent-only build script file
* Apply suggestions from code review
Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com>
* Apply suggestions from code review
Co-authored-by: David Yu <dyu@hashicorp.com>
Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com>
---------
Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com>
Co-authored-by: David Yu <dyu@hashicorp.com>
* Delete check-legacy-links-format.yml (#17647)
* docs: Reference doc updates for permissive mTLS settings (#17371)
* Reference doc updates for permissive mTLS settings
* Document config entry filtering
* Fix minor doc errors (double slashes in link url paths)
---------
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Add generic experiments configuration and use it to enable catalog v2 resources (#17604)
* Add generic experiments configuration and use it to enable catalog v2 resources
* Run formatting with -s as CI will validate that this has been done
* api-gateway: stop adding all header filters to virtual host when generating xDS (#17644)
* Add header filter to api-gateway xDS golden test
* Stop adding all header filters to virtual host when generating xDS for api-gateway
* Regenerate xDS golden file for api-gateway w/ header filter
* fix: add agent info reporting log (#17654)
* Add new Consul 1.16 docs (#17651)
* Merge pull request #5773 from hashicorp/docs/rate-limiting-from-ip-addresses-1.16
updated docs for rate limiting for IP addresses - 1.16
* Merge pull request #5609 from hashicorp/docs/enterprise-utilization-reporting
Add docs for enterprise utilization reporting
* Merge pull request #5734 from hashicorp/docs/envoy-ext-1.16
Docs/envoy ext 1.16
* Merge pull request #5773 from hashicorp/docs/rate-limiting-from-ip-addresses-1.16
updated docs for rate limiting for IP addresses - 1.16
* Merge pull request #5609 from hashicorp/docs/enterprise-utilization-reporting
Add docs for enterprise utilization reporting
* Merge pull request #5734 from hashicorp/docs/envoy-ext-1.16
Docs/envoy ext 1.16
* fix build errors
---------
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Default `ProxyType` for builtin extensions (#17657)
* Post 1.16.0-rc1 updates (#17663)
- Update changelog to include new entries from release
- Update submodule versions to latest published
* Update service-defaults.mdx (#17656)
* docs: Sameness Groups (#17628)
* port from enterprise branch
* Apply suggestions from code review
Co-authored-by: shanafarkas <105076572+shanafarkas@users.noreply.github.com>
* Update website/content/docs/connect/cluster-peering/usage/create-sameness-groups.mdx
* next steps
* Update website/content/docs/connect/cluster-peering/usage/create-sameness-groups.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Update website/content/docs/k8s/connect/cluster-peering/usage/create-sameness-groups.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
---------
Co-authored-by: shanafarkas <105076572+shanafarkas@users.noreply.github.com>
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Remove "BETA" marker from config entries (#17670)
* CAPIgw for K8s installation updates for 1.16 (#17627)
* trimmed CRD step and reqs from installation
* updated tech specs
* Apply suggestions from code review
Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com>
Co-authored-by: Jeff Apple <79924108+Jeff-Apple@users.noreply.github.com>
* added upgrade instruction
* removed tcp port req
* described downtime and DT-less upgrades
* applied additional review feedback
---------
Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com>
Co-authored-by: Jeff Apple <79924108+Jeff-Apple@users.noreply.github.com>
* additional feedback on API gateway upgrades (#17677)
* additional feedback
* Update website/content/docs/api-gateway/upgrades.mdx
Co-authored-by: Jeff Apple <79924108+Jeff-Apple@users.noreply.github.com>
---------
Co-authored-by: Jeff Apple <79924108+Jeff-Apple@users.noreply.github.com>
* docs: JWT Authorization for intentions (#17643)
* Initial page/nav creation
* configuration entry reference page
* Usage + fixes
* service intentions page
* usage
* description
* config entry updates
* formatting fixes
* Update website/content/docs/connect/config-entries/service-intentions.mdx
Co-authored-by: Paul Glass <pglass@hashicorp.com>
* service intentions review fixes
* Overview page review fixes
* Apply suggestions from code review
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
---------
Co-authored-by: Paul Glass <pglass@hashicorp.com>
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* docs: minor fixes to JWT auth docs (#17680)
* Fixes
* service intentions fixes
* Fix two WAL metrics in docs/agent/telemetry.mdx (#17593)
* updated failover for k8s w-tproxy page title (#17683)
* Add release notes 1.16 rc (#17665)
* Merge pull request #5773 from hashicorp/docs/rate-limiting-from-ip-addresses-1.16
updated docs for rate limiting for IP addresses - 1.16
* Merge pull request #5609 from hashicorp/docs/enterprise-utilization-reporting
Add docs for enterprise utilization reporting
* Merge pull request #5734 from hashicorp/docs/envoy-ext-1.16
Docs/envoy ext 1.16
* Add release notes for 1.16-rc
* Add consul-e license utlization reporting
* Update with rc absolute links
* Update with rc absolute links
* fix typo
* Apply suggestions from code review
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Update to use callout component
* address typo
* docs: FIPS 140-2 Compliance (#17668)
* Page + nav + formatting
* link fix
* Update website/content/docs/enterprise/fips.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Update website/content/docs/enterprise/fips.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Update website/content/docs/enterprise/fips.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Update website/content/docs/enterprise/fips.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Update website/content/docs/enterprise/fips.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Update website/content/docs/enterprise/fips.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Update website/content/docs/enterprise/fips.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Update website/content/docs/enterprise/fips.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Update website/content/docs/enterprise/fips.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Update website/content/docs/enterprise/fips.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* link fix
* Apply suggestions from code review
Co-authored-by: Jeff Apple <79924108+Jeff-Apple@users.noreply.github.com>
* Update website/content/docs/enterprise/fips.mdx
---------
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
Co-authored-by: Jeff Apple <79924108+Jeff-Apple@users.noreply.github.com>
* fix apigw install values file
* fix typos in release notes
---------
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com>
Co-authored-by: Jeff Apple <79924108+Jeff-Apple@users.noreply.github.com>
* fix release notes links (#17687)
* adding redirects for tproxy and envoy extensions (#17688)
* adding redirects
* Apply suggestions from code review
* Fix FIPS copy (#17691)
* fix release notes links
* fix typos on fips docs
* [NET-4107][Supportability] Log Level set to TRACE and duration set to 5m for consul-debug (#17596)
* changed duration to 5 mins and log level to trace
* documentation update
* change log
* ENT merge of ext-authz extension updates (#17684)
* docs: Update default values for Envoy extension proxy types (#17676)
* fix: stop peering delete routine on leader loss (#17483)
* Refactor disco chain prioritize by locality structs (#17696)
This includes prioritize by localities on disco chain targets rather than
resolvers, allowing different targets within the same partition to have
different policies.
* agent: remove agent cache dependency from service mesh leaf certificate management (#17075)
* agent: remove agent cache dependency from service mesh leaf certificate management
This extracts the leaf cert management from within the agent cache.
This code was produced by the following process:
1. All tests in agent/cache, agent/cache-types, agent/auto-config,
agent/consul/servercert were run at each stage.
- The tests in agent matching .*Leaf were run at each stage.
- The tests in agent/leafcert were run at each stage after they
existed.
2. The former leaf cert Fetch implementation was extracted into a new
package behind a "fake RPC" endpoint to make it look almost like all
other cache type internals.
3. The old cache type was shimmed to use the fake RPC endpoint and
generally cleaned up.
4. I selectively duplicated all of Get/Notify/NotifyCallback/Prepopulate
from the agent/cache.Cache implementation over into the new package.
This was renamed as leafcert.Manager.
- Code that was irrelevant to the leaf cert type was deleted
(inlining blocking=true, refresh=false)
5. Everything that used the leaf cert cache type (including proxycfg
stuff) was shifted to use the leafcert.Manager instead.
6. agent/cache-types tests were moved and gently replumbed to execute
as-is against a leafcert.Manager.
7. Inspired by some of the locking changes from derek's branch I split
the fat lock into N+1 locks.
8. The waiter chan struct{} was eventually replaced with a
singleflight.Group around cache updates, which was likely the biggest
net structural change.
9. The awkward two layers or logic produced as a byproduct of marrying
the agent cache management code with the leaf cert type code was
slowly coalesced and flattened to remove confusion.
10. The .*Leaf tests from the agent package were copied and made to work
directly against a leafcert.Manager to increase direct coverage.
I have done a best effort attempt to port the previous leaf-cert cache
type's tests over in spirit, as well as to take the e2e-ish tests in the
agent package with Leaf in the test name and copy those into the
agent/leafcert package to get more direct coverage, rather than coverage
tangled up in the agent logic.
There is no net-new test coverage, just coverage that was pushed around
from elsewhere.
* [core]: Pin github action workflows (#17695)
* docs: missing changelog for _5517 (#17706)
* add enterprise notes for IP-based rate limits (#17711)
* add enterprise notes for IP-based rate limits
* Apply suggestions from code review
Co-authored-by: Tu Nguyen <im2nguyen@users.noreply.github.com>
Co-authored-by: David Yu <dyu@hashicorp.com>
* added bolded 'Enterprise' in list items.
---------
Co-authored-by: Tu Nguyen <im2nguyen@users.noreply.github.com>
Co-authored-by: David Yu <dyu@hashicorp.com>
* Update compatibility.mdx (#17713)
* Remove extraneous version info for Config entries (#17716)
* Update terminating-gateway.mdx
* Update exported-services.mdx
* Update mesh.mdx
* fix: typo in link to section (#17527)
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Bump Alpine to 3.18 (#17719)
* Update Dockerfile
* Create 17719.txt
* NET-1825: New ACL token creation docs (#16465)
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
Co-authored-by: Jared Kirschner <85913323+jkirschner-hashicorp@users.noreply.github.com>
* [NET-3865] [Supportability] Additional Information in the output of 'consul operator raft list-peers' (#17582)
* init
* fix tests
* added -detailed in docs
* added change log
* fix doc
* checking for entry in map
* fix tests
* removed detailed flag
* removed detailed flag
* revert unwanted changes
* removed unwanted changes
* updated change log
* pr review comment changes
* pr comment changes single API instead of two
* fix change log
* fix tests
* fix tests
* fix test operator raft endpoint test
* Update .changelog/17582.txt
Co-authored-by: Semir Patel <semir.patel@hashicorp.com>
* nits
* updated docs
---------
Co-authored-by: Semir Patel <semir.patel@hashicorp.com>
* OSS merge: Update error handling login when applying extensions (#17740)
* Bump atlassian/gajira-transition from 3.0.0 to 3.0.1 (#17741)
Bumps [atlassian/gajira-transition](https://github.com/atlassian/gajira-transition) from 3.0.0 to 3.0.1.
- [Release notes](https://github.com/atlassian/gajira-transition/releases)
- [Commits](https://github.com/atlassian/gajira-transition/compare/4749176faf14633954d72af7a44d7f2af01cc92b...38fc9cd61b03d6a53dd35fcccda172fe04b36de3)
---
updated-dependencies:
- dependency-name: atlassian/gajira-transition
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Add truncation to body (#17723)
* docs: Failover overview minor fix (#17743)
* Incorrect symbol
* Clarification
* slight edit for clarity
* docs - update Envoy and Dataplane compat matrix (#17752)
* Update envoy.mdx
added more detail around default versus other compatible versions
* validate localities on agent configs and registration endpoints (#17712)
* Updated docs added explanation. (#17751)
* init
* fix tests
* added -detailed in docs
* added change log
* fix doc
* checking for entry in map
* fix tests
* removed detailed flag
* removed detailed flag
* revert unwanted changes
* removed unwanted changes
* updated change log
* pr review comment changes
* pr comment changes single API instead of two
* fix change log
* fix tests
* fix tests
* fix test operator raft endpoint test
* Update .changelog/17582.txt
Co-authored-by: Semir Patel <semir.patel@hashicorp.com>
* nits
* updated docs
* explanation added
---------
Co-authored-by: Semir Patel <semir.patel@hashicorp.com>
* Update index.mdx (#17749)
* added redirects and updated links (#17764)
* Add transparent proxy enhancements changelog (#17757)
* docs - remove use of consul leave during upgrade instructions (#17758)
* Fix issue with streaming service health watches. (#17775)
Fix issue with streaming service health watches.
This commit fixes an issue where the health streams were unaware of service
export changes. Whenever an exported-services config entry is modified, it is
effectively an ACL change.
The bug would be triggered by the following situation:
- no services are exported
- an upstream watch to service X is spawned
- the streaming backend filters out data for service X (due to lack of exports)
- service X is finally exported
In the situation above, the streaming backend does not trigger a refresh of its
data. This means that any events that were supposed to have been received prior
to the export are NOT backfilled, and the watches never see service X spawning.
We currently have decided to not trigger a stream refresh in this situation due
to the potential for a thundering herd effect (touching exports would cause a
re-fetch of all watches for that partition, potentially). Therefore, a local
blocking-query approach was added by this commit for agentless.
It's also worth noting that the streaming subscription is currently bypassed
most of the time with agentful, because proxycfg has a `req.Source.Node != ""`
which prevents the `streamingEnabled` check from passing. This means that while
agents should technically have this same issue, they don't experience it with
mesh health watches.
Note that this is a temporary fix that solves the issue for proxycfg, but not
service-discovery use cases.
* Property Override validation improvements (#17759)
* Reject inbound Prop Override patch with Services
Services filtering is only supported for outbound TrafficDirection patches.
* Improve Prop Override unexpected type validation
- Guard against additional invalid parent and target types
- Add specific error handling for Any fields (unsupported)
* Fixes (#17765)
* Update license get explanation (#17782)
This PR is to clarify what happens if the license get command is run on a follower if the leader hasn't been updated with a newer license.
* Add Patch index to Prop Override validation errors (#17777)
When a patch is found invalid, include its index for easier debugging
when multiple patches are provided.
* Stop referenced jwt providers from being deleted (#17755)
* Stop referenced jwt providers from being deleted
* Implement a Catalog Controllers Lifecycle Integration Test (#17435)
* Implement a Catalog Controllers Lifecycle Integration Test
* Prevent triggering the race detector.
This allows defining some variables for protobuf constants and using those in comparisons. Without that, something internal in the fmt package ended up looking at the protobuf message size cache and triggering the race detector.
* HCP Add node id/name to config (#17750)
* Catalog V2 Container Based Integration Test (#17674)
* Implement the Catalog V2 controller integration container tests
This now allows the container tests to import things from the root module. However for now we want to be very restrictive about which packages we allow importing.
* Add an upgrade test for the new catalog
Currently this should be dormant and not executed. However its put in place to detect breaking changes in the future and show an example of how to do an upgrade test with integration tests structured like catalog v2.
* Make testutil.Retry capable of performing cleanup operations
These cleanup operations are executed after each retry attempt.
* Move TestContext to taking an interface instead of a concrete testing.T
This allows this to be used on a retry.R or generally anything that meets the interface.
* Move to using TestContext instead of background contexts
Also this forces all test methods to implement the Cleanup method now instead of that being an optional interface.
Co-authored-by: Daniel Upton <daniel@floppy.co>
* Fix Docs for Trails Leader By (#17763)
* init
* fix tests
* added -detailed in docs
* added change log
* fix doc
* checking for entry in map
* fix tests
* removed detailed flag
* removed detailed flag
* revert unwanted changes
* removed unwanted changes
* updated change log
* pr review comment changes
* pr comment changes single API instead of two
* fix change log
* fix tests
* fix tests
* fix test operator raft endpoint test
* Update .changelog/17582.txt
Co-authored-by: Semir Patel <semir.patel@hashicorp.com>
* nits
* updated docs
* explanation added
* fix doc
* fix docs
---------
Co-authored-by: Semir Patel <semir.patel@hashicorp.com>
* Improve Prop Override docs examples (#17799)
- Provide more realistics examples for setting properties not already
supported natively by Consul
- Remove superfluous commas from HCL, correct target service name, and
fix service defaults vs. proxy defaults in examples
- Align existing integration test to updated docs
* Test permissive mTLS filter chain not configured with tproxy disabled (#17747)
* Add documentation for remote debugging of integration tests. (#17800)
* Add documentation for remote debugging of integration tests.
* add link from main docs page.
* changes related to PR feedback
* Clarify limitations of Prop Override extension (#17801)
Explicitly document the limitations of the extension, particularly what
kind of fields it is capable of modifying.
* Fix formatting for webhook-certs Consul tutorial (#17810)
* Fix formatting for webhook-certs Consul tutorial
* Make a small grammar change to also pick up whitespace changes necessary for formatting
---------
Co-authored-by: David Yu <dyu@hashicorp.com>
* Add jwt-authn metrics to jwt-provider docs (#17816)
* [NET-3095] add jwt-authn metrics docs
* Change URLs for redirects from RC to default latest (#17822)
* Set GOPRIVATE for all hashicorp repos in CI (#17817)
Consistently set GOPRIVATE to include all hashicorp repos, s.t. private
modules are successfully pulled in enterprise CI.
* Make locality aware routing xDS changes (#17826)
* Fixup consul-container/test/debugging.md (#17815)
Add missing `-t` flag and fix minor typo.
* fixes #17732 - AccessorID in request body should be optional when updating ACL token (#17739)
* AccessorID in request body should be optional when updating ACL token
* add a test case
* fix test case
* add changelog entry for PR #17739
* CA provider doc updates and Vault provider minor update (#17831)
Update CA provider docs
Clarify that providers can differ between
primary and secondary datacenters
Provide a comparison chart for consul vs
vault CA providers
Loosen Vault CA provider validation for RootPKIPath
Update Vault CA provider documentation
* ext-authz Envoy extension: support `localhost` as a valid target URI. (#17821)
* CI Updates (#17834)
* Ensure that git access to private repos uses the ELEVATED_GITHUB_TOKEN
* Bump the runner size for the protobuf generation check
This has failed previously when the runner process that communicates with GitHub gets starved causing the job to fail.
* counter part of ent pr (#17618)
* watch: support -filter for consul watch: checks, services, nodes, service (#17780)
* watch: support -filter for watch checks
* Add filter for watch nodes, services, and service
- unit test added
- Add changelog
- update doc
* Trigger OSS => ENT merge for all release branches (#17853)
Previously, this only triggered for release/*.*.x branches; however, our release process involves cutting a release/1.16.0 branch, for example, at time of code freeze these days. Any PRs to that branch after code freeze today do not make their way to consul-enterprise. This will make behavior for a .0 branch consistent with current behavior for a .x branch.
* Update service-mesh.mdx (#17845)
Deleted two commas which looks quite like some leftovers.
* Add docs for sameness groups with resolvers. (#17851)
* docs: add note about path prefix matching behavior for HTTPRoute config (#17860)
* Add note about path prefix matching behavior for HTTPRoute config
* Update website/content/docs/connect/gateways/api-gateway/configuration/http-route.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
---------
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* docs: update upgrade to consul-dataplane docs on k8s (#17852)
* resource: add `AuthorizerContext` helper method (#17393)
* resource: enforce consistent naming of resource types (#17611)
For consistency, resource type names must follow these rules:
- `Group` must be snake case, and in most cases a single word.
- `GroupVersion` must be lowercase, start with a "v" and end with a number.
- `Kind` must be pascal case.
These were chosen because they map to our protobuf type naming
conventions.
* tooling: generate protoset file (#17364)
Extends the `proto` make target to generate a protoset file for use with
grpcurl etc.
* Fix a bug that wrongly trims domains when there is an overlap with DC name (#17160)
* Fix a bug that wrongly trims domains when there is an overlap with DC name
Before this change, when DC name and domain/alt-domain overlap, the domain name incorrectly trimmed from the query.
Example:
Given: datacenter = dc-test, alt-domain = test.consul.
Querying for "test-node.node.dc-test.consul" will faile, because the
code was trimming "test.consul" instead of just ".consul"
This change, fixes the issue by adding dot (.) before trimming
* trimDomain: ensure domain trimmed without modyfing original domains
* update changelog
---------
Co-authored-by: Dhia Ayachi <dhia@hashicorp.com>
* deps: aws-sdk-go v1.44.289 (#17876)
Signed-off-by: Dan Bond <danbond@protonmail.com>
* api-gateway: add operation cannot be fulfilled error to common errors (#17874)
* add error message
* Update website/content/docs/api-gateway/usage/errors.mdx
Co-authored-by: Nathan Coleman <nathan.coleman@hashicorp.com>
* fix formating issues
---------
Co-authored-by: Nathan Coleman <nathan.coleman@hashicorp.com>
* api-gateway: add step to upgrade instructions for creating intentions (#17875)
* Changelog - add 1.13.9, 1.14.8, and 1.15.4 (#17889)
* docs: update config enable_debug (#17866)
* update doc for config enable_debug
* Update website/content/docs/agent/config/config-files.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
---------
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Update wording on WAN fed and intermediate_pki_path (#17850)
* Allow service identity tokens the ability to read jwt-providers (#17893)
* Allow service identity tokens the ability to read jwt-providers
* more tests
* service_prefix tests
* Update docs (#17476)
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Add emit_tags_as_labels to envoy bootstrap config when using Consul Telemetry Collector (#17888)
* Fix command from kg to kubectl get (#17903)
* Create and update release notes for 1.16 and 1.2 (#17895)
* update release notes for 1.16 and 1.2
* update latest consul core release
* Propose new changes to APIgw upgrade instructions (#17693)
* Propose new changes to APIgw upgrade instructions
* fix build error
* update callouts to render correctly
* Add hideClipboard to log messages
* Added clarification around consul k8s and crds
* Add workflow to verify linux release packages (#17904)
* adding docker files to verify linux packages.
* add verifr-release-linux.yml
* updating name
* pass inputs directly into jobs
* add other linux package platforms
* remove on push
* fix TARGETARCH on debian and ubuntu so it can check arm64 and amd64
* fixing amazon to use the continue line
* add ubuntu i386
* fix comment lines
* working
* remove commented out workflow jobs
* Apply suggestions from code review
Co-authored-by: Nathan Coleman <nathan.coleman@hashicorp.com>
* update fedora and ubuntu to use latest tag
---------
Co-authored-by: Nathan Coleman <nathan.coleman@hashicorp.com>
* Reference hashicorp/consul instead of consul for Docker image (#17914)
* Reference hashicorp/consul instead of consul for Docker image
* Update Make targets that pull consul directly
* Update Consul K8s Upgrade Doc Updates (#17921)
Updating upgrade procedures to encompass expected errors during upgrade process from v1.13.x to v1.14.x.
* Update sameness-group.mdx (#17915)
* Update create-sameness-groups.mdx (#17927)
* deps: coredns v1.10.1 (#17912)
* Ensure RSA keys are at least 2048 bits in length (#17911)
* Ensure RSA keys are at least 2048 bits in length
* Add changelog
* update key length check for FIPS compliance
* Fix no new variables error and failing to return when error exists from
validating
* clean up code for better readability
* actually return value
* tlsutil: Fix check TLS configuration (#17481)
* tlsutil: Fix check TLS configuration
* Rewording docs.
* Update website/content/docs/services/configuration/checks-configuration-reference.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Fix typos and add changelog entry.
---------
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* docs: Deprecations for connect-native SDK and specific connect native APIs (#17937)
* Update v1_16_x.mdx
* Update connect native golang page
---------
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Revert "Add workflow to verify linux release packages (#17904)" (#17942)
This reverts commit 3368f14fab500ebe9f6aeab5631dd1d5f5a453e5.
* Fixes Secondary ConnectCA update (#17846)
This fixes a bug that was identified which resulted in subsequent
ConnectCA configuration update not to persist in the cluster.
* fixing typo in link to jwt-validations-with-intentions doc (#17955)
* Fix streaming backend link (#17958)
* Fix streaming backend link
* Update health.mdx
* Dynamically create jwks clusters for jwt-providers (#17944)
* website: remove deprecated agent rpc docs (#17962)
* Fix missing BalanceOutboundConnections in v2 catalog. (#17964)
* feature - [NET - 4005] - [Supportability] Reloadable Configuration - enable_debug (#17565)
* # This is a combination of 9 commits.
# This is the 1st commit message:
init without tests
# This is the commit message #2:
change log
# This is the commit message #3:
fix tests
# This is the commit message #4:
fix tests
# This is the commit message #5:
added tests
# This is the commit message #6:
change log breaking change
# This is the commit message #7:
removed breaking change
# This is the commit message #8:
fix test
# This is the commit message #9:
keeping the test behaviour same
* # This is a combination of 12 commits.
# This is the 1st commit message:
init without tests
# This is the commit message #2:
change log
# This is the commit message #3:
fix tests
# This is the commit message #4:
fix tests
# This is the commit message #5:
added tests
# This is the commit message #6:
change log breaking change
# This is the commit message #7:
removed breaking change
# This is the commit message #8:
fix test
# This is the commit message #9:
keeping the test behaviour same
# This is the commit message #10:
made enable debug atomic bool
# This is the commit message #11:
fix lint
# This is the commit message #12:
fix test true enable debug
* parent 10f500e895d92cc3691ade7b74a33db755d22039
author absolutelightning <ashesh.vidyut@hashicorp.com> 1687352587 +0530
committer absolutelightning <ashesh.vidyut@hashicorp.com> 1687352592 +0530
init without tests
change log
fix tests
fix tests
added tests
change log breaking change
removed breaking change
fix test
keeping the test behaviour same
made enable debug atomic bool
fix lint
fix test true enable debug
using enable debug in agent as atomic bool
test fixes
fix tests
fix tests
added update on correct locaiton
fix tests
fix reloadable config enable debug
fix tests
fix init and acl 403
* revert commit
* Fix formatting codeblocks on APIgw docs (#17970)
* fix formatting codeblocks
* remove unnecessary indents
* Remove POC code (#17974)
* update doc (#17910)
* update doc
* update link
* Remove duplicate and unused newDecodeConfigEntry func (#17979)
* docs: samenessGroup YAML examples (#17984)
* configuration entry syntax
* Example config
* Add changelog entry for 1.16.0 (#17987)
* Fix typo (#17198)
servcies => services
* Expose JWKS cluster config through JWTProviderConfigEntry (#17978)
* Expose JWKS cluster config through JWTProviderConfigEntry
* fix typos, rename trustedCa to trustedCA
* Integration test for ext-authz Envoy extension (#17980)
* Fix incorrect protocol for transparent proxy upstreams. (#17894)
This PR fixes a bug that was introduced in:
https://github.com/hashicorp/consul/pull/16021
A user setting a protocol in proxy-defaults would cause tproxy implicit
upstreams to not honor the upstream service's protocol set in its
`ServiceDefaults.Protocol` field, and would instead always use the
proxy-defaults value.
Due to the fact that upstreams configured with "tcp" can successfully contact
upstream "http" services, this issue was not recognized until recently (a
proxy-defaults with "tcp" and a listening service with "http" would make
successful requests, but not the opposite).
As a temporary work-around, users experiencing this issue can explicitly set
the protocol on the `ServiceDefaults.UpstreamConfig.Overrides`, which should
take precedence.
The fix in this PR removes the proxy-defaults protocol from the wildcard
upstream that tproxy uses to configure implicit upstreams. When the protocol
was included, it would always overwrite the value during discovery chain
compilation, which was not correct. The discovery chain compiler also consumes
proxy defaults to determine the protocol, so simply excluding it from the
wildcard upstream config map resolves the issue.
* feat: include nodes count in operator usage endpoint and cli command (#17939)
* feat: update operator usage api endpoint to include nodes count
* feat: update operator usange cli command to includes nodes count
* [OSS] Improve Gateway Test Coverage of Catalog Health (#18011)
* fix(cli): remove failing check from 'connect envoy' registration for api gateway
* test(integration): add tests to check catalog statsus of gateways on startup
* remove extra sleep comment
* Update test/integration/consul-container/libs/assert/service.go
* changelog
* Fixes Traffic rate limitting docs (#17997)
* Fix removed service-to-service peering links (#17221)
* docs: fix removed service-to-service peering links
* docs: extend peering-via-mesh-gateways intro (thanks @trujillo-adam)
---------
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* docs: Sameness "beta" warning (#18017)
* Warning updates
* .x
* updated typo in tab heading (#18022)
* updated typo in tab heading
* updated tab group typo, too
* Document that DNS lookups can target cluster peers (#17990)
Static DNS lookups, in addition to explicitly targeting a datacenter,
can target a cluster peer. This was added in 95dc0c7b301b70a6b955a8b7c9737c9b86f03df6 but didn't make the documentation.
The driving function for the change is `parseLocality` here: https://github.com/hashicorp/consul/blob/0b1299c28d8127129d61310ee4280055298438e0/agent/dns_oss.go#L25
The biggest change in this is to adjust the standard lookup syntax to tie
`.<datacenter>` to `.dc` as required-together, and to append in the similar `.<cluster-peer>.peer` optional argument, both to A record and SRV record lookups.
Co-authored-by: David Yu <dyu@hashicorp.com>
* Add first integration test for jwt auth with intention (#18005)
* fix stand-in text for name field (#18030)
* removed sameness conf entry from failover nav (#18033)
* docs - add service sync annotations and k8s service weight annotation (#18032)
* Docs for https://github.com/hashicorp/consul-k8s/pull/2293
* remove versions for enterprise features since they are old
---------
Co-authored-by: Tu Nguyen <im2nguyen@users.noreply.github.com>
* docs - add jobs use case for service mesh k8s (#18037)
* docs - add jobs use case for service mesh k8s
* add code blocks
* address feedback (#18045)
* Add verify server hostname to tls default (#17155)
* [OSS] Fix initial_fetch_timeout to wait for all xDS resources (#18024)
* fix(connect): set initial_fetch_time to wait indefinitely
* changelog
* PR feedback 1
* ui: fix typos for peer service imports (#17999)
* test: fix FIPS inline cert test message (#18076)
* Fix a couple typos in Agent Telemetry Metrics docs (#18080)
* Fix metrics docs
* Add changelog
Signed-off-by: josh <josh.timmons@hashicorp.com>
---------
Signed-off-by: josh <josh.timmons@hashicorp.com>
* docs updates - cluster peering and virtual services (#18069)
* Update route-to-virtual-services.mdx
* Update establish-peering.mdx
* Update service-mesh-compare.mdx (#17279)
grammar change
* Update helm docs on main (#18085)
* ci: use gotestsum v1.10.1 [NET-4042] (#18088)
* Docs: Update proxy lifecycle annotations and consul-dataplane flags (#18075)
* Update proxy lifecycle annotations and consul-dataplane flags
* Pass configured role name to Vault for AWS auth in Connect CA (#17885)
* Docs for dataplane upgrade on k8s (#18051)
* Docs for dataplane upgrade on k8s
---------
Co-authored-by: David Yu <dyu@hashicorp.com>
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* docs - update upgrade index page to not recommend consul leave. (#18100)
* Displays Consul version of each nodes in UI nodes section (#17754)
* update UINodes and UINodeInfo response with consul-version info added as NodeMeta, fetched from serf members
* update test cases TestUINodes, TestUINodeInfo
* added nil check for map
* add consul-version in local agent node metadata
* get consul version from serf member and add this as node meta in catalog register request
* updated ui mock response to include consul versions as node meta
* updated ui trans and added version as query param to node list route
* updates in ui templates to display consul version with filter and sorts
* updates in ui - model class, serializers,comparators,predicates for consul version feature
* added change log for Consul Version Feature
* updated to get version from consul service, if for some reason not available from serf
* updated changelog text
* updated dependent testcases
* multiselection version filter
* Update agent/consul/state/catalog.go
comments updated
Co-authored-by: Jared Kirschner <85913323+jkirschner-hashicorp@users.noreply.github.com>
---------
Co-authored-by: Jared Kirschner <85913323+jkirschner-hashicorp@users.noreply.github.com>
* api gw 1.16 updates (#18081)
* api gw 1.16 updates
* Apply suggestions from code review
Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com>
* update CodeBlockConfig filename
* Apply suggestions from code review
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com>
* remove non-standard intentions page
* Update website/content/docs/api-gateway/configuration/index.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
---------
Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com>
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* [NET-4103] ci: build s390x (#18067)
* ci: build s390x
* ci: test s390x
* ci: dev build s390x
* no GOOS
* ent only
* build: publish s390x
* fix syntax error
* fix syntax error again
* fix syntax error again x2
* test branch
* Move s390x conditionals to step level
* remove test branch
---------
Co-authored-by: emilymianeil <eneil@hashicorp.com>
* :ermahgerd "Sevice Mesh" -> "Service Mesh" (#18116)
Just a typo in the docs.
* Split pbmesh.UpstreamsConfiguration as a resource out of pbmesh.Upstreams (#17991)
Configuration that previously was inlined into the Upstreams resource
applies to both explicit and implicit upstreams and so it makes sense to
split it out into its own resource.
It also has other minor changes:
- Renames `proxy.proto` proxy_configuration.proto`
- Changes the type of `Upstream.destination_ref` from `pbresource.ID` to
`pbresource.Reference`
- Adds comments to fields that didn't have them
* [NET-4895] ci - api tests and consul container tests error because of dependency bugs with go 1.20.6. Pin go to 1.20.5. (#18124)
### Description
The following jobs started failing when go 1.20.6 was released:
- `go-test-api-1-19`
- `go-test-api-1-20`
- `compatibility-integration-tests`
- `upgrade-integration-tests`
`compatibility-integration-tests` and `compatibility-integration-tests`
to this testcontainers issue:
https://github.com/testcontainers/testcontainers-go/issues/1359. This
issue calls for testcontainers to release a new version when one of
their dependencies is fixed. When that is done, we will unpin the go
versions in `compatibility-integration-tests` and
`compatibility-integration-tests`.
### Testing & Reproduction steps
See these jobs broken in CI and then see them work with this PR.
---------
Co-authored-by: Chris Thain <32781396+cthain@users.noreply.github.com>
* Add ingress gateway deprecation notices to docs (#18102)
### Description
This adds notices, that ingress gateway is deprecated, to several places
in the product docs where ingress gateway is the topic.
### Testing & Reproduction steps
Tested with a local copy of the website.
### Links
Deprecation of ingress gateway was announced in the Release Notes for
Consul 1.16 and Consul-K8s 1.2. See:
[https://developer.hashicorp.com/consul/docs/release-notes/consul/v1_16_x#what-s-deprecated](https://developer.hashicorp.com/consul/docs/release-notes/consul/v1_16_x#what-s-deprecated
)
[https://developer.hashicorp.com/consul/docs/release-notes/consul-k8s/v1_2_x#what-s-deprecated](https://developer.hashicorp.com/consul/docs/release-notes/consul-k8s/v1_2_x#what-s-deprecated)
### PR Checklist
* [N/A] updated test coverage
* [X] external facing docs updated
* [X] appropriate backport labels added
* [X] not a security concern
---------
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Add docs for jwt cluster configuration (#18004)
### Description
<!-- Please describe why you're making this change, in plain English.
-->
- Add jwt-provider docs for jwks cluster configuration. The
configuration was added here:
https://github.com/hashicorp/consul/pull/17978
* Docs: fix unmatched bracket for health checks page (#18134)
* NET-4657/add resource service client (#18053)
### Description
<!-- Please describe why you're making this change, in plain English.
-->
Dan had already started on this
[task](https://github.com/hashicorp/consul/pull/17849) which is needed
to start building the HTTP APIs. This just needed some cleanup to get it
ready for review.
Overview:
- Rename `internalResourceServiceClient` to
`insecureResourceServiceClient` for name consistency
- Configure a `secureResourceServiceClient` with auth enabled
### PR Checklist
* [ ] ~updated test coverage~
* [ ] ~external facing docs updated~
* [x] appropriate backport labels added
* [ ] ~not a security concern~
* Fix bug with Vault CA provider (#18112)
Updating RootPKIPath but not IntermediatePKIPath would not update
leaf signing certs with the new root. Unsure if this happens in practice
but manual testing showed it is a bug that would break mesh and agent
connections once the old root is pruned.
* [NET-4897] net/http host header is now verified and request.host that contains socked now error (#18129)
### Description
This is related to https://github.com/hashicorp/consul/pull/18124 where
we pinned the go versions in CI to 1.20.5 and 1.19.10.
go 1.20.6 and 1.19.11 now validate request host headers for validity,
including the hostname cannot be prefixed with slashes.
For local communications (npipe://, unix://), the hostname is not used,
but we need valid and meaningful hostname. Prior versions go Go would
clean the host header, and strip slashes in the process, but go1.20.6
and go1.19.11 no longer do, and reject the host header. Around the
community we are seeing that others are intercepting the req.host and if
it starts with a slash or ends with .sock, they changing the host to
localhost or another dummy value.
[client: define a "dummy" hostname to use for local connections by
thaJeztah · Pull Request #45942 ·
moby/moby](https://github.com/moby/moby/pull/45942)
### Testing & Reproduction steps
Check CI tests.
### Links
* [ ] updated test coverage
* [ ] external facing docs updated
* [ ] appropriate backport labels added
* [ ] not a security concern
* add a conditional around setting LANFilter.AllSegments to make sure it is valid (#18139)
### Description
This is to correct a code problem because this assumes all segments, but
when you get to Enterprise, you can be in partition that is not the
default partition, in which case specifying all segments does not
validate and fails. This is to correct the setting of this filter with
`AllSegments` to `true` to only occur when in the the `default`
partition.
### Testing & Reproduction steps
<!--
* In the case of bugs, describe how to replicate
* If any manual tests were done, document the steps and the conditions
to replicate
* Call out any important/ relevant unit tests, e2e tests or integration
tests you have added or are adding
-->
### Links
<!--
Include any links here that might be helpful for people reviewing your
PR (Tickets, GH issues, API docs, external benchmarks, tools docs, etc).
If there are none, feel free to delete this section.
Please be mindful not to leak any customer or confidential information.
HashiCorp employees may want to use our internal URL shortener to
obfuscate links.
-->
### PR Checklist
* [ ] updated test coverage
* [ ] external facing docs updated
* [ ] appropriate backport labels added
* [ ] not a security concern
* chore: bump upgrade integrations tests to 1.15, 116 [NET-4743] (#18130)
* re org resource type registry (#18133)
* fix: update delegateMock used in ENT (#18149)
### Description
<!-- Please describe why you're making this change, in plain English.
-->
The mock is used in `http_ent_test` file which caused lint failures. For
OSS->ENT parity adding the same change here.
### Links
<!--
Include any links here that might be helpful for people reviewing your
PR (Tickets, GH issues, API docs, external benchmarks, tools docs, etc).
If there are none, feel free to delete this section.
Please be mindful not to leak any customer or confidential information.
HashiCorp employees may want to use our internal URL shortener to
obfuscate links.
-->
Identified in OSS->ENT [merge
PR](https://github.com/hashicorp/consul-enterprise/pull/6328)
### PR Checklist
* [ ] ~updated test coverage~
* [ ] ~external facing docs updated~
* [x] appropriate backport labels added
* [ ] ~not a security concern~
* Use JWT-auth filter in metadata mode & Delegate validation to RBAC filter (#18062)
### Description
<!-- Please describe why you're making this change, in plain English.
-->
- Currently the jwt-auth filter doesn't take into account the service
identity when validating jwt-auth, it only takes into account the path
and jwt provider during validation. This causes issues when multiple
source intentions restrict access to an endpoint with different JWT
providers.
- To fix these issues, rather than use the JWT auth filter for
validation, we use it in metadata mode and allow it to forward the
successful validated JWT token payload to the RBAC filter which will
make the decisions.
This PR ensures requests with and without JWT tokens successfully go
through the jwt-authn filter. The filter however only forwards the data
for successful/valid tokens. On the RBAC filter level, we check the
payload for claims and token issuer + existing rbac rules.
### Testing & Reproduction steps
<!--
* In the case of bugs, describe how to replicate
* If any manual tests were done, document the steps and the conditions
to replicate
* Call out any important/ relevant unit tests, e2e tests or integration
tests you have added or are adding
-->
- This test covers a multi level jwt requirements (requirements at top
level and permissions level). It also assumes you have envoy running,
you have a redis and a sidecar proxy service registered, and have a way
to generate jwks with jwt. I mostly use:
https://www.scottbrady91.com/tools/jwt for this.
- first write your proxy defaults
```
Kind = "proxy-defaults"
name = "global"
config {
protocol = "http"
}
```
- Create two providers
```
Kind = "jwt-provider"
Name = "auth0"
Issuer = "https://ronald.local"
JSONWebKeySet = {
Local = {
JWKS = "eyJrZXlzIjog....."
}
}
```
```
Kind = "jwt-provider"
Name = "okta"
Issuer = "https://ronald.local"
JSONWebKeySet = {
Local = {
JWKS = "eyJrZXlzIjogW3...."
}
}
```
- add a service intention
```
Kind = "service-intentions"
Name = "redis"
JWT = {
Providers = [
{
Name = "okta"
},
]
}
Sources = [
{
Name = "*"
Permissions = [{
Action = "allow"
HTTP = {
PathPrefix = "/workspace"
}
JWT = {
Providers = [
{
Name = "okta"
VerifyClaims = [
{
Path = ["aud"]
Value = "my_client_app"
},
{
Path = ["sub"]
Value = "5be86359073c434bad2da3932222dabe"
}
]
},
]
}
},
{
Action = "allow"
HTTP = {
PathPrefix = "/"
}
JWT = {
Providers = [
{
Name = "auth0"
},
]
}
}]
}
]
```
- generate 3 jwt tokens: 1 from auth0 jwks, 1 from okta jwks with
different claims than `/workspace` expects and 1 with correct claims
- connect to your envoy (change service and address as needed) to view
logs and potential errors. You can add: `-- --log-level debug` to see
what data is being forwarded
```
consul connect envoy -sidecar-for redis1 -grpc-addr 127.0.0.1:8502
```
- Make the following requests:
```
curl -s -H "Authorization: Bearer $Auth0_TOKEN" --insecure --cert leaf.cert --key leaf.key --cacert connect-ca.pem https://localhost:20000/workspace -v
RBAC filter denied
curl -s -H "Authorization: Bearer $Okta_TOKEN_with_wrong_claims" --insecure --cert leaf.cert --key leaf.key --cacert connect-ca.pem https://localhost:20000/workspace -v
RBAC filter denied
curl -s -H "Authorization: Bearer $Okta_TOKEN_with_correct_claims" --insecure --cert leaf.cert --key leaf.key --cacert connect-ca.pem https://localhost:20000/workspace -v
Successful request
```
### TODO
* [x] Update test coverage
* [ ] update integration tests (follow-up PR)
* [x] appropriate backport labels added
* Support Consul Connect Envoy Command on Windows (#17694)
### Description
Add support for consul connect envoy command on windows. This PR fixes
the comments of PR - https://github.com/hashicorp/consul/pull/15114
### Testing
* Built consul.exe from this branch on windows and hosted here - [AWS
S3](https://asheshvidyut-bucket.s3.ap-southeast-2.amazonaws.com/consul.zip)
* Updated the
[tutorial](https://developer.hashicorp.com/consul/tutorials/developer-mesh/consul-windows-workloads)
and changed the `consul_url.default` value to [AWS
S3](https://asheshvidyut-bucket.s3.ap-southeast-2.amazonaws.com/consul.zip)
* Followed the steps in the tutorial and verified that everything is
working as described.
### PR Checklist
* [x] updated test coverage
* [ ] external facing docs updated
* [x] appropriate backport labels added
* [x] not a security concern
---------
Co-authored-by: Franco Bruno Lavayen <cocolavayen@gmail.com>
Co-authored-by: Jose Ignacio Lorenzo <74208929+joselo85@users.noreply.github.com>
Co-authored-by: Jose Ignacio Lorenzo <joseignaciolorenzo85@gmail.com>
Co-authored-by: Dhia Ayachi <dhia@hashicorp.com>
* Change docs to say 168h instead of 7d for server_rejoin_age_max (#18154)
### Description
Addresses
https://github.com/hashicorp/consul/pull/17171#issuecomment-1636930705
* [OSS] test: improve xDS listener code coverage (#18138)
test: improve xDS listener code coverage
* Re-order expected/actual for assertContainerState in consul container tests (#18157)
Re-order expected/actual, consul container tests
* group and document make file (#17943)
* group and document make file
* Add `testing/deployer` (neé `consul-topology`) [NET-4610] (#17823)
Co-authored-by: R.B. Boyer <4903+rboyer@users.noreply.github.com>
Co-authored-by: R.B. Boyer <rb@hashicorp.com>
Co-authored-by: Freddy <freddygv@users.noreply.github.com>
* [NET-4792] Add integrations tests for jwt-auth (#18169)
* Add FIPS reference to consul enterprise docs (#18028)
* Add FIPS reference to consul enterprise docs
* Update website/content/docs/enterprise/index.mdx
Co-authored-by: David Yu <dyu@hashicorp.com>
* remove support for ecs client (fips)
---------
Co-authored-by: David Yu <dyu@hashicorp.com>
* add peering_commontopo tests [NET-3700] (#17951)
Co-authored-by: R.B. Boyer <4903+rboyer@users.noreply.github.com>
Co-authored-by: R.B. Boyer <rb@hashicorp.com>
Co-authored-by: Freddy <freddygv@users.noreply.github.com>
Co-authored-by: NiniOak <anita.akaeze@hashicorp.com>
* docs - remove Sentinel from enterprise features list (#18176)
* Update index.mdx
* Update kv.mdx
* Update docs-nav-data.json
* delete sentinel.mdx
* Update redirects.js
---------
Co-authored-by: Tu Nguyen <im2nguyen@users.noreply.github.com>
* [NET-4865] Bump golang.org/x/net to 0.12.0 (#18186)
Bump golang.org/x/net to 0.12.0
While not necessary to directly address CVE-2023-29406 (which should be
handled by using a patched version of Go when building), an
accompanying change to HTTP/2 error handling does impact agent code.
See https://go-review.googlesource.com/c/net/+/506995 for the HTTP/2
change.
Bump this dependency across our submodules as well for the sake of
potential indirect consumers of `x/net/http`.
* Call resource mutate hook before validate hook (NET-4907) (#18178)
* [NET-4865] security: Update Go version to 1.20.6 (#18190)
Update Go version to 1.20.6
This resolves [CVE-2023-29406]
(https://nvd.nist.gov/vuln/detail/CVE-2023-29406) for uses of the
`net/http` standard library.
Note that until the follow-up to #18124 is done, the version of Go used
in those impacted tests will need to remain on 1.20.5.
* Improve XDS test coverage: JWT auth edition (#18183)
* Improve XDS test coverage: JWT auth edition
more tests
* test: xds coverage for jwt listeners
---------
Co-authored-by: DanStough <dan.stough@hashicorp.com>
* update readme.md (#18191)
u[date readme.md
* Update submodules to latest following 1.16.0 (#18197)
Align all our internal use of submodules on the latest versions.
* SEC-090: Automated trusted workflow pinning (2023-07-18) (#18174)
Result of tsccr-helper -log-level=info -pin-all-workflows .
Co-authored-by: hashicorp-tsccr[bot] <hashicorp-tsccr[bot]@users.noreply.github.com>
* Fix Backport Assistant PR commenting (#18200)
* Fix Backport Assistant failure PR commenting
For general comments on a PR, it looks like you have to use the `/issue`
endpoint rather than `/pulls`, which requires commit/other
review-specific target details.
This matches the endpoint used in `backport-reminder.yml`.
* Remove Backport Reminder workflow
This is noisy (even when adding multiple labels, individual comments per
label are generated), and likely no longer needed: we haven't had this
work in a long time due to an expired GH token, and we now have better
automation for backport PR assignment.
* resource: Pass resource to Write ACL hook instead of just resource Id [NET-4908] (#18192)
* Explicitly enable WebSocket upgrades (#18150)
This PR explicitly enables WebSocket upgrades in Envoy's UpgradeConfig for all
proxy types. (API Gateway, Ingress, and Sidecar.)
Fixes #8283
* docs: fix the description of client rpc (#18206)
* NET-4804: Add dashboard for monitoring consul-k8s (#18208)
* [OSS] Improve xDS Code Coverage - Clusters (#18165)
test: improve xDS cluster code coverage
* NET-4222 take config file consul container (#18218)
Net 4222 take config file consul container
* Envoy Integration Test Windows (#18007)
* [CONSUL-395] Update check_hostport and Usage (#40)
* [CONSUL-397] Copy envoy binary from Image (#41)
* [CONSUL-382] Support openssl in unique test dockerfile (#43)
* [CONSUL-405] Add bats to single container (#44)
* [CONSUL-414] Run Prometheus Test Cases and Validate Changes (#46)
* [CONSUL-410] Run Jaeger in Single container (#45)
* [CONSUL-412] Run test-sds-server in single container (#48)
* [CONSUL-408] Clean containers (#47)
* [CONSUL-384] Rebase and sync fork (#50)
* [CONSUL-415] Create Scenarios Troubleshooting Docs (#49)
* [CONSUL-417] Update Docs Single Container (#51)
* [CONSUL-428] Add Socat to single container (#54)
* [CONSUL-424] Replace pkill in kill_envoy function (#52)
* [CONSUL-434] Modify Docker run functions in Helper script (#53)
* [CONSUL-435] Replace docker run in set_ttl_check_state & wait_for_agent_service_register functions (#55)
* [CONSUL-438] Add netcat (nc) in the Single container Dockerfile (#56)
* [CONSUL-429] Replace Docker run with Docker exec (#57)
* [CONSUL-436] Curl timeout and run tests (#58)
* [CONSUL-443] Create dogstatsd Function (#59)
* [CONSUL-431] Update Docs Netcat (#60)
* [CONSUL-439] Parse nc Command in function (#61)
* [CONSUL-463] Review curl Exec and get_ca_root Func (#63)
* [CONSUL-453] Docker hostname in Helper functions (#64)
* [CONSUL-461] Test wipe volumes without extra cont (#66)
* [CONSUL-454] Check ports in the Server and Agent containers (#65)
* [CONSUL-441] Update windows dockerfile with version (#62)
* [CONSUL-466] Review case-grpc Failing Test (#67)
* [CONSUL-494] Review case-cfg-resolver-svc-failover (#68)
* [CONSUL-496] Replace docker_wget & docker_curl (#69)
* [CONSUL-499] Cleanup Scripts - Remove nanoserver (#70)
* [CONSUL-500] Update Troubleshooting Docs (#72)
* [CONSUL-502] Pull & Tag Envoy Windows Image (#73)
* [CONSUL-504] Replace docker run in docker_consul (#76)
* [CONSUL-505] Change admin_bind
* [CONSUL-399] Update envoy to 1.23.1 (#78)
* [CONSUL-510] Support case-wanfed-gw on Windows (#79)
* [CONSUL-506] Update troubleshooting Documentation (#80)
* [CONSUL-512] Review debug_dump_volumes Function (#81)
* [CONSUL-514] Add zipkin to Docker Image (#82)
* [CONSUL-515] Update Documentation (#83)
* [CONSUL-529] Support case-consul-exec (#86)
* [CONSUL-530] Update Documentation (#87)
* [CONSUL-530] Update default consul version 1.13.3
* [CONSUL-539] Cleanup (#91)
* [CONSUL-546] Scripts Clean-up (#92)
* [CONSUL-491] Support admin_access_log_path value for Windows (#71)
* [CONSUL-519] Implement mkfifo Alternative (#84)
* [CONSUL-542] Create OS Specific Files for Envoy Package (#88)
* [CONSUL-543] Create exec_supported.go (#89)
* [CONSUL-544] Test and Build Changes (#90)
* Implement os.DevNull
* using mmap instead of disk files
* fix import in exec-unix
* fix nmap open too many arguemtn
* go fmt on file
* changelog file
* fix go mod
* Update .changelog/17694.txt
Co-authored-by: Dhia Ayachi <dhia@hashicorp.com>
* different mmap library
* fix bootstrap json
* some fixes
* chocolatey version fix and image fix
* using different library
* fix Map funciton call
* fix mmap call
* fix tcp dump
* fix tcp dump
* windows tcp dump
* Fix docker run
* fix tests
* fix go mod
* fix version 16.0
* fix version
* fix version dev
* sleep to debug
* fix sleep
* fix permission issue
* fix permission issue
* fix permission issue
* fix command
* fix command
* fix funciton
* fix assert config entry status command not found
* fix command not found assert_cert_has_cn
* fix command not found assert_upstream_missing
* fix command not found assert_upstream_missing_once
* fix command not found get_upstream_endpoint
* fix command not found get_envoy_public_listener_once
* fix command not found
* fix test cases
* windows integration test workflow github
* made code similar to unix using npipe
* fix go.mod
* fix dialing of npipe
* dont wait
* check size of written json
* fix undefined n
* running
* fix dep
* fix syntax error
* fix workflow file
* windows runner
* fix runner
* fix from json
* fix runs on
* merge connect envoy
* fix cin path
* build
* fix file name
* fix file name
* fix dev build
* remove unwanted code
* fix upload
* fix bin name
* fix path
* checkout current branch
* fix path
* fix tests
* fix shell bash for windows sh files
* fix permission of run-test.sh
* removed docker dev
* added shell bash for tests
* fix tag
* fix win=true
* fix cd
* added dev
* fix variable undefined
* removed failing tests
* fix tcp dump image
* fix curl
* fix curl
* tcp dump path
* fix tcpdump path
* fix curl
* fix curl install
* stop removing intermediate containers
* fix tcpdump docker image
* revert -rm
* --rm=false
* makeing docker image before
* fix tcpdump
* removed case consul exec
* removed terminating gateway simple
* comment case wasm
* removed data dog
* comment out upload coverage
* uncomment case-consul-exec
* comment case consul exec
* if always
* logs
* using consul 1.17.0
* fix quotes
* revert quotes
* redirect to dev null
* Revert version
* revert consul connect
* fix version
* removed envoy connect
* not using function
* change log
* docker logs
* fix logs
* restructure bad authz
* rmeoved dev null
* output
* fix file descriptor
* fix cacert
* fix cacert
* fix ca cert
* cacert does not work in windows curl
* fix func
* removed docker logs
* added sleep
* fix tls
* commented case-consul-exec
* removed echo
* retry docker consul
* fix upload bin
* uncomment consul exec
* copying consul.exe to docker image
* copy fix
* fix paths
* fix path
* github workspace path
* latest version
* Revert "latest version"
This reverts commit 5a7d7b82d9e7553bcb01b02557ec8969f9deba1d.
* commented consul exec
* added ssl revoke best effort
* revert best effort
* removed unused files
* rename var name and change dir
* windows runner
* permission
* needs setup fix
* swtich to github runner
* fix file path
* fix path
* fix path
* fix path
* fix path
* fix path
* fix build paths
* fix tag
* nightly runs
* added matrix in github workflow, renamed files
* fix job
* fix matrix
* removed brackes
* from json
* without using job matrix
* fix quotes
* revert job matrix
* fix workflow
* fix comment
* added comment
* nightly runs
* removed datadog ci as it is already measured in linux one
* running test
* Revert "running test"
This reverts commit 7013d15a23732179d18ec5d17336e16b26fab5d4.
* pr comment fixes
* running test now
* running subset of test
* running subset of test
* job matrix
* shell bash
* removed bash shell
* linux machine for job matrix
* fix output
* added cat to debug
* using ubuntu latest
* fix job matrix
* fix win true
* fix go test
* revert job matrix
---------
Co-authored-by: Jose Ignacio Lorenzo <74208929+joselo85@users.noreply.github.com>
Co-authored-by: Franco Bruno Lavayen <cocolavayen@gmail.com>
Co-authored-by: Ivan K Berlot <ivanberlot@gmail.com>
Co-authored-by: Ezequiel Fernández Ponce <20102608+ezfepo@users.noreply.github.com>
Co-authored-by: joselo85 <joseignaciolorenzo85@gmail.com>
Co-authored-by: Ezequiel Fernández Ponce <ezequiel.fernandez@southworks.com>
Co-authored-by: Dhia Ayachi <dhia@hashicorp.com>
* fix typos and update ecs compat table (#18215)
* fix typos and update ecs compat table
* real info for the ecs compat matrix table
* Update website/content/docs/ecs/compatibility.mdx
Co-authored-by: Chris Thain <32781396+cthain@users.noreply.github.com>
---------
Co-authored-by: Chris Thain <32781396+cthain@users.noreply.github.com>
* [OSS] proxystate: add proxystate protos (#18216)
* proxystate: add proxystate protos to pbmesh and resolve imports and conflicts between message names
* ci: don't verify s390x (#18224)
* [CC-5718] Remove HCP token requirement during bootstrap (#18140)
* [CC-5718] Remove HCP token requirement during bootstrap
* Re-add error for loading HCP management token
* Remove old comment
* Add changelog entry
* Remove extra validation line
* Apply suggestions from code review
Co-authored-by: lornasong <lornasong@users.noreply.github.com>
---------
Co-authored-by: lornasong <lornasong@users.noreply.github.com>
* [NET-4122] Doc guidance for federation with externalServers (#18207)
Doc guidance for federation with externalServers
Add guidance for proper configuration when joining to a secondary
cluster using WAN fed with external servers also enabled.
Also clarify federation requirements and fix formatting for an
unrelated value.
Update both the Helm chart reference (synced from `consul-k8s`, see
hashicorp/consul-k8s#2583) and the docs on using `externalServers`.
* [OSS] Improve xDS Code Coverage - Endpoints and Misc (#18222)
test: improve xDS endpoints code coverage
* Clarify license reporting timing and GDPR compliance (#18237)
Add Alicia's edits to clarify log timing and other details
* Fix Github Workflow File (#18241)
* [CONSUL-382] Support openssl in unique test dockerfile (#43)
* [CONSUL-405] Add bats to single container (#44)
* [CONSUL-414] Run Prometheus Test Cases and Validate Changes (#46)
* [CONSUL-410] Run Jaeger in Single container (#45)
* [CONSUL-412] Run test-sds-server in single container (#48)
* [CONSUL-408] Clean containers (#47)
* [CONSUL-384] Rebase and sync fork (#50)
* [CONSUL-415] Create Scenarios Troubleshooting Docs (#49)
* [CONSUL-417] Update Docs Single Container (#51)
* [CONSUL-428] Add Socat to single container (#54)
* [CONSUL-424] Replace pkill in kill_envoy function (#52)
* [CONSUL-434] Modify Docker run functions in Helper script (#53)
* [CONSUL-435] Replace docker run in set_ttl_check_state & wait_for_agent_service_register functions (#55)
* [CONSUL-438] Add netcat (nc) in the Single container Dockerfile (#56)
* [CONSUL-429] Replace Docker run with Docker exec (#57)
* [CONSUL-436] Curl timeout and run tests (#58)
* [CONSUL-443] Create dogstatsd Function (#59)
* [CONSUL-431] Update Docs Netcat (#60)
* [CONSUL-439] Parse nc Command in function (#61)
* [CONSUL-463] Review curl Exec and get_ca_root Func (#63)
* [CONSUL-453] Docker hostname in Helper functions (#64)
* [CONSUL-461] Test wipe volumes without extra cont (#66)
* [CONSUL-454] Check ports in the Server and Agent containers (#65)
* [CONSUL-441] Update windows dockerfile with version (#62)
* [CONSUL-466] Review case-grpc Failing Test (#67)
* [CONSUL-494] Review case-cfg-resolver-svc-failover (#68)
* [CONSUL-496] Replace docker_wget & docker_curl (#69)
* [CONSUL-499] Cleanup Scripts - Remove nanoserver (#70)
* [CONSUL-500] Update Troubleshooting Docs (#72)
* [CONSUL-502] Pull & Tag Envoy Windows Image (#73)
* [CONSUL-504] Replace docker run in docker_consul (#76)
* [CONSUL-505] Change admin_bind
* [CONSUL-399] Update envoy to 1.23.1 (#78)
* [CONSUL-510] Support case-wanfed-gw on Windows (#79)
* [CONSUL-506] Update troubleshooting Documentation (#80)
* [CONSUL-512] Review debug_dump_volumes Function (#81)
* [CONSUL-514] Add zipkin to Docker Image (#82)
* [CONSUL-515] Update Documentation (#83)
* [CONSUL-529] Support case-consul-exec (#86)
* [CONSUL-530] Update Documentation (#87)
* [CONSUL-530] Update default consul version 1.13.3
* [CONSUL-539] Cleanup (#91)
* [CONSUL-546] Scripts Clean-up (#92)
* [CONSUL-491] Support admin_access_log_path value for Windows (#71)
* [CONSUL-519] Implement mkfifo Alternative (#84)
* [CONSUL-542] Create OS Specific Files for Envoy Package (#88)
* [CONSUL-543] Create exec_supported.go (#89)
* [CONSUL-544] Test and Build Changes (#90)
* Implement os.DevNull
* using mmap instead of disk files
* fix import in exec-unix
* fix nmap open too many arguemtn
* go fmt on file
* changelog file
* fix go mod
* Update .changelog/17694.txt
Co-authored-by: Dhia Ayachi <dhia@hashicorp.com>
* different mmap library
* fix bootstrap json
* some fixes
* chocolatey version fix and image fix
* using different library
* fix Map funciton call
* fix mmap call
* fix tcp dump
* fix tcp dump
* windows tcp dump
* Fix docker run
* fix tests
* fix go mod
* fix version 16.0
* fix version
* fix version dev
* sleep to debug
* fix sleep
* fix permission issue
* fix permission issue
* fix permission issue
* fix command
* fix command
* fix funciton
* fix assert config entry status command not found
* fix command not found assert_cert_has_cn
* fix command not found assert_upstream_missing
* fix command not found assert_upstream_missing_once
* fix command not found get_upstream_endpoint
* fix command not found get_envoy_public_listener_once
* fix command not found
* fix test cases
* windows integration test workflow github
* made code similar to unix using npipe
* fix go.mod
* fix dialing of npipe
* dont wait
* check size of written json
* fix undefined n
* running
* fix dep
* fix syntax error
* fix workflow file
* windows runner
* fix runner
* fix from json
* fix runs on
* merge connect envoy
* fix cin path
* build
* fix file name
* fix file name
* fix dev build
* remove unwanted code
* fix upload
* fix bin name
* fix path
* checkout current branch
* fix path
* fix tests
* fix shell bash for windows sh files
* fix permission of run-test.sh
* removed docker dev
* added shell bash for tests
* fix tag
* fix win=true
* fix cd
* added dev
* fix variable undefined
* removed failing tests
* fix tcp dump image
* fix curl
* fix curl
* tcp dump path
* fix tcpdump path
* fix curl
* fix curl install
* stop removing intermediate containers
* fix tcpdump docker image
* revert -rm
* --rm=false
* makeing docker image before
* fix tcpdump
* removed case consul exec
* removed terminating gateway simple
* comment case wasm
* removed data dog
* comment out upload coverage
* uncomment case-consul-exec
* comment case consul exec
* if always
* logs
* using consul 1.17.0
* fix quotes
* revert quotes
* redirect to dev null
* Revert version
* revert consul connect
* fix version
* removed envoy connect
* not using function
* change log
* docker logs
* fix logs
* restructure bad authz
* rmeoved dev null
* output
* fix file descriptor
* fix cacert
* fix cacert
* fix ca cert
* cacert does not work in windows curl
* fix func
* removed docker logs
* added sleep
* fix tls
* commented case-consul-exec
* removed echo
* retry docker consul
* fix upload bin
* uncomment consul exec
* copying consul.exe to docker image
* copy fix
* fix paths
* fix path
* github workspace path
* latest version
* Revert "latest version"
This reverts commit 5a7d7b82d9e7553bcb01b02557ec8969f9deba1d.
* commented consul exec
* added ssl revoke best effort
* revert best effort
* removed unused files
* rename var name and change dir
* windows runner
* permission
* needs setup fix
* swtich to github runner
* fix file path
* fix path
* fix path
* fix path
* fix path
* fix path
* fix build paths
* fix tag
* nightly runs
* added matrix in github workflow, renamed files
* fix job
* fix matrix
* removed brackes
* from json
* without using job matrix
* fix quotes
* revert job matrix
* fix workflow
* fix comment
* added comment
* nightly runs
* removed datadog ci as it is already measured in linux one
* running test
* Revert "running test"
This reverts commit 7013d15a23732179d18ec5d17336e16b26fab5d4.
* pr comment fixes
* running test now
* running subset of test
* running subset of test
* job matrix
* shell bash
* removed bash shell
* linux machine for job matrix
* fix output
* added cat to debug
* using ubuntu latest
* fix job matrix
* fix win true
* fix go test
* revert job matrix
* Fix tests
---------
Co-authored-by: Ivan K Berlot <ivanberlot@gmail.com>
Co-authored-by: Jose Ignacio Lorenzo <74208929+joselo85@users.noreply.github.com>
Co-authored-by: Franco Bruno Lavayen <cocolavayen@gmail.com>
Co-authored-by: Ezequiel Fernández Ponce <20102608+ezfepo@users.noreply.github.com>
Co-authored-by: joselo85 <joseignaciolorenzo85@gmail.com>
Co-authored-by: Ezequiel Fernández Ponce <ezequiel.fernandez@southworks.com>
Co-authored-by: Dhia Ayachi <dhia@hashicorp.com>
* NET-4996 - filter go-tests and test-integration workflows from running on docs only and ui only changes (#18236)
* Align build arch matrix with enterprise (#18235)
Ensure that OSS remains in sync w/ Enterprise by aligning the format of
arch matrix args for various build jobs.
* Revert "NET-4996 - filter go-tests and test-integration workflows from running on docs only and ui only changes" (#18248)
Revert "NET-4996 - filter go-tests and test-integration workflows from running on docs only and ui only changes (#18236)"
This reverts commit a11dba710e6ce6f172c0fa6c9b61567cc1efffc8.
* resource: Add scope to resource type registration [NET-4976] (#18214)
Enables querying a resource type's registration to determine if a resource is cluster, partition, or partition and namespace scoped.
* Fix some inconsistencies in jwt docs (#18234)
* NET-1825: More new ACL token creation docs (#18063)
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* [CC-5719] Add support for builtin global-read-only policy
* Add changelog
* Add read-only to docs
* Fix some minor issues.
* Change from ReplaceAll to Sprintf
* Change IsValidPolicy name to return an error instead of bool
* Fix PolicyList test
* Fix other tests
* Apply suggestions from code review
Co-authored-by: Paul Glass <pglass@hashicorp.com>
* Fix state store test for policy list.
* Fix naming issues
* Update acl/validation.go
Co-authored-by: Chris Thain <32781396+cthain@users.noreply.github.com>
* backport of commit d63fa5481dc02c6faae7cc2647b4073b3286af1d
* backport of commit 3d099a6ed8ed10b6dc464c466cb1668914db8f08
---------
Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: Dan Bond <danbond@protonmail.com>
Signed-off-by: josh <josh.timmons@hashicorp.com>
Co-authored-by: Michael Zalimeni <michael.zalimeni@hashicorp.com>
Co-authored-by: Ronald <roncodingenthusiast@users.noreply.github.com>
Co-authored-by: Eric Haberkorn <erichaberkorn@gmail.com>
Co-authored-by: Andrew Stucki <andrew.stucki@hashicorp.com>
Co-authored-by: Luke Kysow <1034429+lkysow@users.noreply.github.com>
Co-authored-by: R.B. Boyer <4903+rboyer@users.noreply.github.com>
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com>
Co-authored-by: David Yu <dyu@hashicorp.com>
Co-authored-by: Bryce Kalow <bkalow@hashicorp.com>
Co-authored-by: Paul Glass <pglass@hashicorp.com>
Co-authored-by: Matt Keeler <mkeeler@users.noreply.github.com>
Co-authored-by: Nathan Coleman <nathan.coleman@hashicorp.com>
Co-authored-by: Poonam Jadhav <poonam.jadhav@hashicorp.com>
Co-authored-by: Tu Nguyen <im2nguyen@users.noreply.github.com>
Co-authored-by: Chris Thain <32781396+cthain@users.noreply.github.com>
Co-authored-by: Hariram Sankaran <56744845+ramramhariram@users.noreply.github.com>
Co-authored-by: shanafarkas <105076572+shanafarkas@users.noreply.github.com>
Co-authored-by: Thomas Eckert <teckert@hashicorp.com>
Co-authored-by: Jeff Apple <79924108+Jeff-Apple@users.noreply.github.com>
Co-authored-by: Joshua Timmons <josh.timmons@hashicorp.com>
Co-authored-by: Ashesh Vidyut <134911583+absolutelightning@users.noreply.github.com>
Co-authored-by: Dan Stough <dan.stough@hashicorp.com>
Co-authored-by: Curt Bushko <cbushko@gmail.com>
Co-authored-by: Tobias Birkefeld <t@craxs.de>
Co-authored-by: Jared Kirschner <85913323+jkirschner-hashicorp@users.noreply.github.com>
Co-authored-by: Semir Patel <semir.patel@hashicorp.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: chappie <6537530+chapmanc@users.noreply.github.com>
Co-authored-by: Derek Menteer <105233703+hashi-derek@users.noreply.github.com>
Co-authored-by: John Murret <john.murret@hashicorp.com>
Co-authored-by: Mark Campbell-Vincent <mnmvincent@gmail.com>
Co-authored-by: Daniel Upton <daniel@floppy.co>
Co-authored-by: Steven Zamborsky <97125550+stevenzamborsky@users.noreply.github.com>
Co-authored-by: George Bolo <george.bolo@gmail.com>
Co-authored-by: Chris S. Kim <ckim@hashicorp.com>
Co-authored-by: wangxinyi7 <121973291+wangxinyi7@users.noreply.github.com>
Co-authored-by: cskh <hui.kang@hashicorp.com>
Co-authored-by: V. K <cn007b@gmail.com>
Co-authored-by: Iryna Shustava <ishustava@users.noreply.github.com>
Co-authored-by: Alex Simenduev <shamil.si@gmail.com>
Co-authored-by: Dhia Ayachi <dhia@hashicorp.com>
Co-authored-by: Dan Bond <danbond@protonmail.com>
Co-authored-by: sarahalsmiller <100602640+sarahalsmiller@users.noreply.github.com>
Co-authored-by: Gerard Nguyen <gerard@hashicorp.com>
Co-authored-by: mr-miles <miles.waller@gmail.com>
Co-authored-by: natemollica-dev <57850649+natemollica-nm@users.noreply.github.com>
Co-authored-by: John Maguire <john.maguire@hashicorp.com>
Co-authored-by: Samantha <hello@entropy.cat>
Co-authored-by: Ranjandas <thejranjan@gmail.com>
Co-authored-by: Evan Phoenix <evan@phx.io>
Co-authored-by: Michael Hofer <karras@users.noreply.github.com>
Co-authored-by: J.C. Jones <james.jc.jones@gmail.com>
Co-authored-by: Fulvio <fulviodenza823@gmail.com>
Co-authored-by: Krastin Krastev <krastin@hashicorp.com>
Co-authored-by: david3a <49253132+david3a@users.noreply.github.com>
Co-authored-by: Nick Irvine <115657443+nfi-hashicorp@users.noreply.github.com>
Co-authored-by: Tom Davies <tom@t-davies.com>
Co-authored-by: Vijay <vijayraghav22@gmail.com>
Co-authored-by: Eddie Rowe <74205376+eddie-rowe@users.noreply.github.com>
Co-authored-by: emilymianeil <eneil@hashicorp.com>
Co-authored-by: nv-hashi <80716011+nv-hashi@users.noreply.github.com>
Co-authored-by: Franco Bruno Lavayen <cocolavayen@gmail.com>
Co-authored-by: Jose Ignacio Lorenzo <74208929+joselo85@users.noreply.github.com>
Co-authored-by: Jose Ignacio Lorenzo <joseignaciolorenzo85@gmail.com>
Co-authored-by: R.B. Boyer <rb@hashicorp.com>
Co-authored-by: Freddy <freddygv@users.noreply.github.com>
Co-authored-by: NiniOak <anita.akaeze@hashicorp.com>
Co-authored-by: hashicorp-tsccr[bot] <129506189+hashicorp-tsccr[bot]@users.noreply.github.com>
Co-authored-by: hashicorp-tsccr[bot] <hashicorp-tsccr[bot]@users.noreply.github.com>
Co-authored-by: Blake Covarrubias <blake@covarrubi.as>
Co-authored-by: Ivan K Berlot <ivanberlot@gmail.com>
Co-authored-by: Ezequiel Fernández Ponce <20102608+ezfepo@users.noreply.github.com>
Co-authored-by: Ezequiel Fernández Ponce <ezequiel.fernandez@southworks.com>
Co-authored-by: Nitya Dhanushkodi <nitya@hashicorp.com>
Co-authored-by: Jeremy Jacobson <jjacobson93@users.noreply.github.com>
Co-authored-by: lornasong <lornasong@users.noreply.github.com>
Co-authored-by: Judith Malnick <judith@hashicorp.com>
Co-authored-by: Jeremy Jacobson <jeremy.jacobson@hashicorp.com>
2023-08-01 17:37:13 +00:00
|
|
|
operator = "%[1]s"
|
|
|
|
mesh = "%[1]s"
|
|
|
|
peering = "%[1]s"
|
2018-10-19 16:04:07 +00:00
|
|
|
query_prefix "" {
|
Backport of [CC-5719] Add support for builtin global-read-only policy into release/1.16.x (#18345)
* [OSS] Post Consul 1.16 updates (#17606)
* chore: update dev build to 1.17
* chore(ci): add nightly 1.16 test
Drop the oldest and add the newest running release branch to nightly
builds.
* Add writeAuditRPCEvent to agent_oss (#17607)
* Add writeAuditRPCEvent to agent_oss
* fix the other diffs
* backport change log
* Add Envoy and Consul version constraints to Envoy extensions (#17612)
* [API Gateway] Fix trust domain for external peered services in synthesis code (#17609)
* [API Gateway] Fix trust domain for external peered services in synthesis code
* Add changelog
* backport ent changes to oss (#17614)
* backport ent changes to oss
* Update .changelog/_5669.txt
Co-authored-by: Michael Zalimeni <michael.zalimeni@hashicorp.com>
---------
Co-authored-by: Michael Zalimeni <michael.zalimeni@hashicorp.com>
* Update intentions.mdx (#17619)
Make behaviour of L7 intentions clearer
* enterprise changelog update for audit (#17625)
* Update list of Envoy versions (#17546)
* [API Gateway] Fix rate limiting for API gateways (#17631)
* [API Gateway] Fix rate limiting for API gateways
* Add changelog
* Fix failing unit tests
* Fix operator usage tests for api package
* sort some imports that are wonky between oss and ent (#17637)
* PmTLS and tproxy improvements with failover and L7 traffic mgmt for k8s (#17624)
* porting over changes from enterprise repo to oss
* applied feedback on service mesh for k8s overview
* fixed typo
* removed ent-only build script file
* Apply suggestions from code review
Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com>
* Apply suggestions from code review
Co-authored-by: David Yu <dyu@hashicorp.com>
Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com>
---------
Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com>
Co-authored-by: David Yu <dyu@hashicorp.com>
* Delete check-legacy-links-format.yml (#17647)
* docs: Reference doc updates for permissive mTLS settings (#17371)
* Reference doc updates for permissive mTLS settings
* Document config entry filtering
* Fix minor doc errors (double slashes in link url paths)
---------
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Add generic experiments configuration and use it to enable catalog v2 resources (#17604)
* Add generic experiments configuration and use it to enable catalog v2 resources
* Run formatting with -s as CI will validate that this has been done
* api-gateway: stop adding all header filters to virtual host when generating xDS (#17644)
* Add header filter to api-gateway xDS golden test
* Stop adding all header filters to virtual host when generating xDS for api-gateway
* Regenerate xDS golden file for api-gateway w/ header filter
* fix: add agent info reporting log (#17654)
* Add new Consul 1.16 docs (#17651)
* Merge pull request #5773 from hashicorp/docs/rate-limiting-from-ip-addresses-1.16
updated docs for rate limiting for IP addresses - 1.16
* Merge pull request #5609 from hashicorp/docs/enterprise-utilization-reporting
Add docs for enterprise utilization reporting
* Merge pull request #5734 from hashicorp/docs/envoy-ext-1.16
Docs/envoy ext 1.16
* Merge pull request #5773 from hashicorp/docs/rate-limiting-from-ip-addresses-1.16
updated docs for rate limiting for IP addresses - 1.16
* Merge pull request #5609 from hashicorp/docs/enterprise-utilization-reporting
Add docs for enterprise utilization reporting
* Merge pull request #5734 from hashicorp/docs/envoy-ext-1.16
Docs/envoy ext 1.16
* fix build errors
---------
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Default `ProxyType` for builtin extensions (#17657)
* Post 1.16.0-rc1 updates (#17663)
- Update changelog to include new entries from release
- Update submodule versions to latest published
* Update service-defaults.mdx (#17656)
* docs: Sameness Groups (#17628)
* port from enterprise branch
* Apply suggestions from code review
Co-authored-by: shanafarkas <105076572+shanafarkas@users.noreply.github.com>
* Update website/content/docs/connect/cluster-peering/usage/create-sameness-groups.mdx
* next steps
* Update website/content/docs/connect/cluster-peering/usage/create-sameness-groups.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Update website/content/docs/k8s/connect/cluster-peering/usage/create-sameness-groups.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
---------
Co-authored-by: shanafarkas <105076572+shanafarkas@users.noreply.github.com>
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Remove "BETA" marker from config entries (#17670)
* CAPIgw for K8s installation updates for 1.16 (#17627)
* trimmed CRD step and reqs from installation
* updated tech specs
* Apply suggestions from code review
Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com>
Co-authored-by: Jeff Apple <79924108+Jeff-Apple@users.noreply.github.com>
* added upgrade instruction
* removed tcp port req
* described downtime and DT-less upgrades
* applied additional review feedback
---------
Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com>
Co-authored-by: Jeff Apple <79924108+Jeff-Apple@users.noreply.github.com>
* additional feedback on API gateway upgrades (#17677)
* additional feedback
* Update website/content/docs/api-gateway/upgrades.mdx
Co-authored-by: Jeff Apple <79924108+Jeff-Apple@users.noreply.github.com>
---------
Co-authored-by: Jeff Apple <79924108+Jeff-Apple@users.noreply.github.com>
* docs: JWT Authorization for intentions (#17643)
* Initial page/nav creation
* configuration entry reference page
* Usage + fixes
* service intentions page
* usage
* description
* config entry updates
* formatting fixes
* Update website/content/docs/connect/config-entries/service-intentions.mdx
Co-authored-by: Paul Glass <pglass@hashicorp.com>
* service intentions review fixes
* Overview page review fixes
* Apply suggestions from code review
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
---------
Co-authored-by: Paul Glass <pglass@hashicorp.com>
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* docs: minor fixes to JWT auth docs (#17680)
* Fixes
* service intentions fixes
* Fix two WAL metrics in docs/agent/telemetry.mdx (#17593)
* updated failover for k8s w-tproxy page title (#17683)
* Add release notes 1.16 rc (#17665)
* Merge pull request #5773 from hashicorp/docs/rate-limiting-from-ip-addresses-1.16
updated docs for rate limiting for IP addresses - 1.16
* Merge pull request #5609 from hashicorp/docs/enterprise-utilization-reporting
Add docs for enterprise utilization reporting
* Merge pull request #5734 from hashicorp/docs/envoy-ext-1.16
Docs/envoy ext 1.16
* Add release notes for 1.16-rc
* Add consul-e license utlization reporting
* Update with rc absolute links
* Update with rc absolute links
* fix typo
* Apply suggestions from code review
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Update to use callout component
* address typo
* docs: FIPS 140-2 Compliance (#17668)
* Page + nav + formatting
* link fix
* Update website/content/docs/enterprise/fips.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Update website/content/docs/enterprise/fips.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Update website/content/docs/enterprise/fips.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Update website/content/docs/enterprise/fips.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Update website/content/docs/enterprise/fips.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Update website/content/docs/enterprise/fips.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Update website/content/docs/enterprise/fips.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Update website/content/docs/enterprise/fips.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Update website/content/docs/enterprise/fips.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Update website/content/docs/enterprise/fips.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* link fix
* Apply suggestions from code review
Co-authored-by: Jeff Apple <79924108+Jeff-Apple@users.noreply.github.com>
* Update website/content/docs/enterprise/fips.mdx
---------
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
Co-authored-by: Jeff Apple <79924108+Jeff-Apple@users.noreply.github.com>
* fix apigw install values file
* fix typos in release notes
---------
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com>
Co-authored-by: Jeff Apple <79924108+Jeff-Apple@users.noreply.github.com>
* fix release notes links (#17687)
* adding redirects for tproxy and envoy extensions (#17688)
* adding redirects
* Apply suggestions from code review
* Fix FIPS copy (#17691)
* fix release notes links
* fix typos on fips docs
* [NET-4107][Supportability] Log Level set to TRACE and duration set to 5m for consul-debug (#17596)
* changed duration to 5 mins and log level to trace
* documentation update
* change log
* ENT merge of ext-authz extension updates (#17684)
* docs: Update default values for Envoy extension proxy types (#17676)
* fix: stop peering delete routine on leader loss (#17483)
* Refactor disco chain prioritize by locality structs (#17696)
This includes prioritize by localities on disco chain targets rather than
resolvers, allowing different targets within the same partition to have
different policies.
* agent: remove agent cache dependency from service mesh leaf certificate management (#17075)
* agent: remove agent cache dependency from service mesh leaf certificate management
This extracts the leaf cert management from within the agent cache.
This code was produced by the following process:
1. All tests in agent/cache, agent/cache-types, agent/auto-config,
agent/consul/servercert were run at each stage.
- The tests in agent matching .*Leaf were run at each stage.
- The tests in agent/leafcert were run at each stage after they
existed.
2. The former leaf cert Fetch implementation was extracted into a new
package behind a "fake RPC" endpoint to make it look almost like all
other cache type internals.
3. The old cache type was shimmed to use the fake RPC endpoint and
generally cleaned up.
4. I selectively duplicated all of Get/Notify/NotifyCallback/Prepopulate
from the agent/cache.Cache implementation over into the new package.
This was renamed as leafcert.Manager.
- Code that was irrelevant to the leaf cert type was deleted
(inlining blocking=true, refresh=false)
5. Everything that used the leaf cert cache type (including proxycfg
stuff) was shifted to use the leafcert.Manager instead.
6. agent/cache-types tests were moved and gently replumbed to execute
as-is against a leafcert.Manager.
7. Inspired by some of the locking changes from derek's branch I split
the fat lock into N+1 locks.
8. The waiter chan struct{} was eventually replaced with a
singleflight.Group around cache updates, which was likely the biggest
net structural change.
9. The awkward two layers or logic produced as a byproduct of marrying
the agent cache management code with the leaf cert type code was
slowly coalesced and flattened to remove confusion.
10. The .*Leaf tests from the agent package were copied and made to work
directly against a leafcert.Manager to increase direct coverage.
I have done a best effort attempt to port the previous leaf-cert cache
type's tests over in spirit, as well as to take the e2e-ish tests in the
agent package with Leaf in the test name and copy those into the
agent/leafcert package to get more direct coverage, rather than coverage
tangled up in the agent logic.
There is no net-new test coverage, just coverage that was pushed around
from elsewhere.
* [core]: Pin github action workflows (#17695)
* docs: missing changelog for _5517 (#17706)
* add enterprise notes for IP-based rate limits (#17711)
* add enterprise notes for IP-based rate limits
* Apply suggestions from code review
Co-authored-by: Tu Nguyen <im2nguyen@users.noreply.github.com>
Co-authored-by: David Yu <dyu@hashicorp.com>
* added bolded 'Enterprise' in list items.
---------
Co-authored-by: Tu Nguyen <im2nguyen@users.noreply.github.com>
Co-authored-by: David Yu <dyu@hashicorp.com>
* Update compatibility.mdx (#17713)
* Remove extraneous version info for Config entries (#17716)
* Update terminating-gateway.mdx
* Update exported-services.mdx
* Update mesh.mdx
* fix: typo in link to section (#17527)
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Bump Alpine to 3.18 (#17719)
* Update Dockerfile
* Create 17719.txt
* NET-1825: New ACL token creation docs (#16465)
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
Co-authored-by: Jared Kirschner <85913323+jkirschner-hashicorp@users.noreply.github.com>
* [NET-3865] [Supportability] Additional Information in the output of 'consul operator raft list-peers' (#17582)
* init
* fix tests
* added -detailed in docs
* added change log
* fix doc
* checking for entry in map
* fix tests
* removed detailed flag
* removed detailed flag
* revert unwanted changes
* removed unwanted changes
* updated change log
* pr review comment changes
* pr comment changes single API instead of two
* fix change log
* fix tests
* fix tests
* fix test operator raft endpoint test
* Update .changelog/17582.txt
Co-authored-by: Semir Patel <semir.patel@hashicorp.com>
* nits
* updated docs
---------
Co-authored-by: Semir Patel <semir.patel@hashicorp.com>
* OSS merge: Update error handling login when applying extensions (#17740)
* Bump atlassian/gajira-transition from 3.0.0 to 3.0.1 (#17741)
Bumps [atlassian/gajira-transition](https://github.com/atlassian/gajira-transition) from 3.0.0 to 3.0.1.
- [Release notes](https://github.com/atlassian/gajira-transition/releases)
- [Commits](https://github.com/atlassian/gajira-transition/compare/4749176faf14633954d72af7a44d7f2af01cc92b...38fc9cd61b03d6a53dd35fcccda172fe04b36de3)
---
updated-dependencies:
- dependency-name: atlassian/gajira-transition
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Add truncation to body (#17723)
* docs: Failover overview minor fix (#17743)
* Incorrect symbol
* Clarification
* slight edit for clarity
* docs - update Envoy and Dataplane compat matrix (#17752)
* Update envoy.mdx
added more detail around default versus other compatible versions
* validate localities on agent configs and registration endpoints (#17712)
* Updated docs added explanation. (#17751)
* init
* fix tests
* added -detailed in docs
* added change log
* fix doc
* checking for entry in map
* fix tests
* removed detailed flag
* removed detailed flag
* revert unwanted changes
* removed unwanted changes
* updated change log
* pr review comment changes
* pr comment changes single API instead of two
* fix change log
* fix tests
* fix tests
* fix test operator raft endpoint test
* Update .changelog/17582.txt
Co-authored-by: Semir Patel <semir.patel@hashicorp.com>
* nits
* updated docs
* explanation added
---------
Co-authored-by: Semir Patel <semir.patel@hashicorp.com>
* Update index.mdx (#17749)
* added redirects and updated links (#17764)
* Add transparent proxy enhancements changelog (#17757)
* docs - remove use of consul leave during upgrade instructions (#17758)
* Fix issue with streaming service health watches. (#17775)
Fix issue with streaming service health watches.
This commit fixes an issue where the health streams were unaware of service
export changes. Whenever an exported-services config entry is modified, it is
effectively an ACL change.
The bug would be triggered by the following situation:
- no services are exported
- an upstream watch to service X is spawned
- the streaming backend filters out data for service X (due to lack of exports)
- service X is finally exported
In the situation above, the streaming backend does not trigger a refresh of its
data. This means that any events that were supposed to have been received prior
to the export are NOT backfilled, and the watches never see service X spawning.
We currently have decided to not trigger a stream refresh in this situation due
to the potential for a thundering herd effect (touching exports would cause a
re-fetch of all watches for that partition, potentially). Therefore, a local
blocking-query approach was added by this commit for agentless.
It's also worth noting that the streaming subscription is currently bypassed
most of the time with agentful, because proxycfg has a `req.Source.Node != ""`
which prevents the `streamingEnabled` check from passing. This means that while
agents should technically have this same issue, they don't experience it with
mesh health watches.
Note that this is a temporary fix that solves the issue for proxycfg, but not
service-discovery use cases.
* Property Override validation improvements (#17759)
* Reject inbound Prop Override patch with Services
Services filtering is only supported for outbound TrafficDirection patches.
* Improve Prop Override unexpected type validation
- Guard against additional invalid parent and target types
- Add specific error handling for Any fields (unsupported)
* Fixes (#17765)
* Update license get explanation (#17782)
This PR is to clarify what happens if the license get command is run on a follower if the leader hasn't been updated with a newer license.
* Add Patch index to Prop Override validation errors (#17777)
When a patch is found invalid, include its index for easier debugging
when multiple patches are provided.
* Stop referenced jwt providers from being deleted (#17755)
* Stop referenced jwt providers from being deleted
* Implement a Catalog Controllers Lifecycle Integration Test (#17435)
* Implement a Catalog Controllers Lifecycle Integration Test
* Prevent triggering the race detector.
This allows defining some variables for protobuf constants and using those in comparisons. Without that, something internal in the fmt package ended up looking at the protobuf message size cache and triggering the race detector.
* HCP Add node id/name to config (#17750)
* Catalog V2 Container Based Integration Test (#17674)
* Implement the Catalog V2 controller integration container tests
This now allows the container tests to import things from the root module. However for now we want to be very restrictive about which packages we allow importing.
* Add an upgrade test for the new catalog
Currently this should be dormant and not executed. However its put in place to detect breaking changes in the future and show an example of how to do an upgrade test with integration tests structured like catalog v2.
* Make testutil.Retry capable of performing cleanup operations
These cleanup operations are executed after each retry attempt.
* Move TestContext to taking an interface instead of a concrete testing.T
This allows this to be used on a retry.R or generally anything that meets the interface.
* Move to using TestContext instead of background contexts
Also this forces all test methods to implement the Cleanup method now instead of that being an optional interface.
Co-authored-by: Daniel Upton <daniel@floppy.co>
* Fix Docs for Trails Leader By (#17763)
* init
* fix tests
* added -detailed in docs
* added change log
* fix doc
* checking for entry in map
* fix tests
* removed detailed flag
* removed detailed flag
* revert unwanted changes
* removed unwanted changes
* updated change log
* pr review comment changes
* pr comment changes single API instead of two
* fix change log
* fix tests
* fix tests
* fix test operator raft endpoint test
* Update .changelog/17582.txt
Co-authored-by: Semir Patel <semir.patel@hashicorp.com>
* nits
* updated docs
* explanation added
* fix doc
* fix docs
---------
Co-authored-by: Semir Patel <semir.patel@hashicorp.com>
* Improve Prop Override docs examples (#17799)
- Provide more realistics examples for setting properties not already
supported natively by Consul
- Remove superfluous commas from HCL, correct target service name, and
fix service defaults vs. proxy defaults in examples
- Align existing integration test to updated docs
* Test permissive mTLS filter chain not configured with tproxy disabled (#17747)
* Add documentation for remote debugging of integration tests. (#17800)
* Add documentation for remote debugging of integration tests.
* add link from main docs page.
* changes related to PR feedback
* Clarify limitations of Prop Override extension (#17801)
Explicitly document the limitations of the extension, particularly what
kind of fields it is capable of modifying.
* Fix formatting for webhook-certs Consul tutorial (#17810)
* Fix formatting for webhook-certs Consul tutorial
* Make a small grammar change to also pick up whitespace changes necessary for formatting
---------
Co-authored-by: David Yu <dyu@hashicorp.com>
* Add jwt-authn metrics to jwt-provider docs (#17816)
* [NET-3095] add jwt-authn metrics docs
* Change URLs for redirects from RC to default latest (#17822)
* Set GOPRIVATE for all hashicorp repos in CI (#17817)
Consistently set GOPRIVATE to include all hashicorp repos, s.t. private
modules are successfully pulled in enterprise CI.
* Make locality aware routing xDS changes (#17826)
* Fixup consul-container/test/debugging.md (#17815)
Add missing `-t` flag and fix minor typo.
* fixes #17732 - AccessorID in request body should be optional when updating ACL token (#17739)
* AccessorID in request body should be optional when updating ACL token
* add a test case
* fix test case
* add changelog entry for PR #17739
* CA provider doc updates and Vault provider minor update (#17831)
Update CA provider docs
Clarify that providers can differ between
primary and secondary datacenters
Provide a comparison chart for consul vs
vault CA providers
Loosen Vault CA provider validation for RootPKIPath
Update Vault CA provider documentation
* ext-authz Envoy extension: support `localhost` as a valid target URI. (#17821)
* CI Updates (#17834)
* Ensure that git access to private repos uses the ELEVATED_GITHUB_TOKEN
* Bump the runner size for the protobuf generation check
This has failed previously when the runner process that communicates with GitHub gets starved causing the job to fail.
* counter part of ent pr (#17618)
* watch: support -filter for consul watch: checks, services, nodes, service (#17780)
* watch: support -filter for watch checks
* Add filter for watch nodes, services, and service
- unit test added
- Add changelog
- update doc
* Trigger OSS => ENT merge for all release branches (#17853)
Previously, this only triggered for release/*.*.x branches; however, our release process involves cutting a release/1.16.0 branch, for example, at time of code freeze these days. Any PRs to that branch after code freeze today do not make their way to consul-enterprise. This will make behavior for a .0 branch consistent with current behavior for a .x branch.
* Update service-mesh.mdx (#17845)
Deleted two commas which looks quite like some leftovers.
* Add docs for sameness groups with resolvers. (#17851)
* docs: add note about path prefix matching behavior for HTTPRoute config (#17860)
* Add note about path prefix matching behavior for HTTPRoute config
* Update website/content/docs/connect/gateways/api-gateway/configuration/http-route.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
---------
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* docs: update upgrade to consul-dataplane docs on k8s (#17852)
* resource: add `AuthorizerContext` helper method (#17393)
* resource: enforce consistent naming of resource types (#17611)
For consistency, resource type names must follow these rules:
- `Group` must be snake case, and in most cases a single word.
- `GroupVersion` must be lowercase, start with a "v" and end with a number.
- `Kind` must be pascal case.
These were chosen because they map to our protobuf type naming
conventions.
* tooling: generate protoset file (#17364)
Extends the `proto` make target to generate a protoset file for use with
grpcurl etc.
* Fix a bug that wrongly trims domains when there is an overlap with DC name (#17160)
* Fix a bug that wrongly trims domains when there is an overlap with DC name
Before this change, when DC name and domain/alt-domain overlap, the domain name incorrectly trimmed from the query.
Example:
Given: datacenter = dc-test, alt-domain = test.consul.
Querying for "test-node.node.dc-test.consul" will faile, because the
code was trimming "test.consul" instead of just ".consul"
This change, fixes the issue by adding dot (.) before trimming
* trimDomain: ensure domain trimmed without modyfing original domains
* update changelog
---------
Co-authored-by: Dhia Ayachi <dhia@hashicorp.com>
* deps: aws-sdk-go v1.44.289 (#17876)
Signed-off-by: Dan Bond <danbond@protonmail.com>
* api-gateway: add operation cannot be fulfilled error to common errors (#17874)
* add error message
* Update website/content/docs/api-gateway/usage/errors.mdx
Co-authored-by: Nathan Coleman <nathan.coleman@hashicorp.com>
* fix formating issues
---------
Co-authored-by: Nathan Coleman <nathan.coleman@hashicorp.com>
* api-gateway: add step to upgrade instructions for creating intentions (#17875)
* Changelog - add 1.13.9, 1.14.8, and 1.15.4 (#17889)
* docs: update config enable_debug (#17866)
* update doc for config enable_debug
* Update website/content/docs/agent/config/config-files.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
---------
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Update wording on WAN fed and intermediate_pki_path (#17850)
* Allow service identity tokens the ability to read jwt-providers (#17893)
* Allow service identity tokens the ability to read jwt-providers
* more tests
* service_prefix tests
* Update docs (#17476)
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Add emit_tags_as_labels to envoy bootstrap config when using Consul Telemetry Collector (#17888)
* Fix command from kg to kubectl get (#17903)
* Create and update release notes for 1.16 and 1.2 (#17895)
* update release notes for 1.16 and 1.2
* update latest consul core release
* Propose new changes to APIgw upgrade instructions (#17693)
* Propose new changes to APIgw upgrade instructions
* fix build error
* update callouts to render correctly
* Add hideClipboard to log messages
* Added clarification around consul k8s and crds
* Add workflow to verify linux release packages (#17904)
* adding docker files to verify linux packages.
* add verifr-release-linux.yml
* updating name
* pass inputs directly into jobs
* add other linux package platforms
* remove on push
* fix TARGETARCH on debian and ubuntu so it can check arm64 and amd64
* fixing amazon to use the continue line
* add ubuntu i386
* fix comment lines
* working
* remove commented out workflow jobs
* Apply suggestions from code review
Co-authored-by: Nathan Coleman <nathan.coleman@hashicorp.com>
* update fedora and ubuntu to use latest tag
---------
Co-authored-by: Nathan Coleman <nathan.coleman@hashicorp.com>
* Reference hashicorp/consul instead of consul for Docker image (#17914)
* Reference hashicorp/consul instead of consul for Docker image
* Update Make targets that pull consul directly
* Update Consul K8s Upgrade Doc Updates (#17921)
Updating upgrade procedures to encompass expected errors during upgrade process from v1.13.x to v1.14.x.
* Update sameness-group.mdx (#17915)
* Update create-sameness-groups.mdx (#17927)
* deps: coredns v1.10.1 (#17912)
* Ensure RSA keys are at least 2048 bits in length (#17911)
* Ensure RSA keys are at least 2048 bits in length
* Add changelog
* update key length check for FIPS compliance
* Fix no new variables error and failing to return when error exists from
validating
* clean up code for better readability
* actually return value
* tlsutil: Fix check TLS configuration (#17481)
* tlsutil: Fix check TLS configuration
* Rewording docs.
* Update website/content/docs/services/configuration/checks-configuration-reference.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Fix typos and add changelog entry.
---------
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* docs: Deprecations for connect-native SDK and specific connect native APIs (#17937)
* Update v1_16_x.mdx
* Update connect native golang page
---------
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Revert "Add workflow to verify linux release packages (#17904)" (#17942)
This reverts commit 3368f14fab500ebe9f6aeab5631dd1d5f5a453e5.
* Fixes Secondary ConnectCA update (#17846)
This fixes a bug that was identified which resulted in subsequent
ConnectCA configuration update not to persist in the cluster.
* fixing typo in link to jwt-validations-with-intentions doc (#17955)
* Fix streaming backend link (#17958)
* Fix streaming backend link
* Update health.mdx
* Dynamically create jwks clusters for jwt-providers (#17944)
* website: remove deprecated agent rpc docs (#17962)
* Fix missing BalanceOutboundConnections in v2 catalog. (#17964)
* feature - [NET - 4005] - [Supportability] Reloadable Configuration - enable_debug (#17565)
* # This is a combination of 9 commits.
# This is the 1st commit message:
init without tests
# This is the commit message #2:
change log
# This is the commit message #3:
fix tests
# This is the commit message #4:
fix tests
# This is the commit message #5:
added tests
# This is the commit message #6:
change log breaking change
# This is the commit message #7:
removed breaking change
# This is the commit message #8:
fix test
# This is the commit message #9:
keeping the test behaviour same
* # This is a combination of 12 commits.
# This is the 1st commit message:
init without tests
# This is the commit message #2:
change log
# This is the commit message #3:
fix tests
# This is the commit message #4:
fix tests
# This is the commit message #5:
added tests
# This is the commit message #6:
change log breaking change
# This is the commit message #7:
removed breaking change
# This is the commit message #8:
fix test
# This is the commit message #9:
keeping the test behaviour same
# This is the commit message #10:
made enable debug atomic bool
# This is the commit message #11:
fix lint
# This is the commit message #12:
fix test true enable debug
* parent 10f500e895d92cc3691ade7b74a33db755d22039
author absolutelightning <ashesh.vidyut@hashicorp.com> 1687352587 +0530
committer absolutelightning <ashesh.vidyut@hashicorp.com> 1687352592 +0530
init without tests
change log
fix tests
fix tests
added tests
change log breaking change
removed breaking change
fix test
keeping the test behaviour same
made enable debug atomic bool
fix lint
fix test true enable debug
using enable debug in agent as atomic bool
test fixes
fix tests
fix tests
added update on correct locaiton
fix tests
fix reloadable config enable debug
fix tests
fix init and acl 403
* revert commit
* Fix formatting codeblocks on APIgw docs (#17970)
* fix formatting codeblocks
* remove unnecessary indents
* Remove POC code (#17974)
* update doc (#17910)
* update doc
* update link
* Remove duplicate and unused newDecodeConfigEntry func (#17979)
* docs: samenessGroup YAML examples (#17984)
* configuration entry syntax
* Example config
* Add changelog entry for 1.16.0 (#17987)
* Fix typo (#17198)
servcies => services
* Expose JWKS cluster config through JWTProviderConfigEntry (#17978)
* Expose JWKS cluster config through JWTProviderConfigEntry
* fix typos, rename trustedCa to trustedCA
* Integration test for ext-authz Envoy extension (#17980)
* Fix incorrect protocol for transparent proxy upstreams. (#17894)
This PR fixes a bug that was introduced in:
https://github.com/hashicorp/consul/pull/16021
A user setting a protocol in proxy-defaults would cause tproxy implicit
upstreams to not honor the upstream service's protocol set in its
`ServiceDefaults.Protocol` field, and would instead always use the
proxy-defaults value.
Due to the fact that upstreams configured with "tcp" can successfully contact
upstream "http" services, this issue was not recognized until recently (a
proxy-defaults with "tcp" and a listening service with "http" would make
successful requests, but not the opposite).
As a temporary work-around, users experiencing this issue can explicitly set
the protocol on the `ServiceDefaults.UpstreamConfig.Overrides`, which should
take precedence.
The fix in this PR removes the proxy-defaults protocol from the wildcard
upstream that tproxy uses to configure implicit upstreams. When the protocol
was included, it would always overwrite the value during discovery chain
compilation, which was not correct. The discovery chain compiler also consumes
proxy defaults to determine the protocol, so simply excluding it from the
wildcard upstream config map resolves the issue.
* feat: include nodes count in operator usage endpoint and cli command (#17939)
* feat: update operator usage api endpoint to include nodes count
* feat: update operator usange cli command to includes nodes count
* [OSS] Improve Gateway Test Coverage of Catalog Health (#18011)
* fix(cli): remove failing check from 'connect envoy' registration for api gateway
* test(integration): add tests to check catalog statsus of gateways on startup
* remove extra sleep comment
* Update test/integration/consul-container/libs/assert/service.go
* changelog
* Fixes Traffic rate limitting docs (#17997)
* Fix removed service-to-service peering links (#17221)
* docs: fix removed service-to-service peering links
* docs: extend peering-via-mesh-gateways intro (thanks @trujillo-adam)
---------
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* docs: Sameness "beta" warning (#18017)
* Warning updates
* .x
* updated typo in tab heading (#18022)
* updated typo in tab heading
* updated tab group typo, too
* Document that DNS lookups can target cluster peers (#17990)
Static DNS lookups, in addition to explicitly targeting a datacenter,
can target a cluster peer. This was added in 95dc0c7b301b70a6b955a8b7c9737c9b86f03df6 but didn't make the documentation.
The driving function for the change is `parseLocality` here: https://github.com/hashicorp/consul/blob/0b1299c28d8127129d61310ee4280055298438e0/agent/dns_oss.go#L25
The biggest change in this is to adjust the standard lookup syntax to tie
`.<datacenter>` to `.dc` as required-together, and to append in the similar `.<cluster-peer>.peer` optional argument, both to A record and SRV record lookups.
Co-authored-by: David Yu <dyu@hashicorp.com>
* Add first integration test for jwt auth with intention (#18005)
* fix stand-in text for name field (#18030)
* removed sameness conf entry from failover nav (#18033)
* docs - add service sync annotations and k8s service weight annotation (#18032)
* Docs for https://github.com/hashicorp/consul-k8s/pull/2293
* remove versions for enterprise features since they are old
---------
Co-authored-by: Tu Nguyen <im2nguyen@users.noreply.github.com>
* docs - add jobs use case for service mesh k8s (#18037)
* docs - add jobs use case for service mesh k8s
* add code blocks
* address feedback (#18045)
* Add verify server hostname to tls default (#17155)
* [OSS] Fix initial_fetch_timeout to wait for all xDS resources (#18024)
* fix(connect): set initial_fetch_time to wait indefinitely
* changelog
* PR feedback 1
* ui: fix typos for peer service imports (#17999)
* test: fix FIPS inline cert test message (#18076)
* Fix a couple typos in Agent Telemetry Metrics docs (#18080)
* Fix metrics docs
* Add changelog
Signed-off-by: josh <josh.timmons@hashicorp.com>
---------
Signed-off-by: josh <josh.timmons@hashicorp.com>
* docs updates - cluster peering and virtual services (#18069)
* Update route-to-virtual-services.mdx
* Update establish-peering.mdx
* Update service-mesh-compare.mdx (#17279)
grammar change
* Update helm docs on main (#18085)
* ci: use gotestsum v1.10.1 [NET-4042] (#18088)
* Docs: Update proxy lifecycle annotations and consul-dataplane flags (#18075)
* Update proxy lifecycle annotations and consul-dataplane flags
* Pass configured role name to Vault for AWS auth in Connect CA (#17885)
* Docs for dataplane upgrade on k8s (#18051)
* Docs for dataplane upgrade on k8s
---------
Co-authored-by: David Yu <dyu@hashicorp.com>
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* docs - update upgrade index page to not recommend consul leave. (#18100)
* Displays Consul version of each nodes in UI nodes section (#17754)
* update UINodes and UINodeInfo response with consul-version info added as NodeMeta, fetched from serf members
* update test cases TestUINodes, TestUINodeInfo
* added nil check for map
* add consul-version in local agent node metadata
* get consul version from serf member and add this as node meta in catalog register request
* updated ui mock response to include consul versions as node meta
* updated ui trans and added version as query param to node list route
* updates in ui templates to display consul version with filter and sorts
* updates in ui - model class, serializers,comparators,predicates for consul version feature
* added change log for Consul Version Feature
* updated to get version from consul service, if for some reason not available from serf
* updated changelog text
* updated dependent testcases
* multiselection version filter
* Update agent/consul/state/catalog.go
comments updated
Co-authored-by: Jared Kirschner <85913323+jkirschner-hashicorp@users.noreply.github.com>
---------
Co-authored-by: Jared Kirschner <85913323+jkirschner-hashicorp@users.noreply.github.com>
* api gw 1.16 updates (#18081)
* api gw 1.16 updates
* Apply suggestions from code review
Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com>
* update CodeBlockConfig filename
* Apply suggestions from code review
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com>
* remove non-standard intentions page
* Update website/content/docs/api-gateway/configuration/index.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
---------
Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com>
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* [NET-4103] ci: build s390x (#18067)
* ci: build s390x
* ci: test s390x
* ci: dev build s390x
* no GOOS
* ent only
* build: publish s390x
* fix syntax error
* fix syntax error again
* fix syntax error again x2
* test branch
* Move s390x conditionals to step level
* remove test branch
---------
Co-authored-by: emilymianeil <eneil@hashicorp.com>
* :ermahgerd "Sevice Mesh" -> "Service Mesh" (#18116)
Just a typo in the docs.
* Split pbmesh.UpstreamsConfiguration as a resource out of pbmesh.Upstreams (#17991)
Configuration that previously was inlined into the Upstreams resource
applies to both explicit and implicit upstreams and so it makes sense to
split it out into its own resource.
It also has other minor changes:
- Renames `proxy.proto` proxy_configuration.proto`
- Changes the type of `Upstream.destination_ref` from `pbresource.ID` to
`pbresource.Reference`
- Adds comments to fields that didn't have them
* [NET-4895] ci - api tests and consul container tests error because of dependency bugs with go 1.20.6. Pin go to 1.20.5. (#18124)
### Description
The following jobs started failing when go 1.20.6 was released:
- `go-test-api-1-19`
- `go-test-api-1-20`
- `compatibility-integration-tests`
- `upgrade-integration-tests`
`compatibility-integration-tests` and `compatibility-integration-tests`
to this testcontainers issue:
https://github.com/testcontainers/testcontainers-go/issues/1359. This
issue calls for testcontainers to release a new version when one of
their dependencies is fixed. When that is done, we will unpin the go
versions in `compatibility-integration-tests` and
`compatibility-integration-tests`.
### Testing & Reproduction steps
See these jobs broken in CI and then see them work with this PR.
---------
Co-authored-by: Chris Thain <32781396+cthain@users.noreply.github.com>
* Add ingress gateway deprecation notices to docs (#18102)
### Description
This adds notices, that ingress gateway is deprecated, to several places
in the product docs where ingress gateway is the topic.
### Testing & Reproduction steps
Tested with a local copy of the website.
### Links
Deprecation of ingress gateway was announced in the Release Notes for
Consul 1.16 and Consul-K8s 1.2. See:
[https://developer.hashicorp.com/consul/docs/release-notes/consul/v1_16_x#what-s-deprecated](https://developer.hashicorp.com/consul/docs/release-notes/consul/v1_16_x#what-s-deprecated
)
[https://developer.hashicorp.com/consul/docs/release-notes/consul-k8s/v1_2_x#what-s-deprecated](https://developer.hashicorp.com/consul/docs/release-notes/consul-k8s/v1_2_x#what-s-deprecated)
### PR Checklist
* [N/A] updated test coverage
* [X] external facing docs updated
* [X] appropriate backport labels added
* [X] not a security concern
---------
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Add docs for jwt cluster configuration (#18004)
### Description
<!-- Please describe why you're making this change, in plain English.
-->
- Add jwt-provider docs for jwks cluster configuration. The
configuration was added here:
https://github.com/hashicorp/consul/pull/17978
* Docs: fix unmatched bracket for health checks page (#18134)
* NET-4657/add resource service client (#18053)
### Description
<!-- Please describe why you're making this change, in plain English.
-->
Dan had already started on this
[task](https://github.com/hashicorp/consul/pull/17849) which is needed
to start building the HTTP APIs. This just needed some cleanup to get it
ready for review.
Overview:
- Rename `internalResourceServiceClient` to
`insecureResourceServiceClient` for name consistency
- Configure a `secureResourceServiceClient` with auth enabled
### PR Checklist
* [ ] ~updated test coverage~
* [ ] ~external facing docs updated~
* [x] appropriate backport labels added
* [ ] ~not a security concern~
* Fix bug with Vault CA provider (#18112)
Updating RootPKIPath but not IntermediatePKIPath would not update
leaf signing certs with the new root. Unsure if this happens in practice
but manual testing showed it is a bug that would break mesh and agent
connections once the old root is pruned.
* [NET-4897] net/http host header is now verified and request.host that contains socked now error (#18129)
### Description
This is related to https://github.com/hashicorp/consul/pull/18124 where
we pinned the go versions in CI to 1.20.5 and 1.19.10.
go 1.20.6 and 1.19.11 now validate request host headers for validity,
including the hostname cannot be prefixed with slashes.
For local communications (npipe://, unix://), the hostname is not used,
but we need valid and meaningful hostname. Prior versions go Go would
clean the host header, and strip slashes in the process, but go1.20.6
and go1.19.11 no longer do, and reject the host header. Around the
community we are seeing that others are intercepting the req.host and if
it starts with a slash or ends with .sock, they changing the host to
localhost or another dummy value.
[client: define a "dummy" hostname to use for local connections by
thaJeztah · Pull Request #45942 ·
moby/moby](https://github.com/moby/moby/pull/45942)
### Testing & Reproduction steps
Check CI tests.
### Links
* [ ] updated test coverage
* [ ] external facing docs updated
* [ ] appropriate backport labels added
* [ ] not a security concern
* add a conditional around setting LANFilter.AllSegments to make sure it is valid (#18139)
### Description
This is to correct a code problem because this assumes all segments, but
when you get to Enterprise, you can be in partition that is not the
default partition, in which case specifying all segments does not
validate and fails. This is to correct the setting of this filter with
`AllSegments` to `true` to only occur when in the the `default`
partition.
### Testing & Reproduction steps
<!--
* In the case of bugs, describe how to replicate
* If any manual tests were done, document the steps and the conditions
to replicate
* Call out any important/ relevant unit tests, e2e tests or integration
tests you have added or are adding
-->
### Links
<!--
Include any links here that might be helpful for people reviewing your
PR (Tickets, GH issues, API docs, external benchmarks, tools docs, etc).
If there are none, feel free to delete this section.
Please be mindful not to leak any customer or confidential information.
HashiCorp employees may want to use our internal URL shortener to
obfuscate links.
-->
### PR Checklist
* [ ] updated test coverage
* [ ] external facing docs updated
* [ ] appropriate backport labels added
* [ ] not a security concern
* chore: bump upgrade integrations tests to 1.15, 116 [NET-4743] (#18130)
* re org resource type registry (#18133)
* fix: update delegateMock used in ENT (#18149)
### Description
<!-- Please describe why you're making this change, in plain English.
-->
The mock is used in `http_ent_test` file which caused lint failures. For
OSS->ENT parity adding the same change here.
### Links
<!--
Include any links here that might be helpful for people reviewing your
PR (Tickets, GH issues, API docs, external benchmarks, tools docs, etc).
If there are none, feel free to delete this section.
Please be mindful not to leak any customer or confidential information.
HashiCorp employees may want to use our internal URL shortener to
obfuscate links.
-->
Identified in OSS->ENT [merge
PR](https://github.com/hashicorp/consul-enterprise/pull/6328)
### PR Checklist
* [ ] ~updated test coverage~
* [ ] ~external facing docs updated~
* [x] appropriate backport labels added
* [ ] ~not a security concern~
* Use JWT-auth filter in metadata mode & Delegate validation to RBAC filter (#18062)
### Description
<!-- Please describe why you're making this change, in plain English.
-->
- Currently the jwt-auth filter doesn't take into account the service
identity when validating jwt-auth, it only takes into account the path
and jwt provider during validation. This causes issues when multiple
source intentions restrict access to an endpoint with different JWT
providers.
- To fix these issues, rather than use the JWT auth filter for
validation, we use it in metadata mode and allow it to forward the
successful validated JWT token payload to the RBAC filter which will
make the decisions.
This PR ensures requests with and without JWT tokens successfully go
through the jwt-authn filter. The filter however only forwards the data
for successful/valid tokens. On the RBAC filter level, we check the
payload for claims and token issuer + existing rbac rules.
### Testing & Reproduction steps
<!--
* In the case of bugs, describe how to replicate
* If any manual tests were done, document the steps and the conditions
to replicate
* Call out any important/ relevant unit tests, e2e tests or integration
tests you have added or are adding
-->
- This test covers a multi level jwt requirements (requirements at top
level and permissions level). It also assumes you have envoy running,
you have a redis and a sidecar proxy service registered, and have a way
to generate jwks with jwt. I mostly use:
https://www.scottbrady91.com/tools/jwt for this.
- first write your proxy defaults
```
Kind = "proxy-defaults"
name = "global"
config {
protocol = "http"
}
```
- Create two providers
```
Kind = "jwt-provider"
Name = "auth0"
Issuer = "https://ronald.local"
JSONWebKeySet = {
Local = {
JWKS = "eyJrZXlzIjog....."
}
}
```
```
Kind = "jwt-provider"
Name = "okta"
Issuer = "https://ronald.local"
JSONWebKeySet = {
Local = {
JWKS = "eyJrZXlzIjogW3...."
}
}
```
- add a service intention
```
Kind = "service-intentions"
Name = "redis"
JWT = {
Providers = [
{
Name = "okta"
},
]
}
Sources = [
{
Name = "*"
Permissions = [{
Action = "allow"
HTTP = {
PathPrefix = "/workspace"
}
JWT = {
Providers = [
{
Name = "okta"
VerifyClaims = [
{
Path = ["aud"]
Value = "my_client_app"
},
{
Path = ["sub"]
Value = "5be86359073c434bad2da3932222dabe"
}
]
},
]
}
},
{
Action = "allow"
HTTP = {
PathPrefix = "/"
}
JWT = {
Providers = [
{
Name = "auth0"
},
]
}
}]
}
]
```
- generate 3 jwt tokens: 1 from auth0 jwks, 1 from okta jwks with
different claims than `/workspace` expects and 1 with correct claims
- connect to your envoy (change service and address as needed) to view
logs and potential errors. You can add: `-- --log-level debug` to see
what data is being forwarded
```
consul connect envoy -sidecar-for redis1 -grpc-addr 127.0.0.1:8502
```
- Make the following requests:
```
curl -s -H "Authorization: Bearer $Auth0_TOKEN" --insecure --cert leaf.cert --key leaf.key --cacert connect-ca.pem https://localhost:20000/workspace -v
RBAC filter denied
curl -s -H "Authorization: Bearer $Okta_TOKEN_with_wrong_claims" --insecure --cert leaf.cert --key leaf.key --cacert connect-ca.pem https://localhost:20000/workspace -v
RBAC filter denied
curl -s -H "Authorization: Bearer $Okta_TOKEN_with_correct_claims" --insecure --cert leaf.cert --key leaf.key --cacert connect-ca.pem https://localhost:20000/workspace -v
Successful request
```
### TODO
* [x] Update test coverage
* [ ] update integration tests (follow-up PR)
* [x] appropriate backport labels added
* Support Consul Connect Envoy Command on Windows (#17694)
### Description
Add support for consul connect envoy command on windows. This PR fixes
the comments of PR - https://github.com/hashicorp/consul/pull/15114
### Testing
* Built consul.exe from this branch on windows and hosted here - [AWS
S3](https://asheshvidyut-bucket.s3.ap-southeast-2.amazonaws.com/consul.zip)
* Updated the
[tutorial](https://developer.hashicorp.com/consul/tutorials/developer-mesh/consul-windows-workloads)
and changed the `consul_url.default` value to [AWS
S3](https://asheshvidyut-bucket.s3.ap-southeast-2.amazonaws.com/consul.zip)
* Followed the steps in the tutorial and verified that everything is
working as described.
### PR Checklist
* [x] updated test coverage
* [ ] external facing docs updated
* [x] appropriate backport labels added
* [x] not a security concern
---------
Co-authored-by: Franco Bruno Lavayen <cocolavayen@gmail.com>
Co-authored-by: Jose Ignacio Lorenzo <74208929+joselo85@users.noreply.github.com>
Co-authored-by: Jose Ignacio Lorenzo <joseignaciolorenzo85@gmail.com>
Co-authored-by: Dhia Ayachi <dhia@hashicorp.com>
* Change docs to say 168h instead of 7d for server_rejoin_age_max (#18154)
### Description
Addresses
https://github.com/hashicorp/consul/pull/17171#issuecomment-1636930705
* [OSS] test: improve xDS listener code coverage (#18138)
test: improve xDS listener code coverage
* Re-order expected/actual for assertContainerState in consul container tests (#18157)
Re-order expected/actual, consul container tests
* group and document make file (#17943)
* group and document make file
* Add `testing/deployer` (neé `consul-topology`) [NET-4610] (#17823)
Co-authored-by: R.B. Boyer <4903+rboyer@users.noreply.github.com>
Co-authored-by: R.B. Boyer <rb@hashicorp.com>
Co-authored-by: Freddy <freddygv@users.noreply.github.com>
* [NET-4792] Add integrations tests for jwt-auth (#18169)
* Add FIPS reference to consul enterprise docs (#18028)
* Add FIPS reference to consul enterprise docs
* Update website/content/docs/enterprise/index.mdx
Co-authored-by: David Yu <dyu@hashicorp.com>
* remove support for ecs client (fips)
---------
Co-authored-by: David Yu <dyu@hashicorp.com>
* add peering_commontopo tests [NET-3700] (#17951)
Co-authored-by: R.B. Boyer <4903+rboyer@users.noreply.github.com>
Co-authored-by: R.B. Boyer <rb@hashicorp.com>
Co-authored-by: Freddy <freddygv@users.noreply.github.com>
Co-authored-by: NiniOak <anita.akaeze@hashicorp.com>
* docs - remove Sentinel from enterprise features list (#18176)
* Update index.mdx
* Update kv.mdx
* Update docs-nav-data.json
* delete sentinel.mdx
* Update redirects.js
---------
Co-authored-by: Tu Nguyen <im2nguyen@users.noreply.github.com>
* [NET-4865] Bump golang.org/x/net to 0.12.0 (#18186)
Bump golang.org/x/net to 0.12.0
While not necessary to directly address CVE-2023-29406 (which should be
handled by using a patched version of Go when building), an
accompanying change to HTTP/2 error handling does impact agent code.
See https://go-review.googlesource.com/c/net/+/506995 for the HTTP/2
change.
Bump this dependency across our submodules as well for the sake of
potential indirect consumers of `x/net/http`.
* Call resource mutate hook before validate hook (NET-4907) (#18178)
* [NET-4865] security: Update Go version to 1.20.6 (#18190)
Update Go version to 1.20.6
This resolves [CVE-2023-29406]
(https://nvd.nist.gov/vuln/detail/CVE-2023-29406) for uses of the
`net/http` standard library.
Note that until the follow-up to #18124 is done, the version of Go used
in those impacted tests will need to remain on 1.20.5.
* Improve XDS test coverage: JWT auth edition (#18183)
* Improve XDS test coverage: JWT auth edition
more tests
* test: xds coverage for jwt listeners
---------
Co-authored-by: DanStough <dan.stough@hashicorp.com>
* update readme.md (#18191)
u[date readme.md
* Update submodules to latest following 1.16.0 (#18197)
Align all our internal use of submodules on the latest versions.
* SEC-090: Automated trusted workflow pinning (2023-07-18) (#18174)
Result of tsccr-helper -log-level=info -pin-all-workflows .
Co-authored-by: hashicorp-tsccr[bot] <hashicorp-tsccr[bot]@users.noreply.github.com>
* Fix Backport Assistant PR commenting (#18200)
* Fix Backport Assistant failure PR commenting
For general comments on a PR, it looks like you have to use the `/issue`
endpoint rather than `/pulls`, which requires commit/other
review-specific target details.
This matches the endpoint used in `backport-reminder.yml`.
* Remove Backport Reminder workflow
This is noisy (even when adding multiple labels, individual comments per
label are generated), and likely no longer needed: we haven't had this
work in a long time due to an expired GH token, and we now have better
automation for backport PR assignment.
* resource: Pass resource to Write ACL hook instead of just resource Id [NET-4908] (#18192)
* Explicitly enable WebSocket upgrades (#18150)
This PR explicitly enables WebSocket upgrades in Envoy's UpgradeConfig for all
proxy types. (API Gateway, Ingress, and Sidecar.)
Fixes #8283
* docs: fix the description of client rpc (#18206)
* NET-4804: Add dashboard for monitoring consul-k8s (#18208)
* [OSS] Improve xDS Code Coverage - Clusters (#18165)
test: improve xDS cluster code coverage
* NET-4222 take config file consul container (#18218)
Net 4222 take config file consul container
* Envoy Integration Test Windows (#18007)
* [CONSUL-395] Update check_hostport and Usage (#40)
* [CONSUL-397] Copy envoy binary from Image (#41)
* [CONSUL-382] Support openssl in unique test dockerfile (#43)
* [CONSUL-405] Add bats to single container (#44)
* [CONSUL-414] Run Prometheus Test Cases and Validate Changes (#46)
* [CONSUL-410] Run Jaeger in Single container (#45)
* [CONSUL-412] Run test-sds-server in single container (#48)
* [CONSUL-408] Clean containers (#47)
* [CONSUL-384] Rebase and sync fork (#50)
* [CONSUL-415] Create Scenarios Troubleshooting Docs (#49)
* [CONSUL-417] Update Docs Single Container (#51)
* [CONSUL-428] Add Socat to single container (#54)
* [CONSUL-424] Replace pkill in kill_envoy function (#52)
* [CONSUL-434] Modify Docker run functions in Helper script (#53)
* [CONSUL-435] Replace docker run in set_ttl_check_state & wait_for_agent_service_register functions (#55)
* [CONSUL-438] Add netcat (nc) in the Single container Dockerfile (#56)
* [CONSUL-429] Replace Docker run with Docker exec (#57)
* [CONSUL-436] Curl timeout and run tests (#58)
* [CONSUL-443] Create dogstatsd Function (#59)
* [CONSUL-431] Update Docs Netcat (#60)
* [CONSUL-439] Parse nc Command in function (#61)
* [CONSUL-463] Review curl Exec and get_ca_root Func (#63)
* [CONSUL-453] Docker hostname in Helper functions (#64)
* [CONSUL-461] Test wipe volumes without extra cont (#66)
* [CONSUL-454] Check ports in the Server and Agent containers (#65)
* [CONSUL-441] Update windows dockerfile with version (#62)
* [CONSUL-466] Review case-grpc Failing Test (#67)
* [CONSUL-494] Review case-cfg-resolver-svc-failover (#68)
* [CONSUL-496] Replace docker_wget & docker_curl (#69)
* [CONSUL-499] Cleanup Scripts - Remove nanoserver (#70)
* [CONSUL-500] Update Troubleshooting Docs (#72)
* [CONSUL-502] Pull & Tag Envoy Windows Image (#73)
* [CONSUL-504] Replace docker run in docker_consul (#76)
* [CONSUL-505] Change admin_bind
* [CONSUL-399] Update envoy to 1.23.1 (#78)
* [CONSUL-510] Support case-wanfed-gw on Windows (#79)
* [CONSUL-506] Update troubleshooting Documentation (#80)
* [CONSUL-512] Review debug_dump_volumes Function (#81)
* [CONSUL-514] Add zipkin to Docker Image (#82)
* [CONSUL-515] Update Documentation (#83)
* [CONSUL-529] Support case-consul-exec (#86)
* [CONSUL-530] Update Documentation (#87)
* [CONSUL-530] Update default consul version 1.13.3
* [CONSUL-539] Cleanup (#91)
* [CONSUL-546] Scripts Clean-up (#92)
* [CONSUL-491] Support admin_access_log_path value for Windows (#71)
* [CONSUL-519] Implement mkfifo Alternative (#84)
* [CONSUL-542] Create OS Specific Files for Envoy Package (#88)
* [CONSUL-543] Create exec_supported.go (#89)
* [CONSUL-544] Test and Build Changes (#90)
* Implement os.DevNull
* using mmap instead of disk files
* fix import in exec-unix
* fix nmap open too many arguemtn
* go fmt on file
* changelog file
* fix go mod
* Update .changelog/17694.txt
Co-authored-by: Dhia Ayachi <dhia@hashicorp.com>
* different mmap library
* fix bootstrap json
* some fixes
* chocolatey version fix and image fix
* using different library
* fix Map funciton call
* fix mmap call
* fix tcp dump
* fix tcp dump
* windows tcp dump
* Fix docker run
* fix tests
* fix go mod
* fix version 16.0
* fix version
* fix version dev
* sleep to debug
* fix sleep
* fix permission issue
* fix permission issue
* fix permission issue
* fix command
* fix command
* fix funciton
* fix assert config entry status command not found
* fix command not found assert_cert_has_cn
* fix command not found assert_upstream_missing
* fix command not found assert_upstream_missing_once
* fix command not found get_upstream_endpoint
* fix command not found get_envoy_public_listener_once
* fix command not found
* fix test cases
* windows integration test workflow github
* made code similar to unix using npipe
* fix go.mod
* fix dialing of npipe
* dont wait
* check size of written json
* fix undefined n
* running
* fix dep
* fix syntax error
* fix workflow file
* windows runner
* fix runner
* fix from json
* fix runs on
* merge connect envoy
* fix cin path
* build
* fix file name
* fix file name
* fix dev build
* remove unwanted code
* fix upload
* fix bin name
* fix path
* checkout current branch
* fix path
* fix tests
* fix shell bash for windows sh files
* fix permission of run-test.sh
* removed docker dev
* added shell bash for tests
* fix tag
* fix win=true
* fix cd
* added dev
* fix variable undefined
* removed failing tests
* fix tcp dump image
* fix curl
* fix curl
* tcp dump path
* fix tcpdump path
* fix curl
* fix curl install
* stop removing intermediate containers
* fix tcpdump docker image
* revert -rm
* --rm=false
* makeing docker image before
* fix tcpdump
* removed case consul exec
* removed terminating gateway simple
* comment case wasm
* removed data dog
* comment out upload coverage
* uncomment case-consul-exec
* comment case consul exec
* if always
* logs
* using consul 1.17.0
* fix quotes
* revert quotes
* redirect to dev null
* Revert version
* revert consul connect
* fix version
* removed envoy connect
* not using function
* change log
* docker logs
* fix logs
* restructure bad authz
* rmeoved dev null
* output
* fix file descriptor
* fix cacert
* fix cacert
* fix ca cert
* cacert does not work in windows curl
* fix func
* removed docker logs
* added sleep
* fix tls
* commented case-consul-exec
* removed echo
* retry docker consul
* fix upload bin
* uncomment consul exec
* copying consul.exe to docker image
* copy fix
* fix paths
* fix path
* github workspace path
* latest version
* Revert "latest version"
This reverts commit 5a7d7b82d9e7553bcb01b02557ec8969f9deba1d.
* commented consul exec
* added ssl revoke best effort
* revert best effort
* removed unused files
* rename var name and change dir
* windows runner
* permission
* needs setup fix
* swtich to github runner
* fix file path
* fix path
* fix path
* fix path
* fix path
* fix path
* fix build paths
* fix tag
* nightly runs
* added matrix in github workflow, renamed files
* fix job
* fix matrix
* removed brackes
* from json
* without using job matrix
* fix quotes
* revert job matrix
* fix workflow
* fix comment
* added comment
* nightly runs
* removed datadog ci as it is already measured in linux one
* running test
* Revert "running test"
This reverts commit 7013d15a23732179d18ec5d17336e16b26fab5d4.
* pr comment fixes
* running test now
* running subset of test
* running subset of test
* job matrix
* shell bash
* removed bash shell
* linux machine for job matrix
* fix output
* added cat to debug
* using ubuntu latest
* fix job matrix
* fix win true
* fix go test
* revert job matrix
---------
Co-authored-by: Jose Ignacio Lorenzo <74208929+joselo85@users.noreply.github.com>
Co-authored-by: Franco Bruno Lavayen <cocolavayen@gmail.com>
Co-authored-by: Ivan K Berlot <ivanberlot@gmail.com>
Co-authored-by: Ezequiel Fernández Ponce <20102608+ezfepo@users.noreply.github.com>
Co-authored-by: joselo85 <joseignaciolorenzo85@gmail.com>
Co-authored-by: Ezequiel Fernández Ponce <ezequiel.fernandez@southworks.com>
Co-authored-by: Dhia Ayachi <dhia@hashicorp.com>
* fix typos and update ecs compat table (#18215)
* fix typos and update ecs compat table
* real info for the ecs compat matrix table
* Update website/content/docs/ecs/compatibility.mdx
Co-authored-by: Chris Thain <32781396+cthain@users.noreply.github.com>
---------
Co-authored-by: Chris Thain <32781396+cthain@users.noreply.github.com>
* [OSS] proxystate: add proxystate protos (#18216)
* proxystate: add proxystate protos to pbmesh and resolve imports and conflicts between message names
* ci: don't verify s390x (#18224)
* [CC-5718] Remove HCP token requirement during bootstrap (#18140)
* [CC-5718] Remove HCP token requirement during bootstrap
* Re-add error for loading HCP management token
* Remove old comment
* Add changelog entry
* Remove extra validation line
* Apply suggestions from code review
Co-authored-by: lornasong <lornasong@users.noreply.github.com>
---------
Co-authored-by: lornasong <lornasong@users.noreply.github.com>
* [NET-4122] Doc guidance for federation with externalServers (#18207)
Doc guidance for federation with externalServers
Add guidance for proper configuration when joining to a secondary
cluster using WAN fed with external servers also enabled.
Also clarify federation requirements and fix formatting for an
unrelated value.
Update both the Helm chart reference (synced from `consul-k8s`, see
hashicorp/consul-k8s#2583) and the docs on using `externalServers`.
* [OSS] Improve xDS Code Coverage - Endpoints and Misc (#18222)
test: improve xDS endpoints code coverage
* Clarify license reporting timing and GDPR compliance (#18237)
Add Alicia's edits to clarify log timing and other details
* Fix Github Workflow File (#18241)
* [CONSUL-382] Support openssl in unique test dockerfile (#43)
* [CONSUL-405] Add bats to single container (#44)
* [CONSUL-414] Run Prometheus Test Cases and Validate Changes (#46)
* [CONSUL-410] Run Jaeger in Single container (#45)
* [CONSUL-412] Run test-sds-server in single container (#48)
* [CONSUL-408] Clean containers (#47)
* [CONSUL-384] Rebase and sync fork (#50)
* [CONSUL-415] Create Scenarios Troubleshooting Docs (#49)
* [CONSUL-417] Update Docs Single Container (#51)
* [CONSUL-428] Add Socat to single container (#54)
* [CONSUL-424] Replace pkill in kill_envoy function (#52)
* [CONSUL-434] Modify Docker run functions in Helper script (#53)
* [CONSUL-435] Replace docker run in set_ttl_check_state & wait_for_agent_service_register functions (#55)
* [CONSUL-438] Add netcat (nc) in the Single container Dockerfile (#56)
* [CONSUL-429] Replace Docker run with Docker exec (#57)
* [CONSUL-436] Curl timeout and run tests (#58)
* [CONSUL-443] Create dogstatsd Function (#59)
* [CONSUL-431] Update Docs Netcat (#60)
* [CONSUL-439] Parse nc Command in function (#61)
* [CONSUL-463] Review curl Exec and get_ca_root Func (#63)
* [CONSUL-453] Docker hostname in Helper functions (#64)
* [CONSUL-461] Test wipe volumes without extra cont (#66)
* [CONSUL-454] Check ports in the Server and Agent containers (#65)
* [CONSUL-441] Update windows dockerfile with version (#62)
* [CONSUL-466] Review case-grpc Failing Test (#67)
* [CONSUL-494] Review case-cfg-resolver-svc-failover (#68)
* [CONSUL-496] Replace docker_wget & docker_curl (#69)
* [CONSUL-499] Cleanup Scripts - Remove nanoserver (#70)
* [CONSUL-500] Update Troubleshooting Docs (#72)
* [CONSUL-502] Pull & Tag Envoy Windows Image (#73)
* [CONSUL-504] Replace docker run in docker_consul (#76)
* [CONSUL-505] Change admin_bind
* [CONSUL-399] Update envoy to 1.23.1 (#78)
* [CONSUL-510] Support case-wanfed-gw on Windows (#79)
* [CONSUL-506] Update troubleshooting Documentation (#80)
* [CONSUL-512] Review debug_dump_volumes Function (#81)
* [CONSUL-514] Add zipkin to Docker Image (#82)
* [CONSUL-515] Update Documentation (#83)
* [CONSUL-529] Support case-consul-exec (#86)
* [CONSUL-530] Update Documentation (#87)
* [CONSUL-530] Update default consul version 1.13.3
* [CONSUL-539] Cleanup (#91)
* [CONSUL-546] Scripts Clean-up (#92)
* [CONSUL-491] Support admin_access_log_path value for Windows (#71)
* [CONSUL-519] Implement mkfifo Alternative (#84)
* [CONSUL-542] Create OS Specific Files for Envoy Package (#88)
* [CONSUL-543] Create exec_supported.go (#89)
* [CONSUL-544] Test and Build Changes (#90)
* Implement os.DevNull
* using mmap instead of disk files
* fix import in exec-unix
* fix nmap open too many arguemtn
* go fmt on file
* changelog file
* fix go mod
* Update .changelog/17694.txt
Co-authored-by: Dhia Ayachi <dhia@hashicorp.com>
* different mmap library
* fix bootstrap json
* some fixes
* chocolatey version fix and image fix
* using different library
* fix Map funciton call
* fix mmap call
* fix tcp dump
* fix tcp dump
* windows tcp dump
* Fix docker run
* fix tests
* fix go mod
* fix version 16.0
* fix version
* fix version dev
* sleep to debug
* fix sleep
* fix permission issue
* fix permission issue
* fix permission issue
* fix command
* fix command
* fix funciton
* fix assert config entry status command not found
* fix command not found assert_cert_has_cn
* fix command not found assert_upstream_missing
* fix command not found assert_upstream_missing_once
* fix command not found get_upstream_endpoint
* fix command not found get_envoy_public_listener_once
* fix command not found
* fix test cases
* windows integration test workflow github
* made code similar to unix using npipe
* fix go.mod
* fix dialing of npipe
* dont wait
* check size of written json
* fix undefined n
* running
* fix dep
* fix syntax error
* fix workflow file
* windows runner
* fix runner
* fix from json
* fix runs on
* merge connect envoy
* fix cin path
* build
* fix file name
* fix file name
* fix dev build
* remove unwanted code
* fix upload
* fix bin name
* fix path
* checkout current branch
* fix path
* fix tests
* fix shell bash for windows sh files
* fix permission of run-test.sh
* removed docker dev
* added shell bash for tests
* fix tag
* fix win=true
* fix cd
* added dev
* fix variable undefined
* removed failing tests
* fix tcp dump image
* fix curl
* fix curl
* tcp dump path
* fix tcpdump path
* fix curl
* fix curl install
* stop removing intermediate containers
* fix tcpdump docker image
* revert -rm
* --rm=false
* makeing docker image before
* fix tcpdump
* removed case consul exec
* removed terminating gateway simple
* comment case wasm
* removed data dog
* comment out upload coverage
* uncomment case-consul-exec
* comment case consul exec
* if always
* logs
* using consul 1.17.0
* fix quotes
* revert quotes
* redirect to dev null
* Revert version
* revert consul connect
* fix version
* removed envoy connect
* not using function
* change log
* docker logs
* fix logs
* restructure bad authz
* rmeoved dev null
* output
* fix file descriptor
* fix cacert
* fix cacert
* fix ca cert
* cacert does not work in windows curl
* fix func
* removed docker logs
* added sleep
* fix tls
* commented case-consul-exec
* removed echo
* retry docker consul
* fix upload bin
* uncomment consul exec
* copying consul.exe to docker image
* copy fix
* fix paths
* fix path
* github workspace path
* latest version
* Revert "latest version"
This reverts commit 5a7d7b82d9e7553bcb01b02557ec8969f9deba1d.
* commented consul exec
* added ssl revoke best effort
* revert best effort
* removed unused files
* rename var name and change dir
* windows runner
* permission
* needs setup fix
* swtich to github runner
* fix file path
* fix path
* fix path
* fix path
* fix path
* fix path
* fix build paths
* fix tag
* nightly runs
* added matrix in github workflow, renamed files
* fix job
* fix matrix
* removed brackes
* from json
* without using job matrix
* fix quotes
* revert job matrix
* fix workflow
* fix comment
* added comment
* nightly runs
* removed datadog ci as it is already measured in linux one
* running test
* Revert "running test"
This reverts commit 7013d15a23732179d18ec5d17336e16b26fab5d4.
* pr comment fixes
* running test now
* running subset of test
* running subset of test
* job matrix
* shell bash
* removed bash shell
* linux machine for job matrix
* fix output
* added cat to debug
* using ubuntu latest
* fix job matrix
* fix win true
* fix go test
* revert job matrix
* Fix tests
---------
Co-authored-by: Ivan K Berlot <ivanberlot@gmail.com>
Co-authored-by: Jose Ignacio Lorenzo <74208929+joselo85@users.noreply.github.com>
Co-authored-by: Franco Bruno Lavayen <cocolavayen@gmail.com>
Co-authored-by: Ezequiel Fernández Ponce <20102608+ezfepo@users.noreply.github.com>
Co-authored-by: joselo85 <joseignaciolorenzo85@gmail.com>
Co-authored-by: Ezequiel Fernández Ponce <ezequiel.fernandez@southworks.com>
Co-authored-by: Dhia Ayachi <dhia@hashicorp.com>
* NET-4996 - filter go-tests and test-integration workflows from running on docs only and ui only changes (#18236)
* Align build arch matrix with enterprise (#18235)
Ensure that OSS remains in sync w/ Enterprise by aligning the format of
arch matrix args for various build jobs.
* Revert "NET-4996 - filter go-tests and test-integration workflows from running on docs only and ui only changes" (#18248)
Revert "NET-4996 - filter go-tests and test-integration workflows from running on docs only and ui only changes (#18236)"
This reverts commit a11dba710e6ce6f172c0fa6c9b61567cc1efffc8.
* resource: Add scope to resource type registration [NET-4976] (#18214)
Enables querying a resource type's registration to determine if a resource is cluster, partition, or partition and namespace scoped.
* Fix some inconsistencies in jwt docs (#18234)
* NET-1825: More new ACL token creation docs (#18063)
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* [CC-5719] Add support for builtin global-read-only policy
* Add changelog
* Add read-only to docs
* Fix some minor issues.
* Change from ReplaceAll to Sprintf
* Change IsValidPolicy name to return an error instead of bool
* Fix PolicyList test
* Fix other tests
* Apply suggestions from code review
Co-authored-by: Paul Glass <pglass@hashicorp.com>
* Fix state store test for policy list.
* Fix naming issues
* Update acl/validation.go
Co-authored-by: Chris Thain <32781396+cthain@users.noreply.github.com>
* backport of commit d63fa5481dc02c6faae7cc2647b4073b3286af1d
* backport of commit 3d099a6ed8ed10b6dc464c466cb1668914db8f08
---------
Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: Dan Bond <danbond@protonmail.com>
Signed-off-by: josh <josh.timmons@hashicorp.com>
Co-authored-by: Michael Zalimeni <michael.zalimeni@hashicorp.com>
Co-authored-by: Ronald <roncodingenthusiast@users.noreply.github.com>
Co-authored-by: Eric Haberkorn <erichaberkorn@gmail.com>
Co-authored-by: Andrew Stucki <andrew.stucki@hashicorp.com>
Co-authored-by: Luke Kysow <1034429+lkysow@users.noreply.github.com>
Co-authored-by: R.B. Boyer <4903+rboyer@users.noreply.github.com>
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com>
Co-authored-by: David Yu <dyu@hashicorp.com>
Co-authored-by: Bryce Kalow <bkalow@hashicorp.com>
Co-authored-by: Paul Glass <pglass@hashicorp.com>
Co-authored-by: Matt Keeler <mkeeler@users.noreply.github.com>
Co-authored-by: Nathan Coleman <nathan.coleman@hashicorp.com>
Co-authored-by: Poonam Jadhav <poonam.jadhav@hashicorp.com>
Co-authored-by: Tu Nguyen <im2nguyen@users.noreply.github.com>
Co-authored-by: Chris Thain <32781396+cthain@users.noreply.github.com>
Co-authored-by: Hariram Sankaran <56744845+ramramhariram@users.noreply.github.com>
Co-authored-by: shanafarkas <105076572+shanafarkas@users.noreply.github.com>
Co-authored-by: Thomas Eckert <teckert@hashicorp.com>
Co-authored-by: Jeff Apple <79924108+Jeff-Apple@users.noreply.github.com>
Co-authored-by: Joshua Timmons <josh.timmons@hashicorp.com>
Co-authored-by: Ashesh Vidyut <134911583+absolutelightning@users.noreply.github.com>
Co-authored-by: Dan Stough <dan.stough@hashicorp.com>
Co-authored-by: Curt Bushko <cbushko@gmail.com>
Co-authored-by: Tobias Birkefeld <t@craxs.de>
Co-authored-by: Jared Kirschner <85913323+jkirschner-hashicorp@users.noreply.github.com>
Co-authored-by: Semir Patel <semir.patel@hashicorp.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: chappie <6537530+chapmanc@users.noreply.github.com>
Co-authored-by: Derek Menteer <105233703+hashi-derek@users.noreply.github.com>
Co-authored-by: John Murret <john.murret@hashicorp.com>
Co-authored-by: Mark Campbell-Vincent <mnmvincent@gmail.com>
Co-authored-by: Daniel Upton <daniel@floppy.co>
Co-authored-by: Steven Zamborsky <97125550+stevenzamborsky@users.noreply.github.com>
Co-authored-by: George Bolo <george.bolo@gmail.com>
Co-authored-by: Chris S. Kim <ckim@hashicorp.com>
Co-authored-by: wangxinyi7 <121973291+wangxinyi7@users.noreply.github.com>
Co-authored-by: cskh <hui.kang@hashicorp.com>
Co-authored-by: V. K <cn007b@gmail.com>
Co-authored-by: Iryna Shustava <ishustava@users.noreply.github.com>
Co-authored-by: Alex Simenduev <shamil.si@gmail.com>
Co-authored-by: Dhia Ayachi <dhia@hashicorp.com>
Co-authored-by: Dan Bond <danbond@protonmail.com>
Co-authored-by: sarahalsmiller <100602640+sarahalsmiller@users.noreply.github.com>
Co-authored-by: Gerard Nguyen <gerard@hashicorp.com>
Co-authored-by: mr-miles <miles.waller@gmail.com>
Co-authored-by: natemollica-dev <57850649+natemollica-nm@users.noreply.github.com>
Co-authored-by: John Maguire <john.maguire@hashicorp.com>
Co-authored-by: Samantha <hello@entropy.cat>
Co-authored-by: Ranjandas <thejranjan@gmail.com>
Co-authored-by: Evan Phoenix <evan@phx.io>
Co-authored-by: Michael Hofer <karras@users.noreply.github.com>
Co-authored-by: J.C. Jones <james.jc.jones@gmail.com>
Co-authored-by: Fulvio <fulviodenza823@gmail.com>
Co-authored-by: Krastin Krastev <krastin@hashicorp.com>
Co-authored-by: david3a <49253132+david3a@users.noreply.github.com>
Co-authored-by: Nick Irvine <115657443+nfi-hashicorp@users.noreply.github.com>
Co-authored-by: Tom Davies <tom@t-davies.com>
Co-authored-by: Vijay <vijayraghav22@gmail.com>
Co-authored-by: Eddie Rowe <74205376+eddie-rowe@users.noreply.github.com>
Co-authored-by: emilymianeil <eneil@hashicorp.com>
Co-authored-by: nv-hashi <80716011+nv-hashi@users.noreply.github.com>
Co-authored-by: Franco Bruno Lavayen <cocolavayen@gmail.com>
Co-authored-by: Jose Ignacio Lorenzo <74208929+joselo85@users.noreply.github.com>
Co-authored-by: Jose Ignacio Lorenzo <joseignaciolorenzo85@gmail.com>
Co-authored-by: R.B. Boyer <rb@hashicorp.com>
Co-authored-by: Freddy <freddygv@users.noreply.github.com>
Co-authored-by: NiniOak <anita.akaeze@hashicorp.com>
Co-authored-by: hashicorp-tsccr[bot] <129506189+hashicorp-tsccr[bot]@users.noreply.github.com>
Co-authored-by: hashicorp-tsccr[bot] <hashicorp-tsccr[bot]@users.noreply.github.com>
Co-authored-by: Blake Covarrubias <blake@covarrubi.as>
Co-authored-by: Ivan K Berlot <ivanberlot@gmail.com>
Co-authored-by: Ezequiel Fernández Ponce <20102608+ezfepo@users.noreply.github.com>
Co-authored-by: Ezequiel Fernández Ponce <ezequiel.fernandez@southworks.com>
Co-authored-by: Nitya Dhanushkodi <nitya@hashicorp.com>
Co-authored-by: Jeremy Jacobson <jjacobson93@users.noreply.github.com>
Co-authored-by: lornasong <lornasong@users.noreply.github.com>
Co-authored-by: Judith Malnick <judith@hashicorp.com>
Co-authored-by: Jeremy Jacobson <jeremy.jacobson@hashicorp.com>
2023-08-01 17:37:13 +00:00
|
|
|
policy = "%[1]s"
|
2018-10-19 16:04:07 +00:00
|
|
|
}
|
|
|
|
service_prefix "" {
|
Backport of [CC-5719] Add support for builtin global-read-only policy into release/1.16.x (#18345)
* [OSS] Post Consul 1.16 updates (#17606)
* chore: update dev build to 1.17
* chore(ci): add nightly 1.16 test
Drop the oldest and add the newest running release branch to nightly
builds.
* Add writeAuditRPCEvent to agent_oss (#17607)
* Add writeAuditRPCEvent to agent_oss
* fix the other diffs
* backport change log
* Add Envoy and Consul version constraints to Envoy extensions (#17612)
* [API Gateway] Fix trust domain for external peered services in synthesis code (#17609)
* [API Gateway] Fix trust domain for external peered services in synthesis code
* Add changelog
* backport ent changes to oss (#17614)
* backport ent changes to oss
* Update .changelog/_5669.txt
Co-authored-by: Michael Zalimeni <michael.zalimeni@hashicorp.com>
---------
Co-authored-by: Michael Zalimeni <michael.zalimeni@hashicorp.com>
* Update intentions.mdx (#17619)
Make behaviour of L7 intentions clearer
* enterprise changelog update for audit (#17625)
* Update list of Envoy versions (#17546)
* [API Gateway] Fix rate limiting for API gateways (#17631)
* [API Gateway] Fix rate limiting for API gateways
* Add changelog
* Fix failing unit tests
* Fix operator usage tests for api package
* sort some imports that are wonky between oss and ent (#17637)
* PmTLS and tproxy improvements with failover and L7 traffic mgmt for k8s (#17624)
* porting over changes from enterprise repo to oss
* applied feedback on service mesh for k8s overview
* fixed typo
* removed ent-only build script file
* Apply suggestions from code review
Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com>
* Apply suggestions from code review
Co-authored-by: David Yu <dyu@hashicorp.com>
Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com>
---------
Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com>
Co-authored-by: David Yu <dyu@hashicorp.com>
* Delete check-legacy-links-format.yml (#17647)
* docs: Reference doc updates for permissive mTLS settings (#17371)
* Reference doc updates for permissive mTLS settings
* Document config entry filtering
* Fix minor doc errors (double slashes in link url paths)
---------
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Add generic experiments configuration and use it to enable catalog v2 resources (#17604)
* Add generic experiments configuration and use it to enable catalog v2 resources
* Run formatting with -s as CI will validate that this has been done
* api-gateway: stop adding all header filters to virtual host when generating xDS (#17644)
* Add header filter to api-gateway xDS golden test
* Stop adding all header filters to virtual host when generating xDS for api-gateway
* Regenerate xDS golden file for api-gateway w/ header filter
* fix: add agent info reporting log (#17654)
* Add new Consul 1.16 docs (#17651)
* Merge pull request #5773 from hashicorp/docs/rate-limiting-from-ip-addresses-1.16
updated docs for rate limiting for IP addresses - 1.16
* Merge pull request #5609 from hashicorp/docs/enterprise-utilization-reporting
Add docs for enterprise utilization reporting
* Merge pull request #5734 from hashicorp/docs/envoy-ext-1.16
Docs/envoy ext 1.16
* Merge pull request #5773 from hashicorp/docs/rate-limiting-from-ip-addresses-1.16
updated docs for rate limiting for IP addresses - 1.16
* Merge pull request #5609 from hashicorp/docs/enterprise-utilization-reporting
Add docs for enterprise utilization reporting
* Merge pull request #5734 from hashicorp/docs/envoy-ext-1.16
Docs/envoy ext 1.16
* fix build errors
---------
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Default `ProxyType` for builtin extensions (#17657)
* Post 1.16.0-rc1 updates (#17663)
- Update changelog to include new entries from release
- Update submodule versions to latest published
* Update service-defaults.mdx (#17656)
* docs: Sameness Groups (#17628)
* port from enterprise branch
* Apply suggestions from code review
Co-authored-by: shanafarkas <105076572+shanafarkas@users.noreply.github.com>
* Update website/content/docs/connect/cluster-peering/usage/create-sameness-groups.mdx
* next steps
* Update website/content/docs/connect/cluster-peering/usage/create-sameness-groups.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Update website/content/docs/k8s/connect/cluster-peering/usage/create-sameness-groups.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
---------
Co-authored-by: shanafarkas <105076572+shanafarkas@users.noreply.github.com>
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Remove "BETA" marker from config entries (#17670)
* CAPIgw for K8s installation updates for 1.16 (#17627)
* trimmed CRD step and reqs from installation
* updated tech specs
* Apply suggestions from code review
Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com>
Co-authored-by: Jeff Apple <79924108+Jeff-Apple@users.noreply.github.com>
* added upgrade instruction
* removed tcp port req
* described downtime and DT-less upgrades
* applied additional review feedback
---------
Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com>
Co-authored-by: Jeff Apple <79924108+Jeff-Apple@users.noreply.github.com>
* additional feedback on API gateway upgrades (#17677)
* additional feedback
* Update website/content/docs/api-gateway/upgrades.mdx
Co-authored-by: Jeff Apple <79924108+Jeff-Apple@users.noreply.github.com>
---------
Co-authored-by: Jeff Apple <79924108+Jeff-Apple@users.noreply.github.com>
* docs: JWT Authorization for intentions (#17643)
* Initial page/nav creation
* configuration entry reference page
* Usage + fixes
* service intentions page
* usage
* description
* config entry updates
* formatting fixes
* Update website/content/docs/connect/config-entries/service-intentions.mdx
Co-authored-by: Paul Glass <pglass@hashicorp.com>
* service intentions review fixes
* Overview page review fixes
* Apply suggestions from code review
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
---------
Co-authored-by: Paul Glass <pglass@hashicorp.com>
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* docs: minor fixes to JWT auth docs (#17680)
* Fixes
* service intentions fixes
* Fix two WAL metrics in docs/agent/telemetry.mdx (#17593)
* updated failover for k8s w-tproxy page title (#17683)
* Add release notes 1.16 rc (#17665)
* Merge pull request #5773 from hashicorp/docs/rate-limiting-from-ip-addresses-1.16
updated docs for rate limiting for IP addresses - 1.16
* Merge pull request #5609 from hashicorp/docs/enterprise-utilization-reporting
Add docs for enterprise utilization reporting
* Merge pull request #5734 from hashicorp/docs/envoy-ext-1.16
Docs/envoy ext 1.16
* Add release notes for 1.16-rc
* Add consul-e license utlization reporting
* Update with rc absolute links
* Update with rc absolute links
* fix typo
* Apply suggestions from code review
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Update to use callout component
* address typo
* docs: FIPS 140-2 Compliance (#17668)
* Page + nav + formatting
* link fix
* Update website/content/docs/enterprise/fips.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Update website/content/docs/enterprise/fips.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Update website/content/docs/enterprise/fips.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Update website/content/docs/enterprise/fips.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Update website/content/docs/enterprise/fips.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Update website/content/docs/enterprise/fips.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Update website/content/docs/enterprise/fips.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Update website/content/docs/enterprise/fips.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Update website/content/docs/enterprise/fips.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Update website/content/docs/enterprise/fips.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* link fix
* Apply suggestions from code review
Co-authored-by: Jeff Apple <79924108+Jeff-Apple@users.noreply.github.com>
* Update website/content/docs/enterprise/fips.mdx
---------
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
Co-authored-by: Jeff Apple <79924108+Jeff-Apple@users.noreply.github.com>
* fix apigw install values file
* fix typos in release notes
---------
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com>
Co-authored-by: Jeff Apple <79924108+Jeff-Apple@users.noreply.github.com>
* fix release notes links (#17687)
* adding redirects for tproxy and envoy extensions (#17688)
* adding redirects
* Apply suggestions from code review
* Fix FIPS copy (#17691)
* fix release notes links
* fix typos on fips docs
* [NET-4107][Supportability] Log Level set to TRACE and duration set to 5m for consul-debug (#17596)
* changed duration to 5 mins and log level to trace
* documentation update
* change log
* ENT merge of ext-authz extension updates (#17684)
* docs: Update default values for Envoy extension proxy types (#17676)
* fix: stop peering delete routine on leader loss (#17483)
* Refactor disco chain prioritize by locality structs (#17696)
This includes prioritize by localities on disco chain targets rather than
resolvers, allowing different targets within the same partition to have
different policies.
* agent: remove agent cache dependency from service mesh leaf certificate management (#17075)
* agent: remove agent cache dependency from service mesh leaf certificate management
This extracts the leaf cert management from within the agent cache.
This code was produced by the following process:
1. All tests in agent/cache, agent/cache-types, agent/auto-config,
agent/consul/servercert were run at each stage.
- The tests in agent matching .*Leaf were run at each stage.
- The tests in agent/leafcert were run at each stage after they
existed.
2. The former leaf cert Fetch implementation was extracted into a new
package behind a "fake RPC" endpoint to make it look almost like all
other cache type internals.
3. The old cache type was shimmed to use the fake RPC endpoint and
generally cleaned up.
4. I selectively duplicated all of Get/Notify/NotifyCallback/Prepopulate
from the agent/cache.Cache implementation over into the new package.
This was renamed as leafcert.Manager.
- Code that was irrelevant to the leaf cert type was deleted
(inlining blocking=true, refresh=false)
5. Everything that used the leaf cert cache type (including proxycfg
stuff) was shifted to use the leafcert.Manager instead.
6. agent/cache-types tests were moved and gently replumbed to execute
as-is against a leafcert.Manager.
7. Inspired by some of the locking changes from derek's branch I split
the fat lock into N+1 locks.
8. The waiter chan struct{} was eventually replaced with a
singleflight.Group around cache updates, which was likely the biggest
net structural change.
9. The awkward two layers or logic produced as a byproduct of marrying
the agent cache management code with the leaf cert type code was
slowly coalesced and flattened to remove confusion.
10. The .*Leaf tests from the agent package were copied and made to work
directly against a leafcert.Manager to increase direct coverage.
I have done a best effort attempt to port the previous leaf-cert cache
type's tests over in spirit, as well as to take the e2e-ish tests in the
agent package with Leaf in the test name and copy those into the
agent/leafcert package to get more direct coverage, rather than coverage
tangled up in the agent logic.
There is no net-new test coverage, just coverage that was pushed around
from elsewhere.
* [core]: Pin github action workflows (#17695)
* docs: missing changelog for _5517 (#17706)
* add enterprise notes for IP-based rate limits (#17711)
* add enterprise notes for IP-based rate limits
* Apply suggestions from code review
Co-authored-by: Tu Nguyen <im2nguyen@users.noreply.github.com>
Co-authored-by: David Yu <dyu@hashicorp.com>
* added bolded 'Enterprise' in list items.
---------
Co-authored-by: Tu Nguyen <im2nguyen@users.noreply.github.com>
Co-authored-by: David Yu <dyu@hashicorp.com>
* Update compatibility.mdx (#17713)
* Remove extraneous version info for Config entries (#17716)
* Update terminating-gateway.mdx
* Update exported-services.mdx
* Update mesh.mdx
* fix: typo in link to section (#17527)
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Bump Alpine to 3.18 (#17719)
* Update Dockerfile
* Create 17719.txt
* NET-1825: New ACL token creation docs (#16465)
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
Co-authored-by: Jared Kirschner <85913323+jkirschner-hashicorp@users.noreply.github.com>
* [NET-3865] [Supportability] Additional Information in the output of 'consul operator raft list-peers' (#17582)
* init
* fix tests
* added -detailed in docs
* added change log
* fix doc
* checking for entry in map
* fix tests
* removed detailed flag
* removed detailed flag
* revert unwanted changes
* removed unwanted changes
* updated change log
* pr review comment changes
* pr comment changes single API instead of two
* fix change log
* fix tests
* fix tests
* fix test operator raft endpoint test
* Update .changelog/17582.txt
Co-authored-by: Semir Patel <semir.patel@hashicorp.com>
* nits
* updated docs
---------
Co-authored-by: Semir Patel <semir.patel@hashicorp.com>
* OSS merge: Update error handling login when applying extensions (#17740)
* Bump atlassian/gajira-transition from 3.0.0 to 3.0.1 (#17741)
Bumps [atlassian/gajira-transition](https://github.com/atlassian/gajira-transition) from 3.0.0 to 3.0.1.
- [Release notes](https://github.com/atlassian/gajira-transition/releases)
- [Commits](https://github.com/atlassian/gajira-transition/compare/4749176faf14633954d72af7a44d7f2af01cc92b...38fc9cd61b03d6a53dd35fcccda172fe04b36de3)
---
updated-dependencies:
- dependency-name: atlassian/gajira-transition
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Add truncation to body (#17723)
* docs: Failover overview minor fix (#17743)
* Incorrect symbol
* Clarification
* slight edit for clarity
* docs - update Envoy and Dataplane compat matrix (#17752)
* Update envoy.mdx
added more detail around default versus other compatible versions
* validate localities on agent configs and registration endpoints (#17712)
* Updated docs added explanation. (#17751)
* init
* fix tests
* added -detailed in docs
* added change log
* fix doc
* checking for entry in map
* fix tests
* removed detailed flag
* removed detailed flag
* revert unwanted changes
* removed unwanted changes
* updated change log
* pr review comment changes
* pr comment changes single API instead of two
* fix change log
* fix tests
* fix tests
* fix test operator raft endpoint test
* Update .changelog/17582.txt
Co-authored-by: Semir Patel <semir.patel@hashicorp.com>
* nits
* updated docs
* explanation added
---------
Co-authored-by: Semir Patel <semir.patel@hashicorp.com>
* Update index.mdx (#17749)
* added redirects and updated links (#17764)
* Add transparent proxy enhancements changelog (#17757)
* docs - remove use of consul leave during upgrade instructions (#17758)
* Fix issue with streaming service health watches. (#17775)
Fix issue with streaming service health watches.
This commit fixes an issue where the health streams were unaware of service
export changes. Whenever an exported-services config entry is modified, it is
effectively an ACL change.
The bug would be triggered by the following situation:
- no services are exported
- an upstream watch to service X is spawned
- the streaming backend filters out data for service X (due to lack of exports)
- service X is finally exported
In the situation above, the streaming backend does not trigger a refresh of its
data. This means that any events that were supposed to have been received prior
to the export are NOT backfilled, and the watches never see service X spawning.
We currently have decided to not trigger a stream refresh in this situation due
to the potential for a thundering herd effect (touching exports would cause a
re-fetch of all watches for that partition, potentially). Therefore, a local
blocking-query approach was added by this commit for agentless.
It's also worth noting that the streaming subscription is currently bypassed
most of the time with agentful, because proxycfg has a `req.Source.Node != ""`
which prevents the `streamingEnabled` check from passing. This means that while
agents should technically have this same issue, they don't experience it with
mesh health watches.
Note that this is a temporary fix that solves the issue for proxycfg, but not
service-discovery use cases.
* Property Override validation improvements (#17759)
* Reject inbound Prop Override patch with Services
Services filtering is only supported for outbound TrafficDirection patches.
* Improve Prop Override unexpected type validation
- Guard against additional invalid parent and target types
- Add specific error handling for Any fields (unsupported)
* Fixes (#17765)
* Update license get explanation (#17782)
This PR is to clarify what happens if the license get command is run on a follower if the leader hasn't been updated with a newer license.
* Add Patch index to Prop Override validation errors (#17777)
When a patch is found invalid, include its index for easier debugging
when multiple patches are provided.
* Stop referenced jwt providers from being deleted (#17755)
* Stop referenced jwt providers from being deleted
* Implement a Catalog Controllers Lifecycle Integration Test (#17435)
* Implement a Catalog Controllers Lifecycle Integration Test
* Prevent triggering the race detector.
This allows defining some variables for protobuf constants and using those in comparisons. Without that, something internal in the fmt package ended up looking at the protobuf message size cache and triggering the race detector.
* HCP Add node id/name to config (#17750)
* Catalog V2 Container Based Integration Test (#17674)
* Implement the Catalog V2 controller integration container tests
This now allows the container tests to import things from the root module. However for now we want to be very restrictive about which packages we allow importing.
* Add an upgrade test for the new catalog
Currently this should be dormant and not executed. However its put in place to detect breaking changes in the future and show an example of how to do an upgrade test with integration tests structured like catalog v2.
* Make testutil.Retry capable of performing cleanup operations
These cleanup operations are executed after each retry attempt.
* Move TestContext to taking an interface instead of a concrete testing.T
This allows this to be used on a retry.R or generally anything that meets the interface.
* Move to using TestContext instead of background contexts
Also this forces all test methods to implement the Cleanup method now instead of that being an optional interface.
Co-authored-by: Daniel Upton <daniel@floppy.co>
* Fix Docs for Trails Leader By (#17763)
* init
* fix tests
* added -detailed in docs
* added change log
* fix doc
* checking for entry in map
* fix tests
* removed detailed flag
* removed detailed flag
* revert unwanted changes
* removed unwanted changes
* updated change log
* pr review comment changes
* pr comment changes single API instead of two
* fix change log
* fix tests
* fix tests
* fix test operator raft endpoint test
* Update .changelog/17582.txt
Co-authored-by: Semir Patel <semir.patel@hashicorp.com>
* nits
* updated docs
* explanation added
* fix doc
* fix docs
---------
Co-authored-by: Semir Patel <semir.patel@hashicorp.com>
* Improve Prop Override docs examples (#17799)
- Provide more realistics examples for setting properties not already
supported natively by Consul
- Remove superfluous commas from HCL, correct target service name, and
fix service defaults vs. proxy defaults in examples
- Align existing integration test to updated docs
* Test permissive mTLS filter chain not configured with tproxy disabled (#17747)
* Add documentation for remote debugging of integration tests. (#17800)
* Add documentation for remote debugging of integration tests.
* add link from main docs page.
* changes related to PR feedback
* Clarify limitations of Prop Override extension (#17801)
Explicitly document the limitations of the extension, particularly what
kind of fields it is capable of modifying.
* Fix formatting for webhook-certs Consul tutorial (#17810)
* Fix formatting for webhook-certs Consul tutorial
* Make a small grammar change to also pick up whitespace changes necessary for formatting
---------
Co-authored-by: David Yu <dyu@hashicorp.com>
* Add jwt-authn metrics to jwt-provider docs (#17816)
* [NET-3095] add jwt-authn metrics docs
* Change URLs for redirects from RC to default latest (#17822)
* Set GOPRIVATE for all hashicorp repos in CI (#17817)
Consistently set GOPRIVATE to include all hashicorp repos, s.t. private
modules are successfully pulled in enterprise CI.
* Make locality aware routing xDS changes (#17826)
* Fixup consul-container/test/debugging.md (#17815)
Add missing `-t` flag and fix minor typo.
* fixes #17732 - AccessorID in request body should be optional when updating ACL token (#17739)
* AccessorID in request body should be optional when updating ACL token
* add a test case
* fix test case
* add changelog entry for PR #17739
* CA provider doc updates and Vault provider minor update (#17831)
Update CA provider docs
Clarify that providers can differ between
primary and secondary datacenters
Provide a comparison chart for consul vs
vault CA providers
Loosen Vault CA provider validation for RootPKIPath
Update Vault CA provider documentation
* ext-authz Envoy extension: support `localhost` as a valid target URI. (#17821)
* CI Updates (#17834)
* Ensure that git access to private repos uses the ELEVATED_GITHUB_TOKEN
* Bump the runner size for the protobuf generation check
This has failed previously when the runner process that communicates with GitHub gets starved causing the job to fail.
* counter part of ent pr (#17618)
* watch: support -filter for consul watch: checks, services, nodes, service (#17780)
* watch: support -filter for watch checks
* Add filter for watch nodes, services, and service
- unit test added
- Add changelog
- update doc
* Trigger OSS => ENT merge for all release branches (#17853)
Previously, this only triggered for release/*.*.x branches; however, our release process involves cutting a release/1.16.0 branch, for example, at time of code freeze these days. Any PRs to that branch after code freeze today do not make their way to consul-enterprise. This will make behavior for a .0 branch consistent with current behavior for a .x branch.
* Update service-mesh.mdx (#17845)
Deleted two commas which looks quite like some leftovers.
* Add docs for sameness groups with resolvers. (#17851)
* docs: add note about path prefix matching behavior for HTTPRoute config (#17860)
* Add note about path prefix matching behavior for HTTPRoute config
* Update website/content/docs/connect/gateways/api-gateway/configuration/http-route.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
---------
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* docs: update upgrade to consul-dataplane docs on k8s (#17852)
* resource: add `AuthorizerContext` helper method (#17393)
* resource: enforce consistent naming of resource types (#17611)
For consistency, resource type names must follow these rules:
- `Group` must be snake case, and in most cases a single word.
- `GroupVersion` must be lowercase, start with a "v" and end with a number.
- `Kind` must be pascal case.
These were chosen because they map to our protobuf type naming
conventions.
* tooling: generate protoset file (#17364)
Extends the `proto` make target to generate a protoset file for use with
grpcurl etc.
* Fix a bug that wrongly trims domains when there is an overlap with DC name (#17160)
* Fix a bug that wrongly trims domains when there is an overlap with DC name
Before this change, when DC name and domain/alt-domain overlap, the domain name incorrectly trimmed from the query.
Example:
Given: datacenter = dc-test, alt-domain = test.consul.
Querying for "test-node.node.dc-test.consul" will faile, because the
code was trimming "test.consul" instead of just ".consul"
This change, fixes the issue by adding dot (.) before trimming
* trimDomain: ensure domain trimmed without modyfing original domains
* update changelog
---------
Co-authored-by: Dhia Ayachi <dhia@hashicorp.com>
* deps: aws-sdk-go v1.44.289 (#17876)
Signed-off-by: Dan Bond <danbond@protonmail.com>
* api-gateway: add operation cannot be fulfilled error to common errors (#17874)
* add error message
* Update website/content/docs/api-gateway/usage/errors.mdx
Co-authored-by: Nathan Coleman <nathan.coleman@hashicorp.com>
* fix formating issues
---------
Co-authored-by: Nathan Coleman <nathan.coleman@hashicorp.com>
* api-gateway: add step to upgrade instructions for creating intentions (#17875)
* Changelog - add 1.13.9, 1.14.8, and 1.15.4 (#17889)
* docs: update config enable_debug (#17866)
* update doc for config enable_debug
* Update website/content/docs/agent/config/config-files.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
---------
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Update wording on WAN fed and intermediate_pki_path (#17850)
* Allow service identity tokens the ability to read jwt-providers (#17893)
* Allow service identity tokens the ability to read jwt-providers
* more tests
* service_prefix tests
* Update docs (#17476)
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Add emit_tags_as_labels to envoy bootstrap config when using Consul Telemetry Collector (#17888)
* Fix command from kg to kubectl get (#17903)
* Create and update release notes for 1.16 and 1.2 (#17895)
* update release notes for 1.16 and 1.2
* update latest consul core release
* Propose new changes to APIgw upgrade instructions (#17693)
* Propose new changes to APIgw upgrade instructions
* fix build error
* update callouts to render correctly
* Add hideClipboard to log messages
* Added clarification around consul k8s and crds
* Add workflow to verify linux release packages (#17904)
* adding docker files to verify linux packages.
* add verifr-release-linux.yml
* updating name
* pass inputs directly into jobs
* add other linux package platforms
* remove on push
* fix TARGETARCH on debian and ubuntu so it can check arm64 and amd64
* fixing amazon to use the continue line
* add ubuntu i386
* fix comment lines
* working
* remove commented out workflow jobs
* Apply suggestions from code review
Co-authored-by: Nathan Coleman <nathan.coleman@hashicorp.com>
* update fedora and ubuntu to use latest tag
---------
Co-authored-by: Nathan Coleman <nathan.coleman@hashicorp.com>
* Reference hashicorp/consul instead of consul for Docker image (#17914)
* Reference hashicorp/consul instead of consul for Docker image
* Update Make targets that pull consul directly
* Update Consul K8s Upgrade Doc Updates (#17921)
Updating upgrade procedures to encompass expected errors during upgrade process from v1.13.x to v1.14.x.
* Update sameness-group.mdx (#17915)
* Update create-sameness-groups.mdx (#17927)
* deps: coredns v1.10.1 (#17912)
* Ensure RSA keys are at least 2048 bits in length (#17911)
* Ensure RSA keys are at least 2048 bits in length
* Add changelog
* update key length check for FIPS compliance
* Fix no new variables error and failing to return when error exists from
validating
* clean up code for better readability
* actually return value
* tlsutil: Fix check TLS configuration (#17481)
* tlsutil: Fix check TLS configuration
* Rewording docs.
* Update website/content/docs/services/configuration/checks-configuration-reference.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Fix typos and add changelog entry.
---------
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* docs: Deprecations for connect-native SDK and specific connect native APIs (#17937)
* Update v1_16_x.mdx
* Update connect native golang page
---------
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Revert "Add workflow to verify linux release packages (#17904)" (#17942)
This reverts commit 3368f14fab500ebe9f6aeab5631dd1d5f5a453e5.
* Fixes Secondary ConnectCA update (#17846)
This fixes a bug that was identified which resulted in subsequent
ConnectCA configuration update not to persist in the cluster.
* fixing typo in link to jwt-validations-with-intentions doc (#17955)
* Fix streaming backend link (#17958)
* Fix streaming backend link
* Update health.mdx
* Dynamically create jwks clusters for jwt-providers (#17944)
* website: remove deprecated agent rpc docs (#17962)
* Fix missing BalanceOutboundConnections in v2 catalog. (#17964)
* feature - [NET - 4005] - [Supportability] Reloadable Configuration - enable_debug (#17565)
* # This is a combination of 9 commits.
# This is the 1st commit message:
init without tests
# This is the commit message #2:
change log
# This is the commit message #3:
fix tests
# This is the commit message #4:
fix tests
# This is the commit message #5:
added tests
# This is the commit message #6:
change log breaking change
# This is the commit message #7:
removed breaking change
# This is the commit message #8:
fix test
# This is the commit message #9:
keeping the test behaviour same
* # This is a combination of 12 commits.
# This is the 1st commit message:
init without tests
# This is the commit message #2:
change log
# This is the commit message #3:
fix tests
# This is the commit message #4:
fix tests
# This is the commit message #5:
added tests
# This is the commit message #6:
change log breaking change
# This is the commit message #7:
removed breaking change
# This is the commit message #8:
fix test
# This is the commit message #9:
keeping the test behaviour same
# This is the commit message #10:
made enable debug atomic bool
# This is the commit message #11:
fix lint
# This is the commit message #12:
fix test true enable debug
* parent 10f500e895d92cc3691ade7b74a33db755d22039
author absolutelightning <ashesh.vidyut@hashicorp.com> 1687352587 +0530
committer absolutelightning <ashesh.vidyut@hashicorp.com> 1687352592 +0530
init without tests
change log
fix tests
fix tests
added tests
change log breaking change
removed breaking change
fix test
keeping the test behaviour same
made enable debug atomic bool
fix lint
fix test true enable debug
using enable debug in agent as atomic bool
test fixes
fix tests
fix tests
added update on correct locaiton
fix tests
fix reloadable config enable debug
fix tests
fix init and acl 403
* revert commit
* Fix formatting codeblocks on APIgw docs (#17970)
* fix formatting codeblocks
* remove unnecessary indents
* Remove POC code (#17974)
* update doc (#17910)
* update doc
* update link
* Remove duplicate and unused newDecodeConfigEntry func (#17979)
* docs: samenessGroup YAML examples (#17984)
* configuration entry syntax
* Example config
* Add changelog entry for 1.16.0 (#17987)
* Fix typo (#17198)
servcies => services
* Expose JWKS cluster config through JWTProviderConfigEntry (#17978)
* Expose JWKS cluster config through JWTProviderConfigEntry
* fix typos, rename trustedCa to trustedCA
* Integration test for ext-authz Envoy extension (#17980)
* Fix incorrect protocol for transparent proxy upstreams. (#17894)
This PR fixes a bug that was introduced in:
https://github.com/hashicorp/consul/pull/16021
A user setting a protocol in proxy-defaults would cause tproxy implicit
upstreams to not honor the upstream service's protocol set in its
`ServiceDefaults.Protocol` field, and would instead always use the
proxy-defaults value.
Due to the fact that upstreams configured with "tcp" can successfully contact
upstream "http" services, this issue was not recognized until recently (a
proxy-defaults with "tcp" and a listening service with "http" would make
successful requests, but not the opposite).
As a temporary work-around, users experiencing this issue can explicitly set
the protocol on the `ServiceDefaults.UpstreamConfig.Overrides`, which should
take precedence.
The fix in this PR removes the proxy-defaults protocol from the wildcard
upstream that tproxy uses to configure implicit upstreams. When the protocol
was included, it would always overwrite the value during discovery chain
compilation, which was not correct. The discovery chain compiler also consumes
proxy defaults to determine the protocol, so simply excluding it from the
wildcard upstream config map resolves the issue.
* feat: include nodes count in operator usage endpoint and cli command (#17939)
* feat: update operator usage api endpoint to include nodes count
* feat: update operator usange cli command to includes nodes count
* [OSS] Improve Gateway Test Coverage of Catalog Health (#18011)
* fix(cli): remove failing check from 'connect envoy' registration for api gateway
* test(integration): add tests to check catalog statsus of gateways on startup
* remove extra sleep comment
* Update test/integration/consul-container/libs/assert/service.go
* changelog
* Fixes Traffic rate limitting docs (#17997)
* Fix removed service-to-service peering links (#17221)
* docs: fix removed service-to-service peering links
* docs: extend peering-via-mesh-gateways intro (thanks @trujillo-adam)
---------
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* docs: Sameness "beta" warning (#18017)
* Warning updates
* .x
* updated typo in tab heading (#18022)
* updated typo in tab heading
* updated tab group typo, too
* Document that DNS lookups can target cluster peers (#17990)
Static DNS lookups, in addition to explicitly targeting a datacenter,
can target a cluster peer. This was added in 95dc0c7b301b70a6b955a8b7c9737c9b86f03df6 but didn't make the documentation.
The driving function for the change is `parseLocality` here: https://github.com/hashicorp/consul/blob/0b1299c28d8127129d61310ee4280055298438e0/agent/dns_oss.go#L25
The biggest change in this is to adjust the standard lookup syntax to tie
`.<datacenter>` to `.dc` as required-together, and to append in the similar `.<cluster-peer>.peer` optional argument, both to A record and SRV record lookups.
Co-authored-by: David Yu <dyu@hashicorp.com>
* Add first integration test for jwt auth with intention (#18005)
* fix stand-in text for name field (#18030)
* removed sameness conf entry from failover nav (#18033)
* docs - add service sync annotations and k8s service weight annotation (#18032)
* Docs for https://github.com/hashicorp/consul-k8s/pull/2293
* remove versions for enterprise features since they are old
---------
Co-authored-by: Tu Nguyen <im2nguyen@users.noreply.github.com>
* docs - add jobs use case for service mesh k8s (#18037)
* docs - add jobs use case for service mesh k8s
* add code blocks
* address feedback (#18045)
* Add verify server hostname to tls default (#17155)
* [OSS] Fix initial_fetch_timeout to wait for all xDS resources (#18024)
* fix(connect): set initial_fetch_time to wait indefinitely
* changelog
* PR feedback 1
* ui: fix typos for peer service imports (#17999)
* test: fix FIPS inline cert test message (#18076)
* Fix a couple typos in Agent Telemetry Metrics docs (#18080)
* Fix metrics docs
* Add changelog
Signed-off-by: josh <josh.timmons@hashicorp.com>
---------
Signed-off-by: josh <josh.timmons@hashicorp.com>
* docs updates - cluster peering and virtual services (#18069)
* Update route-to-virtual-services.mdx
* Update establish-peering.mdx
* Update service-mesh-compare.mdx (#17279)
grammar change
* Update helm docs on main (#18085)
* ci: use gotestsum v1.10.1 [NET-4042] (#18088)
* Docs: Update proxy lifecycle annotations and consul-dataplane flags (#18075)
* Update proxy lifecycle annotations and consul-dataplane flags
* Pass configured role name to Vault for AWS auth in Connect CA (#17885)
* Docs for dataplane upgrade on k8s (#18051)
* Docs for dataplane upgrade on k8s
---------
Co-authored-by: David Yu <dyu@hashicorp.com>
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* docs - update upgrade index page to not recommend consul leave. (#18100)
* Displays Consul version of each nodes in UI nodes section (#17754)
* update UINodes and UINodeInfo response with consul-version info added as NodeMeta, fetched from serf members
* update test cases TestUINodes, TestUINodeInfo
* added nil check for map
* add consul-version in local agent node metadata
* get consul version from serf member and add this as node meta in catalog register request
* updated ui mock response to include consul versions as node meta
* updated ui trans and added version as query param to node list route
* updates in ui templates to display consul version with filter and sorts
* updates in ui - model class, serializers,comparators,predicates for consul version feature
* added change log for Consul Version Feature
* updated to get version from consul service, if for some reason not available from serf
* updated changelog text
* updated dependent testcases
* multiselection version filter
* Update agent/consul/state/catalog.go
comments updated
Co-authored-by: Jared Kirschner <85913323+jkirschner-hashicorp@users.noreply.github.com>
---------
Co-authored-by: Jared Kirschner <85913323+jkirschner-hashicorp@users.noreply.github.com>
* api gw 1.16 updates (#18081)
* api gw 1.16 updates
* Apply suggestions from code review
Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com>
* update CodeBlockConfig filename
* Apply suggestions from code review
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com>
* remove non-standard intentions page
* Update website/content/docs/api-gateway/configuration/index.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
---------
Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com>
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* [NET-4103] ci: build s390x (#18067)
* ci: build s390x
* ci: test s390x
* ci: dev build s390x
* no GOOS
* ent only
* build: publish s390x
* fix syntax error
* fix syntax error again
* fix syntax error again x2
* test branch
* Move s390x conditionals to step level
* remove test branch
---------
Co-authored-by: emilymianeil <eneil@hashicorp.com>
* :ermahgerd "Sevice Mesh" -> "Service Mesh" (#18116)
Just a typo in the docs.
* Split pbmesh.UpstreamsConfiguration as a resource out of pbmesh.Upstreams (#17991)
Configuration that previously was inlined into the Upstreams resource
applies to both explicit and implicit upstreams and so it makes sense to
split it out into its own resource.
It also has other minor changes:
- Renames `proxy.proto` proxy_configuration.proto`
- Changes the type of `Upstream.destination_ref` from `pbresource.ID` to
`pbresource.Reference`
- Adds comments to fields that didn't have them
* [NET-4895] ci - api tests and consul container tests error because of dependency bugs with go 1.20.6. Pin go to 1.20.5. (#18124)
### Description
The following jobs started failing when go 1.20.6 was released:
- `go-test-api-1-19`
- `go-test-api-1-20`
- `compatibility-integration-tests`
- `upgrade-integration-tests`
`compatibility-integration-tests` and `compatibility-integration-tests`
to this testcontainers issue:
https://github.com/testcontainers/testcontainers-go/issues/1359. This
issue calls for testcontainers to release a new version when one of
their dependencies is fixed. When that is done, we will unpin the go
versions in `compatibility-integration-tests` and
`compatibility-integration-tests`.
### Testing & Reproduction steps
See these jobs broken in CI and then see them work with this PR.
---------
Co-authored-by: Chris Thain <32781396+cthain@users.noreply.github.com>
* Add ingress gateway deprecation notices to docs (#18102)
### Description
This adds notices, that ingress gateway is deprecated, to several places
in the product docs where ingress gateway is the topic.
### Testing & Reproduction steps
Tested with a local copy of the website.
### Links
Deprecation of ingress gateway was announced in the Release Notes for
Consul 1.16 and Consul-K8s 1.2. See:
[https://developer.hashicorp.com/consul/docs/release-notes/consul/v1_16_x#what-s-deprecated](https://developer.hashicorp.com/consul/docs/release-notes/consul/v1_16_x#what-s-deprecated
)
[https://developer.hashicorp.com/consul/docs/release-notes/consul-k8s/v1_2_x#what-s-deprecated](https://developer.hashicorp.com/consul/docs/release-notes/consul-k8s/v1_2_x#what-s-deprecated)
### PR Checklist
* [N/A] updated test coverage
* [X] external facing docs updated
* [X] appropriate backport labels added
* [X] not a security concern
---------
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Add docs for jwt cluster configuration (#18004)
### Description
<!-- Please describe why you're making this change, in plain English.
-->
- Add jwt-provider docs for jwks cluster configuration. The
configuration was added here:
https://github.com/hashicorp/consul/pull/17978
* Docs: fix unmatched bracket for health checks page (#18134)
* NET-4657/add resource service client (#18053)
### Description
<!-- Please describe why you're making this change, in plain English.
-->
Dan had already started on this
[task](https://github.com/hashicorp/consul/pull/17849) which is needed
to start building the HTTP APIs. This just needed some cleanup to get it
ready for review.
Overview:
- Rename `internalResourceServiceClient` to
`insecureResourceServiceClient` for name consistency
- Configure a `secureResourceServiceClient` with auth enabled
### PR Checklist
* [ ] ~updated test coverage~
* [ ] ~external facing docs updated~
* [x] appropriate backport labels added
* [ ] ~not a security concern~
* Fix bug with Vault CA provider (#18112)
Updating RootPKIPath but not IntermediatePKIPath would not update
leaf signing certs with the new root. Unsure if this happens in practice
but manual testing showed it is a bug that would break mesh and agent
connections once the old root is pruned.
* [NET-4897] net/http host header is now verified and request.host that contains socked now error (#18129)
### Description
This is related to https://github.com/hashicorp/consul/pull/18124 where
we pinned the go versions in CI to 1.20.5 and 1.19.10.
go 1.20.6 and 1.19.11 now validate request host headers for validity,
including the hostname cannot be prefixed with slashes.
For local communications (npipe://, unix://), the hostname is not used,
but we need valid and meaningful hostname. Prior versions go Go would
clean the host header, and strip slashes in the process, but go1.20.6
and go1.19.11 no longer do, and reject the host header. Around the
community we are seeing that others are intercepting the req.host and if
it starts with a slash or ends with .sock, they changing the host to
localhost or another dummy value.
[client: define a "dummy" hostname to use for local connections by
thaJeztah · Pull Request #45942 ·
moby/moby](https://github.com/moby/moby/pull/45942)
### Testing & Reproduction steps
Check CI tests.
### Links
* [ ] updated test coverage
* [ ] external facing docs updated
* [ ] appropriate backport labels added
* [ ] not a security concern
* add a conditional around setting LANFilter.AllSegments to make sure it is valid (#18139)
### Description
This is to correct a code problem because this assumes all segments, but
when you get to Enterprise, you can be in partition that is not the
default partition, in which case specifying all segments does not
validate and fails. This is to correct the setting of this filter with
`AllSegments` to `true` to only occur when in the the `default`
partition.
### Testing & Reproduction steps
<!--
* In the case of bugs, describe how to replicate
* If any manual tests were done, document the steps and the conditions
to replicate
* Call out any important/ relevant unit tests, e2e tests or integration
tests you have added or are adding
-->
### Links
<!--
Include any links here that might be helpful for people reviewing your
PR (Tickets, GH issues, API docs, external benchmarks, tools docs, etc).
If there are none, feel free to delete this section.
Please be mindful not to leak any customer or confidential information.
HashiCorp employees may want to use our internal URL shortener to
obfuscate links.
-->
### PR Checklist
* [ ] updated test coverage
* [ ] external facing docs updated
* [ ] appropriate backport labels added
* [ ] not a security concern
* chore: bump upgrade integrations tests to 1.15, 116 [NET-4743] (#18130)
* re org resource type registry (#18133)
* fix: update delegateMock used in ENT (#18149)
### Description
<!-- Please describe why you're making this change, in plain English.
-->
The mock is used in `http_ent_test` file which caused lint failures. For
OSS->ENT parity adding the same change here.
### Links
<!--
Include any links here that might be helpful for people reviewing your
PR (Tickets, GH issues, API docs, external benchmarks, tools docs, etc).
If there are none, feel free to delete this section.
Please be mindful not to leak any customer or confidential information.
HashiCorp employees may want to use our internal URL shortener to
obfuscate links.
-->
Identified in OSS->ENT [merge
PR](https://github.com/hashicorp/consul-enterprise/pull/6328)
### PR Checklist
* [ ] ~updated test coverage~
* [ ] ~external facing docs updated~
* [x] appropriate backport labels added
* [ ] ~not a security concern~
* Use JWT-auth filter in metadata mode & Delegate validation to RBAC filter (#18062)
### Description
<!-- Please describe why you're making this change, in plain English.
-->
- Currently the jwt-auth filter doesn't take into account the service
identity when validating jwt-auth, it only takes into account the path
and jwt provider during validation. This causes issues when multiple
source intentions restrict access to an endpoint with different JWT
providers.
- To fix these issues, rather than use the JWT auth filter for
validation, we use it in metadata mode and allow it to forward the
successful validated JWT token payload to the RBAC filter which will
make the decisions.
This PR ensures requests with and without JWT tokens successfully go
through the jwt-authn filter. The filter however only forwards the data
for successful/valid tokens. On the RBAC filter level, we check the
payload for claims and token issuer + existing rbac rules.
### Testing & Reproduction steps
<!--
* In the case of bugs, describe how to replicate
* If any manual tests were done, document the steps and the conditions
to replicate
* Call out any important/ relevant unit tests, e2e tests or integration
tests you have added or are adding
-->
- This test covers a multi level jwt requirements (requirements at top
level and permissions level). It also assumes you have envoy running,
you have a redis and a sidecar proxy service registered, and have a way
to generate jwks with jwt. I mostly use:
https://www.scottbrady91.com/tools/jwt for this.
- first write your proxy defaults
```
Kind = "proxy-defaults"
name = "global"
config {
protocol = "http"
}
```
- Create two providers
```
Kind = "jwt-provider"
Name = "auth0"
Issuer = "https://ronald.local"
JSONWebKeySet = {
Local = {
JWKS = "eyJrZXlzIjog....."
}
}
```
```
Kind = "jwt-provider"
Name = "okta"
Issuer = "https://ronald.local"
JSONWebKeySet = {
Local = {
JWKS = "eyJrZXlzIjogW3...."
}
}
```
- add a service intention
```
Kind = "service-intentions"
Name = "redis"
JWT = {
Providers = [
{
Name = "okta"
},
]
}
Sources = [
{
Name = "*"
Permissions = [{
Action = "allow"
HTTP = {
PathPrefix = "/workspace"
}
JWT = {
Providers = [
{
Name = "okta"
VerifyClaims = [
{
Path = ["aud"]
Value = "my_client_app"
},
{
Path = ["sub"]
Value = "5be86359073c434bad2da3932222dabe"
}
]
},
]
}
},
{
Action = "allow"
HTTP = {
PathPrefix = "/"
}
JWT = {
Providers = [
{
Name = "auth0"
},
]
}
}]
}
]
```
- generate 3 jwt tokens: 1 from auth0 jwks, 1 from okta jwks with
different claims than `/workspace` expects and 1 with correct claims
- connect to your envoy (change service and address as needed) to view
logs and potential errors. You can add: `-- --log-level debug` to see
what data is being forwarded
```
consul connect envoy -sidecar-for redis1 -grpc-addr 127.0.0.1:8502
```
- Make the following requests:
```
curl -s -H "Authorization: Bearer $Auth0_TOKEN" --insecure --cert leaf.cert --key leaf.key --cacert connect-ca.pem https://localhost:20000/workspace -v
RBAC filter denied
curl -s -H "Authorization: Bearer $Okta_TOKEN_with_wrong_claims" --insecure --cert leaf.cert --key leaf.key --cacert connect-ca.pem https://localhost:20000/workspace -v
RBAC filter denied
curl -s -H "Authorization: Bearer $Okta_TOKEN_with_correct_claims" --insecure --cert leaf.cert --key leaf.key --cacert connect-ca.pem https://localhost:20000/workspace -v
Successful request
```
### TODO
* [x] Update test coverage
* [ ] update integration tests (follow-up PR)
* [x] appropriate backport labels added
* Support Consul Connect Envoy Command on Windows (#17694)
### Description
Add support for consul connect envoy command on windows. This PR fixes
the comments of PR - https://github.com/hashicorp/consul/pull/15114
### Testing
* Built consul.exe from this branch on windows and hosted here - [AWS
S3](https://asheshvidyut-bucket.s3.ap-southeast-2.amazonaws.com/consul.zip)
* Updated the
[tutorial](https://developer.hashicorp.com/consul/tutorials/developer-mesh/consul-windows-workloads)
and changed the `consul_url.default` value to [AWS
S3](https://asheshvidyut-bucket.s3.ap-southeast-2.amazonaws.com/consul.zip)
* Followed the steps in the tutorial and verified that everything is
working as described.
### PR Checklist
* [x] updated test coverage
* [ ] external facing docs updated
* [x] appropriate backport labels added
* [x] not a security concern
---------
Co-authored-by: Franco Bruno Lavayen <cocolavayen@gmail.com>
Co-authored-by: Jose Ignacio Lorenzo <74208929+joselo85@users.noreply.github.com>
Co-authored-by: Jose Ignacio Lorenzo <joseignaciolorenzo85@gmail.com>
Co-authored-by: Dhia Ayachi <dhia@hashicorp.com>
* Change docs to say 168h instead of 7d for server_rejoin_age_max (#18154)
### Description
Addresses
https://github.com/hashicorp/consul/pull/17171#issuecomment-1636930705
* [OSS] test: improve xDS listener code coverage (#18138)
test: improve xDS listener code coverage
* Re-order expected/actual for assertContainerState in consul container tests (#18157)
Re-order expected/actual, consul container tests
* group and document make file (#17943)
* group and document make file
* Add `testing/deployer` (neé `consul-topology`) [NET-4610] (#17823)
Co-authored-by: R.B. Boyer <4903+rboyer@users.noreply.github.com>
Co-authored-by: R.B. Boyer <rb@hashicorp.com>
Co-authored-by: Freddy <freddygv@users.noreply.github.com>
* [NET-4792] Add integrations tests for jwt-auth (#18169)
* Add FIPS reference to consul enterprise docs (#18028)
* Add FIPS reference to consul enterprise docs
* Update website/content/docs/enterprise/index.mdx
Co-authored-by: David Yu <dyu@hashicorp.com>
* remove support for ecs client (fips)
---------
Co-authored-by: David Yu <dyu@hashicorp.com>
* add peering_commontopo tests [NET-3700] (#17951)
Co-authored-by: R.B. Boyer <4903+rboyer@users.noreply.github.com>
Co-authored-by: R.B. Boyer <rb@hashicorp.com>
Co-authored-by: Freddy <freddygv@users.noreply.github.com>
Co-authored-by: NiniOak <anita.akaeze@hashicorp.com>
* docs - remove Sentinel from enterprise features list (#18176)
* Update index.mdx
* Update kv.mdx
* Update docs-nav-data.json
* delete sentinel.mdx
* Update redirects.js
---------
Co-authored-by: Tu Nguyen <im2nguyen@users.noreply.github.com>
* [NET-4865] Bump golang.org/x/net to 0.12.0 (#18186)
Bump golang.org/x/net to 0.12.0
While not necessary to directly address CVE-2023-29406 (which should be
handled by using a patched version of Go when building), an
accompanying change to HTTP/2 error handling does impact agent code.
See https://go-review.googlesource.com/c/net/+/506995 for the HTTP/2
change.
Bump this dependency across our submodules as well for the sake of
potential indirect consumers of `x/net/http`.
* Call resource mutate hook before validate hook (NET-4907) (#18178)
* [NET-4865] security: Update Go version to 1.20.6 (#18190)
Update Go version to 1.20.6
This resolves [CVE-2023-29406]
(https://nvd.nist.gov/vuln/detail/CVE-2023-29406) for uses of the
`net/http` standard library.
Note that until the follow-up to #18124 is done, the version of Go used
in those impacted tests will need to remain on 1.20.5.
* Improve XDS test coverage: JWT auth edition (#18183)
* Improve XDS test coverage: JWT auth edition
more tests
* test: xds coverage for jwt listeners
---------
Co-authored-by: DanStough <dan.stough@hashicorp.com>
* update readme.md (#18191)
u[date readme.md
* Update submodules to latest following 1.16.0 (#18197)
Align all our internal use of submodules on the latest versions.
* SEC-090: Automated trusted workflow pinning (2023-07-18) (#18174)
Result of tsccr-helper -log-level=info -pin-all-workflows .
Co-authored-by: hashicorp-tsccr[bot] <hashicorp-tsccr[bot]@users.noreply.github.com>
* Fix Backport Assistant PR commenting (#18200)
* Fix Backport Assistant failure PR commenting
For general comments on a PR, it looks like you have to use the `/issue`
endpoint rather than `/pulls`, which requires commit/other
review-specific target details.
This matches the endpoint used in `backport-reminder.yml`.
* Remove Backport Reminder workflow
This is noisy (even when adding multiple labels, individual comments per
label are generated), and likely no longer needed: we haven't had this
work in a long time due to an expired GH token, and we now have better
automation for backport PR assignment.
* resource: Pass resource to Write ACL hook instead of just resource Id [NET-4908] (#18192)
* Explicitly enable WebSocket upgrades (#18150)
This PR explicitly enables WebSocket upgrades in Envoy's UpgradeConfig for all
proxy types. (API Gateway, Ingress, and Sidecar.)
Fixes #8283
* docs: fix the description of client rpc (#18206)
* NET-4804: Add dashboard for monitoring consul-k8s (#18208)
* [OSS] Improve xDS Code Coverage - Clusters (#18165)
test: improve xDS cluster code coverage
* NET-4222 take config file consul container (#18218)
Net 4222 take config file consul container
* Envoy Integration Test Windows (#18007)
* [CONSUL-395] Update check_hostport and Usage (#40)
* [CONSUL-397] Copy envoy binary from Image (#41)
* [CONSUL-382] Support openssl in unique test dockerfile (#43)
* [CONSUL-405] Add bats to single container (#44)
* [CONSUL-414] Run Prometheus Test Cases and Validate Changes (#46)
* [CONSUL-410] Run Jaeger in Single container (#45)
* [CONSUL-412] Run test-sds-server in single container (#48)
* [CONSUL-408] Clean containers (#47)
* [CONSUL-384] Rebase and sync fork (#50)
* [CONSUL-415] Create Scenarios Troubleshooting Docs (#49)
* [CONSUL-417] Update Docs Single Container (#51)
* [CONSUL-428] Add Socat to single container (#54)
* [CONSUL-424] Replace pkill in kill_envoy function (#52)
* [CONSUL-434] Modify Docker run functions in Helper script (#53)
* [CONSUL-435] Replace docker run in set_ttl_check_state & wait_for_agent_service_register functions (#55)
* [CONSUL-438] Add netcat (nc) in the Single container Dockerfile (#56)
* [CONSUL-429] Replace Docker run with Docker exec (#57)
* [CONSUL-436] Curl timeout and run tests (#58)
* [CONSUL-443] Create dogstatsd Function (#59)
* [CONSUL-431] Update Docs Netcat (#60)
* [CONSUL-439] Parse nc Command in function (#61)
* [CONSUL-463] Review curl Exec and get_ca_root Func (#63)
* [CONSUL-453] Docker hostname in Helper functions (#64)
* [CONSUL-461] Test wipe volumes without extra cont (#66)
* [CONSUL-454] Check ports in the Server and Agent containers (#65)
* [CONSUL-441] Update windows dockerfile with version (#62)
* [CONSUL-466] Review case-grpc Failing Test (#67)
* [CONSUL-494] Review case-cfg-resolver-svc-failover (#68)
* [CONSUL-496] Replace docker_wget & docker_curl (#69)
* [CONSUL-499] Cleanup Scripts - Remove nanoserver (#70)
* [CONSUL-500] Update Troubleshooting Docs (#72)
* [CONSUL-502] Pull & Tag Envoy Windows Image (#73)
* [CONSUL-504] Replace docker run in docker_consul (#76)
* [CONSUL-505] Change admin_bind
* [CONSUL-399] Update envoy to 1.23.1 (#78)
* [CONSUL-510] Support case-wanfed-gw on Windows (#79)
* [CONSUL-506] Update troubleshooting Documentation (#80)
* [CONSUL-512] Review debug_dump_volumes Function (#81)
* [CONSUL-514] Add zipkin to Docker Image (#82)
* [CONSUL-515] Update Documentation (#83)
* [CONSUL-529] Support case-consul-exec (#86)
* [CONSUL-530] Update Documentation (#87)
* [CONSUL-530] Update default consul version 1.13.3
* [CONSUL-539] Cleanup (#91)
* [CONSUL-546] Scripts Clean-up (#92)
* [CONSUL-491] Support admin_access_log_path value for Windows (#71)
* [CONSUL-519] Implement mkfifo Alternative (#84)
* [CONSUL-542] Create OS Specific Files for Envoy Package (#88)
* [CONSUL-543] Create exec_supported.go (#89)
* [CONSUL-544] Test and Build Changes (#90)
* Implement os.DevNull
* using mmap instead of disk files
* fix import in exec-unix
* fix nmap open too many arguemtn
* go fmt on file
* changelog file
* fix go mod
* Update .changelog/17694.txt
Co-authored-by: Dhia Ayachi <dhia@hashicorp.com>
* different mmap library
* fix bootstrap json
* some fixes
* chocolatey version fix and image fix
* using different library
* fix Map funciton call
* fix mmap call
* fix tcp dump
* fix tcp dump
* windows tcp dump
* Fix docker run
* fix tests
* fix go mod
* fix version 16.0
* fix version
* fix version dev
* sleep to debug
* fix sleep
* fix permission issue
* fix permission issue
* fix permission issue
* fix command
* fix command
* fix funciton
* fix assert config entry status command not found
* fix command not found assert_cert_has_cn
* fix command not found assert_upstream_missing
* fix command not found assert_upstream_missing_once
* fix command not found get_upstream_endpoint
* fix command not found get_envoy_public_listener_once
* fix command not found
* fix test cases
* windows integration test workflow github
* made code similar to unix using npipe
* fix go.mod
* fix dialing of npipe
* dont wait
* check size of written json
* fix undefined n
* running
* fix dep
* fix syntax error
* fix workflow file
* windows runner
* fix runner
* fix from json
* fix runs on
* merge connect envoy
* fix cin path
* build
* fix file name
* fix file name
* fix dev build
* remove unwanted code
* fix upload
* fix bin name
* fix path
* checkout current branch
* fix path
* fix tests
* fix shell bash for windows sh files
* fix permission of run-test.sh
* removed docker dev
* added shell bash for tests
* fix tag
* fix win=true
* fix cd
* added dev
* fix variable undefined
* removed failing tests
* fix tcp dump image
* fix curl
* fix curl
* tcp dump path
* fix tcpdump path
* fix curl
* fix curl install
* stop removing intermediate containers
* fix tcpdump docker image
* revert -rm
* --rm=false
* makeing docker image before
* fix tcpdump
* removed case consul exec
* removed terminating gateway simple
* comment case wasm
* removed data dog
* comment out upload coverage
* uncomment case-consul-exec
* comment case consul exec
* if always
* logs
* using consul 1.17.0
* fix quotes
* revert quotes
* redirect to dev null
* Revert version
* revert consul connect
* fix version
* removed envoy connect
* not using function
* change log
* docker logs
* fix logs
* restructure bad authz
* rmeoved dev null
* output
* fix file descriptor
* fix cacert
* fix cacert
* fix ca cert
* cacert does not work in windows curl
* fix func
* removed docker logs
* added sleep
* fix tls
* commented case-consul-exec
* removed echo
* retry docker consul
* fix upload bin
* uncomment consul exec
* copying consul.exe to docker image
* copy fix
* fix paths
* fix path
* github workspace path
* latest version
* Revert "latest version"
This reverts commit 5a7d7b82d9e7553bcb01b02557ec8969f9deba1d.
* commented consul exec
* added ssl revoke best effort
* revert best effort
* removed unused files
* rename var name and change dir
* windows runner
* permission
* needs setup fix
* swtich to github runner
* fix file path
* fix path
* fix path
* fix path
* fix path
* fix path
* fix build paths
* fix tag
* nightly runs
* added matrix in github workflow, renamed files
* fix job
* fix matrix
* removed brackes
* from json
* without using job matrix
* fix quotes
* revert job matrix
* fix workflow
* fix comment
* added comment
* nightly runs
* removed datadog ci as it is already measured in linux one
* running test
* Revert "running test"
This reverts commit 7013d15a23732179d18ec5d17336e16b26fab5d4.
* pr comment fixes
* running test now
* running subset of test
* running subset of test
* job matrix
* shell bash
* removed bash shell
* linux machine for job matrix
* fix output
* added cat to debug
* using ubuntu latest
* fix job matrix
* fix win true
* fix go test
* revert job matrix
---------
Co-authored-by: Jose Ignacio Lorenzo <74208929+joselo85@users.noreply.github.com>
Co-authored-by: Franco Bruno Lavayen <cocolavayen@gmail.com>
Co-authored-by: Ivan K Berlot <ivanberlot@gmail.com>
Co-authored-by: Ezequiel Fernández Ponce <20102608+ezfepo@users.noreply.github.com>
Co-authored-by: joselo85 <joseignaciolorenzo85@gmail.com>
Co-authored-by: Ezequiel Fernández Ponce <ezequiel.fernandez@southworks.com>
Co-authored-by: Dhia Ayachi <dhia@hashicorp.com>
* fix typos and update ecs compat table (#18215)
* fix typos and update ecs compat table
* real info for the ecs compat matrix table
* Update website/content/docs/ecs/compatibility.mdx
Co-authored-by: Chris Thain <32781396+cthain@users.noreply.github.com>
---------
Co-authored-by: Chris Thain <32781396+cthain@users.noreply.github.com>
* [OSS] proxystate: add proxystate protos (#18216)
* proxystate: add proxystate protos to pbmesh and resolve imports and conflicts between message names
* ci: don't verify s390x (#18224)
* [CC-5718] Remove HCP token requirement during bootstrap (#18140)
* [CC-5718] Remove HCP token requirement during bootstrap
* Re-add error for loading HCP management token
* Remove old comment
* Add changelog entry
* Remove extra validation line
* Apply suggestions from code review
Co-authored-by: lornasong <lornasong@users.noreply.github.com>
---------
Co-authored-by: lornasong <lornasong@users.noreply.github.com>
* [NET-4122] Doc guidance for federation with externalServers (#18207)
Doc guidance for federation with externalServers
Add guidance for proper configuration when joining to a secondary
cluster using WAN fed with external servers also enabled.
Also clarify federation requirements and fix formatting for an
unrelated value.
Update both the Helm chart reference (synced from `consul-k8s`, see
hashicorp/consul-k8s#2583) and the docs on using `externalServers`.
* [OSS] Improve xDS Code Coverage - Endpoints and Misc (#18222)
test: improve xDS endpoints code coverage
* Clarify license reporting timing and GDPR compliance (#18237)
Add Alicia's edits to clarify log timing and other details
* Fix Github Workflow File (#18241)
* [CONSUL-382] Support openssl in unique test dockerfile (#43)
* [CONSUL-405] Add bats to single container (#44)
* [CONSUL-414] Run Prometheus Test Cases and Validate Changes (#46)
* [CONSUL-410] Run Jaeger in Single container (#45)
* [CONSUL-412] Run test-sds-server in single container (#48)
* [CONSUL-408] Clean containers (#47)
* [CONSUL-384] Rebase and sync fork (#50)
* [CONSUL-415] Create Scenarios Troubleshooting Docs (#49)
* [CONSUL-417] Update Docs Single Container (#51)
* [CONSUL-428] Add Socat to single container (#54)
* [CONSUL-424] Replace pkill in kill_envoy function (#52)
* [CONSUL-434] Modify Docker run functions in Helper script (#53)
* [CONSUL-435] Replace docker run in set_ttl_check_state & wait_for_agent_service_register functions (#55)
* [CONSUL-438] Add netcat (nc) in the Single container Dockerfile (#56)
* [CONSUL-429] Replace Docker run with Docker exec (#57)
* [CONSUL-436] Curl timeout and run tests (#58)
* [CONSUL-443] Create dogstatsd Function (#59)
* [CONSUL-431] Update Docs Netcat (#60)
* [CONSUL-439] Parse nc Command in function (#61)
* [CONSUL-463] Review curl Exec and get_ca_root Func (#63)
* [CONSUL-453] Docker hostname in Helper functions (#64)
* [CONSUL-461] Test wipe volumes without extra cont (#66)
* [CONSUL-454] Check ports in the Server and Agent containers (#65)
* [CONSUL-441] Update windows dockerfile with version (#62)
* [CONSUL-466] Review case-grpc Failing Test (#67)
* [CONSUL-494] Review case-cfg-resolver-svc-failover (#68)
* [CONSUL-496] Replace docker_wget & docker_curl (#69)
* [CONSUL-499] Cleanup Scripts - Remove nanoserver (#70)
* [CONSUL-500] Update Troubleshooting Docs (#72)
* [CONSUL-502] Pull & Tag Envoy Windows Image (#73)
* [CONSUL-504] Replace docker run in docker_consul (#76)
* [CONSUL-505] Change admin_bind
* [CONSUL-399] Update envoy to 1.23.1 (#78)
* [CONSUL-510] Support case-wanfed-gw on Windows (#79)
* [CONSUL-506] Update troubleshooting Documentation (#80)
* [CONSUL-512] Review debug_dump_volumes Function (#81)
* [CONSUL-514] Add zipkin to Docker Image (#82)
* [CONSUL-515] Update Documentation (#83)
* [CONSUL-529] Support case-consul-exec (#86)
* [CONSUL-530] Update Documentation (#87)
* [CONSUL-530] Update default consul version 1.13.3
* [CONSUL-539] Cleanup (#91)
* [CONSUL-546] Scripts Clean-up (#92)
* [CONSUL-491] Support admin_access_log_path value for Windows (#71)
* [CONSUL-519] Implement mkfifo Alternative (#84)
* [CONSUL-542] Create OS Specific Files for Envoy Package (#88)
* [CONSUL-543] Create exec_supported.go (#89)
* [CONSUL-544] Test and Build Changes (#90)
* Implement os.DevNull
* using mmap instead of disk files
* fix import in exec-unix
* fix nmap open too many arguemtn
* go fmt on file
* changelog file
* fix go mod
* Update .changelog/17694.txt
Co-authored-by: Dhia Ayachi <dhia@hashicorp.com>
* different mmap library
* fix bootstrap json
* some fixes
* chocolatey version fix and image fix
* using different library
* fix Map funciton call
* fix mmap call
* fix tcp dump
* fix tcp dump
* windows tcp dump
* Fix docker run
* fix tests
* fix go mod
* fix version 16.0
* fix version
* fix version dev
* sleep to debug
* fix sleep
* fix permission issue
* fix permission issue
* fix permission issue
* fix command
* fix command
* fix funciton
* fix assert config entry status command not found
* fix command not found assert_cert_has_cn
* fix command not found assert_upstream_missing
* fix command not found assert_upstream_missing_once
* fix command not found get_upstream_endpoint
* fix command not found get_envoy_public_listener_once
* fix command not found
* fix test cases
* windows integration test workflow github
* made code similar to unix using npipe
* fix go.mod
* fix dialing of npipe
* dont wait
* check size of written json
* fix undefined n
* running
* fix dep
* fix syntax error
* fix workflow file
* windows runner
* fix runner
* fix from json
* fix runs on
* merge connect envoy
* fix cin path
* build
* fix file name
* fix file name
* fix dev build
* remove unwanted code
* fix upload
* fix bin name
* fix path
* checkout current branch
* fix path
* fix tests
* fix shell bash for windows sh files
* fix permission of run-test.sh
* removed docker dev
* added shell bash for tests
* fix tag
* fix win=true
* fix cd
* added dev
* fix variable undefined
* removed failing tests
* fix tcp dump image
* fix curl
* fix curl
* tcp dump path
* fix tcpdump path
* fix curl
* fix curl install
* stop removing intermediate containers
* fix tcpdump docker image
* revert -rm
* --rm=false
* makeing docker image before
* fix tcpdump
* removed case consul exec
* removed terminating gateway simple
* comment case wasm
* removed data dog
* comment out upload coverage
* uncomment case-consul-exec
* comment case consul exec
* if always
* logs
* using consul 1.17.0
* fix quotes
* revert quotes
* redirect to dev null
* Revert version
* revert consul connect
* fix version
* removed envoy connect
* not using function
* change log
* docker logs
* fix logs
* restructure bad authz
* rmeoved dev null
* output
* fix file descriptor
* fix cacert
* fix cacert
* fix ca cert
* cacert does not work in windows curl
* fix func
* removed docker logs
* added sleep
* fix tls
* commented case-consul-exec
* removed echo
* retry docker consul
* fix upload bin
* uncomment consul exec
* copying consul.exe to docker image
* copy fix
* fix paths
* fix path
* github workspace path
* latest version
* Revert "latest version"
This reverts commit 5a7d7b82d9e7553bcb01b02557ec8969f9deba1d.
* commented consul exec
* added ssl revoke best effort
* revert best effort
* removed unused files
* rename var name and change dir
* windows runner
* permission
* needs setup fix
* swtich to github runner
* fix file path
* fix path
* fix path
* fix path
* fix path
* fix path
* fix build paths
* fix tag
* nightly runs
* added matrix in github workflow, renamed files
* fix job
* fix matrix
* removed brackes
* from json
* without using job matrix
* fix quotes
* revert job matrix
* fix workflow
* fix comment
* added comment
* nightly runs
* removed datadog ci as it is already measured in linux one
* running test
* Revert "running test"
This reverts commit 7013d15a23732179d18ec5d17336e16b26fab5d4.
* pr comment fixes
* running test now
* running subset of test
* running subset of test
* job matrix
* shell bash
* removed bash shell
* linux machine for job matrix
* fix output
* added cat to debug
* using ubuntu latest
* fix job matrix
* fix win true
* fix go test
* revert job matrix
* Fix tests
---------
Co-authored-by: Ivan K Berlot <ivanberlot@gmail.com>
Co-authored-by: Jose Ignacio Lorenzo <74208929+joselo85@users.noreply.github.com>
Co-authored-by: Franco Bruno Lavayen <cocolavayen@gmail.com>
Co-authored-by: Ezequiel Fernández Ponce <20102608+ezfepo@users.noreply.github.com>
Co-authored-by: joselo85 <joseignaciolorenzo85@gmail.com>
Co-authored-by: Ezequiel Fernández Ponce <ezequiel.fernandez@southworks.com>
Co-authored-by: Dhia Ayachi <dhia@hashicorp.com>
* NET-4996 - filter go-tests and test-integration workflows from running on docs only and ui only changes (#18236)
* Align build arch matrix with enterprise (#18235)
Ensure that OSS remains in sync w/ Enterprise by aligning the format of
arch matrix args for various build jobs.
* Revert "NET-4996 - filter go-tests and test-integration workflows from running on docs only and ui only changes" (#18248)
Revert "NET-4996 - filter go-tests and test-integration workflows from running on docs only and ui only changes (#18236)"
This reverts commit a11dba710e6ce6f172c0fa6c9b61567cc1efffc8.
* resource: Add scope to resource type registration [NET-4976] (#18214)
Enables querying a resource type's registration to determine if a resource is cluster, partition, or partition and namespace scoped.
* Fix some inconsistencies in jwt docs (#18234)
* NET-1825: More new ACL token creation docs (#18063)
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* [CC-5719] Add support for builtin global-read-only policy
* Add changelog
* Add read-only to docs
* Fix some minor issues.
* Change from ReplaceAll to Sprintf
* Change IsValidPolicy name to return an error instead of bool
* Fix PolicyList test
* Fix other tests
* Apply suggestions from code review
Co-authored-by: Paul Glass <pglass@hashicorp.com>
* Fix state store test for policy list.
* Fix naming issues
* Update acl/validation.go
Co-authored-by: Chris Thain <32781396+cthain@users.noreply.github.com>
* backport of commit d63fa5481dc02c6faae7cc2647b4073b3286af1d
* backport of commit 3d099a6ed8ed10b6dc464c466cb1668914db8f08
---------
Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: Dan Bond <danbond@protonmail.com>
Signed-off-by: josh <josh.timmons@hashicorp.com>
Co-authored-by: Michael Zalimeni <michael.zalimeni@hashicorp.com>
Co-authored-by: Ronald <roncodingenthusiast@users.noreply.github.com>
Co-authored-by: Eric Haberkorn <erichaberkorn@gmail.com>
Co-authored-by: Andrew Stucki <andrew.stucki@hashicorp.com>
Co-authored-by: Luke Kysow <1034429+lkysow@users.noreply.github.com>
Co-authored-by: R.B. Boyer <4903+rboyer@users.noreply.github.com>
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com>
Co-authored-by: David Yu <dyu@hashicorp.com>
Co-authored-by: Bryce Kalow <bkalow@hashicorp.com>
Co-authored-by: Paul Glass <pglass@hashicorp.com>
Co-authored-by: Matt Keeler <mkeeler@users.noreply.github.com>
Co-authored-by: Nathan Coleman <nathan.coleman@hashicorp.com>
Co-authored-by: Poonam Jadhav <poonam.jadhav@hashicorp.com>
Co-authored-by: Tu Nguyen <im2nguyen@users.noreply.github.com>
Co-authored-by: Chris Thain <32781396+cthain@users.noreply.github.com>
Co-authored-by: Hariram Sankaran <56744845+ramramhariram@users.noreply.github.com>
Co-authored-by: shanafarkas <105076572+shanafarkas@users.noreply.github.com>
Co-authored-by: Thomas Eckert <teckert@hashicorp.com>
Co-authored-by: Jeff Apple <79924108+Jeff-Apple@users.noreply.github.com>
Co-authored-by: Joshua Timmons <josh.timmons@hashicorp.com>
Co-authored-by: Ashesh Vidyut <134911583+absolutelightning@users.noreply.github.com>
Co-authored-by: Dan Stough <dan.stough@hashicorp.com>
Co-authored-by: Curt Bushko <cbushko@gmail.com>
Co-authored-by: Tobias Birkefeld <t@craxs.de>
Co-authored-by: Jared Kirschner <85913323+jkirschner-hashicorp@users.noreply.github.com>
Co-authored-by: Semir Patel <semir.patel@hashicorp.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: chappie <6537530+chapmanc@users.noreply.github.com>
Co-authored-by: Derek Menteer <105233703+hashi-derek@users.noreply.github.com>
Co-authored-by: John Murret <john.murret@hashicorp.com>
Co-authored-by: Mark Campbell-Vincent <mnmvincent@gmail.com>
Co-authored-by: Daniel Upton <daniel@floppy.co>
Co-authored-by: Steven Zamborsky <97125550+stevenzamborsky@users.noreply.github.com>
Co-authored-by: George Bolo <george.bolo@gmail.com>
Co-authored-by: Chris S. Kim <ckim@hashicorp.com>
Co-authored-by: wangxinyi7 <121973291+wangxinyi7@users.noreply.github.com>
Co-authored-by: cskh <hui.kang@hashicorp.com>
Co-authored-by: V. K <cn007b@gmail.com>
Co-authored-by: Iryna Shustava <ishustava@users.noreply.github.com>
Co-authored-by: Alex Simenduev <shamil.si@gmail.com>
Co-authored-by: Dhia Ayachi <dhia@hashicorp.com>
Co-authored-by: Dan Bond <danbond@protonmail.com>
Co-authored-by: sarahalsmiller <100602640+sarahalsmiller@users.noreply.github.com>
Co-authored-by: Gerard Nguyen <gerard@hashicorp.com>
Co-authored-by: mr-miles <miles.waller@gmail.com>
Co-authored-by: natemollica-dev <57850649+natemollica-nm@users.noreply.github.com>
Co-authored-by: John Maguire <john.maguire@hashicorp.com>
Co-authored-by: Samantha <hello@entropy.cat>
Co-authored-by: Ranjandas <thejranjan@gmail.com>
Co-authored-by: Evan Phoenix <evan@phx.io>
Co-authored-by: Michael Hofer <karras@users.noreply.github.com>
Co-authored-by: J.C. Jones <james.jc.jones@gmail.com>
Co-authored-by: Fulvio <fulviodenza823@gmail.com>
Co-authored-by: Krastin Krastev <krastin@hashicorp.com>
Co-authored-by: david3a <49253132+david3a@users.noreply.github.com>
Co-authored-by: Nick Irvine <115657443+nfi-hashicorp@users.noreply.github.com>
Co-authored-by: Tom Davies <tom@t-davies.com>
Co-authored-by: Vijay <vijayraghav22@gmail.com>
Co-authored-by: Eddie Rowe <74205376+eddie-rowe@users.noreply.github.com>
Co-authored-by: emilymianeil <eneil@hashicorp.com>
Co-authored-by: nv-hashi <80716011+nv-hashi@users.noreply.github.com>
Co-authored-by: Franco Bruno Lavayen <cocolavayen@gmail.com>
Co-authored-by: Jose Ignacio Lorenzo <74208929+joselo85@users.noreply.github.com>
Co-authored-by: Jose Ignacio Lorenzo <joseignaciolorenzo85@gmail.com>
Co-authored-by: R.B. Boyer <rb@hashicorp.com>
Co-authored-by: Freddy <freddygv@users.noreply.github.com>
Co-authored-by: NiniOak <anita.akaeze@hashicorp.com>
Co-authored-by: hashicorp-tsccr[bot] <129506189+hashicorp-tsccr[bot]@users.noreply.github.com>
Co-authored-by: hashicorp-tsccr[bot] <hashicorp-tsccr[bot]@users.noreply.github.com>
Co-authored-by: Blake Covarrubias <blake@covarrubi.as>
Co-authored-by: Ivan K Berlot <ivanberlot@gmail.com>
Co-authored-by: Ezequiel Fernández Ponce <20102608+ezfepo@users.noreply.github.com>
Co-authored-by: Ezequiel Fernández Ponce <ezequiel.fernandez@southworks.com>
Co-authored-by: Nitya Dhanushkodi <nitya@hashicorp.com>
Co-authored-by: Jeremy Jacobson <jjacobson93@users.noreply.github.com>
Co-authored-by: lornasong <lornasong@users.noreply.github.com>
Co-authored-by: Judith Malnick <judith@hashicorp.com>
Co-authored-by: Jeremy Jacobson <jeremy.jacobson@hashicorp.com>
2023-08-01 17:37:13 +00:00
|
|
|
policy = "%[1]s"
|
|
|
|
intentions = "%[1]s"
|
2018-10-19 16:04:07 +00:00
|
|
|
}
|
|
|
|
session_prefix "" {
|
Backport of [CC-5719] Add support for builtin global-read-only policy into release/1.16.x (#18345)
* [OSS] Post Consul 1.16 updates (#17606)
* chore: update dev build to 1.17
* chore(ci): add nightly 1.16 test
Drop the oldest and add the newest running release branch to nightly
builds.
* Add writeAuditRPCEvent to agent_oss (#17607)
* Add writeAuditRPCEvent to agent_oss
* fix the other diffs
* backport change log
* Add Envoy and Consul version constraints to Envoy extensions (#17612)
* [API Gateway] Fix trust domain for external peered services in synthesis code (#17609)
* [API Gateway] Fix trust domain for external peered services in synthesis code
* Add changelog
* backport ent changes to oss (#17614)
* backport ent changes to oss
* Update .changelog/_5669.txt
Co-authored-by: Michael Zalimeni <michael.zalimeni@hashicorp.com>
---------
Co-authored-by: Michael Zalimeni <michael.zalimeni@hashicorp.com>
* Update intentions.mdx (#17619)
Make behaviour of L7 intentions clearer
* enterprise changelog update for audit (#17625)
* Update list of Envoy versions (#17546)
* [API Gateway] Fix rate limiting for API gateways (#17631)
* [API Gateway] Fix rate limiting for API gateways
* Add changelog
* Fix failing unit tests
* Fix operator usage tests for api package
* sort some imports that are wonky between oss and ent (#17637)
* PmTLS and tproxy improvements with failover and L7 traffic mgmt for k8s (#17624)
* porting over changes from enterprise repo to oss
* applied feedback on service mesh for k8s overview
* fixed typo
* removed ent-only build script file
* Apply suggestions from code review
Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com>
* Apply suggestions from code review
Co-authored-by: David Yu <dyu@hashicorp.com>
Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com>
---------
Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com>
Co-authored-by: David Yu <dyu@hashicorp.com>
* Delete check-legacy-links-format.yml (#17647)
* docs: Reference doc updates for permissive mTLS settings (#17371)
* Reference doc updates for permissive mTLS settings
* Document config entry filtering
* Fix minor doc errors (double slashes in link url paths)
---------
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Add generic experiments configuration and use it to enable catalog v2 resources (#17604)
* Add generic experiments configuration and use it to enable catalog v2 resources
* Run formatting with -s as CI will validate that this has been done
* api-gateway: stop adding all header filters to virtual host when generating xDS (#17644)
* Add header filter to api-gateway xDS golden test
* Stop adding all header filters to virtual host when generating xDS for api-gateway
* Regenerate xDS golden file for api-gateway w/ header filter
* fix: add agent info reporting log (#17654)
* Add new Consul 1.16 docs (#17651)
* Merge pull request #5773 from hashicorp/docs/rate-limiting-from-ip-addresses-1.16
updated docs for rate limiting for IP addresses - 1.16
* Merge pull request #5609 from hashicorp/docs/enterprise-utilization-reporting
Add docs for enterprise utilization reporting
* Merge pull request #5734 from hashicorp/docs/envoy-ext-1.16
Docs/envoy ext 1.16
* Merge pull request #5773 from hashicorp/docs/rate-limiting-from-ip-addresses-1.16
updated docs for rate limiting for IP addresses - 1.16
* Merge pull request #5609 from hashicorp/docs/enterprise-utilization-reporting
Add docs for enterprise utilization reporting
* Merge pull request #5734 from hashicorp/docs/envoy-ext-1.16
Docs/envoy ext 1.16
* fix build errors
---------
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Default `ProxyType` for builtin extensions (#17657)
* Post 1.16.0-rc1 updates (#17663)
- Update changelog to include new entries from release
- Update submodule versions to latest published
* Update service-defaults.mdx (#17656)
* docs: Sameness Groups (#17628)
* port from enterprise branch
* Apply suggestions from code review
Co-authored-by: shanafarkas <105076572+shanafarkas@users.noreply.github.com>
* Update website/content/docs/connect/cluster-peering/usage/create-sameness-groups.mdx
* next steps
* Update website/content/docs/connect/cluster-peering/usage/create-sameness-groups.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Update website/content/docs/k8s/connect/cluster-peering/usage/create-sameness-groups.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
---------
Co-authored-by: shanafarkas <105076572+shanafarkas@users.noreply.github.com>
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Remove "BETA" marker from config entries (#17670)
* CAPIgw for K8s installation updates for 1.16 (#17627)
* trimmed CRD step and reqs from installation
* updated tech specs
* Apply suggestions from code review
Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com>
Co-authored-by: Jeff Apple <79924108+Jeff-Apple@users.noreply.github.com>
* added upgrade instruction
* removed tcp port req
* described downtime and DT-less upgrades
* applied additional review feedback
---------
Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com>
Co-authored-by: Jeff Apple <79924108+Jeff-Apple@users.noreply.github.com>
* additional feedback on API gateway upgrades (#17677)
* additional feedback
* Update website/content/docs/api-gateway/upgrades.mdx
Co-authored-by: Jeff Apple <79924108+Jeff-Apple@users.noreply.github.com>
---------
Co-authored-by: Jeff Apple <79924108+Jeff-Apple@users.noreply.github.com>
* docs: JWT Authorization for intentions (#17643)
* Initial page/nav creation
* configuration entry reference page
* Usage + fixes
* service intentions page
* usage
* description
* config entry updates
* formatting fixes
* Update website/content/docs/connect/config-entries/service-intentions.mdx
Co-authored-by: Paul Glass <pglass@hashicorp.com>
* service intentions review fixes
* Overview page review fixes
* Apply suggestions from code review
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
---------
Co-authored-by: Paul Glass <pglass@hashicorp.com>
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* docs: minor fixes to JWT auth docs (#17680)
* Fixes
* service intentions fixes
* Fix two WAL metrics in docs/agent/telemetry.mdx (#17593)
* updated failover for k8s w-tproxy page title (#17683)
* Add release notes 1.16 rc (#17665)
* Merge pull request #5773 from hashicorp/docs/rate-limiting-from-ip-addresses-1.16
updated docs for rate limiting for IP addresses - 1.16
* Merge pull request #5609 from hashicorp/docs/enterprise-utilization-reporting
Add docs for enterprise utilization reporting
* Merge pull request #5734 from hashicorp/docs/envoy-ext-1.16
Docs/envoy ext 1.16
* Add release notes for 1.16-rc
* Add consul-e license utlization reporting
* Update with rc absolute links
* Update with rc absolute links
* fix typo
* Apply suggestions from code review
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Update to use callout component
* address typo
* docs: FIPS 140-2 Compliance (#17668)
* Page + nav + formatting
* link fix
* Update website/content/docs/enterprise/fips.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Update website/content/docs/enterprise/fips.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Update website/content/docs/enterprise/fips.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Update website/content/docs/enterprise/fips.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Update website/content/docs/enterprise/fips.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Update website/content/docs/enterprise/fips.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Update website/content/docs/enterprise/fips.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Update website/content/docs/enterprise/fips.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Update website/content/docs/enterprise/fips.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Update website/content/docs/enterprise/fips.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* link fix
* Apply suggestions from code review
Co-authored-by: Jeff Apple <79924108+Jeff-Apple@users.noreply.github.com>
* Update website/content/docs/enterprise/fips.mdx
---------
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
Co-authored-by: Jeff Apple <79924108+Jeff-Apple@users.noreply.github.com>
* fix apigw install values file
* fix typos in release notes
---------
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com>
Co-authored-by: Jeff Apple <79924108+Jeff-Apple@users.noreply.github.com>
* fix release notes links (#17687)
* adding redirects for tproxy and envoy extensions (#17688)
* adding redirects
* Apply suggestions from code review
* Fix FIPS copy (#17691)
* fix release notes links
* fix typos on fips docs
* [NET-4107][Supportability] Log Level set to TRACE and duration set to 5m for consul-debug (#17596)
* changed duration to 5 mins and log level to trace
* documentation update
* change log
* ENT merge of ext-authz extension updates (#17684)
* docs: Update default values for Envoy extension proxy types (#17676)
* fix: stop peering delete routine on leader loss (#17483)
* Refactor disco chain prioritize by locality structs (#17696)
This includes prioritize by localities on disco chain targets rather than
resolvers, allowing different targets within the same partition to have
different policies.
* agent: remove agent cache dependency from service mesh leaf certificate management (#17075)
* agent: remove agent cache dependency from service mesh leaf certificate management
This extracts the leaf cert management from within the agent cache.
This code was produced by the following process:
1. All tests in agent/cache, agent/cache-types, agent/auto-config,
agent/consul/servercert were run at each stage.
- The tests in agent matching .*Leaf were run at each stage.
- The tests in agent/leafcert were run at each stage after they
existed.
2. The former leaf cert Fetch implementation was extracted into a new
package behind a "fake RPC" endpoint to make it look almost like all
other cache type internals.
3. The old cache type was shimmed to use the fake RPC endpoint and
generally cleaned up.
4. I selectively duplicated all of Get/Notify/NotifyCallback/Prepopulate
from the agent/cache.Cache implementation over into the new package.
This was renamed as leafcert.Manager.
- Code that was irrelevant to the leaf cert type was deleted
(inlining blocking=true, refresh=false)
5. Everything that used the leaf cert cache type (including proxycfg
stuff) was shifted to use the leafcert.Manager instead.
6. agent/cache-types tests were moved and gently replumbed to execute
as-is against a leafcert.Manager.
7. Inspired by some of the locking changes from derek's branch I split
the fat lock into N+1 locks.
8. The waiter chan struct{} was eventually replaced with a
singleflight.Group around cache updates, which was likely the biggest
net structural change.
9. The awkward two layers or logic produced as a byproduct of marrying
the agent cache management code with the leaf cert type code was
slowly coalesced and flattened to remove confusion.
10. The .*Leaf tests from the agent package were copied and made to work
directly against a leafcert.Manager to increase direct coverage.
I have done a best effort attempt to port the previous leaf-cert cache
type's tests over in spirit, as well as to take the e2e-ish tests in the
agent package with Leaf in the test name and copy those into the
agent/leafcert package to get more direct coverage, rather than coverage
tangled up in the agent logic.
There is no net-new test coverage, just coverage that was pushed around
from elsewhere.
* [core]: Pin github action workflows (#17695)
* docs: missing changelog for _5517 (#17706)
* add enterprise notes for IP-based rate limits (#17711)
* add enterprise notes for IP-based rate limits
* Apply suggestions from code review
Co-authored-by: Tu Nguyen <im2nguyen@users.noreply.github.com>
Co-authored-by: David Yu <dyu@hashicorp.com>
* added bolded 'Enterprise' in list items.
---------
Co-authored-by: Tu Nguyen <im2nguyen@users.noreply.github.com>
Co-authored-by: David Yu <dyu@hashicorp.com>
* Update compatibility.mdx (#17713)
* Remove extraneous version info for Config entries (#17716)
* Update terminating-gateway.mdx
* Update exported-services.mdx
* Update mesh.mdx
* fix: typo in link to section (#17527)
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Bump Alpine to 3.18 (#17719)
* Update Dockerfile
* Create 17719.txt
* NET-1825: New ACL token creation docs (#16465)
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
Co-authored-by: Jared Kirschner <85913323+jkirschner-hashicorp@users.noreply.github.com>
* [NET-3865] [Supportability] Additional Information in the output of 'consul operator raft list-peers' (#17582)
* init
* fix tests
* added -detailed in docs
* added change log
* fix doc
* checking for entry in map
* fix tests
* removed detailed flag
* removed detailed flag
* revert unwanted changes
* removed unwanted changes
* updated change log
* pr review comment changes
* pr comment changes single API instead of two
* fix change log
* fix tests
* fix tests
* fix test operator raft endpoint test
* Update .changelog/17582.txt
Co-authored-by: Semir Patel <semir.patel@hashicorp.com>
* nits
* updated docs
---------
Co-authored-by: Semir Patel <semir.patel@hashicorp.com>
* OSS merge: Update error handling login when applying extensions (#17740)
* Bump atlassian/gajira-transition from 3.0.0 to 3.0.1 (#17741)
Bumps [atlassian/gajira-transition](https://github.com/atlassian/gajira-transition) from 3.0.0 to 3.0.1.
- [Release notes](https://github.com/atlassian/gajira-transition/releases)
- [Commits](https://github.com/atlassian/gajira-transition/compare/4749176faf14633954d72af7a44d7f2af01cc92b...38fc9cd61b03d6a53dd35fcccda172fe04b36de3)
---
updated-dependencies:
- dependency-name: atlassian/gajira-transition
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Add truncation to body (#17723)
* docs: Failover overview minor fix (#17743)
* Incorrect symbol
* Clarification
* slight edit for clarity
* docs - update Envoy and Dataplane compat matrix (#17752)
* Update envoy.mdx
added more detail around default versus other compatible versions
* validate localities on agent configs and registration endpoints (#17712)
* Updated docs added explanation. (#17751)
* init
* fix tests
* added -detailed in docs
* added change log
* fix doc
* checking for entry in map
* fix tests
* removed detailed flag
* removed detailed flag
* revert unwanted changes
* removed unwanted changes
* updated change log
* pr review comment changes
* pr comment changes single API instead of two
* fix change log
* fix tests
* fix tests
* fix test operator raft endpoint test
* Update .changelog/17582.txt
Co-authored-by: Semir Patel <semir.patel@hashicorp.com>
* nits
* updated docs
* explanation added
---------
Co-authored-by: Semir Patel <semir.patel@hashicorp.com>
* Update index.mdx (#17749)
* added redirects and updated links (#17764)
* Add transparent proxy enhancements changelog (#17757)
* docs - remove use of consul leave during upgrade instructions (#17758)
* Fix issue with streaming service health watches. (#17775)
Fix issue with streaming service health watches.
This commit fixes an issue where the health streams were unaware of service
export changes. Whenever an exported-services config entry is modified, it is
effectively an ACL change.
The bug would be triggered by the following situation:
- no services are exported
- an upstream watch to service X is spawned
- the streaming backend filters out data for service X (due to lack of exports)
- service X is finally exported
In the situation above, the streaming backend does not trigger a refresh of its
data. This means that any events that were supposed to have been received prior
to the export are NOT backfilled, and the watches never see service X spawning.
We currently have decided to not trigger a stream refresh in this situation due
to the potential for a thundering herd effect (touching exports would cause a
re-fetch of all watches for that partition, potentially). Therefore, a local
blocking-query approach was added by this commit for agentless.
It's also worth noting that the streaming subscription is currently bypassed
most of the time with agentful, because proxycfg has a `req.Source.Node != ""`
which prevents the `streamingEnabled` check from passing. This means that while
agents should technically have this same issue, they don't experience it with
mesh health watches.
Note that this is a temporary fix that solves the issue for proxycfg, but not
service-discovery use cases.
* Property Override validation improvements (#17759)
* Reject inbound Prop Override patch with Services
Services filtering is only supported for outbound TrafficDirection patches.
* Improve Prop Override unexpected type validation
- Guard against additional invalid parent and target types
- Add specific error handling for Any fields (unsupported)
* Fixes (#17765)
* Update license get explanation (#17782)
This PR is to clarify what happens if the license get command is run on a follower if the leader hasn't been updated with a newer license.
* Add Patch index to Prop Override validation errors (#17777)
When a patch is found invalid, include its index for easier debugging
when multiple patches are provided.
* Stop referenced jwt providers from being deleted (#17755)
* Stop referenced jwt providers from being deleted
* Implement a Catalog Controllers Lifecycle Integration Test (#17435)
* Implement a Catalog Controllers Lifecycle Integration Test
* Prevent triggering the race detector.
This allows defining some variables for protobuf constants and using those in comparisons. Without that, something internal in the fmt package ended up looking at the protobuf message size cache and triggering the race detector.
* HCP Add node id/name to config (#17750)
* Catalog V2 Container Based Integration Test (#17674)
* Implement the Catalog V2 controller integration container tests
This now allows the container tests to import things from the root module. However for now we want to be very restrictive about which packages we allow importing.
* Add an upgrade test for the new catalog
Currently this should be dormant and not executed. However its put in place to detect breaking changes in the future and show an example of how to do an upgrade test with integration tests structured like catalog v2.
* Make testutil.Retry capable of performing cleanup operations
These cleanup operations are executed after each retry attempt.
* Move TestContext to taking an interface instead of a concrete testing.T
This allows this to be used on a retry.R or generally anything that meets the interface.
* Move to using TestContext instead of background contexts
Also this forces all test methods to implement the Cleanup method now instead of that being an optional interface.
Co-authored-by: Daniel Upton <daniel@floppy.co>
* Fix Docs for Trails Leader By (#17763)
* init
* fix tests
* added -detailed in docs
* added change log
* fix doc
* checking for entry in map
* fix tests
* removed detailed flag
* removed detailed flag
* revert unwanted changes
* removed unwanted changes
* updated change log
* pr review comment changes
* pr comment changes single API instead of two
* fix change log
* fix tests
* fix tests
* fix test operator raft endpoint test
* Update .changelog/17582.txt
Co-authored-by: Semir Patel <semir.patel@hashicorp.com>
* nits
* updated docs
* explanation added
* fix doc
* fix docs
---------
Co-authored-by: Semir Patel <semir.patel@hashicorp.com>
* Improve Prop Override docs examples (#17799)
- Provide more realistics examples for setting properties not already
supported natively by Consul
- Remove superfluous commas from HCL, correct target service name, and
fix service defaults vs. proxy defaults in examples
- Align existing integration test to updated docs
* Test permissive mTLS filter chain not configured with tproxy disabled (#17747)
* Add documentation for remote debugging of integration tests. (#17800)
* Add documentation for remote debugging of integration tests.
* add link from main docs page.
* changes related to PR feedback
* Clarify limitations of Prop Override extension (#17801)
Explicitly document the limitations of the extension, particularly what
kind of fields it is capable of modifying.
* Fix formatting for webhook-certs Consul tutorial (#17810)
* Fix formatting for webhook-certs Consul tutorial
* Make a small grammar change to also pick up whitespace changes necessary for formatting
---------
Co-authored-by: David Yu <dyu@hashicorp.com>
* Add jwt-authn metrics to jwt-provider docs (#17816)
* [NET-3095] add jwt-authn metrics docs
* Change URLs for redirects from RC to default latest (#17822)
* Set GOPRIVATE for all hashicorp repos in CI (#17817)
Consistently set GOPRIVATE to include all hashicorp repos, s.t. private
modules are successfully pulled in enterprise CI.
* Make locality aware routing xDS changes (#17826)
* Fixup consul-container/test/debugging.md (#17815)
Add missing `-t` flag and fix minor typo.
* fixes #17732 - AccessorID in request body should be optional when updating ACL token (#17739)
* AccessorID in request body should be optional when updating ACL token
* add a test case
* fix test case
* add changelog entry for PR #17739
* CA provider doc updates and Vault provider minor update (#17831)
Update CA provider docs
Clarify that providers can differ between
primary and secondary datacenters
Provide a comparison chart for consul vs
vault CA providers
Loosen Vault CA provider validation for RootPKIPath
Update Vault CA provider documentation
* ext-authz Envoy extension: support `localhost` as a valid target URI. (#17821)
* CI Updates (#17834)
* Ensure that git access to private repos uses the ELEVATED_GITHUB_TOKEN
* Bump the runner size for the protobuf generation check
This has failed previously when the runner process that communicates with GitHub gets starved causing the job to fail.
* counter part of ent pr (#17618)
* watch: support -filter for consul watch: checks, services, nodes, service (#17780)
* watch: support -filter for watch checks
* Add filter for watch nodes, services, and service
- unit test added
- Add changelog
- update doc
* Trigger OSS => ENT merge for all release branches (#17853)
Previously, this only triggered for release/*.*.x branches; however, our release process involves cutting a release/1.16.0 branch, for example, at time of code freeze these days. Any PRs to that branch after code freeze today do not make their way to consul-enterprise. This will make behavior for a .0 branch consistent with current behavior for a .x branch.
* Update service-mesh.mdx (#17845)
Deleted two commas which looks quite like some leftovers.
* Add docs for sameness groups with resolvers. (#17851)
* docs: add note about path prefix matching behavior for HTTPRoute config (#17860)
* Add note about path prefix matching behavior for HTTPRoute config
* Update website/content/docs/connect/gateways/api-gateway/configuration/http-route.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
---------
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* docs: update upgrade to consul-dataplane docs on k8s (#17852)
* resource: add `AuthorizerContext` helper method (#17393)
* resource: enforce consistent naming of resource types (#17611)
For consistency, resource type names must follow these rules:
- `Group` must be snake case, and in most cases a single word.
- `GroupVersion` must be lowercase, start with a "v" and end with a number.
- `Kind` must be pascal case.
These were chosen because they map to our protobuf type naming
conventions.
* tooling: generate protoset file (#17364)
Extends the `proto` make target to generate a protoset file for use with
grpcurl etc.
* Fix a bug that wrongly trims domains when there is an overlap with DC name (#17160)
* Fix a bug that wrongly trims domains when there is an overlap with DC name
Before this change, when DC name and domain/alt-domain overlap, the domain name incorrectly trimmed from the query.
Example:
Given: datacenter = dc-test, alt-domain = test.consul.
Querying for "test-node.node.dc-test.consul" will faile, because the
code was trimming "test.consul" instead of just ".consul"
This change, fixes the issue by adding dot (.) before trimming
* trimDomain: ensure domain trimmed without modyfing original domains
* update changelog
---------
Co-authored-by: Dhia Ayachi <dhia@hashicorp.com>
* deps: aws-sdk-go v1.44.289 (#17876)
Signed-off-by: Dan Bond <danbond@protonmail.com>
* api-gateway: add operation cannot be fulfilled error to common errors (#17874)
* add error message
* Update website/content/docs/api-gateway/usage/errors.mdx
Co-authored-by: Nathan Coleman <nathan.coleman@hashicorp.com>
* fix formating issues
---------
Co-authored-by: Nathan Coleman <nathan.coleman@hashicorp.com>
* api-gateway: add step to upgrade instructions for creating intentions (#17875)
* Changelog - add 1.13.9, 1.14.8, and 1.15.4 (#17889)
* docs: update config enable_debug (#17866)
* update doc for config enable_debug
* Update website/content/docs/agent/config/config-files.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
---------
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Update wording on WAN fed and intermediate_pki_path (#17850)
* Allow service identity tokens the ability to read jwt-providers (#17893)
* Allow service identity tokens the ability to read jwt-providers
* more tests
* service_prefix tests
* Update docs (#17476)
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Add emit_tags_as_labels to envoy bootstrap config when using Consul Telemetry Collector (#17888)
* Fix command from kg to kubectl get (#17903)
* Create and update release notes for 1.16 and 1.2 (#17895)
* update release notes for 1.16 and 1.2
* update latest consul core release
* Propose new changes to APIgw upgrade instructions (#17693)
* Propose new changes to APIgw upgrade instructions
* fix build error
* update callouts to render correctly
* Add hideClipboard to log messages
* Added clarification around consul k8s and crds
* Add workflow to verify linux release packages (#17904)
* adding docker files to verify linux packages.
* add verifr-release-linux.yml
* updating name
* pass inputs directly into jobs
* add other linux package platforms
* remove on push
* fix TARGETARCH on debian and ubuntu so it can check arm64 and amd64
* fixing amazon to use the continue line
* add ubuntu i386
* fix comment lines
* working
* remove commented out workflow jobs
* Apply suggestions from code review
Co-authored-by: Nathan Coleman <nathan.coleman@hashicorp.com>
* update fedora and ubuntu to use latest tag
---------
Co-authored-by: Nathan Coleman <nathan.coleman@hashicorp.com>
* Reference hashicorp/consul instead of consul for Docker image (#17914)
* Reference hashicorp/consul instead of consul for Docker image
* Update Make targets that pull consul directly
* Update Consul K8s Upgrade Doc Updates (#17921)
Updating upgrade procedures to encompass expected errors during upgrade process from v1.13.x to v1.14.x.
* Update sameness-group.mdx (#17915)
* Update create-sameness-groups.mdx (#17927)
* deps: coredns v1.10.1 (#17912)
* Ensure RSA keys are at least 2048 bits in length (#17911)
* Ensure RSA keys are at least 2048 bits in length
* Add changelog
* update key length check for FIPS compliance
* Fix no new variables error and failing to return when error exists from
validating
* clean up code for better readability
* actually return value
* tlsutil: Fix check TLS configuration (#17481)
* tlsutil: Fix check TLS configuration
* Rewording docs.
* Update website/content/docs/services/configuration/checks-configuration-reference.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Fix typos and add changelog entry.
---------
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* docs: Deprecations for connect-native SDK and specific connect native APIs (#17937)
* Update v1_16_x.mdx
* Update connect native golang page
---------
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Revert "Add workflow to verify linux release packages (#17904)" (#17942)
This reverts commit 3368f14fab500ebe9f6aeab5631dd1d5f5a453e5.
* Fixes Secondary ConnectCA update (#17846)
This fixes a bug that was identified which resulted in subsequent
ConnectCA configuration update not to persist in the cluster.
* fixing typo in link to jwt-validations-with-intentions doc (#17955)
* Fix streaming backend link (#17958)
* Fix streaming backend link
* Update health.mdx
* Dynamically create jwks clusters for jwt-providers (#17944)
* website: remove deprecated agent rpc docs (#17962)
* Fix missing BalanceOutboundConnections in v2 catalog. (#17964)
* feature - [NET - 4005] - [Supportability] Reloadable Configuration - enable_debug (#17565)
* # This is a combination of 9 commits.
# This is the 1st commit message:
init without tests
# This is the commit message #2:
change log
# This is the commit message #3:
fix tests
# This is the commit message #4:
fix tests
# This is the commit message #5:
added tests
# This is the commit message #6:
change log breaking change
# This is the commit message #7:
removed breaking change
# This is the commit message #8:
fix test
# This is the commit message #9:
keeping the test behaviour same
* # This is a combination of 12 commits.
# This is the 1st commit message:
init without tests
# This is the commit message #2:
change log
# This is the commit message #3:
fix tests
# This is the commit message #4:
fix tests
# This is the commit message #5:
added tests
# This is the commit message #6:
change log breaking change
# This is the commit message #7:
removed breaking change
# This is the commit message #8:
fix test
# This is the commit message #9:
keeping the test behaviour same
# This is the commit message #10:
made enable debug atomic bool
# This is the commit message #11:
fix lint
# This is the commit message #12:
fix test true enable debug
* parent 10f500e895d92cc3691ade7b74a33db755d22039
author absolutelightning <ashesh.vidyut@hashicorp.com> 1687352587 +0530
committer absolutelightning <ashesh.vidyut@hashicorp.com> 1687352592 +0530
init without tests
change log
fix tests
fix tests
added tests
change log breaking change
removed breaking change
fix test
keeping the test behaviour same
made enable debug atomic bool
fix lint
fix test true enable debug
using enable debug in agent as atomic bool
test fixes
fix tests
fix tests
added update on correct locaiton
fix tests
fix reloadable config enable debug
fix tests
fix init and acl 403
* revert commit
* Fix formatting codeblocks on APIgw docs (#17970)
* fix formatting codeblocks
* remove unnecessary indents
* Remove POC code (#17974)
* update doc (#17910)
* update doc
* update link
* Remove duplicate and unused newDecodeConfigEntry func (#17979)
* docs: samenessGroup YAML examples (#17984)
* configuration entry syntax
* Example config
* Add changelog entry for 1.16.0 (#17987)
* Fix typo (#17198)
servcies => services
* Expose JWKS cluster config through JWTProviderConfigEntry (#17978)
* Expose JWKS cluster config through JWTProviderConfigEntry
* fix typos, rename trustedCa to trustedCA
* Integration test for ext-authz Envoy extension (#17980)
* Fix incorrect protocol for transparent proxy upstreams. (#17894)
This PR fixes a bug that was introduced in:
https://github.com/hashicorp/consul/pull/16021
A user setting a protocol in proxy-defaults would cause tproxy implicit
upstreams to not honor the upstream service's protocol set in its
`ServiceDefaults.Protocol` field, and would instead always use the
proxy-defaults value.
Due to the fact that upstreams configured with "tcp" can successfully contact
upstream "http" services, this issue was not recognized until recently (a
proxy-defaults with "tcp" and a listening service with "http" would make
successful requests, but not the opposite).
As a temporary work-around, users experiencing this issue can explicitly set
the protocol on the `ServiceDefaults.UpstreamConfig.Overrides`, which should
take precedence.
The fix in this PR removes the proxy-defaults protocol from the wildcard
upstream that tproxy uses to configure implicit upstreams. When the protocol
was included, it would always overwrite the value during discovery chain
compilation, which was not correct. The discovery chain compiler also consumes
proxy defaults to determine the protocol, so simply excluding it from the
wildcard upstream config map resolves the issue.
* feat: include nodes count in operator usage endpoint and cli command (#17939)
* feat: update operator usage api endpoint to include nodes count
* feat: update operator usange cli command to includes nodes count
* [OSS] Improve Gateway Test Coverage of Catalog Health (#18011)
* fix(cli): remove failing check from 'connect envoy' registration for api gateway
* test(integration): add tests to check catalog statsus of gateways on startup
* remove extra sleep comment
* Update test/integration/consul-container/libs/assert/service.go
* changelog
* Fixes Traffic rate limitting docs (#17997)
* Fix removed service-to-service peering links (#17221)
* docs: fix removed service-to-service peering links
* docs: extend peering-via-mesh-gateways intro (thanks @trujillo-adam)
---------
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* docs: Sameness "beta" warning (#18017)
* Warning updates
* .x
* updated typo in tab heading (#18022)
* updated typo in tab heading
* updated tab group typo, too
* Document that DNS lookups can target cluster peers (#17990)
Static DNS lookups, in addition to explicitly targeting a datacenter,
can target a cluster peer. This was added in 95dc0c7b301b70a6b955a8b7c9737c9b86f03df6 but didn't make the documentation.
The driving function for the change is `parseLocality` here: https://github.com/hashicorp/consul/blob/0b1299c28d8127129d61310ee4280055298438e0/agent/dns_oss.go#L25
The biggest change in this is to adjust the standard lookup syntax to tie
`.<datacenter>` to `.dc` as required-together, and to append in the similar `.<cluster-peer>.peer` optional argument, both to A record and SRV record lookups.
Co-authored-by: David Yu <dyu@hashicorp.com>
* Add first integration test for jwt auth with intention (#18005)
* fix stand-in text for name field (#18030)
* removed sameness conf entry from failover nav (#18033)
* docs - add service sync annotations and k8s service weight annotation (#18032)
* Docs for https://github.com/hashicorp/consul-k8s/pull/2293
* remove versions for enterprise features since they are old
---------
Co-authored-by: Tu Nguyen <im2nguyen@users.noreply.github.com>
* docs - add jobs use case for service mesh k8s (#18037)
* docs - add jobs use case for service mesh k8s
* add code blocks
* address feedback (#18045)
* Add verify server hostname to tls default (#17155)
* [OSS] Fix initial_fetch_timeout to wait for all xDS resources (#18024)
* fix(connect): set initial_fetch_time to wait indefinitely
* changelog
* PR feedback 1
* ui: fix typos for peer service imports (#17999)
* test: fix FIPS inline cert test message (#18076)
* Fix a couple typos in Agent Telemetry Metrics docs (#18080)
* Fix metrics docs
* Add changelog
Signed-off-by: josh <josh.timmons@hashicorp.com>
---------
Signed-off-by: josh <josh.timmons@hashicorp.com>
* docs updates - cluster peering and virtual services (#18069)
* Update route-to-virtual-services.mdx
* Update establish-peering.mdx
* Update service-mesh-compare.mdx (#17279)
grammar change
* Update helm docs on main (#18085)
* ci: use gotestsum v1.10.1 [NET-4042] (#18088)
* Docs: Update proxy lifecycle annotations and consul-dataplane flags (#18075)
* Update proxy lifecycle annotations and consul-dataplane flags
* Pass configured role name to Vault for AWS auth in Connect CA (#17885)
* Docs for dataplane upgrade on k8s (#18051)
* Docs for dataplane upgrade on k8s
---------
Co-authored-by: David Yu <dyu@hashicorp.com>
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* docs - update upgrade index page to not recommend consul leave. (#18100)
* Displays Consul version of each nodes in UI nodes section (#17754)
* update UINodes and UINodeInfo response with consul-version info added as NodeMeta, fetched from serf members
* update test cases TestUINodes, TestUINodeInfo
* added nil check for map
* add consul-version in local agent node metadata
* get consul version from serf member and add this as node meta in catalog register request
* updated ui mock response to include consul versions as node meta
* updated ui trans and added version as query param to node list route
* updates in ui templates to display consul version with filter and sorts
* updates in ui - model class, serializers,comparators,predicates for consul version feature
* added change log for Consul Version Feature
* updated to get version from consul service, if for some reason not available from serf
* updated changelog text
* updated dependent testcases
* multiselection version filter
* Update agent/consul/state/catalog.go
comments updated
Co-authored-by: Jared Kirschner <85913323+jkirschner-hashicorp@users.noreply.github.com>
---------
Co-authored-by: Jared Kirschner <85913323+jkirschner-hashicorp@users.noreply.github.com>
* api gw 1.16 updates (#18081)
* api gw 1.16 updates
* Apply suggestions from code review
Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com>
* update CodeBlockConfig filename
* Apply suggestions from code review
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com>
* remove non-standard intentions page
* Update website/content/docs/api-gateway/configuration/index.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
---------
Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com>
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* [NET-4103] ci: build s390x (#18067)
* ci: build s390x
* ci: test s390x
* ci: dev build s390x
* no GOOS
* ent only
* build: publish s390x
* fix syntax error
* fix syntax error again
* fix syntax error again x2
* test branch
* Move s390x conditionals to step level
* remove test branch
---------
Co-authored-by: emilymianeil <eneil@hashicorp.com>
* :ermahgerd "Sevice Mesh" -> "Service Mesh" (#18116)
Just a typo in the docs.
* Split pbmesh.UpstreamsConfiguration as a resource out of pbmesh.Upstreams (#17991)
Configuration that previously was inlined into the Upstreams resource
applies to both explicit and implicit upstreams and so it makes sense to
split it out into its own resource.
It also has other minor changes:
- Renames `proxy.proto` proxy_configuration.proto`
- Changes the type of `Upstream.destination_ref` from `pbresource.ID` to
`pbresource.Reference`
- Adds comments to fields that didn't have them
* [NET-4895] ci - api tests and consul container tests error because of dependency bugs with go 1.20.6. Pin go to 1.20.5. (#18124)
### Description
The following jobs started failing when go 1.20.6 was released:
- `go-test-api-1-19`
- `go-test-api-1-20`
- `compatibility-integration-tests`
- `upgrade-integration-tests`
`compatibility-integration-tests` and `compatibility-integration-tests`
to this testcontainers issue:
https://github.com/testcontainers/testcontainers-go/issues/1359. This
issue calls for testcontainers to release a new version when one of
their dependencies is fixed. When that is done, we will unpin the go
versions in `compatibility-integration-tests` and
`compatibility-integration-tests`.
### Testing & Reproduction steps
See these jobs broken in CI and then see them work with this PR.
---------
Co-authored-by: Chris Thain <32781396+cthain@users.noreply.github.com>
* Add ingress gateway deprecation notices to docs (#18102)
### Description
This adds notices, that ingress gateway is deprecated, to several places
in the product docs where ingress gateway is the topic.
### Testing & Reproduction steps
Tested with a local copy of the website.
### Links
Deprecation of ingress gateway was announced in the Release Notes for
Consul 1.16 and Consul-K8s 1.2. See:
[https://developer.hashicorp.com/consul/docs/release-notes/consul/v1_16_x#what-s-deprecated](https://developer.hashicorp.com/consul/docs/release-notes/consul/v1_16_x#what-s-deprecated
)
[https://developer.hashicorp.com/consul/docs/release-notes/consul-k8s/v1_2_x#what-s-deprecated](https://developer.hashicorp.com/consul/docs/release-notes/consul-k8s/v1_2_x#what-s-deprecated)
### PR Checklist
* [N/A] updated test coverage
* [X] external facing docs updated
* [X] appropriate backport labels added
* [X] not a security concern
---------
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Add docs for jwt cluster configuration (#18004)
### Description
<!-- Please describe why you're making this change, in plain English.
-->
- Add jwt-provider docs for jwks cluster configuration. The
configuration was added here:
https://github.com/hashicorp/consul/pull/17978
* Docs: fix unmatched bracket for health checks page (#18134)
* NET-4657/add resource service client (#18053)
### Description
<!-- Please describe why you're making this change, in plain English.
-->
Dan had already started on this
[task](https://github.com/hashicorp/consul/pull/17849) which is needed
to start building the HTTP APIs. This just needed some cleanup to get it
ready for review.
Overview:
- Rename `internalResourceServiceClient` to
`insecureResourceServiceClient` for name consistency
- Configure a `secureResourceServiceClient` with auth enabled
### PR Checklist
* [ ] ~updated test coverage~
* [ ] ~external facing docs updated~
* [x] appropriate backport labels added
* [ ] ~not a security concern~
* Fix bug with Vault CA provider (#18112)
Updating RootPKIPath but not IntermediatePKIPath would not update
leaf signing certs with the new root. Unsure if this happens in practice
but manual testing showed it is a bug that would break mesh and agent
connections once the old root is pruned.
* [NET-4897] net/http host header is now verified and request.host that contains socked now error (#18129)
### Description
This is related to https://github.com/hashicorp/consul/pull/18124 where
we pinned the go versions in CI to 1.20.5 and 1.19.10.
go 1.20.6 and 1.19.11 now validate request host headers for validity,
including the hostname cannot be prefixed with slashes.
For local communications (npipe://, unix://), the hostname is not used,
but we need valid and meaningful hostname. Prior versions go Go would
clean the host header, and strip slashes in the process, but go1.20.6
and go1.19.11 no longer do, and reject the host header. Around the
community we are seeing that others are intercepting the req.host and if
it starts with a slash or ends with .sock, they changing the host to
localhost or another dummy value.
[client: define a "dummy" hostname to use for local connections by
thaJeztah · Pull Request #45942 ·
moby/moby](https://github.com/moby/moby/pull/45942)
### Testing & Reproduction steps
Check CI tests.
### Links
* [ ] updated test coverage
* [ ] external facing docs updated
* [ ] appropriate backport labels added
* [ ] not a security concern
* add a conditional around setting LANFilter.AllSegments to make sure it is valid (#18139)
### Description
This is to correct a code problem because this assumes all segments, but
when you get to Enterprise, you can be in partition that is not the
default partition, in which case specifying all segments does not
validate and fails. This is to correct the setting of this filter with
`AllSegments` to `true` to only occur when in the the `default`
partition.
### Testing & Reproduction steps
<!--
* In the case of bugs, describe how to replicate
* If any manual tests were done, document the steps and the conditions
to replicate
* Call out any important/ relevant unit tests, e2e tests or integration
tests you have added or are adding
-->
### Links
<!--
Include any links here that might be helpful for people reviewing your
PR (Tickets, GH issues, API docs, external benchmarks, tools docs, etc).
If there are none, feel free to delete this section.
Please be mindful not to leak any customer or confidential information.
HashiCorp employees may want to use our internal URL shortener to
obfuscate links.
-->
### PR Checklist
* [ ] updated test coverage
* [ ] external facing docs updated
* [ ] appropriate backport labels added
* [ ] not a security concern
* chore: bump upgrade integrations tests to 1.15, 116 [NET-4743] (#18130)
* re org resource type registry (#18133)
* fix: update delegateMock used in ENT (#18149)
### Description
<!-- Please describe why you're making this change, in plain English.
-->
The mock is used in `http_ent_test` file which caused lint failures. For
OSS->ENT parity adding the same change here.
### Links
<!--
Include any links here that might be helpful for people reviewing your
PR (Tickets, GH issues, API docs, external benchmarks, tools docs, etc).
If there are none, feel free to delete this section.
Please be mindful not to leak any customer or confidential information.
HashiCorp employees may want to use our internal URL shortener to
obfuscate links.
-->
Identified in OSS->ENT [merge
PR](https://github.com/hashicorp/consul-enterprise/pull/6328)
### PR Checklist
* [ ] ~updated test coverage~
* [ ] ~external facing docs updated~
* [x] appropriate backport labels added
* [ ] ~not a security concern~
* Use JWT-auth filter in metadata mode & Delegate validation to RBAC filter (#18062)
### Description
<!-- Please describe why you're making this change, in plain English.
-->
- Currently the jwt-auth filter doesn't take into account the service
identity when validating jwt-auth, it only takes into account the path
and jwt provider during validation. This causes issues when multiple
source intentions restrict access to an endpoint with different JWT
providers.
- To fix these issues, rather than use the JWT auth filter for
validation, we use it in metadata mode and allow it to forward the
successful validated JWT token payload to the RBAC filter which will
make the decisions.
This PR ensures requests with and without JWT tokens successfully go
through the jwt-authn filter. The filter however only forwards the data
for successful/valid tokens. On the RBAC filter level, we check the
payload for claims and token issuer + existing rbac rules.
### Testing & Reproduction steps
<!--
* In the case of bugs, describe how to replicate
* If any manual tests were done, document the steps and the conditions
to replicate
* Call out any important/ relevant unit tests, e2e tests or integration
tests you have added or are adding
-->
- This test covers a multi level jwt requirements (requirements at top
level and permissions level). It also assumes you have envoy running,
you have a redis and a sidecar proxy service registered, and have a way
to generate jwks with jwt. I mostly use:
https://www.scottbrady91.com/tools/jwt for this.
- first write your proxy defaults
```
Kind = "proxy-defaults"
name = "global"
config {
protocol = "http"
}
```
- Create two providers
```
Kind = "jwt-provider"
Name = "auth0"
Issuer = "https://ronald.local"
JSONWebKeySet = {
Local = {
JWKS = "eyJrZXlzIjog....."
}
}
```
```
Kind = "jwt-provider"
Name = "okta"
Issuer = "https://ronald.local"
JSONWebKeySet = {
Local = {
JWKS = "eyJrZXlzIjogW3...."
}
}
```
- add a service intention
```
Kind = "service-intentions"
Name = "redis"
JWT = {
Providers = [
{
Name = "okta"
},
]
}
Sources = [
{
Name = "*"
Permissions = [{
Action = "allow"
HTTP = {
PathPrefix = "/workspace"
}
JWT = {
Providers = [
{
Name = "okta"
VerifyClaims = [
{
Path = ["aud"]
Value = "my_client_app"
},
{
Path = ["sub"]
Value = "5be86359073c434bad2da3932222dabe"
}
]
},
]
}
},
{
Action = "allow"
HTTP = {
PathPrefix = "/"
}
JWT = {
Providers = [
{
Name = "auth0"
},
]
}
}]
}
]
```
- generate 3 jwt tokens: 1 from auth0 jwks, 1 from okta jwks with
different claims than `/workspace` expects and 1 with correct claims
- connect to your envoy (change service and address as needed) to view
logs and potential errors. You can add: `-- --log-level debug` to see
what data is being forwarded
```
consul connect envoy -sidecar-for redis1 -grpc-addr 127.0.0.1:8502
```
- Make the following requests:
```
curl -s -H "Authorization: Bearer $Auth0_TOKEN" --insecure --cert leaf.cert --key leaf.key --cacert connect-ca.pem https://localhost:20000/workspace -v
RBAC filter denied
curl -s -H "Authorization: Bearer $Okta_TOKEN_with_wrong_claims" --insecure --cert leaf.cert --key leaf.key --cacert connect-ca.pem https://localhost:20000/workspace -v
RBAC filter denied
curl -s -H "Authorization: Bearer $Okta_TOKEN_with_correct_claims" --insecure --cert leaf.cert --key leaf.key --cacert connect-ca.pem https://localhost:20000/workspace -v
Successful request
```
### TODO
* [x] Update test coverage
* [ ] update integration tests (follow-up PR)
* [x] appropriate backport labels added
* Support Consul Connect Envoy Command on Windows (#17694)
### Description
Add support for consul connect envoy command on windows. This PR fixes
the comments of PR - https://github.com/hashicorp/consul/pull/15114
### Testing
* Built consul.exe from this branch on windows and hosted here - [AWS
S3](https://asheshvidyut-bucket.s3.ap-southeast-2.amazonaws.com/consul.zip)
* Updated the
[tutorial](https://developer.hashicorp.com/consul/tutorials/developer-mesh/consul-windows-workloads)
and changed the `consul_url.default` value to [AWS
S3](https://asheshvidyut-bucket.s3.ap-southeast-2.amazonaws.com/consul.zip)
* Followed the steps in the tutorial and verified that everything is
working as described.
### PR Checklist
* [x] updated test coverage
* [ ] external facing docs updated
* [x] appropriate backport labels added
* [x] not a security concern
---------
Co-authored-by: Franco Bruno Lavayen <cocolavayen@gmail.com>
Co-authored-by: Jose Ignacio Lorenzo <74208929+joselo85@users.noreply.github.com>
Co-authored-by: Jose Ignacio Lorenzo <joseignaciolorenzo85@gmail.com>
Co-authored-by: Dhia Ayachi <dhia@hashicorp.com>
* Change docs to say 168h instead of 7d for server_rejoin_age_max (#18154)
### Description
Addresses
https://github.com/hashicorp/consul/pull/17171#issuecomment-1636930705
* [OSS] test: improve xDS listener code coverage (#18138)
test: improve xDS listener code coverage
* Re-order expected/actual for assertContainerState in consul container tests (#18157)
Re-order expected/actual, consul container tests
* group and document make file (#17943)
* group and document make file
* Add `testing/deployer` (neé `consul-topology`) [NET-4610] (#17823)
Co-authored-by: R.B. Boyer <4903+rboyer@users.noreply.github.com>
Co-authored-by: R.B. Boyer <rb@hashicorp.com>
Co-authored-by: Freddy <freddygv@users.noreply.github.com>
* [NET-4792] Add integrations tests for jwt-auth (#18169)
* Add FIPS reference to consul enterprise docs (#18028)
* Add FIPS reference to consul enterprise docs
* Update website/content/docs/enterprise/index.mdx
Co-authored-by: David Yu <dyu@hashicorp.com>
* remove support for ecs client (fips)
---------
Co-authored-by: David Yu <dyu@hashicorp.com>
* add peering_commontopo tests [NET-3700] (#17951)
Co-authored-by: R.B. Boyer <4903+rboyer@users.noreply.github.com>
Co-authored-by: R.B. Boyer <rb@hashicorp.com>
Co-authored-by: Freddy <freddygv@users.noreply.github.com>
Co-authored-by: NiniOak <anita.akaeze@hashicorp.com>
* docs - remove Sentinel from enterprise features list (#18176)
* Update index.mdx
* Update kv.mdx
* Update docs-nav-data.json
* delete sentinel.mdx
* Update redirects.js
---------
Co-authored-by: Tu Nguyen <im2nguyen@users.noreply.github.com>
* [NET-4865] Bump golang.org/x/net to 0.12.0 (#18186)
Bump golang.org/x/net to 0.12.0
While not necessary to directly address CVE-2023-29406 (which should be
handled by using a patched version of Go when building), an
accompanying change to HTTP/2 error handling does impact agent code.
See https://go-review.googlesource.com/c/net/+/506995 for the HTTP/2
change.
Bump this dependency across our submodules as well for the sake of
potential indirect consumers of `x/net/http`.
* Call resource mutate hook before validate hook (NET-4907) (#18178)
* [NET-4865] security: Update Go version to 1.20.6 (#18190)
Update Go version to 1.20.6
This resolves [CVE-2023-29406]
(https://nvd.nist.gov/vuln/detail/CVE-2023-29406) for uses of the
`net/http` standard library.
Note that until the follow-up to #18124 is done, the version of Go used
in those impacted tests will need to remain on 1.20.5.
* Improve XDS test coverage: JWT auth edition (#18183)
* Improve XDS test coverage: JWT auth edition
more tests
* test: xds coverage for jwt listeners
---------
Co-authored-by: DanStough <dan.stough@hashicorp.com>
* update readme.md (#18191)
u[date readme.md
* Update submodules to latest following 1.16.0 (#18197)
Align all our internal use of submodules on the latest versions.
* SEC-090: Automated trusted workflow pinning (2023-07-18) (#18174)
Result of tsccr-helper -log-level=info -pin-all-workflows .
Co-authored-by: hashicorp-tsccr[bot] <hashicorp-tsccr[bot]@users.noreply.github.com>
* Fix Backport Assistant PR commenting (#18200)
* Fix Backport Assistant failure PR commenting
For general comments on a PR, it looks like you have to use the `/issue`
endpoint rather than `/pulls`, which requires commit/other
review-specific target details.
This matches the endpoint used in `backport-reminder.yml`.
* Remove Backport Reminder workflow
This is noisy (even when adding multiple labels, individual comments per
label are generated), and likely no longer needed: we haven't had this
work in a long time due to an expired GH token, and we now have better
automation for backport PR assignment.
* resource: Pass resource to Write ACL hook instead of just resource Id [NET-4908] (#18192)
* Explicitly enable WebSocket upgrades (#18150)
This PR explicitly enables WebSocket upgrades in Envoy's UpgradeConfig for all
proxy types. (API Gateway, Ingress, and Sidecar.)
Fixes #8283
* docs: fix the description of client rpc (#18206)
* NET-4804: Add dashboard for monitoring consul-k8s (#18208)
* [OSS] Improve xDS Code Coverage - Clusters (#18165)
test: improve xDS cluster code coverage
* NET-4222 take config file consul container (#18218)
Net 4222 take config file consul container
* Envoy Integration Test Windows (#18007)
* [CONSUL-395] Update check_hostport and Usage (#40)
* [CONSUL-397] Copy envoy binary from Image (#41)
* [CONSUL-382] Support openssl in unique test dockerfile (#43)
* [CONSUL-405] Add bats to single container (#44)
* [CONSUL-414] Run Prometheus Test Cases and Validate Changes (#46)
* [CONSUL-410] Run Jaeger in Single container (#45)
* [CONSUL-412] Run test-sds-server in single container (#48)
* [CONSUL-408] Clean containers (#47)
* [CONSUL-384] Rebase and sync fork (#50)
* [CONSUL-415] Create Scenarios Troubleshooting Docs (#49)
* [CONSUL-417] Update Docs Single Container (#51)
* [CONSUL-428] Add Socat to single container (#54)
* [CONSUL-424] Replace pkill in kill_envoy function (#52)
* [CONSUL-434] Modify Docker run functions in Helper script (#53)
* [CONSUL-435] Replace docker run in set_ttl_check_state & wait_for_agent_service_register functions (#55)
* [CONSUL-438] Add netcat (nc) in the Single container Dockerfile (#56)
* [CONSUL-429] Replace Docker run with Docker exec (#57)
* [CONSUL-436] Curl timeout and run tests (#58)
* [CONSUL-443] Create dogstatsd Function (#59)
* [CONSUL-431] Update Docs Netcat (#60)
* [CONSUL-439] Parse nc Command in function (#61)
* [CONSUL-463] Review curl Exec and get_ca_root Func (#63)
* [CONSUL-453] Docker hostname in Helper functions (#64)
* [CONSUL-461] Test wipe volumes without extra cont (#66)
* [CONSUL-454] Check ports in the Server and Agent containers (#65)
* [CONSUL-441] Update windows dockerfile with version (#62)
* [CONSUL-466] Review case-grpc Failing Test (#67)
* [CONSUL-494] Review case-cfg-resolver-svc-failover (#68)
* [CONSUL-496] Replace docker_wget & docker_curl (#69)
* [CONSUL-499] Cleanup Scripts - Remove nanoserver (#70)
* [CONSUL-500] Update Troubleshooting Docs (#72)
* [CONSUL-502] Pull & Tag Envoy Windows Image (#73)
* [CONSUL-504] Replace docker run in docker_consul (#76)
* [CONSUL-505] Change admin_bind
* [CONSUL-399] Update envoy to 1.23.1 (#78)
* [CONSUL-510] Support case-wanfed-gw on Windows (#79)
* [CONSUL-506] Update troubleshooting Documentation (#80)
* [CONSUL-512] Review debug_dump_volumes Function (#81)
* [CONSUL-514] Add zipkin to Docker Image (#82)
* [CONSUL-515] Update Documentation (#83)
* [CONSUL-529] Support case-consul-exec (#86)
* [CONSUL-530] Update Documentation (#87)
* [CONSUL-530] Update default consul version 1.13.3
* [CONSUL-539] Cleanup (#91)
* [CONSUL-546] Scripts Clean-up (#92)
* [CONSUL-491] Support admin_access_log_path value for Windows (#71)
* [CONSUL-519] Implement mkfifo Alternative (#84)
* [CONSUL-542] Create OS Specific Files for Envoy Package (#88)
* [CONSUL-543] Create exec_supported.go (#89)
* [CONSUL-544] Test and Build Changes (#90)
* Implement os.DevNull
* using mmap instead of disk files
* fix import in exec-unix
* fix nmap open too many arguemtn
* go fmt on file
* changelog file
* fix go mod
* Update .changelog/17694.txt
Co-authored-by: Dhia Ayachi <dhia@hashicorp.com>
* different mmap library
* fix bootstrap json
* some fixes
* chocolatey version fix and image fix
* using different library
* fix Map funciton call
* fix mmap call
* fix tcp dump
* fix tcp dump
* windows tcp dump
* Fix docker run
* fix tests
* fix go mod
* fix version 16.0
* fix version
* fix version dev
* sleep to debug
* fix sleep
* fix permission issue
* fix permission issue
* fix permission issue
* fix command
* fix command
* fix funciton
* fix assert config entry status command not found
* fix command not found assert_cert_has_cn
* fix command not found assert_upstream_missing
* fix command not found assert_upstream_missing_once
* fix command not found get_upstream_endpoint
* fix command not found get_envoy_public_listener_once
* fix command not found
* fix test cases
* windows integration test workflow github
* made code similar to unix using npipe
* fix go.mod
* fix dialing of npipe
* dont wait
* check size of written json
* fix undefined n
* running
* fix dep
* fix syntax error
* fix workflow file
* windows runner
* fix runner
* fix from json
* fix runs on
* merge connect envoy
* fix cin path
* build
* fix file name
* fix file name
* fix dev build
* remove unwanted code
* fix upload
* fix bin name
* fix path
* checkout current branch
* fix path
* fix tests
* fix shell bash for windows sh files
* fix permission of run-test.sh
* removed docker dev
* added shell bash for tests
* fix tag
* fix win=true
* fix cd
* added dev
* fix variable undefined
* removed failing tests
* fix tcp dump image
* fix curl
* fix curl
* tcp dump path
* fix tcpdump path
* fix curl
* fix curl install
* stop removing intermediate containers
* fix tcpdump docker image
* revert -rm
* --rm=false
* makeing docker image before
* fix tcpdump
* removed case consul exec
* removed terminating gateway simple
* comment case wasm
* removed data dog
* comment out upload coverage
* uncomment case-consul-exec
* comment case consul exec
* if always
* logs
* using consul 1.17.0
* fix quotes
* revert quotes
* redirect to dev null
* Revert version
* revert consul connect
* fix version
* removed envoy connect
* not using function
* change log
* docker logs
* fix logs
* restructure bad authz
* rmeoved dev null
* output
* fix file descriptor
* fix cacert
* fix cacert
* fix ca cert
* cacert does not work in windows curl
* fix func
* removed docker logs
* added sleep
* fix tls
* commented case-consul-exec
* removed echo
* retry docker consul
* fix upload bin
* uncomment consul exec
* copying consul.exe to docker image
* copy fix
* fix paths
* fix path
* github workspace path
* latest version
* Revert "latest version"
This reverts commit 5a7d7b82d9e7553bcb01b02557ec8969f9deba1d.
* commented consul exec
* added ssl revoke best effort
* revert best effort
* removed unused files
* rename var name and change dir
* windows runner
* permission
* needs setup fix
* swtich to github runner
* fix file path
* fix path
* fix path
* fix path
* fix path
* fix path
* fix build paths
* fix tag
* nightly runs
* added matrix in github workflow, renamed files
* fix job
* fix matrix
* removed brackes
* from json
* without using job matrix
* fix quotes
* revert job matrix
* fix workflow
* fix comment
* added comment
* nightly runs
* removed datadog ci as it is already measured in linux one
* running test
* Revert "running test"
This reverts commit 7013d15a23732179d18ec5d17336e16b26fab5d4.
* pr comment fixes
* running test now
* running subset of test
* running subset of test
* job matrix
* shell bash
* removed bash shell
* linux machine for job matrix
* fix output
* added cat to debug
* using ubuntu latest
* fix job matrix
* fix win true
* fix go test
* revert job matrix
---------
Co-authored-by: Jose Ignacio Lorenzo <74208929+joselo85@users.noreply.github.com>
Co-authored-by: Franco Bruno Lavayen <cocolavayen@gmail.com>
Co-authored-by: Ivan K Berlot <ivanberlot@gmail.com>
Co-authored-by: Ezequiel Fernández Ponce <20102608+ezfepo@users.noreply.github.com>
Co-authored-by: joselo85 <joseignaciolorenzo85@gmail.com>
Co-authored-by: Ezequiel Fernández Ponce <ezequiel.fernandez@southworks.com>
Co-authored-by: Dhia Ayachi <dhia@hashicorp.com>
* fix typos and update ecs compat table (#18215)
* fix typos and update ecs compat table
* real info for the ecs compat matrix table
* Update website/content/docs/ecs/compatibility.mdx
Co-authored-by: Chris Thain <32781396+cthain@users.noreply.github.com>
---------
Co-authored-by: Chris Thain <32781396+cthain@users.noreply.github.com>
* [OSS] proxystate: add proxystate protos (#18216)
* proxystate: add proxystate protos to pbmesh and resolve imports and conflicts between message names
* ci: don't verify s390x (#18224)
* [CC-5718] Remove HCP token requirement during bootstrap (#18140)
* [CC-5718] Remove HCP token requirement during bootstrap
* Re-add error for loading HCP management token
* Remove old comment
* Add changelog entry
* Remove extra validation line
* Apply suggestions from code review
Co-authored-by: lornasong <lornasong@users.noreply.github.com>
---------
Co-authored-by: lornasong <lornasong@users.noreply.github.com>
* [NET-4122] Doc guidance for federation with externalServers (#18207)
Doc guidance for federation with externalServers
Add guidance for proper configuration when joining to a secondary
cluster using WAN fed with external servers also enabled.
Also clarify federation requirements and fix formatting for an
unrelated value.
Update both the Helm chart reference (synced from `consul-k8s`, see
hashicorp/consul-k8s#2583) and the docs on using `externalServers`.
* [OSS] Improve xDS Code Coverage - Endpoints and Misc (#18222)
test: improve xDS endpoints code coverage
* Clarify license reporting timing and GDPR compliance (#18237)
Add Alicia's edits to clarify log timing and other details
* Fix Github Workflow File (#18241)
* [CONSUL-382] Support openssl in unique test dockerfile (#43)
* [CONSUL-405] Add bats to single container (#44)
* [CONSUL-414] Run Prometheus Test Cases and Validate Changes (#46)
* [CONSUL-410] Run Jaeger in Single container (#45)
* [CONSUL-412] Run test-sds-server in single container (#48)
* [CONSUL-408] Clean containers (#47)
* [CONSUL-384] Rebase and sync fork (#50)
* [CONSUL-415] Create Scenarios Troubleshooting Docs (#49)
* [CONSUL-417] Update Docs Single Container (#51)
* [CONSUL-428] Add Socat to single container (#54)
* [CONSUL-424] Replace pkill in kill_envoy function (#52)
* [CONSUL-434] Modify Docker run functions in Helper script (#53)
* [CONSUL-435] Replace docker run in set_ttl_check_state & wait_for_agent_service_register functions (#55)
* [CONSUL-438] Add netcat (nc) in the Single container Dockerfile (#56)
* [CONSUL-429] Replace Docker run with Docker exec (#57)
* [CONSUL-436] Curl timeout and run tests (#58)
* [CONSUL-443] Create dogstatsd Function (#59)
* [CONSUL-431] Update Docs Netcat (#60)
* [CONSUL-439] Parse nc Command in function (#61)
* [CONSUL-463] Review curl Exec and get_ca_root Func (#63)
* [CONSUL-453] Docker hostname in Helper functions (#64)
* [CONSUL-461] Test wipe volumes without extra cont (#66)
* [CONSUL-454] Check ports in the Server and Agent containers (#65)
* [CONSUL-441] Update windows dockerfile with version (#62)
* [CONSUL-466] Review case-grpc Failing Test (#67)
* [CONSUL-494] Review case-cfg-resolver-svc-failover (#68)
* [CONSUL-496] Replace docker_wget & docker_curl (#69)
* [CONSUL-499] Cleanup Scripts - Remove nanoserver (#70)
* [CONSUL-500] Update Troubleshooting Docs (#72)
* [CONSUL-502] Pull & Tag Envoy Windows Image (#73)
* [CONSUL-504] Replace docker run in docker_consul (#76)
* [CONSUL-505] Change admin_bind
* [CONSUL-399] Update envoy to 1.23.1 (#78)
* [CONSUL-510] Support case-wanfed-gw on Windows (#79)
* [CONSUL-506] Update troubleshooting Documentation (#80)
* [CONSUL-512] Review debug_dump_volumes Function (#81)
* [CONSUL-514] Add zipkin to Docker Image (#82)
* [CONSUL-515] Update Documentation (#83)
* [CONSUL-529] Support case-consul-exec (#86)
* [CONSUL-530] Update Documentation (#87)
* [CONSUL-530] Update default consul version 1.13.3
* [CONSUL-539] Cleanup (#91)
* [CONSUL-546] Scripts Clean-up (#92)
* [CONSUL-491] Support admin_access_log_path value for Windows (#71)
* [CONSUL-519] Implement mkfifo Alternative (#84)
* [CONSUL-542] Create OS Specific Files for Envoy Package (#88)
* [CONSUL-543] Create exec_supported.go (#89)
* [CONSUL-544] Test and Build Changes (#90)
* Implement os.DevNull
* using mmap instead of disk files
* fix import in exec-unix
* fix nmap open too many arguemtn
* go fmt on file
* changelog file
* fix go mod
* Update .changelog/17694.txt
Co-authored-by: Dhia Ayachi <dhia@hashicorp.com>
* different mmap library
* fix bootstrap json
* some fixes
* chocolatey version fix and image fix
* using different library
* fix Map funciton call
* fix mmap call
* fix tcp dump
* fix tcp dump
* windows tcp dump
* Fix docker run
* fix tests
* fix go mod
* fix version 16.0
* fix version
* fix version dev
* sleep to debug
* fix sleep
* fix permission issue
* fix permission issue
* fix permission issue
* fix command
* fix command
* fix funciton
* fix assert config entry status command not found
* fix command not found assert_cert_has_cn
* fix command not found assert_upstream_missing
* fix command not found assert_upstream_missing_once
* fix command not found get_upstream_endpoint
* fix command not found get_envoy_public_listener_once
* fix command not found
* fix test cases
* windows integration test workflow github
* made code similar to unix using npipe
* fix go.mod
* fix dialing of npipe
* dont wait
* check size of written json
* fix undefined n
* running
* fix dep
* fix syntax error
* fix workflow file
* windows runner
* fix runner
* fix from json
* fix runs on
* merge connect envoy
* fix cin path
* build
* fix file name
* fix file name
* fix dev build
* remove unwanted code
* fix upload
* fix bin name
* fix path
* checkout current branch
* fix path
* fix tests
* fix shell bash for windows sh files
* fix permission of run-test.sh
* removed docker dev
* added shell bash for tests
* fix tag
* fix win=true
* fix cd
* added dev
* fix variable undefined
* removed failing tests
* fix tcp dump image
* fix curl
* fix curl
* tcp dump path
* fix tcpdump path
* fix curl
* fix curl install
* stop removing intermediate containers
* fix tcpdump docker image
* revert -rm
* --rm=false
* makeing docker image before
* fix tcpdump
* removed case consul exec
* removed terminating gateway simple
* comment case wasm
* removed data dog
* comment out upload coverage
* uncomment case-consul-exec
* comment case consul exec
* if always
* logs
* using consul 1.17.0
* fix quotes
* revert quotes
* redirect to dev null
* Revert version
* revert consul connect
* fix version
* removed envoy connect
* not using function
* change log
* docker logs
* fix logs
* restructure bad authz
* rmeoved dev null
* output
* fix file descriptor
* fix cacert
* fix cacert
* fix ca cert
* cacert does not work in windows curl
* fix func
* removed docker logs
* added sleep
* fix tls
* commented case-consul-exec
* removed echo
* retry docker consul
* fix upload bin
* uncomment consul exec
* copying consul.exe to docker image
* copy fix
* fix paths
* fix path
* github workspace path
* latest version
* Revert "latest version"
This reverts commit 5a7d7b82d9e7553bcb01b02557ec8969f9deba1d.
* commented consul exec
* added ssl revoke best effort
* revert best effort
* removed unused files
* rename var name and change dir
* windows runner
* permission
* needs setup fix
* swtich to github runner
* fix file path
* fix path
* fix path
* fix path
* fix path
* fix path
* fix build paths
* fix tag
* nightly runs
* added matrix in github workflow, renamed files
* fix job
* fix matrix
* removed brackes
* from json
* without using job matrix
* fix quotes
* revert job matrix
* fix workflow
* fix comment
* added comment
* nightly runs
* removed datadog ci as it is already measured in linux one
* running test
* Revert "running test"
This reverts commit 7013d15a23732179d18ec5d17336e16b26fab5d4.
* pr comment fixes
* running test now
* running subset of test
* running subset of test
* job matrix
* shell bash
* removed bash shell
* linux machine for job matrix
* fix output
* added cat to debug
* using ubuntu latest
* fix job matrix
* fix win true
* fix go test
* revert job matrix
* Fix tests
---------
Co-authored-by: Ivan K Berlot <ivanberlot@gmail.com>
Co-authored-by: Jose Ignacio Lorenzo <74208929+joselo85@users.noreply.github.com>
Co-authored-by: Franco Bruno Lavayen <cocolavayen@gmail.com>
Co-authored-by: Ezequiel Fernández Ponce <20102608+ezfepo@users.noreply.github.com>
Co-authored-by: joselo85 <joseignaciolorenzo85@gmail.com>
Co-authored-by: Ezequiel Fernández Ponce <ezequiel.fernandez@southworks.com>
Co-authored-by: Dhia Ayachi <dhia@hashicorp.com>
* NET-4996 - filter go-tests and test-integration workflows from running on docs only and ui only changes (#18236)
* Align build arch matrix with enterprise (#18235)
Ensure that OSS remains in sync w/ Enterprise by aligning the format of
arch matrix args for various build jobs.
* Revert "NET-4996 - filter go-tests and test-integration workflows from running on docs only and ui only changes" (#18248)
Revert "NET-4996 - filter go-tests and test-integration workflows from running on docs only and ui only changes (#18236)"
This reverts commit a11dba710e6ce6f172c0fa6c9b61567cc1efffc8.
* resource: Add scope to resource type registration [NET-4976] (#18214)
Enables querying a resource type's registration to determine if a resource is cluster, partition, or partition and namespace scoped.
* Fix some inconsistencies in jwt docs (#18234)
* NET-1825: More new ACL token creation docs (#18063)
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* [CC-5719] Add support for builtin global-read-only policy
* Add changelog
* Add read-only to docs
* Fix some minor issues.
* Change from ReplaceAll to Sprintf
* Change IsValidPolicy name to return an error instead of bool
* Fix PolicyList test
* Fix other tests
* Apply suggestions from code review
Co-authored-by: Paul Glass <pglass@hashicorp.com>
* Fix state store test for policy list.
* Fix naming issues
* Update acl/validation.go
Co-authored-by: Chris Thain <32781396+cthain@users.noreply.github.com>
* backport of commit d63fa5481dc02c6faae7cc2647b4073b3286af1d
* backport of commit 3d099a6ed8ed10b6dc464c466cb1668914db8f08
---------
Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: Dan Bond <danbond@protonmail.com>
Signed-off-by: josh <josh.timmons@hashicorp.com>
Co-authored-by: Michael Zalimeni <michael.zalimeni@hashicorp.com>
Co-authored-by: Ronald <roncodingenthusiast@users.noreply.github.com>
Co-authored-by: Eric Haberkorn <erichaberkorn@gmail.com>
Co-authored-by: Andrew Stucki <andrew.stucki@hashicorp.com>
Co-authored-by: Luke Kysow <1034429+lkysow@users.noreply.github.com>
Co-authored-by: R.B. Boyer <4903+rboyer@users.noreply.github.com>
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com>
Co-authored-by: David Yu <dyu@hashicorp.com>
Co-authored-by: Bryce Kalow <bkalow@hashicorp.com>
Co-authored-by: Paul Glass <pglass@hashicorp.com>
Co-authored-by: Matt Keeler <mkeeler@users.noreply.github.com>
Co-authored-by: Nathan Coleman <nathan.coleman@hashicorp.com>
Co-authored-by: Poonam Jadhav <poonam.jadhav@hashicorp.com>
Co-authored-by: Tu Nguyen <im2nguyen@users.noreply.github.com>
Co-authored-by: Chris Thain <32781396+cthain@users.noreply.github.com>
Co-authored-by: Hariram Sankaran <56744845+ramramhariram@users.noreply.github.com>
Co-authored-by: shanafarkas <105076572+shanafarkas@users.noreply.github.com>
Co-authored-by: Thomas Eckert <teckert@hashicorp.com>
Co-authored-by: Jeff Apple <79924108+Jeff-Apple@users.noreply.github.com>
Co-authored-by: Joshua Timmons <josh.timmons@hashicorp.com>
Co-authored-by: Ashesh Vidyut <134911583+absolutelightning@users.noreply.github.com>
Co-authored-by: Dan Stough <dan.stough@hashicorp.com>
Co-authored-by: Curt Bushko <cbushko@gmail.com>
Co-authored-by: Tobias Birkefeld <t@craxs.de>
Co-authored-by: Jared Kirschner <85913323+jkirschner-hashicorp@users.noreply.github.com>
Co-authored-by: Semir Patel <semir.patel@hashicorp.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: chappie <6537530+chapmanc@users.noreply.github.com>
Co-authored-by: Derek Menteer <105233703+hashi-derek@users.noreply.github.com>
Co-authored-by: John Murret <john.murret@hashicorp.com>
Co-authored-by: Mark Campbell-Vincent <mnmvincent@gmail.com>
Co-authored-by: Daniel Upton <daniel@floppy.co>
Co-authored-by: Steven Zamborsky <97125550+stevenzamborsky@users.noreply.github.com>
Co-authored-by: George Bolo <george.bolo@gmail.com>
Co-authored-by: Chris S. Kim <ckim@hashicorp.com>
Co-authored-by: wangxinyi7 <121973291+wangxinyi7@users.noreply.github.com>
Co-authored-by: cskh <hui.kang@hashicorp.com>
Co-authored-by: V. K <cn007b@gmail.com>
Co-authored-by: Iryna Shustava <ishustava@users.noreply.github.com>
Co-authored-by: Alex Simenduev <shamil.si@gmail.com>
Co-authored-by: Dhia Ayachi <dhia@hashicorp.com>
Co-authored-by: Dan Bond <danbond@protonmail.com>
Co-authored-by: sarahalsmiller <100602640+sarahalsmiller@users.noreply.github.com>
Co-authored-by: Gerard Nguyen <gerard@hashicorp.com>
Co-authored-by: mr-miles <miles.waller@gmail.com>
Co-authored-by: natemollica-dev <57850649+natemollica-nm@users.noreply.github.com>
Co-authored-by: John Maguire <john.maguire@hashicorp.com>
Co-authored-by: Samantha <hello@entropy.cat>
Co-authored-by: Ranjandas <thejranjan@gmail.com>
Co-authored-by: Evan Phoenix <evan@phx.io>
Co-authored-by: Michael Hofer <karras@users.noreply.github.com>
Co-authored-by: J.C. Jones <james.jc.jones@gmail.com>
Co-authored-by: Fulvio <fulviodenza823@gmail.com>
Co-authored-by: Krastin Krastev <krastin@hashicorp.com>
Co-authored-by: david3a <49253132+david3a@users.noreply.github.com>
Co-authored-by: Nick Irvine <115657443+nfi-hashicorp@users.noreply.github.com>
Co-authored-by: Tom Davies <tom@t-davies.com>
Co-authored-by: Vijay <vijayraghav22@gmail.com>
Co-authored-by: Eddie Rowe <74205376+eddie-rowe@users.noreply.github.com>
Co-authored-by: emilymianeil <eneil@hashicorp.com>
Co-authored-by: nv-hashi <80716011+nv-hashi@users.noreply.github.com>
Co-authored-by: Franco Bruno Lavayen <cocolavayen@gmail.com>
Co-authored-by: Jose Ignacio Lorenzo <74208929+joselo85@users.noreply.github.com>
Co-authored-by: Jose Ignacio Lorenzo <joseignaciolorenzo85@gmail.com>
Co-authored-by: R.B. Boyer <rb@hashicorp.com>
Co-authored-by: Freddy <freddygv@users.noreply.github.com>
Co-authored-by: NiniOak <anita.akaeze@hashicorp.com>
Co-authored-by: hashicorp-tsccr[bot] <129506189+hashicorp-tsccr[bot]@users.noreply.github.com>
Co-authored-by: hashicorp-tsccr[bot] <hashicorp-tsccr[bot]@users.noreply.github.com>
Co-authored-by: Blake Covarrubias <blake@covarrubi.as>
Co-authored-by: Ivan K Berlot <ivanberlot@gmail.com>
Co-authored-by: Ezequiel Fernández Ponce <20102608+ezfepo@users.noreply.github.com>
Co-authored-by: Ezequiel Fernández Ponce <ezequiel.fernandez@southworks.com>
Co-authored-by: Nitya Dhanushkodi <nitya@hashicorp.com>
Co-authored-by: Jeremy Jacobson <jjacobson93@users.noreply.github.com>
Co-authored-by: lornasong <lornasong@users.noreply.github.com>
Co-authored-by: Judith Malnick <judith@hashicorp.com>
Co-authored-by: Jeremy Jacobson <jeremy.jacobson@hashicorp.com>
2023-08-01 17:37:13 +00:00
|
|
|
policy = "%[1]s"
|
|
|
|
}`
|
|
|
|
)
|
|
|
|
|
|
|
|
var (
|
|
|
|
ACLPolicyGlobalReadOnlyRules = fmt.Sprintf(aclPolicyGlobalRulesTemplate, "read") + EnterpriseACLPolicyGlobalReadOnly
|
|
|
|
ACLPolicyGlobalManagementRules = fmt.Sprintf(aclPolicyGlobalRulesTemplate, "write") + EnterpriseACLPolicyGlobalManagement
|
2018-10-19 16:04:07 +00:00
|
|
|
|
Backport of [CC-5719] Add support for builtin global-read-only policy into release/1.16.x (#18345)
* [OSS] Post Consul 1.16 updates (#17606)
* chore: update dev build to 1.17
* chore(ci): add nightly 1.16 test
Drop the oldest and add the newest running release branch to nightly
builds.
* Add writeAuditRPCEvent to agent_oss (#17607)
* Add writeAuditRPCEvent to agent_oss
* fix the other diffs
* backport change log
* Add Envoy and Consul version constraints to Envoy extensions (#17612)
* [API Gateway] Fix trust domain for external peered services in synthesis code (#17609)
* [API Gateway] Fix trust domain for external peered services in synthesis code
* Add changelog
* backport ent changes to oss (#17614)
* backport ent changes to oss
* Update .changelog/_5669.txt
Co-authored-by: Michael Zalimeni <michael.zalimeni@hashicorp.com>
---------
Co-authored-by: Michael Zalimeni <michael.zalimeni@hashicorp.com>
* Update intentions.mdx (#17619)
Make behaviour of L7 intentions clearer
* enterprise changelog update for audit (#17625)
* Update list of Envoy versions (#17546)
* [API Gateway] Fix rate limiting for API gateways (#17631)
* [API Gateway] Fix rate limiting for API gateways
* Add changelog
* Fix failing unit tests
* Fix operator usage tests for api package
* sort some imports that are wonky between oss and ent (#17637)
* PmTLS and tproxy improvements with failover and L7 traffic mgmt for k8s (#17624)
* porting over changes from enterprise repo to oss
* applied feedback on service mesh for k8s overview
* fixed typo
* removed ent-only build script file
* Apply suggestions from code review
Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com>
* Apply suggestions from code review
Co-authored-by: David Yu <dyu@hashicorp.com>
Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com>
---------
Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com>
Co-authored-by: David Yu <dyu@hashicorp.com>
* Delete check-legacy-links-format.yml (#17647)
* docs: Reference doc updates for permissive mTLS settings (#17371)
* Reference doc updates for permissive mTLS settings
* Document config entry filtering
* Fix minor doc errors (double slashes in link url paths)
---------
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Add generic experiments configuration and use it to enable catalog v2 resources (#17604)
* Add generic experiments configuration and use it to enable catalog v2 resources
* Run formatting with -s as CI will validate that this has been done
* api-gateway: stop adding all header filters to virtual host when generating xDS (#17644)
* Add header filter to api-gateway xDS golden test
* Stop adding all header filters to virtual host when generating xDS for api-gateway
* Regenerate xDS golden file for api-gateway w/ header filter
* fix: add agent info reporting log (#17654)
* Add new Consul 1.16 docs (#17651)
* Merge pull request #5773 from hashicorp/docs/rate-limiting-from-ip-addresses-1.16
updated docs for rate limiting for IP addresses - 1.16
* Merge pull request #5609 from hashicorp/docs/enterprise-utilization-reporting
Add docs for enterprise utilization reporting
* Merge pull request #5734 from hashicorp/docs/envoy-ext-1.16
Docs/envoy ext 1.16
* Merge pull request #5773 from hashicorp/docs/rate-limiting-from-ip-addresses-1.16
updated docs for rate limiting for IP addresses - 1.16
* Merge pull request #5609 from hashicorp/docs/enterprise-utilization-reporting
Add docs for enterprise utilization reporting
* Merge pull request #5734 from hashicorp/docs/envoy-ext-1.16
Docs/envoy ext 1.16
* fix build errors
---------
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Default `ProxyType` for builtin extensions (#17657)
* Post 1.16.0-rc1 updates (#17663)
- Update changelog to include new entries from release
- Update submodule versions to latest published
* Update service-defaults.mdx (#17656)
* docs: Sameness Groups (#17628)
* port from enterprise branch
* Apply suggestions from code review
Co-authored-by: shanafarkas <105076572+shanafarkas@users.noreply.github.com>
* Update website/content/docs/connect/cluster-peering/usage/create-sameness-groups.mdx
* next steps
* Update website/content/docs/connect/cluster-peering/usage/create-sameness-groups.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Update website/content/docs/k8s/connect/cluster-peering/usage/create-sameness-groups.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
---------
Co-authored-by: shanafarkas <105076572+shanafarkas@users.noreply.github.com>
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Remove "BETA" marker from config entries (#17670)
* CAPIgw for K8s installation updates for 1.16 (#17627)
* trimmed CRD step and reqs from installation
* updated tech specs
* Apply suggestions from code review
Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com>
Co-authored-by: Jeff Apple <79924108+Jeff-Apple@users.noreply.github.com>
* added upgrade instruction
* removed tcp port req
* described downtime and DT-less upgrades
* applied additional review feedback
---------
Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com>
Co-authored-by: Jeff Apple <79924108+Jeff-Apple@users.noreply.github.com>
* additional feedback on API gateway upgrades (#17677)
* additional feedback
* Update website/content/docs/api-gateway/upgrades.mdx
Co-authored-by: Jeff Apple <79924108+Jeff-Apple@users.noreply.github.com>
---------
Co-authored-by: Jeff Apple <79924108+Jeff-Apple@users.noreply.github.com>
* docs: JWT Authorization for intentions (#17643)
* Initial page/nav creation
* configuration entry reference page
* Usage + fixes
* service intentions page
* usage
* description
* config entry updates
* formatting fixes
* Update website/content/docs/connect/config-entries/service-intentions.mdx
Co-authored-by: Paul Glass <pglass@hashicorp.com>
* service intentions review fixes
* Overview page review fixes
* Apply suggestions from code review
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
---------
Co-authored-by: Paul Glass <pglass@hashicorp.com>
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* docs: minor fixes to JWT auth docs (#17680)
* Fixes
* service intentions fixes
* Fix two WAL metrics in docs/agent/telemetry.mdx (#17593)
* updated failover for k8s w-tproxy page title (#17683)
* Add release notes 1.16 rc (#17665)
* Merge pull request #5773 from hashicorp/docs/rate-limiting-from-ip-addresses-1.16
updated docs for rate limiting for IP addresses - 1.16
* Merge pull request #5609 from hashicorp/docs/enterprise-utilization-reporting
Add docs for enterprise utilization reporting
* Merge pull request #5734 from hashicorp/docs/envoy-ext-1.16
Docs/envoy ext 1.16
* Add release notes for 1.16-rc
* Add consul-e license utlization reporting
* Update with rc absolute links
* Update with rc absolute links
* fix typo
* Apply suggestions from code review
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Update to use callout component
* address typo
* docs: FIPS 140-2 Compliance (#17668)
* Page + nav + formatting
* link fix
* Update website/content/docs/enterprise/fips.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Update website/content/docs/enterprise/fips.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Update website/content/docs/enterprise/fips.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Update website/content/docs/enterprise/fips.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Update website/content/docs/enterprise/fips.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Update website/content/docs/enterprise/fips.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Update website/content/docs/enterprise/fips.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Update website/content/docs/enterprise/fips.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Update website/content/docs/enterprise/fips.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Update website/content/docs/enterprise/fips.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* link fix
* Apply suggestions from code review
Co-authored-by: Jeff Apple <79924108+Jeff-Apple@users.noreply.github.com>
* Update website/content/docs/enterprise/fips.mdx
---------
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
Co-authored-by: Jeff Apple <79924108+Jeff-Apple@users.noreply.github.com>
* fix apigw install values file
* fix typos in release notes
---------
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com>
Co-authored-by: Jeff Apple <79924108+Jeff-Apple@users.noreply.github.com>
* fix release notes links (#17687)
* adding redirects for tproxy and envoy extensions (#17688)
* adding redirects
* Apply suggestions from code review
* Fix FIPS copy (#17691)
* fix release notes links
* fix typos on fips docs
* [NET-4107][Supportability] Log Level set to TRACE and duration set to 5m for consul-debug (#17596)
* changed duration to 5 mins and log level to trace
* documentation update
* change log
* ENT merge of ext-authz extension updates (#17684)
* docs: Update default values for Envoy extension proxy types (#17676)
* fix: stop peering delete routine on leader loss (#17483)
* Refactor disco chain prioritize by locality structs (#17696)
This includes prioritize by localities on disco chain targets rather than
resolvers, allowing different targets within the same partition to have
different policies.
* agent: remove agent cache dependency from service mesh leaf certificate management (#17075)
* agent: remove agent cache dependency from service mesh leaf certificate management
This extracts the leaf cert management from within the agent cache.
This code was produced by the following process:
1. All tests in agent/cache, agent/cache-types, agent/auto-config,
agent/consul/servercert were run at each stage.
- The tests in agent matching .*Leaf were run at each stage.
- The tests in agent/leafcert were run at each stage after they
existed.
2. The former leaf cert Fetch implementation was extracted into a new
package behind a "fake RPC" endpoint to make it look almost like all
other cache type internals.
3. The old cache type was shimmed to use the fake RPC endpoint and
generally cleaned up.
4. I selectively duplicated all of Get/Notify/NotifyCallback/Prepopulate
from the agent/cache.Cache implementation over into the new package.
This was renamed as leafcert.Manager.
- Code that was irrelevant to the leaf cert type was deleted
(inlining blocking=true, refresh=false)
5. Everything that used the leaf cert cache type (including proxycfg
stuff) was shifted to use the leafcert.Manager instead.
6. agent/cache-types tests were moved and gently replumbed to execute
as-is against a leafcert.Manager.
7. Inspired by some of the locking changes from derek's branch I split
the fat lock into N+1 locks.
8. The waiter chan struct{} was eventually replaced with a
singleflight.Group around cache updates, which was likely the biggest
net structural change.
9. The awkward two layers or logic produced as a byproduct of marrying
the agent cache management code with the leaf cert type code was
slowly coalesced and flattened to remove confusion.
10. The .*Leaf tests from the agent package were copied and made to work
directly against a leafcert.Manager to increase direct coverage.
I have done a best effort attempt to port the previous leaf-cert cache
type's tests over in spirit, as well as to take the e2e-ish tests in the
agent package with Leaf in the test name and copy those into the
agent/leafcert package to get more direct coverage, rather than coverage
tangled up in the agent logic.
There is no net-new test coverage, just coverage that was pushed around
from elsewhere.
* [core]: Pin github action workflows (#17695)
* docs: missing changelog for _5517 (#17706)
* add enterprise notes for IP-based rate limits (#17711)
* add enterprise notes for IP-based rate limits
* Apply suggestions from code review
Co-authored-by: Tu Nguyen <im2nguyen@users.noreply.github.com>
Co-authored-by: David Yu <dyu@hashicorp.com>
* added bolded 'Enterprise' in list items.
---------
Co-authored-by: Tu Nguyen <im2nguyen@users.noreply.github.com>
Co-authored-by: David Yu <dyu@hashicorp.com>
* Update compatibility.mdx (#17713)
* Remove extraneous version info for Config entries (#17716)
* Update terminating-gateway.mdx
* Update exported-services.mdx
* Update mesh.mdx
* fix: typo in link to section (#17527)
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Bump Alpine to 3.18 (#17719)
* Update Dockerfile
* Create 17719.txt
* NET-1825: New ACL token creation docs (#16465)
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
Co-authored-by: Jared Kirschner <85913323+jkirschner-hashicorp@users.noreply.github.com>
* [NET-3865] [Supportability] Additional Information in the output of 'consul operator raft list-peers' (#17582)
* init
* fix tests
* added -detailed in docs
* added change log
* fix doc
* checking for entry in map
* fix tests
* removed detailed flag
* removed detailed flag
* revert unwanted changes
* removed unwanted changes
* updated change log
* pr review comment changes
* pr comment changes single API instead of two
* fix change log
* fix tests
* fix tests
* fix test operator raft endpoint test
* Update .changelog/17582.txt
Co-authored-by: Semir Patel <semir.patel@hashicorp.com>
* nits
* updated docs
---------
Co-authored-by: Semir Patel <semir.patel@hashicorp.com>
* OSS merge: Update error handling login when applying extensions (#17740)
* Bump atlassian/gajira-transition from 3.0.0 to 3.0.1 (#17741)
Bumps [atlassian/gajira-transition](https://github.com/atlassian/gajira-transition) from 3.0.0 to 3.0.1.
- [Release notes](https://github.com/atlassian/gajira-transition/releases)
- [Commits](https://github.com/atlassian/gajira-transition/compare/4749176faf14633954d72af7a44d7f2af01cc92b...38fc9cd61b03d6a53dd35fcccda172fe04b36de3)
---
updated-dependencies:
- dependency-name: atlassian/gajira-transition
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Add truncation to body (#17723)
* docs: Failover overview minor fix (#17743)
* Incorrect symbol
* Clarification
* slight edit for clarity
* docs - update Envoy and Dataplane compat matrix (#17752)
* Update envoy.mdx
added more detail around default versus other compatible versions
* validate localities on agent configs and registration endpoints (#17712)
* Updated docs added explanation. (#17751)
* init
* fix tests
* added -detailed in docs
* added change log
* fix doc
* checking for entry in map
* fix tests
* removed detailed flag
* removed detailed flag
* revert unwanted changes
* removed unwanted changes
* updated change log
* pr review comment changes
* pr comment changes single API instead of two
* fix change log
* fix tests
* fix tests
* fix test operator raft endpoint test
* Update .changelog/17582.txt
Co-authored-by: Semir Patel <semir.patel@hashicorp.com>
* nits
* updated docs
* explanation added
---------
Co-authored-by: Semir Patel <semir.patel@hashicorp.com>
* Update index.mdx (#17749)
* added redirects and updated links (#17764)
* Add transparent proxy enhancements changelog (#17757)
* docs - remove use of consul leave during upgrade instructions (#17758)
* Fix issue with streaming service health watches. (#17775)
Fix issue with streaming service health watches.
This commit fixes an issue where the health streams were unaware of service
export changes. Whenever an exported-services config entry is modified, it is
effectively an ACL change.
The bug would be triggered by the following situation:
- no services are exported
- an upstream watch to service X is spawned
- the streaming backend filters out data for service X (due to lack of exports)
- service X is finally exported
In the situation above, the streaming backend does not trigger a refresh of its
data. This means that any events that were supposed to have been received prior
to the export are NOT backfilled, and the watches never see service X spawning.
We currently have decided to not trigger a stream refresh in this situation due
to the potential for a thundering herd effect (touching exports would cause a
re-fetch of all watches for that partition, potentially). Therefore, a local
blocking-query approach was added by this commit for agentless.
It's also worth noting that the streaming subscription is currently bypassed
most of the time with agentful, because proxycfg has a `req.Source.Node != ""`
which prevents the `streamingEnabled` check from passing. This means that while
agents should technically have this same issue, they don't experience it with
mesh health watches.
Note that this is a temporary fix that solves the issue for proxycfg, but not
service-discovery use cases.
* Property Override validation improvements (#17759)
* Reject inbound Prop Override patch with Services
Services filtering is only supported for outbound TrafficDirection patches.
* Improve Prop Override unexpected type validation
- Guard against additional invalid parent and target types
- Add specific error handling for Any fields (unsupported)
* Fixes (#17765)
* Update license get explanation (#17782)
This PR is to clarify what happens if the license get command is run on a follower if the leader hasn't been updated with a newer license.
* Add Patch index to Prop Override validation errors (#17777)
When a patch is found invalid, include its index for easier debugging
when multiple patches are provided.
* Stop referenced jwt providers from being deleted (#17755)
* Stop referenced jwt providers from being deleted
* Implement a Catalog Controllers Lifecycle Integration Test (#17435)
* Implement a Catalog Controllers Lifecycle Integration Test
* Prevent triggering the race detector.
This allows defining some variables for protobuf constants and using those in comparisons. Without that, something internal in the fmt package ended up looking at the protobuf message size cache and triggering the race detector.
* HCP Add node id/name to config (#17750)
* Catalog V2 Container Based Integration Test (#17674)
* Implement the Catalog V2 controller integration container tests
This now allows the container tests to import things from the root module. However for now we want to be very restrictive about which packages we allow importing.
* Add an upgrade test for the new catalog
Currently this should be dormant and not executed. However its put in place to detect breaking changes in the future and show an example of how to do an upgrade test with integration tests structured like catalog v2.
* Make testutil.Retry capable of performing cleanup operations
These cleanup operations are executed after each retry attempt.
* Move TestContext to taking an interface instead of a concrete testing.T
This allows this to be used on a retry.R or generally anything that meets the interface.
* Move to using TestContext instead of background contexts
Also this forces all test methods to implement the Cleanup method now instead of that being an optional interface.
Co-authored-by: Daniel Upton <daniel@floppy.co>
* Fix Docs for Trails Leader By (#17763)
* init
* fix tests
* added -detailed in docs
* added change log
* fix doc
* checking for entry in map
* fix tests
* removed detailed flag
* removed detailed flag
* revert unwanted changes
* removed unwanted changes
* updated change log
* pr review comment changes
* pr comment changes single API instead of two
* fix change log
* fix tests
* fix tests
* fix test operator raft endpoint test
* Update .changelog/17582.txt
Co-authored-by: Semir Patel <semir.patel@hashicorp.com>
* nits
* updated docs
* explanation added
* fix doc
* fix docs
---------
Co-authored-by: Semir Patel <semir.patel@hashicorp.com>
* Improve Prop Override docs examples (#17799)
- Provide more realistics examples for setting properties not already
supported natively by Consul
- Remove superfluous commas from HCL, correct target service name, and
fix service defaults vs. proxy defaults in examples
- Align existing integration test to updated docs
* Test permissive mTLS filter chain not configured with tproxy disabled (#17747)
* Add documentation for remote debugging of integration tests. (#17800)
* Add documentation for remote debugging of integration tests.
* add link from main docs page.
* changes related to PR feedback
* Clarify limitations of Prop Override extension (#17801)
Explicitly document the limitations of the extension, particularly what
kind of fields it is capable of modifying.
* Fix formatting for webhook-certs Consul tutorial (#17810)
* Fix formatting for webhook-certs Consul tutorial
* Make a small grammar change to also pick up whitespace changes necessary for formatting
---------
Co-authored-by: David Yu <dyu@hashicorp.com>
* Add jwt-authn metrics to jwt-provider docs (#17816)
* [NET-3095] add jwt-authn metrics docs
* Change URLs for redirects from RC to default latest (#17822)
* Set GOPRIVATE for all hashicorp repos in CI (#17817)
Consistently set GOPRIVATE to include all hashicorp repos, s.t. private
modules are successfully pulled in enterprise CI.
* Make locality aware routing xDS changes (#17826)
* Fixup consul-container/test/debugging.md (#17815)
Add missing `-t` flag and fix minor typo.
* fixes #17732 - AccessorID in request body should be optional when updating ACL token (#17739)
* AccessorID in request body should be optional when updating ACL token
* add a test case
* fix test case
* add changelog entry for PR #17739
* CA provider doc updates and Vault provider minor update (#17831)
Update CA provider docs
Clarify that providers can differ between
primary and secondary datacenters
Provide a comparison chart for consul vs
vault CA providers
Loosen Vault CA provider validation for RootPKIPath
Update Vault CA provider documentation
* ext-authz Envoy extension: support `localhost` as a valid target URI. (#17821)
* CI Updates (#17834)
* Ensure that git access to private repos uses the ELEVATED_GITHUB_TOKEN
* Bump the runner size for the protobuf generation check
This has failed previously when the runner process that communicates with GitHub gets starved causing the job to fail.
* counter part of ent pr (#17618)
* watch: support -filter for consul watch: checks, services, nodes, service (#17780)
* watch: support -filter for watch checks
* Add filter for watch nodes, services, and service
- unit test added
- Add changelog
- update doc
* Trigger OSS => ENT merge for all release branches (#17853)
Previously, this only triggered for release/*.*.x branches; however, our release process involves cutting a release/1.16.0 branch, for example, at time of code freeze these days. Any PRs to that branch after code freeze today do not make their way to consul-enterprise. This will make behavior for a .0 branch consistent with current behavior for a .x branch.
* Update service-mesh.mdx (#17845)
Deleted two commas which looks quite like some leftovers.
* Add docs for sameness groups with resolvers. (#17851)
* docs: add note about path prefix matching behavior for HTTPRoute config (#17860)
* Add note about path prefix matching behavior for HTTPRoute config
* Update website/content/docs/connect/gateways/api-gateway/configuration/http-route.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
---------
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* docs: update upgrade to consul-dataplane docs on k8s (#17852)
* resource: add `AuthorizerContext` helper method (#17393)
* resource: enforce consistent naming of resource types (#17611)
For consistency, resource type names must follow these rules:
- `Group` must be snake case, and in most cases a single word.
- `GroupVersion` must be lowercase, start with a "v" and end with a number.
- `Kind` must be pascal case.
These were chosen because they map to our protobuf type naming
conventions.
* tooling: generate protoset file (#17364)
Extends the `proto` make target to generate a protoset file for use with
grpcurl etc.
* Fix a bug that wrongly trims domains when there is an overlap with DC name (#17160)
* Fix a bug that wrongly trims domains when there is an overlap with DC name
Before this change, when DC name and domain/alt-domain overlap, the domain name incorrectly trimmed from the query.
Example:
Given: datacenter = dc-test, alt-domain = test.consul.
Querying for "test-node.node.dc-test.consul" will faile, because the
code was trimming "test.consul" instead of just ".consul"
This change, fixes the issue by adding dot (.) before trimming
* trimDomain: ensure domain trimmed without modyfing original domains
* update changelog
---------
Co-authored-by: Dhia Ayachi <dhia@hashicorp.com>
* deps: aws-sdk-go v1.44.289 (#17876)
Signed-off-by: Dan Bond <danbond@protonmail.com>
* api-gateway: add operation cannot be fulfilled error to common errors (#17874)
* add error message
* Update website/content/docs/api-gateway/usage/errors.mdx
Co-authored-by: Nathan Coleman <nathan.coleman@hashicorp.com>
* fix formating issues
---------
Co-authored-by: Nathan Coleman <nathan.coleman@hashicorp.com>
* api-gateway: add step to upgrade instructions for creating intentions (#17875)
* Changelog - add 1.13.9, 1.14.8, and 1.15.4 (#17889)
* docs: update config enable_debug (#17866)
* update doc for config enable_debug
* Update website/content/docs/agent/config/config-files.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
---------
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Update wording on WAN fed and intermediate_pki_path (#17850)
* Allow service identity tokens the ability to read jwt-providers (#17893)
* Allow service identity tokens the ability to read jwt-providers
* more tests
* service_prefix tests
* Update docs (#17476)
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Add emit_tags_as_labels to envoy bootstrap config when using Consul Telemetry Collector (#17888)
* Fix command from kg to kubectl get (#17903)
* Create and update release notes for 1.16 and 1.2 (#17895)
* update release notes for 1.16 and 1.2
* update latest consul core release
* Propose new changes to APIgw upgrade instructions (#17693)
* Propose new changes to APIgw upgrade instructions
* fix build error
* update callouts to render correctly
* Add hideClipboard to log messages
* Added clarification around consul k8s and crds
* Add workflow to verify linux release packages (#17904)
* adding docker files to verify linux packages.
* add verifr-release-linux.yml
* updating name
* pass inputs directly into jobs
* add other linux package platforms
* remove on push
* fix TARGETARCH on debian and ubuntu so it can check arm64 and amd64
* fixing amazon to use the continue line
* add ubuntu i386
* fix comment lines
* working
* remove commented out workflow jobs
* Apply suggestions from code review
Co-authored-by: Nathan Coleman <nathan.coleman@hashicorp.com>
* update fedora and ubuntu to use latest tag
---------
Co-authored-by: Nathan Coleman <nathan.coleman@hashicorp.com>
* Reference hashicorp/consul instead of consul for Docker image (#17914)
* Reference hashicorp/consul instead of consul for Docker image
* Update Make targets that pull consul directly
* Update Consul K8s Upgrade Doc Updates (#17921)
Updating upgrade procedures to encompass expected errors during upgrade process from v1.13.x to v1.14.x.
* Update sameness-group.mdx (#17915)
* Update create-sameness-groups.mdx (#17927)
* deps: coredns v1.10.1 (#17912)
* Ensure RSA keys are at least 2048 bits in length (#17911)
* Ensure RSA keys are at least 2048 bits in length
* Add changelog
* update key length check for FIPS compliance
* Fix no new variables error and failing to return when error exists from
validating
* clean up code for better readability
* actually return value
* tlsutil: Fix check TLS configuration (#17481)
* tlsutil: Fix check TLS configuration
* Rewording docs.
* Update website/content/docs/services/configuration/checks-configuration-reference.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Fix typos and add changelog entry.
---------
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* docs: Deprecations for connect-native SDK and specific connect native APIs (#17937)
* Update v1_16_x.mdx
* Update connect native golang page
---------
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Revert "Add workflow to verify linux release packages (#17904)" (#17942)
This reverts commit 3368f14fab500ebe9f6aeab5631dd1d5f5a453e5.
* Fixes Secondary ConnectCA update (#17846)
This fixes a bug that was identified which resulted in subsequent
ConnectCA configuration update not to persist in the cluster.
* fixing typo in link to jwt-validations-with-intentions doc (#17955)
* Fix streaming backend link (#17958)
* Fix streaming backend link
* Update health.mdx
* Dynamically create jwks clusters for jwt-providers (#17944)
* website: remove deprecated agent rpc docs (#17962)
* Fix missing BalanceOutboundConnections in v2 catalog. (#17964)
* feature - [NET - 4005] - [Supportability] Reloadable Configuration - enable_debug (#17565)
* # This is a combination of 9 commits.
# This is the 1st commit message:
init without tests
# This is the commit message #2:
change log
# This is the commit message #3:
fix tests
# This is the commit message #4:
fix tests
# This is the commit message #5:
added tests
# This is the commit message #6:
change log breaking change
# This is the commit message #7:
removed breaking change
# This is the commit message #8:
fix test
# This is the commit message #9:
keeping the test behaviour same
* # This is a combination of 12 commits.
# This is the 1st commit message:
init without tests
# This is the commit message #2:
change log
# This is the commit message #3:
fix tests
# This is the commit message #4:
fix tests
# This is the commit message #5:
added tests
# This is the commit message #6:
change log breaking change
# This is the commit message #7:
removed breaking change
# This is the commit message #8:
fix test
# This is the commit message #9:
keeping the test behaviour same
# This is the commit message #10:
made enable debug atomic bool
# This is the commit message #11:
fix lint
# This is the commit message #12:
fix test true enable debug
* parent 10f500e895d92cc3691ade7b74a33db755d22039
author absolutelightning <ashesh.vidyut@hashicorp.com> 1687352587 +0530
committer absolutelightning <ashesh.vidyut@hashicorp.com> 1687352592 +0530
init without tests
change log
fix tests
fix tests
added tests
change log breaking change
removed breaking change
fix test
keeping the test behaviour same
made enable debug atomic bool
fix lint
fix test true enable debug
using enable debug in agent as atomic bool
test fixes
fix tests
fix tests
added update on correct locaiton
fix tests
fix reloadable config enable debug
fix tests
fix init and acl 403
* revert commit
* Fix formatting codeblocks on APIgw docs (#17970)
* fix formatting codeblocks
* remove unnecessary indents
* Remove POC code (#17974)
* update doc (#17910)
* update doc
* update link
* Remove duplicate and unused newDecodeConfigEntry func (#17979)
* docs: samenessGroup YAML examples (#17984)
* configuration entry syntax
* Example config
* Add changelog entry for 1.16.0 (#17987)
* Fix typo (#17198)
servcies => services
* Expose JWKS cluster config through JWTProviderConfigEntry (#17978)
* Expose JWKS cluster config through JWTProviderConfigEntry
* fix typos, rename trustedCa to trustedCA
* Integration test for ext-authz Envoy extension (#17980)
* Fix incorrect protocol for transparent proxy upstreams. (#17894)
This PR fixes a bug that was introduced in:
https://github.com/hashicorp/consul/pull/16021
A user setting a protocol in proxy-defaults would cause tproxy implicit
upstreams to not honor the upstream service's protocol set in its
`ServiceDefaults.Protocol` field, and would instead always use the
proxy-defaults value.
Due to the fact that upstreams configured with "tcp" can successfully contact
upstream "http" services, this issue was not recognized until recently (a
proxy-defaults with "tcp" and a listening service with "http" would make
successful requests, but not the opposite).
As a temporary work-around, users experiencing this issue can explicitly set
the protocol on the `ServiceDefaults.UpstreamConfig.Overrides`, which should
take precedence.
The fix in this PR removes the proxy-defaults protocol from the wildcard
upstream that tproxy uses to configure implicit upstreams. When the protocol
was included, it would always overwrite the value during discovery chain
compilation, which was not correct. The discovery chain compiler also consumes
proxy defaults to determine the protocol, so simply excluding it from the
wildcard upstream config map resolves the issue.
* feat: include nodes count in operator usage endpoint and cli command (#17939)
* feat: update operator usage api endpoint to include nodes count
* feat: update operator usange cli command to includes nodes count
* [OSS] Improve Gateway Test Coverage of Catalog Health (#18011)
* fix(cli): remove failing check from 'connect envoy' registration for api gateway
* test(integration): add tests to check catalog statsus of gateways on startup
* remove extra sleep comment
* Update test/integration/consul-container/libs/assert/service.go
* changelog
* Fixes Traffic rate limitting docs (#17997)
* Fix removed service-to-service peering links (#17221)
* docs: fix removed service-to-service peering links
* docs: extend peering-via-mesh-gateways intro (thanks @trujillo-adam)
---------
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* docs: Sameness "beta" warning (#18017)
* Warning updates
* .x
* updated typo in tab heading (#18022)
* updated typo in tab heading
* updated tab group typo, too
* Document that DNS lookups can target cluster peers (#17990)
Static DNS lookups, in addition to explicitly targeting a datacenter,
can target a cluster peer. This was added in 95dc0c7b301b70a6b955a8b7c9737c9b86f03df6 but didn't make the documentation.
The driving function for the change is `parseLocality` here: https://github.com/hashicorp/consul/blob/0b1299c28d8127129d61310ee4280055298438e0/agent/dns_oss.go#L25
The biggest change in this is to adjust the standard lookup syntax to tie
`.<datacenter>` to `.dc` as required-together, and to append in the similar `.<cluster-peer>.peer` optional argument, both to A record and SRV record lookups.
Co-authored-by: David Yu <dyu@hashicorp.com>
* Add first integration test for jwt auth with intention (#18005)
* fix stand-in text for name field (#18030)
* removed sameness conf entry from failover nav (#18033)
* docs - add service sync annotations and k8s service weight annotation (#18032)
* Docs for https://github.com/hashicorp/consul-k8s/pull/2293
* remove versions for enterprise features since they are old
---------
Co-authored-by: Tu Nguyen <im2nguyen@users.noreply.github.com>
* docs - add jobs use case for service mesh k8s (#18037)
* docs - add jobs use case for service mesh k8s
* add code blocks
* address feedback (#18045)
* Add verify server hostname to tls default (#17155)
* [OSS] Fix initial_fetch_timeout to wait for all xDS resources (#18024)
* fix(connect): set initial_fetch_time to wait indefinitely
* changelog
* PR feedback 1
* ui: fix typos for peer service imports (#17999)
* test: fix FIPS inline cert test message (#18076)
* Fix a couple typos in Agent Telemetry Metrics docs (#18080)
* Fix metrics docs
* Add changelog
Signed-off-by: josh <josh.timmons@hashicorp.com>
---------
Signed-off-by: josh <josh.timmons@hashicorp.com>
* docs updates - cluster peering and virtual services (#18069)
* Update route-to-virtual-services.mdx
* Update establish-peering.mdx
* Update service-mesh-compare.mdx (#17279)
grammar change
* Update helm docs on main (#18085)
* ci: use gotestsum v1.10.1 [NET-4042] (#18088)
* Docs: Update proxy lifecycle annotations and consul-dataplane flags (#18075)
* Update proxy lifecycle annotations and consul-dataplane flags
* Pass configured role name to Vault for AWS auth in Connect CA (#17885)
* Docs for dataplane upgrade on k8s (#18051)
* Docs for dataplane upgrade on k8s
---------
Co-authored-by: David Yu <dyu@hashicorp.com>
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* docs - update upgrade index page to not recommend consul leave. (#18100)
* Displays Consul version of each nodes in UI nodes section (#17754)
* update UINodes and UINodeInfo response with consul-version info added as NodeMeta, fetched from serf members
* update test cases TestUINodes, TestUINodeInfo
* added nil check for map
* add consul-version in local agent node metadata
* get consul version from serf member and add this as node meta in catalog register request
* updated ui mock response to include consul versions as node meta
* updated ui trans and added version as query param to node list route
* updates in ui templates to display consul version with filter and sorts
* updates in ui - model class, serializers,comparators,predicates for consul version feature
* added change log for Consul Version Feature
* updated to get version from consul service, if for some reason not available from serf
* updated changelog text
* updated dependent testcases
* multiselection version filter
* Update agent/consul/state/catalog.go
comments updated
Co-authored-by: Jared Kirschner <85913323+jkirschner-hashicorp@users.noreply.github.com>
---------
Co-authored-by: Jared Kirschner <85913323+jkirschner-hashicorp@users.noreply.github.com>
* api gw 1.16 updates (#18081)
* api gw 1.16 updates
* Apply suggestions from code review
Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com>
* update CodeBlockConfig filename
* Apply suggestions from code review
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com>
* remove non-standard intentions page
* Update website/content/docs/api-gateway/configuration/index.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
---------
Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com>
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* [NET-4103] ci: build s390x (#18067)
* ci: build s390x
* ci: test s390x
* ci: dev build s390x
* no GOOS
* ent only
* build: publish s390x
* fix syntax error
* fix syntax error again
* fix syntax error again x2
* test branch
* Move s390x conditionals to step level
* remove test branch
---------
Co-authored-by: emilymianeil <eneil@hashicorp.com>
* :ermahgerd "Sevice Mesh" -> "Service Mesh" (#18116)
Just a typo in the docs.
* Split pbmesh.UpstreamsConfiguration as a resource out of pbmesh.Upstreams (#17991)
Configuration that previously was inlined into the Upstreams resource
applies to both explicit and implicit upstreams and so it makes sense to
split it out into its own resource.
It also has other minor changes:
- Renames `proxy.proto` proxy_configuration.proto`
- Changes the type of `Upstream.destination_ref` from `pbresource.ID` to
`pbresource.Reference`
- Adds comments to fields that didn't have them
* [NET-4895] ci - api tests and consul container tests error because of dependency bugs with go 1.20.6. Pin go to 1.20.5. (#18124)
### Description
The following jobs started failing when go 1.20.6 was released:
- `go-test-api-1-19`
- `go-test-api-1-20`
- `compatibility-integration-tests`
- `upgrade-integration-tests`
`compatibility-integration-tests` and `compatibility-integration-tests`
to this testcontainers issue:
https://github.com/testcontainers/testcontainers-go/issues/1359. This
issue calls for testcontainers to release a new version when one of
their dependencies is fixed. When that is done, we will unpin the go
versions in `compatibility-integration-tests` and
`compatibility-integration-tests`.
### Testing & Reproduction steps
See these jobs broken in CI and then see them work with this PR.
---------
Co-authored-by: Chris Thain <32781396+cthain@users.noreply.github.com>
* Add ingress gateway deprecation notices to docs (#18102)
### Description
This adds notices, that ingress gateway is deprecated, to several places
in the product docs where ingress gateway is the topic.
### Testing & Reproduction steps
Tested with a local copy of the website.
### Links
Deprecation of ingress gateway was announced in the Release Notes for
Consul 1.16 and Consul-K8s 1.2. See:
[https://developer.hashicorp.com/consul/docs/release-notes/consul/v1_16_x#what-s-deprecated](https://developer.hashicorp.com/consul/docs/release-notes/consul/v1_16_x#what-s-deprecated
)
[https://developer.hashicorp.com/consul/docs/release-notes/consul-k8s/v1_2_x#what-s-deprecated](https://developer.hashicorp.com/consul/docs/release-notes/consul-k8s/v1_2_x#what-s-deprecated)
### PR Checklist
* [N/A] updated test coverage
* [X] external facing docs updated
* [X] appropriate backport labels added
* [X] not a security concern
---------
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Add docs for jwt cluster configuration (#18004)
### Description
<!-- Please describe why you're making this change, in plain English.
-->
- Add jwt-provider docs for jwks cluster configuration. The
configuration was added here:
https://github.com/hashicorp/consul/pull/17978
* Docs: fix unmatched bracket for health checks page (#18134)
* NET-4657/add resource service client (#18053)
### Description
<!-- Please describe why you're making this change, in plain English.
-->
Dan had already started on this
[task](https://github.com/hashicorp/consul/pull/17849) which is needed
to start building the HTTP APIs. This just needed some cleanup to get it
ready for review.
Overview:
- Rename `internalResourceServiceClient` to
`insecureResourceServiceClient` for name consistency
- Configure a `secureResourceServiceClient` with auth enabled
### PR Checklist
* [ ] ~updated test coverage~
* [ ] ~external facing docs updated~
* [x] appropriate backport labels added
* [ ] ~not a security concern~
* Fix bug with Vault CA provider (#18112)
Updating RootPKIPath but not IntermediatePKIPath would not update
leaf signing certs with the new root. Unsure if this happens in practice
but manual testing showed it is a bug that would break mesh and agent
connections once the old root is pruned.
* [NET-4897] net/http host header is now verified and request.host that contains socked now error (#18129)
### Description
This is related to https://github.com/hashicorp/consul/pull/18124 where
we pinned the go versions in CI to 1.20.5 and 1.19.10.
go 1.20.6 and 1.19.11 now validate request host headers for validity,
including the hostname cannot be prefixed with slashes.
For local communications (npipe://, unix://), the hostname is not used,
but we need valid and meaningful hostname. Prior versions go Go would
clean the host header, and strip slashes in the process, but go1.20.6
and go1.19.11 no longer do, and reject the host header. Around the
community we are seeing that others are intercepting the req.host and if
it starts with a slash or ends with .sock, they changing the host to
localhost or another dummy value.
[client: define a "dummy" hostname to use for local connections by
thaJeztah · Pull Request #45942 ·
moby/moby](https://github.com/moby/moby/pull/45942)
### Testing & Reproduction steps
Check CI tests.
### Links
* [ ] updated test coverage
* [ ] external facing docs updated
* [ ] appropriate backport labels added
* [ ] not a security concern
* add a conditional around setting LANFilter.AllSegments to make sure it is valid (#18139)
### Description
This is to correct a code problem because this assumes all segments, but
when you get to Enterprise, you can be in partition that is not the
default partition, in which case specifying all segments does not
validate and fails. This is to correct the setting of this filter with
`AllSegments` to `true` to only occur when in the the `default`
partition.
### Testing & Reproduction steps
<!--
* In the case of bugs, describe how to replicate
* If any manual tests were done, document the steps and the conditions
to replicate
* Call out any important/ relevant unit tests, e2e tests or integration
tests you have added or are adding
-->
### Links
<!--
Include any links here that might be helpful for people reviewing your
PR (Tickets, GH issues, API docs, external benchmarks, tools docs, etc).
If there are none, feel free to delete this section.
Please be mindful not to leak any customer or confidential information.
HashiCorp employees may want to use our internal URL shortener to
obfuscate links.
-->
### PR Checklist
* [ ] updated test coverage
* [ ] external facing docs updated
* [ ] appropriate backport labels added
* [ ] not a security concern
* chore: bump upgrade integrations tests to 1.15, 116 [NET-4743] (#18130)
* re org resource type registry (#18133)
* fix: update delegateMock used in ENT (#18149)
### Description
<!-- Please describe why you're making this change, in plain English.
-->
The mock is used in `http_ent_test` file which caused lint failures. For
OSS->ENT parity adding the same change here.
### Links
<!--
Include any links here that might be helpful for people reviewing your
PR (Tickets, GH issues, API docs, external benchmarks, tools docs, etc).
If there are none, feel free to delete this section.
Please be mindful not to leak any customer or confidential information.
HashiCorp employees may want to use our internal URL shortener to
obfuscate links.
-->
Identified in OSS->ENT [merge
PR](https://github.com/hashicorp/consul-enterprise/pull/6328)
### PR Checklist
* [ ] ~updated test coverage~
* [ ] ~external facing docs updated~
* [x] appropriate backport labels added
* [ ] ~not a security concern~
* Use JWT-auth filter in metadata mode & Delegate validation to RBAC filter (#18062)
### Description
<!-- Please describe why you're making this change, in plain English.
-->
- Currently the jwt-auth filter doesn't take into account the service
identity when validating jwt-auth, it only takes into account the path
and jwt provider during validation. This causes issues when multiple
source intentions restrict access to an endpoint with different JWT
providers.
- To fix these issues, rather than use the JWT auth filter for
validation, we use it in metadata mode and allow it to forward the
successful validated JWT token payload to the RBAC filter which will
make the decisions.
This PR ensures requests with and without JWT tokens successfully go
through the jwt-authn filter. The filter however only forwards the data
for successful/valid tokens. On the RBAC filter level, we check the
payload for claims and token issuer + existing rbac rules.
### Testing & Reproduction steps
<!--
* In the case of bugs, describe how to replicate
* If any manual tests were done, document the steps and the conditions
to replicate
* Call out any important/ relevant unit tests, e2e tests or integration
tests you have added or are adding
-->
- This test covers a multi level jwt requirements (requirements at top
level and permissions level). It also assumes you have envoy running,
you have a redis and a sidecar proxy service registered, and have a way
to generate jwks with jwt. I mostly use:
https://www.scottbrady91.com/tools/jwt for this.
- first write your proxy defaults
```
Kind = "proxy-defaults"
name = "global"
config {
protocol = "http"
}
```
- Create two providers
```
Kind = "jwt-provider"
Name = "auth0"
Issuer = "https://ronald.local"
JSONWebKeySet = {
Local = {
JWKS = "eyJrZXlzIjog....."
}
}
```
```
Kind = "jwt-provider"
Name = "okta"
Issuer = "https://ronald.local"
JSONWebKeySet = {
Local = {
JWKS = "eyJrZXlzIjogW3...."
}
}
```
- add a service intention
```
Kind = "service-intentions"
Name = "redis"
JWT = {
Providers = [
{
Name = "okta"
},
]
}
Sources = [
{
Name = "*"
Permissions = [{
Action = "allow"
HTTP = {
PathPrefix = "/workspace"
}
JWT = {
Providers = [
{
Name = "okta"
VerifyClaims = [
{
Path = ["aud"]
Value = "my_client_app"
},
{
Path = ["sub"]
Value = "5be86359073c434bad2da3932222dabe"
}
]
},
]
}
},
{
Action = "allow"
HTTP = {
PathPrefix = "/"
}
JWT = {
Providers = [
{
Name = "auth0"
},
]
}
}]
}
]
```
- generate 3 jwt tokens: 1 from auth0 jwks, 1 from okta jwks with
different claims than `/workspace` expects and 1 with correct claims
- connect to your envoy (change service and address as needed) to view
logs and potential errors. You can add: `-- --log-level debug` to see
what data is being forwarded
```
consul connect envoy -sidecar-for redis1 -grpc-addr 127.0.0.1:8502
```
- Make the following requests:
```
curl -s -H "Authorization: Bearer $Auth0_TOKEN" --insecure --cert leaf.cert --key leaf.key --cacert connect-ca.pem https://localhost:20000/workspace -v
RBAC filter denied
curl -s -H "Authorization: Bearer $Okta_TOKEN_with_wrong_claims" --insecure --cert leaf.cert --key leaf.key --cacert connect-ca.pem https://localhost:20000/workspace -v
RBAC filter denied
curl -s -H "Authorization: Bearer $Okta_TOKEN_with_correct_claims" --insecure --cert leaf.cert --key leaf.key --cacert connect-ca.pem https://localhost:20000/workspace -v
Successful request
```
### TODO
* [x] Update test coverage
* [ ] update integration tests (follow-up PR)
* [x] appropriate backport labels added
* Support Consul Connect Envoy Command on Windows (#17694)
### Description
Add support for consul connect envoy command on windows. This PR fixes
the comments of PR - https://github.com/hashicorp/consul/pull/15114
### Testing
* Built consul.exe from this branch on windows and hosted here - [AWS
S3](https://asheshvidyut-bucket.s3.ap-southeast-2.amazonaws.com/consul.zip)
* Updated the
[tutorial](https://developer.hashicorp.com/consul/tutorials/developer-mesh/consul-windows-workloads)
and changed the `consul_url.default` value to [AWS
S3](https://asheshvidyut-bucket.s3.ap-southeast-2.amazonaws.com/consul.zip)
* Followed the steps in the tutorial and verified that everything is
working as described.
### PR Checklist
* [x] updated test coverage
* [ ] external facing docs updated
* [x] appropriate backport labels added
* [x] not a security concern
---------
Co-authored-by: Franco Bruno Lavayen <cocolavayen@gmail.com>
Co-authored-by: Jose Ignacio Lorenzo <74208929+joselo85@users.noreply.github.com>
Co-authored-by: Jose Ignacio Lorenzo <joseignaciolorenzo85@gmail.com>
Co-authored-by: Dhia Ayachi <dhia@hashicorp.com>
* Change docs to say 168h instead of 7d for server_rejoin_age_max (#18154)
### Description
Addresses
https://github.com/hashicorp/consul/pull/17171#issuecomment-1636930705
* [OSS] test: improve xDS listener code coverage (#18138)
test: improve xDS listener code coverage
* Re-order expected/actual for assertContainerState in consul container tests (#18157)
Re-order expected/actual, consul container tests
* group and document make file (#17943)
* group and document make file
* Add `testing/deployer` (neé `consul-topology`) [NET-4610] (#17823)
Co-authored-by: R.B. Boyer <4903+rboyer@users.noreply.github.com>
Co-authored-by: R.B. Boyer <rb@hashicorp.com>
Co-authored-by: Freddy <freddygv@users.noreply.github.com>
* [NET-4792] Add integrations tests for jwt-auth (#18169)
* Add FIPS reference to consul enterprise docs (#18028)
* Add FIPS reference to consul enterprise docs
* Update website/content/docs/enterprise/index.mdx
Co-authored-by: David Yu <dyu@hashicorp.com>
* remove support for ecs client (fips)
---------
Co-authored-by: David Yu <dyu@hashicorp.com>
* add peering_commontopo tests [NET-3700] (#17951)
Co-authored-by: R.B. Boyer <4903+rboyer@users.noreply.github.com>
Co-authored-by: R.B. Boyer <rb@hashicorp.com>
Co-authored-by: Freddy <freddygv@users.noreply.github.com>
Co-authored-by: NiniOak <anita.akaeze@hashicorp.com>
* docs - remove Sentinel from enterprise features list (#18176)
* Update index.mdx
* Update kv.mdx
* Update docs-nav-data.json
* delete sentinel.mdx
* Update redirects.js
---------
Co-authored-by: Tu Nguyen <im2nguyen@users.noreply.github.com>
* [NET-4865] Bump golang.org/x/net to 0.12.0 (#18186)
Bump golang.org/x/net to 0.12.0
While not necessary to directly address CVE-2023-29406 (which should be
handled by using a patched version of Go when building), an
accompanying change to HTTP/2 error handling does impact agent code.
See https://go-review.googlesource.com/c/net/+/506995 for the HTTP/2
change.
Bump this dependency across our submodules as well for the sake of
potential indirect consumers of `x/net/http`.
* Call resource mutate hook before validate hook (NET-4907) (#18178)
* [NET-4865] security: Update Go version to 1.20.6 (#18190)
Update Go version to 1.20.6
This resolves [CVE-2023-29406]
(https://nvd.nist.gov/vuln/detail/CVE-2023-29406) for uses of the
`net/http` standard library.
Note that until the follow-up to #18124 is done, the version of Go used
in those impacted tests will need to remain on 1.20.5.
* Improve XDS test coverage: JWT auth edition (#18183)
* Improve XDS test coverage: JWT auth edition
more tests
* test: xds coverage for jwt listeners
---------
Co-authored-by: DanStough <dan.stough@hashicorp.com>
* update readme.md (#18191)
u[date readme.md
* Update submodules to latest following 1.16.0 (#18197)
Align all our internal use of submodules on the latest versions.
* SEC-090: Automated trusted workflow pinning (2023-07-18) (#18174)
Result of tsccr-helper -log-level=info -pin-all-workflows .
Co-authored-by: hashicorp-tsccr[bot] <hashicorp-tsccr[bot]@users.noreply.github.com>
* Fix Backport Assistant PR commenting (#18200)
* Fix Backport Assistant failure PR commenting
For general comments on a PR, it looks like you have to use the `/issue`
endpoint rather than `/pulls`, which requires commit/other
review-specific target details.
This matches the endpoint used in `backport-reminder.yml`.
* Remove Backport Reminder workflow
This is noisy (even when adding multiple labels, individual comments per
label are generated), and likely no longer needed: we haven't had this
work in a long time due to an expired GH token, and we now have better
automation for backport PR assignment.
* resource: Pass resource to Write ACL hook instead of just resource Id [NET-4908] (#18192)
* Explicitly enable WebSocket upgrades (#18150)
This PR explicitly enables WebSocket upgrades in Envoy's UpgradeConfig for all
proxy types. (API Gateway, Ingress, and Sidecar.)
Fixes #8283
* docs: fix the description of client rpc (#18206)
* NET-4804: Add dashboard for monitoring consul-k8s (#18208)
* [OSS] Improve xDS Code Coverage - Clusters (#18165)
test: improve xDS cluster code coverage
* NET-4222 take config file consul container (#18218)
Net 4222 take config file consul container
* Envoy Integration Test Windows (#18007)
* [CONSUL-395] Update check_hostport and Usage (#40)
* [CONSUL-397] Copy envoy binary from Image (#41)
* [CONSUL-382] Support openssl in unique test dockerfile (#43)
* [CONSUL-405] Add bats to single container (#44)
* [CONSUL-414] Run Prometheus Test Cases and Validate Changes (#46)
* [CONSUL-410] Run Jaeger in Single container (#45)
* [CONSUL-412] Run test-sds-server in single container (#48)
* [CONSUL-408] Clean containers (#47)
* [CONSUL-384] Rebase and sync fork (#50)
* [CONSUL-415] Create Scenarios Troubleshooting Docs (#49)
* [CONSUL-417] Update Docs Single Container (#51)
* [CONSUL-428] Add Socat to single container (#54)
* [CONSUL-424] Replace pkill in kill_envoy function (#52)
* [CONSUL-434] Modify Docker run functions in Helper script (#53)
* [CONSUL-435] Replace docker run in set_ttl_check_state & wait_for_agent_service_register functions (#55)
* [CONSUL-438] Add netcat (nc) in the Single container Dockerfile (#56)
* [CONSUL-429] Replace Docker run with Docker exec (#57)
* [CONSUL-436] Curl timeout and run tests (#58)
* [CONSUL-443] Create dogstatsd Function (#59)
* [CONSUL-431] Update Docs Netcat (#60)
* [CONSUL-439] Parse nc Command in function (#61)
* [CONSUL-463] Review curl Exec and get_ca_root Func (#63)
* [CONSUL-453] Docker hostname in Helper functions (#64)
* [CONSUL-461] Test wipe volumes without extra cont (#66)
* [CONSUL-454] Check ports in the Server and Agent containers (#65)
* [CONSUL-441] Update windows dockerfile with version (#62)
* [CONSUL-466] Review case-grpc Failing Test (#67)
* [CONSUL-494] Review case-cfg-resolver-svc-failover (#68)
* [CONSUL-496] Replace docker_wget & docker_curl (#69)
* [CONSUL-499] Cleanup Scripts - Remove nanoserver (#70)
* [CONSUL-500] Update Troubleshooting Docs (#72)
* [CONSUL-502] Pull & Tag Envoy Windows Image (#73)
* [CONSUL-504] Replace docker run in docker_consul (#76)
* [CONSUL-505] Change admin_bind
* [CONSUL-399] Update envoy to 1.23.1 (#78)
* [CONSUL-510] Support case-wanfed-gw on Windows (#79)
* [CONSUL-506] Update troubleshooting Documentation (#80)
* [CONSUL-512] Review debug_dump_volumes Function (#81)
* [CONSUL-514] Add zipkin to Docker Image (#82)
* [CONSUL-515] Update Documentation (#83)
* [CONSUL-529] Support case-consul-exec (#86)
* [CONSUL-530] Update Documentation (#87)
* [CONSUL-530] Update default consul version 1.13.3
* [CONSUL-539] Cleanup (#91)
* [CONSUL-546] Scripts Clean-up (#92)
* [CONSUL-491] Support admin_access_log_path value for Windows (#71)
* [CONSUL-519] Implement mkfifo Alternative (#84)
* [CONSUL-542] Create OS Specific Files for Envoy Package (#88)
* [CONSUL-543] Create exec_supported.go (#89)
* [CONSUL-544] Test and Build Changes (#90)
* Implement os.DevNull
* using mmap instead of disk files
* fix import in exec-unix
* fix nmap open too many arguemtn
* go fmt on file
* changelog file
* fix go mod
* Update .changelog/17694.txt
Co-authored-by: Dhia Ayachi <dhia@hashicorp.com>
* different mmap library
* fix bootstrap json
* some fixes
* chocolatey version fix and image fix
* using different library
* fix Map funciton call
* fix mmap call
* fix tcp dump
* fix tcp dump
* windows tcp dump
* Fix docker run
* fix tests
* fix go mod
* fix version 16.0
* fix version
* fix version dev
* sleep to debug
* fix sleep
* fix permission issue
* fix permission issue
* fix permission issue
* fix command
* fix command
* fix funciton
* fix assert config entry status command not found
* fix command not found assert_cert_has_cn
* fix command not found assert_upstream_missing
* fix command not found assert_upstream_missing_once
* fix command not found get_upstream_endpoint
* fix command not found get_envoy_public_listener_once
* fix command not found
* fix test cases
* windows integration test workflow github
* made code similar to unix using npipe
* fix go.mod
* fix dialing of npipe
* dont wait
* check size of written json
* fix undefined n
* running
* fix dep
* fix syntax error
* fix workflow file
* windows runner
* fix runner
* fix from json
* fix runs on
* merge connect envoy
* fix cin path
* build
* fix file name
* fix file name
* fix dev build
* remove unwanted code
* fix upload
* fix bin name
* fix path
* checkout current branch
* fix path
* fix tests
* fix shell bash for windows sh files
* fix permission of run-test.sh
* removed docker dev
* added shell bash for tests
* fix tag
* fix win=true
* fix cd
* added dev
* fix variable undefined
* removed failing tests
* fix tcp dump image
* fix curl
* fix curl
* tcp dump path
* fix tcpdump path
* fix curl
* fix curl install
* stop removing intermediate containers
* fix tcpdump docker image
* revert -rm
* --rm=false
* makeing docker image before
* fix tcpdump
* removed case consul exec
* removed terminating gateway simple
* comment case wasm
* removed data dog
* comment out upload coverage
* uncomment case-consul-exec
* comment case consul exec
* if always
* logs
* using consul 1.17.0
* fix quotes
* revert quotes
* redirect to dev null
* Revert version
* revert consul connect
* fix version
* removed envoy connect
* not using function
* change log
* docker logs
* fix logs
* restructure bad authz
* rmeoved dev null
* output
* fix file descriptor
* fix cacert
* fix cacert
* fix ca cert
* cacert does not work in windows curl
* fix func
* removed docker logs
* added sleep
* fix tls
* commented case-consul-exec
* removed echo
* retry docker consul
* fix upload bin
* uncomment consul exec
* copying consul.exe to docker image
* copy fix
* fix paths
* fix path
* github workspace path
* latest version
* Revert "latest version"
This reverts commit 5a7d7b82d9e7553bcb01b02557ec8969f9deba1d.
* commented consul exec
* added ssl revoke best effort
* revert best effort
* removed unused files
* rename var name and change dir
* windows runner
* permission
* needs setup fix
* swtich to github runner
* fix file path
* fix path
* fix path
* fix path
* fix path
* fix path
* fix build paths
* fix tag
* nightly runs
* added matrix in github workflow, renamed files
* fix job
* fix matrix
* removed brackes
* from json
* without using job matrix
* fix quotes
* revert job matrix
* fix workflow
* fix comment
* added comment
* nightly runs
* removed datadog ci as it is already measured in linux one
* running test
* Revert "running test"
This reverts commit 7013d15a23732179d18ec5d17336e16b26fab5d4.
* pr comment fixes
* running test now
* running subset of test
* running subset of test
* job matrix
* shell bash
* removed bash shell
* linux machine for job matrix
* fix output
* added cat to debug
* using ubuntu latest
* fix job matrix
* fix win true
* fix go test
* revert job matrix
---------
Co-authored-by: Jose Ignacio Lorenzo <74208929+joselo85@users.noreply.github.com>
Co-authored-by: Franco Bruno Lavayen <cocolavayen@gmail.com>
Co-authored-by: Ivan K Berlot <ivanberlot@gmail.com>
Co-authored-by: Ezequiel Fernández Ponce <20102608+ezfepo@users.noreply.github.com>
Co-authored-by: joselo85 <joseignaciolorenzo85@gmail.com>
Co-authored-by: Ezequiel Fernández Ponce <ezequiel.fernandez@southworks.com>
Co-authored-by: Dhia Ayachi <dhia@hashicorp.com>
* fix typos and update ecs compat table (#18215)
* fix typos and update ecs compat table
* real info for the ecs compat matrix table
* Update website/content/docs/ecs/compatibility.mdx
Co-authored-by: Chris Thain <32781396+cthain@users.noreply.github.com>
---------
Co-authored-by: Chris Thain <32781396+cthain@users.noreply.github.com>
* [OSS] proxystate: add proxystate protos (#18216)
* proxystate: add proxystate protos to pbmesh and resolve imports and conflicts between message names
* ci: don't verify s390x (#18224)
* [CC-5718] Remove HCP token requirement during bootstrap (#18140)
* [CC-5718] Remove HCP token requirement during bootstrap
* Re-add error for loading HCP management token
* Remove old comment
* Add changelog entry
* Remove extra validation line
* Apply suggestions from code review
Co-authored-by: lornasong <lornasong@users.noreply.github.com>
---------
Co-authored-by: lornasong <lornasong@users.noreply.github.com>
* [NET-4122] Doc guidance for federation with externalServers (#18207)
Doc guidance for federation with externalServers
Add guidance for proper configuration when joining to a secondary
cluster using WAN fed with external servers also enabled.
Also clarify federation requirements and fix formatting for an
unrelated value.
Update both the Helm chart reference (synced from `consul-k8s`, see
hashicorp/consul-k8s#2583) and the docs on using `externalServers`.
* [OSS] Improve xDS Code Coverage - Endpoints and Misc (#18222)
test: improve xDS endpoints code coverage
* Clarify license reporting timing and GDPR compliance (#18237)
Add Alicia's edits to clarify log timing and other details
* Fix Github Workflow File (#18241)
* [CONSUL-382] Support openssl in unique test dockerfile (#43)
* [CONSUL-405] Add bats to single container (#44)
* [CONSUL-414] Run Prometheus Test Cases and Validate Changes (#46)
* [CONSUL-410] Run Jaeger in Single container (#45)
* [CONSUL-412] Run test-sds-server in single container (#48)
* [CONSUL-408] Clean containers (#47)
* [CONSUL-384] Rebase and sync fork (#50)
* [CONSUL-415] Create Scenarios Troubleshooting Docs (#49)
* [CONSUL-417] Update Docs Single Container (#51)
* [CONSUL-428] Add Socat to single container (#54)
* [CONSUL-424] Replace pkill in kill_envoy function (#52)
* [CONSUL-434] Modify Docker run functions in Helper script (#53)
* [CONSUL-435] Replace docker run in set_ttl_check_state & wait_for_agent_service_register functions (#55)
* [CONSUL-438] Add netcat (nc) in the Single container Dockerfile (#56)
* [CONSUL-429] Replace Docker run with Docker exec (#57)
* [CONSUL-436] Curl timeout and run tests (#58)
* [CONSUL-443] Create dogstatsd Function (#59)
* [CONSUL-431] Update Docs Netcat (#60)
* [CONSUL-439] Parse nc Command in function (#61)
* [CONSUL-463] Review curl Exec and get_ca_root Func (#63)
* [CONSUL-453] Docker hostname in Helper functions (#64)
* [CONSUL-461] Test wipe volumes without extra cont (#66)
* [CONSUL-454] Check ports in the Server and Agent containers (#65)
* [CONSUL-441] Update windows dockerfile with version (#62)
* [CONSUL-466] Review case-grpc Failing Test (#67)
* [CONSUL-494] Review case-cfg-resolver-svc-failover (#68)
* [CONSUL-496] Replace docker_wget & docker_curl (#69)
* [CONSUL-499] Cleanup Scripts - Remove nanoserver (#70)
* [CONSUL-500] Update Troubleshooting Docs (#72)
* [CONSUL-502] Pull & Tag Envoy Windows Image (#73)
* [CONSUL-504] Replace docker run in docker_consul (#76)
* [CONSUL-505] Change admin_bind
* [CONSUL-399] Update envoy to 1.23.1 (#78)
* [CONSUL-510] Support case-wanfed-gw on Windows (#79)
* [CONSUL-506] Update troubleshooting Documentation (#80)
* [CONSUL-512] Review debug_dump_volumes Function (#81)
* [CONSUL-514] Add zipkin to Docker Image (#82)
* [CONSUL-515] Update Documentation (#83)
* [CONSUL-529] Support case-consul-exec (#86)
* [CONSUL-530] Update Documentation (#87)
* [CONSUL-530] Update default consul version 1.13.3
* [CONSUL-539] Cleanup (#91)
* [CONSUL-546] Scripts Clean-up (#92)
* [CONSUL-491] Support admin_access_log_path value for Windows (#71)
* [CONSUL-519] Implement mkfifo Alternative (#84)
* [CONSUL-542] Create OS Specific Files for Envoy Package (#88)
* [CONSUL-543] Create exec_supported.go (#89)
* [CONSUL-544] Test and Build Changes (#90)
* Implement os.DevNull
* using mmap instead of disk files
* fix import in exec-unix
* fix nmap open too many arguemtn
* go fmt on file
* changelog file
* fix go mod
* Update .changelog/17694.txt
Co-authored-by: Dhia Ayachi <dhia@hashicorp.com>
* different mmap library
* fix bootstrap json
* some fixes
* chocolatey version fix and image fix
* using different library
* fix Map funciton call
* fix mmap call
* fix tcp dump
* fix tcp dump
* windows tcp dump
* Fix docker run
* fix tests
* fix go mod
* fix version 16.0
* fix version
* fix version dev
* sleep to debug
* fix sleep
* fix permission issue
* fix permission issue
* fix permission issue
* fix command
* fix command
* fix funciton
* fix assert config entry status command not found
* fix command not found assert_cert_has_cn
* fix command not found assert_upstream_missing
* fix command not found assert_upstream_missing_once
* fix command not found get_upstream_endpoint
* fix command not found get_envoy_public_listener_once
* fix command not found
* fix test cases
* windows integration test workflow github
* made code similar to unix using npipe
* fix go.mod
* fix dialing of npipe
* dont wait
* check size of written json
* fix undefined n
* running
* fix dep
* fix syntax error
* fix workflow file
* windows runner
* fix runner
* fix from json
* fix runs on
* merge connect envoy
* fix cin path
* build
* fix file name
* fix file name
* fix dev build
* remove unwanted code
* fix upload
* fix bin name
* fix path
* checkout current branch
* fix path
* fix tests
* fix shell bash for windows sh files
* fix permission of run-test.sh
* removed docker dev
* added shell bash for tests
* fix tag
* fix win=true
* fix cd
* added dev
* fix variable undefined
* removed failing tests
* fix tcp dump image
* fix curl
* fix curl
* tcp dump path
* fix tcpdump path
* fix curl
* fix curl install
* stop removing intermediate containers
* fix tcpdump docker image
* revert -rm
* --rm=false
* makeing docker image before
* fix tcpdump
* removed case consul exec
* removed terminating gateway simple
* comment case wasm
* removed data dog
* comment out upload coverage
* uncomment case-consul-exec
* comment case consul exec
* if always
* logs
* using consul 1.17.0
* fix quotes
* revert quotes
* redirect to dev null
* Revert version
* revert consul connect
* fix version
* removed envoy connect
* not using function
* change log
* docker logs
* fix logs
* restructure bad authz
* rmeoved dev null
* output
* fix file descriptor
* fix cacert
* fix cacert
* fix ca cert
* cacert does not work in windows curl
* fix func
* removed docker logs
* added sleep
* fix tls
* commented case-consul-exec
* removed echo
* retry docker consul
* fix upload bin
* uncomment consul exec
* copying consul.exe to docker image
* copy fix
* fix paths
* fix path
* github workspace path
* latest version
* Revert "latest version"
This reverts commit 5a7d7b82d9e7553bcb01b02557ec8969f9deba1d.
* commented consul exec
* added ssl revoke best effort
* revert best effort
* removed unused files
* rename var name and change dir
* windows runner
* permission
* needs setup fix
* swtich to github runner
* fix file path
* fix path
* fix path
* fix path
* fix path
* fix path
* fix build paths
* fix tag
* nightly runs
* added matrix in github workflow, renamed files
* fix job
* fix matrix
* removed brackes
* from json
* without using job matrix
* fix quotes
* revert job matrix
* fix workflow
* fix comment
* added comment
* nightly runs
* removed datadog ci as it is already measured in linux one
* running test
* Revert "running test"
This reverts commit 7013d15a23732179d18ec5d17336e16b26fab5d4.
* pr comment fixes
* running test now
* running subset of test
* running subset of test
* job matrix
* shell bash
* removed bash shell
* linux machine for job matrix
* fix output
* added cat to debug
* using ubuntu latest
* fix job matrix
* fix win true
* fix go test
* revert job matrix
* Fix tests
---------
Co-authored-by: Ivan K Berlot <ivanberlot@gmail.com>
Co-authored-by: Jose Ignacio Lorenzo <74208929+joselo85@users.noreply.github.com>
Co-authored-by: Franco Bruno Lavayen <cocolavayen@gmail.com>
Co-authored-by: Ezequiel Fernández Ponce <20102608+ezfepo@users.noreply.github.com>
Co-authored-by: joselo85 <joseignaciolorenzo85@gmail.com>
Co-authored-by: Ezequiel Fernández Ponce <ezequiel.fernandez@southworks.com>
Co-authored-by: Dhia Ayachi <dhia@hashicorp.com>
* NET-4996 - filter go-tests and test-integration workflows from running on docs only and ui only changes (#18236)
* Align build arch matrix with enterprise (#18235)
Ensure that OSS remains in sync w/ Enterprise by aligning the format of
arch matrix args for various build jobs.
* Revert "NET-4996 - filter go-tests and test-integration workflows from running on docs only and ui only changes" (#18248)
Revert "NET-4996 - filter go-tests and test-integration workflows from running on docs only and ui only changes (#18236)"
This reverts commit a11dba710e6ce6f172c0fa6c9b61567cc1efffc8.
* resource: Add scope to resource type registration [NET-4976] (#18214)
Enables querying a resource type's registration to determine if a resource is cluster, partition, or partition and namespace scoped.
* Fix some inconsistencies in jwt docs (#18234)
* NET-1825: More new ACL token creation docs (#18063)
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* [CC-5719] Add support for builtin global-read-only policy
* Add changelog
* Add read-only to docs
* Fix some minor issues.
* Change from ReplaceAll to Sprintf
* Change IsValidPolicy name to return an error instead of bool
* Fix PolicyList test
* Fix other tests
* Apply suggestions from code review
Co-authored-by: Paul Glass <pglass@hashicorp.com>
* Fix state store test for policy list.
* Fix naming issues
* Update acl/validation.go
Co-authored-by: Chris Thain <32781396+cthain@users.noreply.github.com>
* backport of commit d63fa5481dc02c6faae7cc2647b4073b3286af1d
* backport of commit 3d099a6ed8ed10b6dc464c466cb1668914db8f08
---------
Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: Dan Bond <danbond@protonmail.com>
Signed-off-by: josh <josh.timmons@hashicorp.com>
Co-authored-by: Michael Zalimeni <michael.zalimeni@hashicorp.com>
Co-authored-by: Ronald <roncodingenthusiast@users.noreply.github.com>
Co-authored-by: Eric Haberkorn <erichaberkorn@gmail.com>
Co-authored-by: Andrew Stucki <andrew.stucki@hashicorp.com>
Co-authored-by: Luke Kysow <1034429+lkysow@users.noreply.github.com>
Co-authored-by: R.B. Boyer <4903+rboyer@users.noreply.github.com>
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com>
Co-authored-by: David Yu <dyu@hashicorp.com>
Co-authored-by: Bryce Kalow <bkalow@hashicorp.com>
Co-authored-by: Paul Glass <pglass@hashicorp.com>
Co-authored-by: Matt Keeler <mkeeler@users.noreply.github.com>
Co-authored-by: Nathan Coleman <nathan.coleman@hashicorp.com>
Co-authored-by: Poonam Jadhav <poonam.jadhav@hashicorp.com>
Co-authored-by: Tu Nguyen <im2nguyen@users.noreply.github.com>
Co-authored-by: Chris Thain <32781396+cthain@users.noreply.github.com>
Co-authored-by: Hariram Sankaran <56744845+ramramhariram@users.noreply.github.com>
Co-authored-by: shanafarkas <105076572+shanafarkas@users.noreply.github.com>
Co-authored-by: Thomas Eckert <teckert@hashicorp.com>
Co-authored-by: Jeff Apple <79924108+Jeff-Apple@users.noreply.github.com>
Co-authored-by: Joshua Timmons <josh.timmons@hashicorp.com>
Co-authored-by: Ashesh Vidyut <134911583+absolutelightning@users.noreply.github.com>
Co-authored-by: Dan Stough <dan.stough@hashicorp.com>
Co-authored-by: Curt Bushko <cbushko@gmail.com>
Co-authored-by: Tobias Birkefeld <t@craxs.de>
Co-authored-by: Jared Kirschner <85913323+jkirschner-hashicorp@users.noreply.github.com>
Co-authored-by: Semir Patel <semir.patel@hashicorp.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: chappie <6537530+chapmanc@users.noreply.github.com>
Co-authored-by: Derek Menteer <105233703+hashi-derek@users.noreply.github.com>
Co-authored-by: John Murret <john.murret@hashicorp.com>
Co-authored-by: Mark Campbell-Vincent <mnmvincent@gmail.com>
Co-authored-by: Daniel Upton <daniel@floppy.co>
Co-authored-by: Steven Zamborsky <97125550+stevenzamborsky@users.noreply.github.com>
Co-authored-by: George Bolo <george.bolo@gmail.com>
Co-authored-by: Chris S. Kim <ckim@hashicorp.com>
Co-authored-by: wangxinyi7 <121973291+wangxinyi7@users.noreply.github.com>
Co-authored-by: cskh <hui.kang@hashicorp.com>
Co-authored-by: V. K <cn007b@gmail.com>
Co-authored-by: Iryna Shustava <ishustava@users.noreply.github.com>
Co-authored-by: Alex Simenduev <shamil.si@gmail.com>
Co-authored-by: Dhia Ayachi <dhia@hashicorp.com>
Co-authored-by: Dan Bond <danbond@protonmail.com>
Co-authored-by: sarahalsmiller <100602640+sarahalsmiller@users.noreply.github.com>
Co-authored-by: Gerard Nguyen <gerard@hashicorp.com>
Co-authored-by: mr-miles <miles.waller@gmail.com>
Co-authored-by: natemollica-dev <57850649+natemollica-nm@users.noreply.github.com>
Co-authored-by: John Maguire <john.maguire@hashicorp.com>
Co-authored-by: Samantha <hello@entropy.cat>
Co-authored-by: Ranjandas <thejranjan@gmail.com>
Co-authored-by: Evan Phoenix <evan@phx.io>
Co-authored-by: Michael Hofer <karras@users.noreply.github.com>
Co-authored-by: J.C. Jones <james.jc.jones@gmail.com>
Co-authored-by: Fulvio <fulviodenza823@gmail.com>
Co-authored-by: Krastin Krastev <krastin@hashicorp.com>
Co-authored-by: david3a <49253132+david3a@users.noreply.github.com>
Co-authored-by: Nick Irvine <115657443+nfi-hashicorp@users.noreply.github.com>
Co-authored-by: Tom Davies <tom@t-davies.com>
Co-authored-by: Vijay <vijayraghav22@gmail.com>
Co-authored-by: Eddie Rowe <74205376+eddie-rowe@users.noreply.github.com>
Co-authored-by: emilymianeil <eneil@hashicorp.com>
Co-authored-by: nv-hashi <80716011+nv-hashi@users.noreply.github.com>
Co-authored-by: Franco Bruno Lavayen <cocolavayen@gmail.com>
Co-authored-by: Jose Ignacio Lorenzo <74208929+joselo85@users.noreply.github.com>
Co-authored-by: Jose Ignacio Lorenzo <joseignaciolorenzo85@gmail.com>
Co-authored-by: R.B. Boyer <rb@hashicorp.com>
Co-authored-by: Freddy <freddygv@users.noreply.github.com>
Co-authored-by: NiniOak <anita.akaeze@hashicorp.com>
Co-authored-by: hashicorp-tsccr[bot] <129506189+hashicorp-tsccr[bot]@users.noreply.github.com>
Co-authored-by: hashicorp-tsccr[bot] <hashicorp-tsccr[bot]@users.noreply.github.com>
Co-authored-by: Blake Covarrubias <blake@covarrubi.as>
Co-authored-by: Ivan K Berlot <ivanberlot@gmail.com>
Co-authored-by: Ezequiel Fernández Ponce <20102608+ezfepo@users.noreply.github.com>
Co-authored-by: Ezequiel Fernández Ponce <ezequiel.fernandez@southworks.com>
Co-authored-by: Nitya Dhanushkodi <nitya@hashicorp.com>
Co-authored-by: Jeremy Jacobson <jjacobson93@users.noreply.github.com>
Co-authored-by: lornasong <lornasong@users.noreply.github.com>
Co-authored-by: Judith Malnick <judith@hashicorp.com>
Co-authored-by: Jeremy Jacobson <jeremy.jacobson@hashicorp.com>
2023-08-01 17:37:13 +00:00
|
|
|
ACLBuiltinPolicies = map[string]ACLPolicy{
|
|
|
|
ACLPolicyGlobalManagementID: {
|
|
|
|
ID: ACLPolicyGlobalManagementID,
|
|
|
|
Name: ACLPolicyGlobalManagementName,
|
|
|
|
Description: ACLPolicyGlobalManagementDesc,
|
|
|
|
Rules: ACLPolicyGlobalManagementRules,
|
|
|
|
},
|
|
|
|
ACLPolicyGlobalReadOnlyID: {
|
|
|
|
ID: ACLPolicyGlobalReadOnlyID,
|
|
|
|
Name: ACLPolicyGlobalReadOnlyName,
|
|
|
|
Description: ACLPolicyGlobalReadOnlyDesc,
|
|
|
|
Rules: ACLPolicyGlobalReadOnlyRules,
|
|
|
|
},
|
|
|
|
}
|
2018-10-19 16:04:07 +00:00
|
|
|
)
|
|
|
|
|
|
|
|
func ACLIDReserved(id string) bool {
|
Backport of [CC-5719] Add support for builtin global-read-only policy into release/1.16.x (#18345)
* [OSS] Post Consul 1.16 updates (#17606)
* chore: update dev build to 1.17
* chore(ci): add nightly 1.16 test
Drop the oldest and add the newest running release branch to nightly
builds.
* Add writeAuditRPCEvent to agent_oss (#17607)
* Add writeAuditRPCEvent to agent_oss
* fix the other diffs
* backport change log
* Add Envoy and Consul version constraints to Envoy extensions (#17612)
* [API Gateway] Fix trust domain for external peered services in synthesis code (#17609)
* [API Gateway] Fix trust domain for external peered services in synthesis code
* Add changelog
* backport ent changes to oss (#17614)
* backport ent changes to oss
* Update .changelog/_5669.txt
Co-authored-by: Michael Zalimeni <michael.zalimeni@hashicorp.com>
---------
Co-authored-by: Michael Zalimeni <michael.zalimeni@hashicorp.com>
* Update intentions.mdx (#17619)
Make behaviour of L7 intentions clearer
* enterprise changelog update for audit (#17625)
* Update list of Envoy versions (#17546)
* [API Gateway] Fix rate limiting for API gateways (#17631)
* [API Gateway] Fix rate limiting for API gateways
* Add changelog
* Fix failing unit tests
* Fix operator usage tests for api package
* sort some imports that are wonky between oss and ent (#17637)
* PmTLS and tproxy improvements with failover and L7 traffic mgmt for k8s (#17624)
* porting over changes from enterprise repo to oss
* applied feedback on service mesh for k8s overview
* fixed typo
* removed ent-only build script file
* Apply suggestions from code review
Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com>
* Apply suggestions from code review
Co-authored-by: David Yu <dyu@hashicorp.com>
Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com>
---------
Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com>
Co-authored-by: David Yu <dyu@hashicorp.com>
* Delete check-legacy-links-format.yml (#17647)
* docs: Reference doc updates for permissive mTLS settings (#17371)
* Reference doc updates for permissive mTLS settings
* Document config entry filtering
* Fix minor doc errors (double slashes in link url paths)
---------
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Add generic experiments configuration and use it to enable catalog v2 resources (#17604)
* Add generic experiments configuration and use it to enable catalog v2 resources
* Run formatting with -s as CI will validate that this has been done
* api-gateway: stop adding all header filters to virtual host when generating xDS (#17644)
* Add header filter to api-gateway xDS golden test
* Stop adding all header filters to virtual host when generating xDS for api-gateway
* Regenerate xDS golden file for api-gateway w/ header filter
* fix: add agent info reporting log (#17654)
* Add new Consul 1.16 docs (#17651)
* Merge pull request #5773 from hashicorp/docs/rate-limiting-from-ip-addresses-1.16
updated docs for rate limiting for IP addresses - 1.16
* Merge pull request #5609 from hashicorp/docs/enterprise-utilization-reporting
Add docs for enterprise utilization reporting
* Merge pull request #5734 from hashicorp/docs/envoy-ext-1.16
Docs/envoy ext 1.16
* Merge pull request #5773 from hashicorp/docs/rate-limiting-from-ip-addresses-1.16
updated docs for rate limiting for IP addresses - 1.16
* Merge pull request #5609 from hashicorp/docs/enterprise-utilization-reporting
Add docs for enterprise utilization reporting
* Merge pull request #5734 from hashicorp/docs/envoy-ext-1.16
Docs/envoy ext 1.16
* fix build errors
---------
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Default `ProxyType` for builtin extensions (#17657)
* Post 1.16.0-rc1 updates (#17663)
- Update changelog to include new entries from release
- Update submodule versions to latest published
* Update service-defaults.mdx (#17656)
* docs: Sameness Groups (#17628)
* port from enterprise branch
* Apply suggestions from code review
Co-authored-by: shanafarkas <105076572+shanafarkas@users.noreply.github.com>
* Update website/content/docs/connect/cluster-peering/usage/create-sameness-groups.mdx
* next steps
* Update website/content/docs/connect/cluster-peering/usage/create-sameness-groups.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Update website/content/docs/k8s/connect/cluster-peering/usage/create-sameness-groups.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
---------
Co-authored-by: shanafarkas <105076572+shanafarkas@users.noreply.github.com>
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Remove "BETA" marker from config entries (#17670)
* CAPIgw for K8s installation updates for 1.16 (#17627)
* trimmed CRD step and reqs from installation
* updated tech specs
* Apply suggestions from code review
Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com>
Co-authored-by: Jeff Apple <79924108+Jeff-Apple@users.noreply.github.com>
* added upgrade instruction
* removed tcp port req
* described downtime and DT-less upgrades
* applied additional review feedback
---------
Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com>
Co-authored-by: Jeff Apple <79924108+Jeff-Apple@users.noreply.github.com>
* additional feedback on API gateway upgrades (#17677)
* additional feedback
* Update website/content/docs/api-gateway/upgrades.mdx
Co-authored-by: Jeff Apple <79924108+Jeff-Apple@users.noreply.github.com>
---------
Co-authored-by: Jeff Apple <79924108+Jeff-Apple@users.noreply.github.com>
* docs: JWT Authorization for intentions (#17643)
* Initial page/nav creation
* configuration entry reference page
* Usage + fixes
* service intentions page
* usage
* description
* config entry updates
* formatting fixes
* Update website/content/docs/connect/config-entries/service-intentions.mdx
Co-authored-by: Paul Glass <pglass@hashicorp.com>
* service intentions review fixes
* Overview page review fixes
* Apply suggestions from code review
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
---------
Co-authored-by: Paul Glass <pglass@hashicorp.com>
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* docs: minor fixes to JWT auth docs (#17680)
* Fixes
* service intentions fixes
* Fix two WAL metrics in docs/agent/telemetry.mdx (#17593)
* updated failover for k8s w-tproxy page title (#17683)
* Add release notes 1.16 rc (#17665)
* Merge pull request #5773 from hashicorp/docs/rate-limiting-from-ip-addresses-1.16
updated docs for rate limiting for IP addresses - 1.16
* Merge pull request #5609 from hashicorp/docs/enterprise-utilization-reporting
Add docs for enterprise utilization reporting
* Merge pull request #5734 from hashicorp/docs/envoy-ext-1.16
Docs/envoy ext 1.16
* Add release notes for 1.16-rc
* Add consul-e license utlization reporting
* Update with rc absolute links
* Update with rc absolute links
* fix typo
* Apply suggestions from code review
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Update to use callout component
* address typo
* docs: FIPS 140-2 Compliance (#17668)
* Page + nav + formatting
* link fix
* Update website/content/docs/enterprise/fips.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Update website/content/docs/enterprise/fips.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Update website/content/docs/enterprise/fips.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Update website/content/docs/enterprise/fips.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Update website/content/docs/enterprise/fips.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Update website/content/docs/enterprise/fips.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Update website/content/docs/enterprise/fips.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Update website/content/docs/enterprise/fips.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Update website/content/docs/enterprise/fips.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Update website/content/docs/enterprise/fips.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* link fix
* Apply suggestions from code review
Co-authored-by: Jeff Apple <79924108+Jeff-Apple@users.noreply.github.com>
* Update website/content/docs/enterprise/fips.mdx
---------
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
Co-authored-by: Jeff Apple <79924108+Jeff-Apple@users.noreply.github.com>
* fix apigw install values file
* fix typos in release notes
---------
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com>
Co-authored-by: Jeff Apple <79924108+Jeff-Apple@users.noreply.github.com>
* fix release notes links (#17687)
* adding redirects for tproxy and envoy extensions (#17688)
* adding redirects
* Apply suggestions from code review
* Fix FIPS copy (#17691)
* fix release notes links
* fix typos on fips docs
* [NET-4107][Supportability] Log Level set to TRACE and duration set to 5m for consul-debug (#17596)
* changed duration to 5 mins and log level to trace
* documentation update
* change log
* ENT merge of ext-authz extension updates (#17684)
* docs: Update default values for Envoy extension proxy types (#17676)
* fix: stop peering delete routine on leader loss (#17483)
* Refactor disco chain prioritize by locality structs (#17696)
This includes prioritize by localities on disco chain targets rather than
resolvers, allowing different targets within the same partition to have
different policies.
* agent: remove agent cache dependency from service mesh leaf certificate management (#17075)
* agent: remove agent cache dependency from service mesh leaf certificate management
This extracts the leaf cert management from within the agent cache.
This code was produced by the following process:
1. All tests in agent/cache, agent/cache-types, agent/auto-config,
agent/consul/servercert were run at each stage.
- The tests in agent matching .*Leaf were run at each stage.
- The tests in agent/leafcert were run at each stage after they
existed.
2. The former leaf cert Fetch implementation was extracted into a new
package behind a "fake RPC" endpoint to make it look almost like all
other cache type internals.
3. The old cache type was shimmed to use the fake RPC endpoint and
generally cleaned up.
4. I selectively duplicated all of Get/Notify/NotifyCallback/Prepopulate
from the agent/cache.Cache implementation over into the new package.
This was renamed as leafcert.Manager.
- Code that was irrelevant to the leaf cert type was deleted
(inlining blocking=true, refresh=false)
5. Everything that used the leaf cert cache type (including proxycfg
stuff) was shifted to use the leafcert.Manager instead.
6. agent/cache-types tests were moved and gently replumbed to execute
as-is against a leafcert.Manager.
7. Inspired by some of the locking changes from derek's branch I split
the fat lock into N+1 locks.
8. The waiter chan struct{} was eventually replaced with a
singleflight.Group around cache updates, which was likely the biggest
net structural change.
9. The awkward two layers or logic produced as a byproduct of marrying
the agent cache management code with the leaf cert type code was
slowly coalesced and flattened to remove confusion.
10. The .*Leaf tests from the agent package were copied and made to work
directly against a leafcert.Manager to increase direct coverage.
I have done a best effort attempt to port the previous leaf-cert cache
type's tests over in spirit, as well as to take the e2e-ish tests in the
agent package with Leaf in the test name and copy those into the
agent/leafcert package to get more direct coverage, rather than coverage
tangled up in the agent logic.
There is no net-new test coverage, just coverage that was pushed around
from elsewhere.
* [core]: Pin github action workflows (#17695)
* docs: missing changelog for _5517 (#17706)
* add enterprise notes for IP-based rate limits (#17711)
* add enterprise notes for IP-based rate limits
* Apply suggestions from code review
Co-authored-by: Tu Nguyen <im2nguyen@users.noreply.github.com>
Co-authored-by: David Yu <dyu@hashicorp.com>
* added bolded 'Enterprise' in list items.
---------
Co-authored-by: Tu Nguyen <im2nguyen@users.noreply.github.com>
Co-authored-by: David Yu <dyu@hashicorp.com>
* Update compatibility.mdx (#17713)
* Remove extraneous version info for Config entries (#17716)
* Update terminating-gateway.mdx
* Update exported-services.mdx
* Update mesh.mdx
* fix: typo in link to section (#17527)
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Bump Alpine to 3.18 (#17719)
* Update Dockerfile
* Create 17719.txt
* NET-1825: New ACL token creation docs (#16465)
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
Co-authored-by: Jared Kirschner <85913323+jkirschner-hashicorp@users.noreply.github.com>
* [NET-3865] [Supportability] Additional Information in the output of 'consul operator raft list-peers' (#17582)
* init
* fix tests
* added -detailed in docs
* added change log
* fix doc
* checking for entry in map
* fix tests
* removed detailed flag
* removed detailed flag
* revert unwanted changes
* removed unwanted changes
* updated change log
* pr review comment changes
* pr comment changes single API instead of two
* fix change log
* fix tests
* fix tests
* fix test operator raft endpoint test
* Update .changelog/17582.txt
Co-authored-by: Semir Patel <semir.patel@hashicorp.com>
* nits
* updated docs
---------
Co-authored-by: Semir Patel <semir.patel@hashicorp.com>
* OSS merge: Update error handling login when applying extensions (#17740)
* Bump atlassian/gajira-transition from 3.0.0 to 3.0.1 (#17741)
Bumps [atlassian/gajira-transition](https://github.com/atlassian/gajira-transition) from 3.0.0 to 3.0.1.
- [Release notes](https://github.com/atlassian/gajira-transition/releases)
- [Commits](https://github.com/atlassian/gajira-transition/compare/4749176faf14633954d72af7a44d7f2af01cc92b...38fc9cd61b03d6a53dd35fcccda172fe04b36de3)
---
updated-dependencies:
- dependency-name: atlassian/gajira-transition
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Add truncation to body (#17723)
* docs: Failover overview minor fix (#17743)
* Incorrect symbol
* Clarification
* slight edit for clarity
* docs - update Envoy and Dataplane compat matrix (#17752)
* Update envoy.mdx
added more detail around default versus other compatible versions
* validate localities on agent configs and registration endpoints (#17712)
* Updated docs added explanation. (#17751)
* init
* fix tests
* added -detailed in docs
* added change log
* fix doc
* checking for entry in map
* fix tests
* removed detailed flag
* removed detailed flag
* revert unwanted changes
* removed unwanted changes
* updated change log
* pr review comment changes
* pr comment changes single API instead of two
* fix change log
* fix tests
* fix tests
* fix test operator raft endpoint test
* Update .changelog/17582.txt
Co-authored-by: Semir Patel <semir.patel@hashicorp.com>
* nits
* updated docs
* explanation added
---------
Co-authored-by: Semir Patel <semir.patel@hashicorp.com>
* Update index.mdx (#17749)
* added redirects and updated links (#17764)
* Add transparent proxy enhancements changelog (#17757)
* docs - remove use of consul leave during upgrade instructions (#17758)
* Fix issue with streaming service health watches. (#17775)
Fix issue with streaming service health watches.
This commit fixes an issue where the health streams were unaware of service
export changes. Whenever an exported-services config entry is modified, it is
effectively an ACL change.
The bug would be triggered by the following situation:
- no services are exported
- an upstream watch to service X is spawned
- the streaming backend filters out data for service X (due to lack of exports)
- service X is finally exported
In the situation above, the streaming backend does not trigger a refresh of its
data. This means that any events that were supposed to have been received prior
to the export are NOT backfilled, and the watches never see service X spawning.
We currently have decided to not trigger a stream refresh in this situation due
to the potential for a thundering herd effect (touching exports would cause a
re-fetch of all watches for that partition, potentially). Therefore, a local
blocking-query approach was added by this commit for agentless.
It's also worth noting that the streaming subscription is currently bypassed
most of the time with agentful, because proxycfg has a `req.Source.Node != ""`
which prevents the `streamingEnabled` check from passing. This means that while
agents should technically have this same issue, they don't experience it with
mesh health watches.
Note that this is a temporary fix that solves the issue for proxycfg, but not
service-discovery use cases.
* Property Override validation improvements (#17759)
* Reject inbound Prop Override patch with Services
Services filtering is only supported for outbound TrafficDirection patches.
* Improve Prop Override unexpected type validation
- Guard against additional invalid parent and target types
- Add specific error handling for Any fields (unsupported)
* Fixes (#17765)
* Update license get explanation (#17782)
This PR is to clarify what happens if the license get command is run on a follower if the leader hasn't been updated with a newer license.
* Add Patch index to Prop Override validation errors (#17777)
When a patch is found invalid, include its index for easier debugging
when multiple patches are provided.
* Stop referenced jwt providers from being deleted (#17755)
* Stop referenced jwt providers from being deleted
* Implement a Catalog Controllers Lifecycle Integration Test (#17435)
* Implement a Catalog Controllers Lifecycle Integration Test
* Prevent triggering the race detector.
This allows defining some variables for protobuf constants and using those in comparisons. Without that, something internal in the fmt package ended up looking at the protobuf message size cache and triggering the race detector.
* HCP Add node id/name to config (#17750)
* Catalog V2 Container Based Integration Test (#17674)
* Implement the Catalog V2 controller integration container tests
This now allows the container tests to import things from the root module. However for now we want to be very restrictive about which packages we allow importing.
* Add an upgrade test for the new catalog
Currently this should be dormant and not executed. However its put in place to detect breaking changes in the future and show an example of how to do an upgrade test with integration tests structured like catalog v2.
* Make testutil.Retry capable of performing cleanup operations
These cleanup operations are executed after each retry attempt.
* Move TestContext to taking an interface instead of a concrete testing.T
This allows this to be used on a retry.R or generally anything that meets the interface.
* Move to using TestContext instead of background contexts
Also this forces all test methods to implement the Cleanup method now instead of that being an optional interface.
Co-authored-by: Daniel Upton <daniel@floppy.co>
* Fix Docs for Trails Leader By (#17763)
* init
* fix tests
* added -detailed in docs
* added change log
* fix doc
* checking for entry in map
* fix tests
* removed detailed flag
* removed detailed flag
* revert unwanted changes
* removed unwanted changes
* updated change log
* pr review comment changes
* pr comment changes single API instead of two
* fix change log
* fix tests
* fix tests
* fix test operator raft endpoint test
* Update .changelog/17582.txt
Co-authored-by: Semir Patel <semir.patel@hashicorp.com>
* nits
* updated docs
* explanation added
* fix doc
* fix docs
---------
Co-authored-by: Semir Patel <semir.patel@hashicorp.com>
* Improve Prop Override docs examples (#17799)
- Provide more realistics examples for setting properties not already
supported natively by Consul
- Remove superfluous commas from HCL, correct target service name, and
fix service defaults vs. proxy defaults in examples
- Align existing integration test to updated docs
* Test permissive mTLS filter chain not configured with tproxy disabled (#17747)
* Add documentation for remote debugging of integration tests. (#17800)
* Add documentation for remote debugging of integration tests.
* add link from main docs page.
* changes related to PR feedback
* Clarify limitations of Prop Override extension (#17801)
Explicitly document the limitations of the extension, particularly what
kind of fields it is capable of modifying.
* Fix formatting for webhook-certs Consul tutorial (#17810)
* Fix formatting for webhook-certs Consul tutorial
* Make a small grammar change to also pick up whitespace changes necessary for formatting
---------
Co-authored-by: David Yu <dyu@hashicorp.com>
* Add jwt-authn metrics to jwt-provider docs (#17816)
* [NET-3095] add jwt-authn metrics docs
* Change URLs for redirects from RC to default latest (#17822)
* Set GOPRIVATE for all hashicorp repos in CI (#17817)
Consistently set GOPRIVATE to include all hashicorp repos, s.t. private
modules are successfully pulled in enterprise CI.
* Make locality aware routing xDS changes (#17826)
* Fixup consul-container/test/debugging.md (#17815)
Add missing `-t` flag and fix minor typo.
* fixes #17732 - AccessorID in request body should be optional when updating ACL token (#17739)
* AccessorID in request body should be optional when updating ACL token
* add a test case
* fix test case
* add changelog entry for PR #17739
* CA provider doc updates and Vault provider minor update (#17831)
Update CA provider docs
Clarify that providers can differ between
primary and secondary datacenters
Provide a comparison chart for consul vs
vault CA providers
Loosen Vault CA provider validation for RootPKIPath
Update Vault CA provider documentation
* ext-authz Envoy extension: support `localhost` as a valid target URI. (#17821)
* CI Updates (#17834)
* Ensure that git access to private repos uses the ELEVATED_GITHUB_TOKEN
* Bump the runner size for the protobuf generation check
This has failed previously when the runner process that communicates with GitHub gets starved causing the job to fail.
* counter part of ent pr (#17618)
* watch: support -filter for consul watch: checks, services, nodes, service (#17780)
* watch: support -filter for watch checks
* Add filter for watch nodes, services, and service
- unit test added
- Add changelog
- update doc
* Trigger OSS => ENT merge for all release branches (#17853)
Previously, this only triggered for release/*.*.x branches; however, our release process involves cutting a release/1.16.0 branch, for example, at time of code freeze these days. Any PRs to that branch after code freeze today do not make their way to consul-enterprise. This will make behavior for a .0 branch consistent with current behavior for a .x branch.
* Update service-mesh.mdx (#17845)
Deleted two commas which looks quite like some leftovers.
* Add docs for sameness groups with resolvers. (#17851)
* docs: add note about path prefix matching behavior for HTTPRoute config (#17860)
* Add note about path prefix matching behavior for HTTPRoute config
* Update website/content/docs/connect/gateways/api-gateway/configuration/http-route.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
---------
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* docs: update upgrade to consul-dataplane docs on k8s (#17852)
* resource: add `AuthorizerContext` helper method (#17393)
* resource: enforce consistent naming of resource types (#17611)
For consistency, resource type names must follow these rules:
- `Group` must be snake case, and in most cases a single word.
- `GroupVersion` must be lowercase, start with a "v" and end with a number.
- `Kind` must be pascal case.
These were chosen because they map to our protobuf type naming
conventions.
* tooling: generate protoset file (#17364)
Extends the `proto` make target to generate a protoset file for use with
grpcurl etc.
* Fix a bug that wrongly trims domains when there is an overlap with DC name (#17160)
* Fix a bug that wrongly trims domains when there is an overlap with DC name
Before this change, when DC name and domain/alt-domain overlap, the domain name incorrectly trimmed from the query.
Example:
Given: datacenter = dc-test, alt-domain = test.consul.
Querying for "test-node.node.dc-test.consul" will faile, because the
code was trimming "test.consul" instead of just ".consul"
This change, fixes the issue by adding dot (.) before trimming
* trimDomain: ensure domain trimmed without modyfing original domains
* update changelog
---------
Co-authored-by: Dhia Ayachi <dhia@hashicorp.com>
* deps: aws-sdk-go v1.44.289 (#17876)
Signed-off-by: Dan Bond <danbond@protonmail.com>
* api-gateway: add operation cannot be fulfilled error to common errors (#17874)
* add error message
* Update website/content/docs/api-gateway/usage/errors.mdx
Co-authored-by: Nathan Coleman <nathan.coleman@hashicorp.com>
* fix formating issues
---------
Co-authored-by: Nathan Coleman <nathan.coleman@hashicorp.com>
* api-gateway: add step to upgrade instructions for creating intentions (#17875)
* Changelog - add 1.13.9, 1.14.8, and 1.15.4 (#17889)
* docs: update config enable_debug (#17866)
* update doc for config enable_debug
* Update website/content/docs/agent/config/config-files.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
---------
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Update wording on WAN fed and intermediate_pki_path (#17850)
* Allow service identity tokens the ability to read jwt-providers (#17893)
* Allow service identity tokens the ability to read jwt-providers
* more tests
* service_prefix tests
* Update docs (#17476)
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Add emit_tags_as_labels to envoy bootstrap config when using Consul Telemetry Collector (#17888)
* Fix command from kg to kubectl get (#17903)
* Create and update release notes for 1.16 and 1.2 (#17895)
* update release notes for 1.16 and 1.2
* update latest consul core release
* Propose new changes to APIgw upgrade instructions (#17693)
* Propose new changes to APIgw upgrade instructions
* fix build error
* update callouts to render correctly
* Add hideClipboard to log messages
* Added clarification around consul k8s and crds
* Add workflow to verify linux release packages (#17904)
* adding docker files to verify linux packages.
* add verifr-release-linux.yml
* updating name
* pass inputs directly into jobs
* add other linux package platforms
* remove on push
* fix TARGETARCH on debian and ubuntu so it can check arm64 and amd64
* fixing amazon to use the continue line
* add ubuntu i386
* fix comment lines
* working
* remove commented out workflow jobs
* Apply suggestions from code review
Co-authored-by: Nathan Coleman <nathan.coleman@hashicorp.com>
* update fedora and ubuntu to use latest tag
---------
Co-authored-by: Nathan Coleman <nathan.coleman@hashicorp.com>
* Reference hashicorp/consul instead of consul for Docker image (#17914)
* Reference hashicorp/consul instead of consul for Docker image
* Update Make targets that pull consul directly
* Update Consul K8s Upgrade Doc Updates (#17921)
Updating upgrade procedures to encompass expected errors during upgrade process from v1.13.x to v1.14.x.
* Update sameness-group.mdx (#17915)
* Update create-sameness-groups.mdx (#17927)
* deps: coredns v1.10.1 (#17912)
* Ensure RSA keys are at least 2048 bits in length (#17911)
* Ensure RSA keys are at least 2048 bits in length
* Add changelog
* update key length check for FIPS compliance
* Fix no new variables error and failing to return when error exists from
validating
* clean up code for better readability
* actually return value
* tlsutil: Fix check TLS configuration (#17481)
* tlsutil: Fix check TLS configuration
* Rewording docs.
* Update website/content/docs/services/configuration/checks-configuration-reference.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Fix typos and add changelog entry.
---------
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* docs: Deprecations for connect-native SDK and specific connect native APIs (#17937)
* Update v1_16_x.mdx
* Update connect native golang page
---------
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Revert "Add workflow to verify linux release packages (#17904)" (#17942)
This reverts commit 3368f14fab500ebe9f6aeab5631dd1d5f5a453e5.
* Fixes Secondary ConnectCA update (#17846)
This fixes a bug that was identified which resulted in subsequent
ConnectCA configuration update not to persist in the cluster.
* fixing typo in link to jwt-validations-with-intentions doc (#17955)
* Fix streaming backend link (#17958)
* Fix streaming backend link
* Update health.mdx
* Dynamically create jwks clusters for jwt-providers (#17944)
* website: remove deprecated agent rpc docs (#17962)
* Fix missing BalanceOutboundConnections in v2 catalog. (#17964)
* feature - [NET - 4005] - [Supportability] Reloadable Configuration - enable_debug (#17565)
* # This is a combination of 9 commits.
# This is the 1st commit message:
init without tests
# This is the commit message #2:
change log
# This is the commit message #3:
fix tests
# This is the commit message #4:
fix tests
# This is the commit message #5:
added tests
# This is the commit message #6:
change log breaking change
# This is the commit message #7:
removed breaking change
# This is the commit message #8:
fix test
# This is the commit message #9:
keeping the test behaviour same
* # This is a combination of 12 commits.
# This is the 1st commit message:
init without tests
# This is the commit message #2:
change log
# This is the commit message #3:
fix tests
# This is the commit message #4:
fix tests
# This is the commit message #5:
added tests
# This is the commit message #6:
change log breaking change
# This is the commit message #7:
removed breaking change
# This is the commit message #8:
fix test
# This is the commit message #9:
keeping the test behaviour same
# This is the commit message #10:
made enable debug atomic bool
# This is the commit message #11:
fix lint
# This is the commit message #12:
fix test true enable debug
* parent 10f500e895d92cc3691ade7b74a33db755d22039
author absolutelightning <ashesh.vidyut@hashicorp.com> 1687352587 +0530
committer absolutelightning <ashesh.vidyut@hashicorp.com> 1687352592 +0530
init without tests
change log
fix tests
fix tests
added tests
change log breaking change
removed breaking change
fix test
keeping the test behaviour same
made enable debug atomic bool
fix lint
fix test true enable debug
using enable debug in agent as atomic bool
test fixes
fix tests
fix tests
added update on correct locaiton
fix tests
fix reloadable config enable debug
fix tests
fix init and acl 403
* revert commit
* Fix formatting codeblocks on APIgw docs (#17970)
* fix formatting codeblocks
* remove unnecessary indents
* Remove POC code (#17974)
* update doc (#17910)
* update doc
* update link
* Remove duplicate and unused newDecodeConfigEntry func (#17979)
* docs: samenessGroup YAML examples (#17984)
* configuration entry syntax
* Example config
* Add changelog entry for 1.16.0 (#17987)
* Fix typo (#17198)
servcies => services
* Expose JWKS cluster config through JWTProviderConfigEntry (#17978)
* Expose JWKS cluster config through JWTProviderConfigEntry
* fix typos, rename trustedCa to trustedCA
* Integration test for ext-authz Envoy extension (#17980)
* Fix incorrect protocol for transparent proxy upstreams. (#17894)
This PR fixes a bug that was introduced in:
https://github.com/hashicorp/consul/pull/16021
A user setting a protocol in proxy-defaults would cause tproxy implicit
upstreams to not honor the upstream service's protocol set in its
`ServiceDefaults.Protocol` field, and would instead always use the
proxy-defaults value.
Due to the fact that upstreams configured with "tcp" can successfully contact
upstream "http" services, this issue was not recognized until recently (a
proxy-defaults with "tcp" and a listening service with "http" would make
successful requests, but not the opposite).
As a temporary work-around, users experiencing this issue can explicitly set
the protocol on the `ServiceDefaults.UpstreamConfig.Overrides`, which should
take precedence.
The fix in this PR removes the proxy-defaults protocol from the wildcard
upstream that tproxy uses to configure implicit upstreams. When the protocol
was included, it would always overwrite the value during discovery chain
compilation, which was not correct. The discovery chain compiler also consumes
proxy defaults to determine the protocol, so simply excluding it from the
wildcard upstream config map resolves the issue.
* feat: include nodes count in operator usage endpoint and cli command (#17939)
* feat: update operator usage api endpoint to include nodes count
* feat: update operator usange cli command to includes nodes count
* [OSS] Improve Gateway Test Coverage of Catalog Health (#18011)
* fix(cli): remove failing check from 'connect envoy' registration for api gateway
* test(integration): add tests to check catalog statsus of gateways on startup
* remove extra sleep comment
* Update test/integration/consul-container/libs/assert/service.go
* changelog
* Fixes Traffic rate limitting docs (#17997)
* Fix removed service-to-service peering links (#17221)
* docs: fix removed service-to-service peering links
* docs: extend peering-via-mesh-gateways intro (thanks @trujillo-adam)
---------
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* docs: Sameness "beta" warning (#18017)
* Warning updates
* .x
* updated typo in tab heading (#18022)
* updated typo in tab heading
* updated tab group typo, too
* Document that DNS lookups can target cluster peers (#17990)
Static DNS lookups, in addition to explicitly targeting a datacenter,
can target a cluster peer. This was added in 95dc0c7b301b70a6b955a8b7c9737c9b86f03df6 but didn't make the documentation.
The driving function for the change is `parseLocality` here: https://github.com/hashicorp/consul/blob/0b1299c28d8127129d61310ee4280055298438e0/agent/dns_oss.go#L25
The biggest change in this is to adjust the standard lookup syntax to tie
`.<datacenter>` to `.dc` as required-together, and to append in the similar `.<cluster-peer>.peer` optional argument, both to A record and SRV record lookups.
Co-authored-by: David Yu <dyu@hashicorp.com>
* Add first integration test for jwt auth with intention (#18005)
* fix stand-in text for name field (#18030)
* removed sameness conf entry from failover nav (#18033)
* docs - add service sync annotations and k8s service weight annotation (#18032)
* Docs for https://github.com/hashicorp/consul-k8s/pull/2293
* remove versions for enterprise features since they are old
---------
Co-authored-by: Tu Nguyen <im2nguyen@users.noreply.github.com>
* docs - add jobs use case for service mesh k8s (#18037)
* docs - add jobs use case for service mesh k8s
* add code blocks
* address feedback (#18045)
* Add verify server hostname to tls default (#17155)
* [OSS] Fix initial_fetch_timeout to wait for all xDS resources (#18024)
* fix(connect): set initial_fetch_time to wait indefinitely
* changelog
* PR feedback 1
* ui: fix typos for peer service imports (#17999)
* test: fix FIPS inline cert test message (#18076)
* Fix a couple typos in Agent Telemetry Metrics docs (#18080)
* Fix metrics docs
* Add changelog
Signed-off-by: josh <josh.timmons@hashicorp.com>
---------
Signed-off-by: josh <josh.timmons@hashicorp.com>
* docs updates - cluster peering and virtual services (#18069)
* Update route-to-virtual-services.mdx
* Update establish-peering.mdx
* Update service-mesh-compare.mdx (#17279)
grammar change
* Update helm docs on main (#18085)
* ci: use gotestsum v1.10.1 [NET-4042] (#18088)
* Docs: Update proxy lifecycle annotations and consul-dataplane flags (#18075)
* Update proxy lifecycle annotations and consul-dataplane flags
* Pass configured role name to Vault for AWS auth in Connect CA (#17885)
* Docs for dataplane upgrade on k8s (#18051)
* Docs for dataplane upgrade on k8s
---------
Co-authored-by: David Yu <dyu@hashicorp.com>
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* docs - update upgrade index page to not recommend consul leave. (#18100)
* Displays Consul version of each nodes in UI nodes section (#17754)
* update UINodes and UINodeInfo response with consul-version info added as NodeMeta, fetched from serf members
* update test cases TestUINodes, TestUINodeInfo
* added nil check for map
* add consul-version in local agent node metadata
* get consul version from serf member and add this as node meta in catalog register request
* updated ui mock response to include consul versions as node meta
* updated ui trans and added version as query param to node list route
* updates in ui templates to display consul version with filter and sorts
* updates in ui - model class, serializers,comparators,predicates for consul version feature
* added change log for Consul Version Feature
* updated to get version from consul service, if for some reason not available from serf
* updated changelog text
* updated dependent testcases
* multiselection version filter
* Update agent/consul/state/catalog.go
comments updated
Co-authored-by: Jared Kirschner <85913323+jkirschner-hashicorp@users.noreply.github.com>
---------
Co-authored-by: Jared Kirschner <85913323+jkirschner-hashicorp@users.noreply.github.com>
* api gw 1.16 updates (#18081)
* api gw 1.16 updates
* Apply suggestions from code review
Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com>
* update CodeBlockConfig filename
* Apply suggestions from code review
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com>
* remove non-standard intentions page
* Update website/content/docs/api-gateway/configuration/index.mdx
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
---------
Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com>
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* [NET-4103] ci: build s390x (#18067)
* ci: build s390x
* ci: test s390x
* ci: dev build s390x
* no GOOS
* ent only
* build: publish s390x
* fix syntax error
* fix syntax error again
* fix syntax error again x2
* test branch
* Move s390x conditionals to step level
* remove test branch
---------
Co-authored-by: emilymianeil <eneil@hashicorp.com>
* :ermahgerd "Sevice Mesh" -> "Service Mesh" (#18116)
Just a typo in the docs.
* Split pbmesh.UpstreamsConfiguration as a resource out of pbmesh.Upstreams (#17991)
Configuration that previously was inlined into the Upstreams resource
applies to both explicit and implicit upstreams and so it makes sense to
split it out into its own resource.
It also has other minor changes:
- Renames `proxy.proto` proxy_configuration.proto`
- Changes the type of `Upstream.destination_ref` from `pbresource.ID` to
`pbresource.Reference`
- Adds comments to fields that didn't have them
* [NET-4895] ci - api tests and consul container tests error because of dependency bugs with go 1.20.6. Pin go to 1.20.5. (#18124)
### Description
The following jobs started failing when go 1.20.6 was released:
- `go-test-api-1-19`
- `go-test-api-1-20`
- `compatibility-integration-tests`
- `upgrade-integration-tests`
`compatibility-integration-tests` and `compatibility-integration-tests`
to this testcontainers issue:
https://github.com/testcontainers/testcontainers-go/issues/1359. This
issue calls for testcontainers to release a new version when one of
their dependencies is fixed. When that is done, we will unpin the go
versions in `compatibility-integration-tests` and
`compatibility-integration-tests`.
### Testing & Reproduction steps
See these jobs broken in CI and then see them work with this PR.
---------
Co-authored-by: Chris Thain <32781396+cthain@users.noreply.github.com>
* Add ingress gateway deprecation notices to docs (#18102)
### Description
This adds notices, that ingress gateway is deprecated, to several places
in the product docs where ingress gateway is the topic.
### Testing & Reproduction steps
Tested with a local copy of the website.
### Links
Deprecation of ingress gateway was announced in the Release Notes for
Consul 1.16 and Consul-K8s 1.2. See:
[https://developer.hashicorp.com/consul/docs/release-notes/consul/v1_16_x#what-s-deprecated](https://developer.hashicorp.com/consul/docs/release-notes/consul/v1_16_x#what-s-deprecated
)
[https://developer.hashicorp.com/consul/docs/release-notes/consul-k8s/v1_2_x#what-s-deprecated](https://developer.hashicorp.com/consul/docs/release-notes/consul-k8s/v1_2_x#what-s-deprecated)
### PR Checklist
* [N/A] updated test coverage
* [X] external facing docs updated
* [X] appropriate backport labels added
* [X] not a security concern
---------
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* Add docs for jwt cluster configuration (#18004)
### Description
<!-- Please describe why you're making this change, in plain English.
-->
- Add jwt-provider docs for jwks cluster configuration. The
configuration was added here:
https://github.com/hashicorp/consul/pull/17978
* Docs: fix unmatched bracket for health checks page (#18134)
* NET-4657/add resource service client (#18053)
### Description
<!-- Please describe why you're making this change, in plain English.
-->
Dan had already started on this
[task](https://github.com/hashicorp/consul/pull/17849) which is needed
to start building the HTTP APIs. This just needed some cleanup to get it
ready for review.
Overview:
- Rename `internalResourceServiceClient` to
`insecureResourceServiceClient` for name consistency
- Configure a `secureResourceServiceClient` with auth enabled
### PR Checklist
* [ ] ~updated test coverage~
* [ ] ~external facing docs updated~
* [x] appropriate backport labels added
* [ ] ~not a security concern~
* Fix bug with Vault CA provider (#18112)
Updating RootPKIPath but not IntermediatePKIPath would not update
leaf signing certs with the new root. Unsure if this happens in practice
but manual testing showed it is a bug that would break mesh and agent
connections once the old root is pruned.
* [NET-4897] net/http host header is now verified and request.host that contains socked now error (#18129)
### Description
This is related to https://github.com/hashicorp/consul/pull/18124 where
we pinned the go versions in CI to 1.20.5 and 1.19.10.
go 1.20.6 and 1.19.11 now validate request host headers for validity,
including the hostname cannot be prefixed with slashes.
For local communications (npipe://, unix://), the hostname is not used,
but we need valid and meaningful hostname. Prior versions go Go would
clean the host header, and strip slashes in the process, but go1.20.6
and go1.19.11 no longer do, and reject the host header. Around the
community we are seeing that others are intercepting the req.host and if
it starts with a slash or ends with .sock, they changing the host to
localhost or another dummy value.
[client: define a "dummy" hostname to use for local connections by
thaJeztah · Pull Request #45942 ·
moby/moby](https://github.com/moby/moby/pull/45942)
### Testing & Reproduction steps
Check CI tests.
### Links
* [ ] updated test coverage
* [ ] external facing docs updated
* [ ] appropriate backport labels added
* [ ] not a security concern
* add a conditional around setting LANFilter.AllSegments to make sure it is valid (#18139)
### Description
This is to correct a code problem because this assumes all segments, but
when you get to Enterprise, you can be in partition that is not the
default partition, in which case specifying all segments does not
validate and fails. This is to correct the setting of this filter with
`AllSegments` to `true` to only occur when in the the `default`
partition.
### Testing & Reproduction steps
<!--
* In the case of bugs, describe how to replicate
* If any manual tests were done, document the steps and the conditions
to replicate
* Call out any important/ relevant unit tests, e2e tests or integration
tests you have added or are adding
-->
### Links
<!--
Include any links here that might be helpful for people reviewing your
PR (Tickets, GH issues, API docs, external benchmarks, tools docs, etc).
If there are none, feel free to delete this section.
Please be mindful not to leak any customer or confidential information.
HashiCorp employees may want to use our internal URL shortener to
obfuscate links.
-->
### PR Checklist
* [ ] updated test coverage
* [ ] external facing docs updated
* [ ] appropriate backport labels added
* [ ] not a security concern
* chore: bump upgrade integrations tests to 1.15, 116 [NET-4743] (#18130)
* re org resource type registry (#18133)
* fix: update delegateMock used in ENT (#18149)
### Description
<!-- Please describe why you're making this change, in plain English.
-->
The mock is used in `http_ent_test` file which caused lint failures. For
OSS->ENT parity adding the same change here.
### Links
<!--
Include any links here that might be helpful for people reviewing your
PR (Tickets, GH issues, API docs, external benchmarks, tools docs, etc).
If there are none, feel free to delete this section.
Please be mindful not to leak any customer or confidential information.
HashiCorp employees may want to use our internal URL shortener to
obfuscate links.
-->
Identified in OSS->ENT [merge
PR](https://github.com/hashicorp/consul-enterprise/pull/6328)
### PR Checklist
* [ ] ~updated test coverage~
* [ ] ~external facing docs updated~
* [x] appropriate backport labels added
* [ ] ~not a security concern~
* Use JWT-auth filter in metadata mode & Delegate validation to RBAC filter (#18062)
### Description
<!-- Please describe why you're making this change, in plain English.
-->
- Currently the jwt-auth filter doesn't take into account the service
identity when validating jwt-auth, it only takes into account the path
and jwt provider during validation. This causes issues when multiple
source intentions restrict access to an endpoint with different JWT
providers.
- To fix these issues, rather than use the JWT auth filter for
validation, we use it in metadata mode and allow it to forward the
successful validated JWT token payload to the RBAC filter which will
make the decisions.
This PR ensures requests with and without JWT tokens successfully go
through the jwt-authn filter. The filter however only forwards the data
for successful/valid tokens. On the RBAC filter level, we check the
payload for claims and token issuer + existing rbac rules.
### Testing & Reproduction steps
<!--
* In the case of bugs, describe how to replicate
* If any manual tests were done, document the steps and the conditions
to replicate
* Call out any important/ relevant unit tests, e2e tests or integration
tests you have added or are adding
-->
- This test covers a multi level jwt requirements (requirements at top
level and permissions level). It also assumes you have envoy running,
you have a redis and a sidecar proxy service registered, and have a way
to generate jwks with jwt. I mostly use:
https://www.scottbrady91.com/tools/jwt for this.
- first write your proxy defaults
```
Kind = "proxy-defaults"
name = "global"
config {
protocol = "http"
}
```
- Create two providers
```
Kind = "jwt-provider"
Name = "auth0"
Issuer = "https://ronald.local"
JSONWebKeySet = {
Local = {
JWKS = "eyJrZXlzIjog....."
}
}
```
```
Kind = "jwt-provider"
Name = "okta"
Issuer = "https://ronald.local"
JSONWebKeySet = {
Local = {
JWKS = "eyJrZXlzIjogW3...."
}
}
```
- add a service intention
```
Kind = "service-intentions"
Name = "redis"
JWT = {
Providers = [
{
Name = "okta"
},
]
}
Sources = [
{
Name = "*"
Permissions = [{
Action = "allow"
HTTP = {
PathPrefix = "/workspace"
}
JWT = {
Providers = [
{
Name = "okta"
VerifyClaims = [
{
Path = ["aud"]
Value = "my_client_app"
},
{
Path = ["sub"]
Value = "5be86359073c434bad2da3932222dabe"
}
]
},
]
}
},
{
Action = "allow"
HTTP = {
PathPrefix = "/"
}
JWT = {
Providers = [
{
Name = "auth0"
},
]
}
}]
}
]
```
- generate 3 jwt tokens: 1 from auth0 jwks, 1 from okta jwks with
different claims than `/workspace` expects and 1 with correct claims
- connect to your envoy (change service and address as needed) to view
logs and potential errors. You can add: `-- --log-level debug` to see
what data is being forwarded
```
consul connect envoy -sidecar-for redis1 -grpc-addr 127.0.0.1:8502
```
- Make the following requests:
```
curl -s -H "Authorization: Bearer $Auth0_TOKEN" --insecure --cert leaf.cert --key leaf.key --cacert connect-ca.pem https://localhost:20000/workspace -v
RBAC filter denied
curl -s -H "Authorization: Bearer $Okta_TOKEN_with_wrong_claims" --insecure --cert leaf.cert --key leaf.key --cacert connect-ca.pem https://localhost:20000/workspace -v
RBAC filter denied
curl -s -H "Authorization: Bearer $Okta_TOKEN_with_correct_claims" --insecure --cert leaf.cert --key leaf.key --cacert connect-ca.pem https://localhost:20000/workspace -v
Successful request
```
### TODO
* [x] Update test coverage
* [ ] update integration tests (follow-up PR)
* [x] appropriate backport labels added
* Support Consul Connect Envoy Command on Windows (#17694)
### Description
Add support for consul connect envoy command on windows. This PR fixes
the comments of PR - https://github.com/hashicorp/consul/pull/15114
### Testing
* Built consul.exe from this branch on windows and hosted here - [AWS
S3](https://asheshvidyut-bucket.s3.ap-southeast-2.amazonaws.com/consul.zip)
* Updated the
[tutorial](https://developer.hashicorp.com/consul/tutorials/developer-mesh/consul-windows-workloads)
and changed the `consul_url.default` value to [AWS
S3](https://asheshvidyut-bucket.s3.ap-southeast-2.amazonaws.com/consul.zip)
* Followed the steps in the tutorial and verified that everything is
working as described.
### PR Checklist
* [x] updated test coverage
* [ ] external facing docs updated
* [x] appropriate backport labels added
* [x] not a security concern
---------
Co-authored-by: Franco Bruno Lavayen <cocolavayen@gmail.com>
Co-authored-by: Jose Ignacio Lorenzo <74208929+joselo85@users.noreply.github.com>
Co-authored-by: Jose Ignacio Lorenzo <joseignaciolorenzo85@gmail.com>
Co-authored-by: Dhia Ayachi <dhia@hashicorp.com>
* Change docs to say 168h instead of 7d for server_rejoin_age_max (#18154)
### Description
Addresses
https://github.com/hashicorp/consul/pull/17171#issuecomment-1636930705
* [OSS] test: improve xDS listener code coverage (#18138)
test: improve xDS listener code coverage
* Re-order expected/actual for assertContainerState in consul container tests (#18157)
Re-order expected/actual, consul container tests
* group and document make file (#17943)
* group and document make file
* Add `testing/deployer` (neé `consul-topology`) [NET-4610] (#17823)
Co-authored-by: R.B. Boyer <4903+rboyer@users.noreply.github.com>
Co-authored-by: R.B. Boyer <rb@hashicorp.com>
Co-authored-by: Freddy <freddygv@users.noreply.github.com>
* [NET-4792] Add integrations tests for jwt-auth (#18169)
* Add FIPS reference to consul enterprise docs (#18028)
* Add FIPS reference to consul enterprise docs
* Update website/content/docs/enterprise/index.mdx
Co-authored-by: David Yu <dyu@hashicorp.com>
* remove support for ecs client (fips)
---------
Co-authored-by: David Yu <dyu@hashicorp.com>
* add peering_commontopo tests [NET-3700] (#17951)
Co-authored-by: R.B. Boyer <4903+rboyer@users.noreply.github.com>
Co-authored-by: R.B. Boyer <rb@hashicorp.com>
Co-authored-by: Freddy <freddygv@users.noreply.github.com>
Co-authored-by: NiniOak <anita.akaeze@hashicorp.com>
* docs - remove Sentinel from enterprise features list (#18176)
* Update index.mdx
* Update kv.mdx
* Update docs-nav-data.json
* delete sentinel.mdx
* Update redirects.js
---------
Co-authored-by: Tu Nguyen <im2nguyen@users.noreply.github.com>
* [NET-4865] Bump golang.org/x/net to 0.12.0 (#18186)
Bump golang.org/x/net to 0.12.0
While not necessary to directly address CVE-2023-29406 (which should be
handled by using a patched version of Go when building), an
accompanying change to HTTP/2 error handling does impact agent code.
See https://go-review.googlesource.com/c/net/+/506995 for the HTTP/2
change.
Bump this dependency across our submodules as well for the sake of
potential indirect consumers of `x/net/http`.
* Call resource mutate hook before validate hook (NET-4907) (#18178)
* [NET-4865] security: Update Go version to 1.20.6 (#18190)
Update Go version to 1.20.6
This resolves [CVE-2023-29406]
(https://nvd.nist.gov/vuln/detail/CVE-2023-29406) for uses of the
`net/http` standard library.
Note that until the follow-up to #18124 is done, the version of Go used
in those impacted tests will need to remain on 1.20.5.
* Improve XDS test coverage: JWT auth edition (#18183)
* Improve XDS test coverage: JWT auth edition
more tests
* test: xds coverage for jwt listeners
---------
Co-authored-by: DanStough <dan.stough@hashicorp.com>
* update readme.md (#18191)
u[date readme.md
* Update submodules to latest following 1.16.0 (#18197)
Align all our internal use of submodules on the latest versions.
* SEC-090: Automated trusted workflow pinning (2023-07-18) (#18174)
Result of tsccr-helper -log-level=info -pin-all-workflows .
Co-authored-by: hashicorp-tsccr[bot] <hashicorp-tsccr[bot]@users.noreply.github.com>
* Fix Backport Assistant PR commenting (#18200)
* Fix Backport Assistant failure PR commenting
For general comments on a PR, it looks like you have to use the `/issue`
endpoint rather than `/pulls`, which requires commit/other
review-specific target details.
This matches the endpoint used in `backport-reminder.yml`.
* Remove Backport Reminder workflow
This is noisy (even when adding multiple labels, individual comments per
label are generated), and likely no longer needed: we haven't had this
work in a long time due to an expired GH token, and we now have better
automation for backport PR assignment.
* resource: Pass resource to Write ACL hook instead of just resource Id [NET-4908] (#18192)
* Explicitly enable WebSocket upgrades (#18150)
This PR explicitly enables WebSocket upgrades in Envoy's UpgradeConfig for all
proxy types. (API Gateway, Ingress, and Sidecar.)
Fixes #8283
* docs: fix the description of client rpc (#18206)
* NET-4804: Add dashboard for monitoring consul-k8s (#18208)
* [OSS] Improve xDS Code Coverage - Clusters (#18165)
test: improve xDS cluster code coverage
* NET-4222 take config file consul container (#18218)
Net 4222 take config file consul container
* Envoy Integration Test Windows (#18007)
* [CONSUL-395] Update check_hostport and Usage (#40)
* [CONSUL-397] Copy envoy binary from Image (#41)
* [CONSUL-382] Support openssl in unique test dockerfile (#43)
* [CONSUL-405] Add bats to single container (#44)
* [CONSUL-414] Run Prometheus Test Cases and Validate Changes (#46)
* [CONSUL-410] Run Jaeger in Single container (#45)
* [CONSUL-412] Run test-sds-server in single container (#48)
* [CONSUL-408] Clean containers (#47)
* [CONSUL-384] Rebase and sync fork (#50)
* [CONSUL-415] Create Scenarios Troubleshooting Docs (#49)
* [CONSUL-417] Update Docs Single Container (#51)
* [CONSUL-428] Add Socat to single container (#54)
* [CONSUL-424] Replace pkill in kill_envoy function (#52)
* [CONSUL-434] Modify Docker run functions in Helper script (#53)
* [CONSUL-435] Replace docker run in set_ttl_check_state & wait_for_agent_service_register functions (#55)
* [CONSUL-438] Add netcat (nc) in the Single container Dockerfile (#56)
* [CONSUL-429] Replace Docker run with Docker exec (#57)
* [CONSUL-436] Curl timeout and run tests (#58)
* [CONSUL-443] Create dogstatsd Function (#59)
* [CONSUL-431] Update Docs Netcat (#60)
* [CONSUL-439] Parse nc Command in function (#61)
* [CONSUL-463] Review curl Exec and get_ca_root Func (#63)
* [CONSUL-453] Docker hostname in Helper functions (#64)
* [CONSUL-461] Test wipe volumes without extra cont (#66)
* [CONSUL-454] Check ports in the Server and Agent containers (#65)
* [CONSUL-441] Update windows dockerfile with version (#62)
* [CONSUL-466] Review case-grpc Failing Test (#67)
* [CONSUL-494] Review case-cfg-resolver-svc-failover (#68)
* [CONSUL-496] Replace docker_wget & docker_curl (#69)
* [CONSUL-499] Cleanup Scripts - Remove nanoserver (#70)
* [CONSUL-500] Update Troubleshooting Docs (#72)
* [CONSUL-502] Pull & Tag Envoy Windows Image (#73)
* [CONSUL-504] Replace docker run in docker_consul (#76)
* [CONSUL-505] Change admin_bind
* [CONSUL-399] Update envoy to 1.23.1 (#78)
* [CONSUL-510] Support case-wanfed-gw on Windows (#79)
* [CONSUL-506] Update troubleshooting Documentation (#80)
* [CONSUL-512] Review debug_dump_volumes Function (#81)
* [CONSUL-514] Add zipkin to Docker Image (#82)
* [CONSUL-515] Update Documentation (#83)
* [CONSUL-529] Support case-consul-exec (#86)
* [CONSUL-530] Update Documentation (#87)
* [CONSUL-530] Update default consul version 1.13.3
* [CONSUL-539] Cleanup (#91)
* [CONSUL-546] Scripts Clean-up (#92)
* [CONSUL-491] Support admin_access_log_path value for Windows (#71)
* [CONSUL-519] Implement mkfifo Alternative (#84)
* [CONSUL-542] Create OS Specific Files for Envoy Package (#88)
* [CONSUL-543] Create exec_supported.go (#89)
* [CONSUL-544] Test and Build Changes (#90)
* Implement os.DevNull
* using mmap instead of disk files
* fix import in exec-unix
* fix nmap open too many arguemtn
* go fmt on file
* changelog file
* fix go mod
* Update .changelog/17694.txt
Co-authored-by: Dhia Ayachi <dhia@hashicorp.com>
* different mmap library
* fix bootstrap json
* some fixes
* chocolatey version fix and image fix
* using different library
* fix Map funciton call
* fix mmap call
* fix tcp dump
* fix tcp dump
* windows tcp dump
* Fix docker run
* fix tests
* fix go mod
* fix version 16.0
* fix version
* fix version dev
* sleep to debug
* fix sleep
* fix permission issue
* fix permission issue
* fix permission issue
* fix command
* fix command
* fix funciton
* fix assert config entry status command not found
* fix command not found assert_cert_has_cn
* fix command not found assert_upstream_missing
* fix command not found assert_upstream_missing_once
* fix command not found get_upstream_endpoint
* fix command not found get_envoy_public_listener_once
* fix command not found
* fix test cases
* windows integration test workflow github
* made code similar to unix using npipe
* fix go.mod
* fix dialing of npipe
* dont wait
* check size of written json
* fix undefined n
* running
* fix dep
* fix syntax error
* fix workflow file
* windows runner
* fix runner
* fix from json
* fix runs on
* merge connect envoy
* fix cin path
* build
* fix file name
* fix file name
* fix dev build
* remove unwanted code
* fix upload
* fix bin name
* fix path
* checkout current branch
* fix path
* fix tests
* fix shell bash for windows sh files
* fix permission of run-test.sh
* removed docker dev
* added shell bash for tests
* fix tag
* fix win=true
* fix cd
* added dev
* fix variable undefined
* removed failing tests
* fix tcp dump image
* fix curl
* fix curl
* tcp dump path
* fix tcpdump path
* fix curl
* fix curl install
* stop removing intermediate containers
* fix tcpdump docker image
* revert -rm
* --rm=false
* makeing docker image before
* fix tcpdump
* removed case consul exec
* removed terminating gateway simple
* comment case wasm
* removed data dog
* comment out upload coverage
* uncomment case-consul-exec
* comment case consul exec
* if always
* logs
* using consul 1.17.0
* fix quotes
* revert quotes
* redirect to dev null
* Revert version
* revert consul connect
* fix version
* removed envoy connect
* not using function
* change log
* docker logs
* fix logs
* restructure bad authz
* rmeoved dev null
* output
* fix file descriptor
* fix cacert
* fix cacert
* fix ca cert
* cacert does not work in windows curl
* fix func
* removed docker logs
* added sleep
* fix tls
* commented case-consul-exec
* removed echo
* retry docker consul
* fix upload bin
* uncomment consul exec
* copying consul.exe to docker image
* copy fix
* fix paths
* fix path
* github workspace path
* latest version
* Revert "latest version"
This reverts commit 5a7d7b82d9e7553bcb01b02557ec8969f9deba1d.
* commented consul exec
* added ssl revoke best effort
* revert best effort
* removed unused files
* rename var name and change dir
* windows runner
* permission
* needs setup fix
* swtich to github runner
* fix file path
* fix path
* fix path
* fix path
* fix path
* fix path
* fix build paths
* fix tag
* nightly runs
* added matrix in github workflow, renamed files
* fix job
* fix matrix
* removed brackes
* from json
* without using job matrix
* fix quotes
* revert job matrix
* fix workflow
* fix comment
* added comment
* nightly runs
* removed datadog ci as it is already measured in linux one
* running test
* Revert "running test"
This reverts commit 7013d15a23732179d18ec5d17336e16b26fab5d4.
* pr comment fixes
* running test now
* running subset of test
* running subset of test
* job matrix
* shell bash
* removed bash shell
* linux machine for job matrix
* fix output
* added cat to debug
* using ubuntu latest
* fix job matrix
* fix win true
* fix go test
* revert job matrix
---------
Co-authored-by: Jose Ignacio Lorenzo <74208929+joselo85@users.noreply.github.com>
Co-authored-by: Franco Bruno Lavayen <cocolavayen@gmail.com>
Co-authored-by: Ivan K Berlot <ivanberlot@gmail.com>
Co-authored-by: Ezequiel Fernández Ponce <20102608+ezfepo@users.noreply.github.com>
Co-authored-by: joselo85 <joseignaciolorenzo85@gmail.com>
Co-authored-by: Ezequiel Fernández Ponce <ezequiel.fernandez@southworks.com>
Co-authored-by: Dhia Ayachi <dhia@hashicorp.com>
* fix typos and update ecs compat table (#18215)
* fix typos and update ecs compat table
* real info for the ecs compat matrix table
* Update website/content/docs/ecs/compatibility.mdx
Co-authored-by: Chris Thain <32781396+cthain@users.noreply.github.com>
---------
Co-authored-by: Chris Thain <32781396+cthain@users.noreply.github.com>
* [OSS] proxystate: add proxystate protos (#18216)
* proxystate: add proxystate protos to pbmesh and resolve imports and conflicts between message names
* ci: don't verify s390x (#18224)
* [CC-5718] Remove HCP token requirement during bootstrap (#18140)
* [CC-5718] Remove HCP token requirement during bootstrap
* Re-add error for loading HCP management token
* Remove old comment
* Add changelog entry
* Remove extra validation line
* Apply suggestions from code review
Co-authored-by: lornasong <lornasong@users.noreply.github.com>
---------
Co-authored-by: lornasong <lornasong@users.noreply.github.com>
* [NET-4122] Doc guidance for federation with externalServers (#18207)
Doc guidance for federation with externalServers
Add guidance for proper configuration when joining to a secondary
cluster using WAN fed with external servers also enabled.
Also clarify federation requirements and fix formatting for an
unrelated value.
Update both the Helm chart reference (synced from `consul-k8s`, see
hashicorp/consul-k8s#2583) and the docs on using `externalServers`.
* [OSS] Improve xDS Code Coverage - Endpoints and Misc (#18222)
test: improve xDS endpoints code coverage
* Clarify license reporting timing and GDPR compliance (#18237)
Add Alicia's edits to clarify log timing and other details
* Fix Github Workflow File (#18241)
* [CONSUL-382] Support openssl in unique test dockerfile (#43)
* [CONSUL-405] Add bats to single container (#44)
* [CONSUL-414] Run Prometheus Test Cases and Validate Changes (#46)
* [CONSUL-410] Run Jaeger in Single container (#45)
* [CONSUL-412] Run test-sds-server in single container (#48)
* [CONSUL-408] Clean containers (#47)
* [CONSUL-384] Rebase and sync fork (#50)
* [CONSUL-415] Create Scenarios Troubleshooting Docs (#49)
* [CONSUL-417] Update Docs Single Container (#51)
* [CONSUL-428] Add Socat to single container (#54)
* [CONSUL-424] Replace pkill in kill_envoy function (#52)
* [CONSUL-434] Modify Docker run functions in Helper script (#53)
* [CONSUL-435] Replace docker run in set_ttl_check_state & wait_for_agent_service_register functions (#55)
* [CONSUL-438] Add netcat (nc) in the Single container Dockerfile (#56)
* [CONSUL-429] Replace Docker run with Docker exec (#57)
* [CONSUL-436] Curl timeout and run tests (#58)
* [CONSUL-443] Create dogstatsd Function (#59)
* [CONSUL-431] Update Docs Netcat (#60)
* [CONSUL-439] Parse nc Command in function (#61)
* [CONSUL-463] Review curl Exec and get_ca_root Func (#63)
* [CONSUL-453] Docker hostname in Helper functions (#64)
* [CONSUL-461] Test wipe volumes without extra cont (#66)
* [CONSUL-454] Check ports in the Server and Agent containers (#65)
* [CONSUL-441] Update windows dockerfile with version (#62)
* [CONSUL-466] Review case-grpc Failing Test (#67)
* [CONSUL-494] Review case-cfg-resolver-svc-failover (#68)
* [CONSUL-496] Replace docker_wget & docker_curl (#69)
* [CONSUL-499] Cleanup Scripts - Remove nanoserver (#70)
* [CONSUL-500] Update Troubleshooting Docs (#72)
* [CONSUL-502] Pull & Tag Envoy Windows Image (#73)
* [CONSUL-504] Replace docker run in docker_consul (#76)
* [CONSUL-505] Change admin_bind
* [CONSUL-399] Update envoy to 1.23.1 (#78)
* [CONSUL-510] Support case-wanfed-gw on Windows (#79)
* [CONSUL-506] Update troubleshooting Documentation (#80)
* [CONSUL-512] Review debug_dump_volumes Function (#81)
* [CONSUL-514] Add zipkin to Docker Image (#82)
* [CONSUL-515] Update Documentation (#83)
* [CONSUL-529] Support case-consul-exec (#86)
* [CONSUL-530] Update Documentation (#87)
* [CONSUL-530] Update default consul version 1.13.3
* [CONSUL-539] Cleanup (#91)
* [CONSUL-546] Scripts Clean-up (#92)
* [CONSUL-491] Support admin_access_log_path value for Windows (#71)
* [CONSUL-519] Implement mkfifo Alternative (#84)
* [CONSUL-542] Create OS Specific Files for Envoy Package (#88)
* [CONSUL-543] Create exec_supported.go (#89)
* [CONSUL-544] Test and Build Changes (#90)
* Implement os.DevNull
* using mmap instead of disk files
* fix import in exec-unix
* fix nmap open too many arguemtn
* go fmt on file
* changelog file
* fix go mod
* Update .changelog/17694.txt
Co-authored-by: Dhia Ayachi <dhia@hashicorp.com>
* different mmap library
* fix bootstrap json
* some fixes
* chocolatey version fix and image fix
* using different library
* fix Map funciton call
* fix mmap call
* fix tcp dump
* fix tcp dump
* windows tcp dump
* Fix docker run
* fix tests
* fix go mod
* fix version 16.0
* fix version
* fix version dev
* sleep to debug
* fix sleep
* fix permission issue
* fix permission issue
* fix permission issue
* fix command
* fix command
* fix funciton
* fix assert config entry status command not found
* fix command not found assert_cert_has_cn
* fix command not found assert_upstream_missing
* fix command not found assert_upstream_missing_once
* fix command not found get_upstream_endpoint
* fix command not found get_envoy_public_listener_once
* fix command not found
* fix test cases
* windows integration test workflow github
* made code similar to unix using npipe
* fix go.mod
* fix dialing of npipe
* dont wait
* check size of written json
* fix undefined n
* running
* fix dep
* fix syntax error
* fix workflow file
* windows runner
* fix runner
* fix from json
* fix runs on
* merge connect envoy
* fix cin path
* build
* fix file name
* fix file name
* fix dev build
* remove unwanted code
* fix upload
* fix bin name
* fix path
* checkout current branch
* fix path
* fix tests
* fix shell bash for windows sh files
* fix permission of run-test.sh
* removed docker dev
* added shell bash for tests
* fix tag
* fix win=true
* fix cd
* added dev
* fix variable undefined
* removed failing tests
* fix tcp dump image
* fix curl
* fix curl
* tcp dump path
* fix tcpdump path
* fix curl
* fix curl install
* stop removing intermediate containers
* fix tcpdump docker image
* revert -rm
* --rm=false
* makeing docker image before
* fix tcpdump
* removed case consul exec
* removed terminating gateway simple
* comment case wasm
* removed data dog
* comment out upload coverage
* uncomment case-consul-exec
* comment case consul exec
* if always
* logs
* using consul 1.17.0
* fix quotes
* revert quotes
* redirect to dev null
* Revert version
* revert consul connect
* fix version
* removed envoy connect
* not using function
* change log
* docker logs
* fix logs
* restructure bad authz
* rmeoved dev null
* output
* fix file descriptor
* fix cacert
* fix cacert
* fix ca cert
* cacert does not work in windows curl
* fix func
* removed docker logs
* added sleep
* fix tls
* commented case-consul-exec
* removed echo
* retry docker consul
* fix upload bin
* uncomment consul exec
* copying consul.exe to docker image
* copy fix
* fix paths
* fix path
* github workspace path
* latest version
* Revert "latest version"
This reverts commit 5a7d7b82d9e7553bcb01b02557ec8969f9deba1d.
* commented consul exec
* added ssl revoke best effort
* revert best effort
* removed unused files
* rename var name and change dir
* windows runner
* permission
* needs setup fix
* swtich to github runner
* fix file path
* fix path
* fix path
* fix path
* fix path
* fix path
* fix build paths
* fix tag
* nightly runs
* added matrix in github workflow, renamed files
* fix job
* fix matrix
* removed brackes
* from json
* without using job matrix
* fix quotes
* revert job matrix
* fix workflow
* fix comment
* added comment
* nightly runs
* removed datadog ci as it is already measured in linux one
* running test
* Revert "running test"
This reverts commit 7013d15a23732179d18ec5d17336e16b26fab5d4.
* pr comment fixes
* running test now
* running subset of test
* running subset of test
* job matrix
* shell bash
* removed bash shell
* linux machine for job matrix
* fix output
* added cat to debug
* using ubuntu latest
* fix job matrix
* fix win true
* fix go test
* revert job matrix
* Fix tests
---------
Co-authored-by: Ivan K Berlot <ivanberlot@gmail.com>
Co-authored-by: Jose Ignacio Lorenzo <74208929+joselo85@users.noreply.github.com>
Co-authored-by: Franco Bruno Lavayen <cocolavayen@gmail.com>
Co-authored-by: Ezequiel Fernández Ponce <20102608+ezfepo@users.noreply.github.com>
Co-authored-by: joselo85 <joseignaciolorenzo85@gmail.com>
Co-authored-by: Ezequiel Fernández Ponce <ezequiel.fernandez@southworks.com>
Co-authored-by: Dhia Ayachi <dhia@hashicorp.com>
* NET-4996 - filter go-tests and test-integration workflows from running on docs only and ui only changes (#18236)
* Align build arch matrix with enterprise (#18235)
Ensure that OSS remains in sync w/ Enterprise by aligning the format of
arch matrix args for various build jobs.
* Revert "NET-4996 - filter go-tests and test-integration workflows from running on docs only and ui only changes" (#18248)
Revert "NET-4996 - filter go-tests and test-integration workflows from running on docs only and ui only changes (#18236)"
This reverts commit a11dba710e6ce6f172c0fa6c9b61567cc1efffc8.
* resource: Add scope to resource type registration [NET-4976] (#18214)
Enables querying a resource type's registration to determine if a resource is cluster, partition, or partition and namespace scoped.
* Fix some inconsistencies in jwt docs (#18234)
* NET-1825: More new ACL token creation docs (#18063)
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
* [CC-5719] Add support for builtin global-read-only policy
* Add changelog
* Add read-only to docs
* Fix some minor issues.
* Change from ReplaceAll to Sprintf
* Change IsValidPolicy name to return an error instead of bool
* Fix PolicyList test
* Fix other tests
* Apply suggestions from code review
Co-authored-by: Paul Glass <pglass@hashicorp.com>
* Fix state store test for policy list.
* Fix naming issues
* Update acl/validation.go
Co-authored-by: Chris Thain <32781396+cthain@users.noreply.github.com>
* backport of commit d63fa5481dc02c6faae7cc2647b4073b3286af1d
* backport of commit 3d099a6ed8ed10b6dc464c466cb1668914db8f08
---------
Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: Dan Bond <danbond@protonmail.com>
Signed-off-by: josh <josh.timmons@hashicorp.com>
Co-authored-by: Michael Zalimeni <michael.zalimeni@hashicorp.com>
Co-authored-by: Ronald <roncodingenthusiast@users.noreply.github.com>
Co-authored-by: Eric Haberkorn <erichaberkorn@gmail.com>
Co-authored-by: Andrew Stucki <andrew.stucki@hashicorp.com>
Co-authored-by: Luke Kysow <1034429+lkysow@users.noreply.github.com>
Co-authored-by: R.B. Boyer <4903+rboyer@users.noreply.github.com>
Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com>
Co-authored-by: David Yu <dyu@hashicorp.com>
Co-authored-by: Bryce Kalow <bkalow@hashicorp.com>
Co-authored-by: Paul Glass <pglass@hashicorp.com>
Co-authored-by: Matt Keeler <mkeeler@users.noreply.github.com>
Co-authored-by: Nathan Coleman <nathan.coleman@hashicorp.com>
Co-authored-by: Poonam Jadhav <poonam.jadhav@hashicorp.com>
Co-authored-by: Tu Nguyen <im2nguyen@users.noreply.github.com>
Co-authored-by: Chris Thain <32781396+cthain@users.noreply.github.com>
Co-authored-by: Hariram Sankaran <56744845+ramramhariram@users.noreply.github.com>
Co-authored-by: shanafarkas <105076572+shanafarkas@users.noreply.github.com>
Co-authored-by: Thomas Eckert <teckert@hashicorp.com>
Co-authored-by: Jeff Apple <79924108+Jeff-Apple@users.noreply.github.com>
Co-authored-by: Joshua Timmons <josh.timmons@hashicorp.com>
Co-authored-by: Ashesh Vidyut <134911583+absolutelightning@users.noreply.github.com>
Co-authored-by: Dan Stough <dan.stough@hashicorp.com>
Co-authored-by: Curt Bushko <cbushko@gmail.com>
Co-authored-by: Tobias Birkefeld <t@craxs.de>
Co-authored-by: Jared Kirschner <85913323+jkirschner-hashicorp@users.noreply.github.com>
Co-authored-by: Semir Patel <semir.patel@hashicorp.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: chappie <6537530+chapmanc@users.noreply.github.com>
Co-authored-by: Derek Menteer <105233703+hashi-derek@users.noreply.github.com>
Co-authored-by: John Murret <john.murret@hashicorp.com>
Co-authored-by: Mark Campbell-Vincent <mnmvincent@gmail.com>
Co-authored-by: Daniel Upton <daniel@floppy.co>
Co-authored-by: Steven Zamborsky <97125550+stevenzamborsky@users.noreply.github.com>
Co-authored-by: George Bolo <george.bolo@gmail.com>
Co-authored-by: Chris S. Kim <ckim@hashicorp.com>
Co-authored-by: wangxinyi7 <121973291+wangxinyi7@users.noreply.github.com>
Co-authored-by: cskh <hui.kang@hashicorp.com>
Co-authored-by: V. K <cn007b@gmail.com>
Co-authored-by: Iryna Shustava <ishustava@users.noreply.github.com>
Co-authored-by: Alex Simenduev <shamil.si@gmail.com>
Co-authored-by: Dhia Ayachi <dhia@hashicorp.com>
Co-authored-by: Dan Bond <danbond@protonmail.com>
Co-authored-by: sarahalsmiller <100602640+sarahalsmiller@users.noreply.github.com>
Co-authored-by: Gerard Nguyen <gerard@hashicorp.com>
Co-authored-by: mr-miles <miles.waller@gmail.com>
Co-authored-by: natemollica-dev <57850649+natemollica-nm@users.noreply.github.com>
Co-authored-by: John Maguire <john.maguire@hashicorp.com>
Co-authored-by: Samantha <hello@entropy.cat>
Co-authored-by: Ranjandas <thejranjan@gmail.com>
Co-authored-by: Evan Phoenix <evan@phx.io>
Co-authored-by: Michael Hofer <karras@users.noreply.github.com>
Co-authored-by: J.C. Jones <james.jc.jones@gmail.com>
Co-authored-by: Fulvio <fulviodenza823@gmail.com>
Co-authored-by: Krastin Krastev <krastin@hashicorp.com>
Co-authored-by: david3a <49253132+david3a@users.noreply.github.com>
Co-authored-by: Nick Irvine <115657443+nfi-hashicorp@users.noreply.github.com>
Co-authored-by: Tom Davies <tom@t-davies.com>
Co-authored-by: Vijay <vijayraghav22@gmail.com>
Co-authored-by: Eddie Rowe <74205376+eddie-rowe@users.noreply.github.com>
Co-authored-by: emilymianeil <eneil@hashicorp.com>
Co-authored-by: nv-hashi <80716011+nv-hashi@users.noreply.github.com>
Co-authored-by: Franco Bruno Lavayen <cocolavayen@gmail.com>
Co-authored-by: Jose Ignacio Lorenzo <74208929+joselo85@users.noreply.github.com>
Co-authored-by: Jose Ignacio Lorenzo <joseignaciolorenzo85@gmail.com>
Co-authored-by: R.B. Boyer <rb@hashicorp.com>
Co-authored-by: Freddy <freddygv@users.noreply.github.com>
Co-authored-by: NiniOak <anita.akaeze@hashicorp.com>
Co-authored-by: hashicorp-tsccr[bot] <129506189+hashicorp-tsccr[bot]@users.noreply.github.com>
Co-authored-by: hashicorp-tsccr[bot] <hashicorp-tsccr[bot]@users.noreply.github.com>
Co-authored-by: Blake Covarrubias <blake@covarrubi.as>
Co-authored-by: Ivan K Berlot <ivanberlot@gmail.com>
Co-authored-by: Ezequiel Fernández Ponce <20102608+ezfepo@users.noreply.github.com>
Co-authored-by: Ezequiel Fernández Ponce <ezequiel.fernandez@southworks.com>
Co-authored-by: Nitya Dhanushkodi <nitya@hashicorp.com>
Co-authored-by: Jeremy Jacobson <jjacobson93@users.noreply.github.com>
Co-authored-by: lornasong <lornasong@users.noreply.github.com>
Co-authored-by: Judith Malnick <judith@hashicorp.com>
Co-authored-by: Jeremy Jacobson <jeremy.jacobson@hashicorp.com>
2023-08-01 17:37:13 +00:00
|
|
|
return strings.HasPrefix(id, ACLReservedIDPrefix)
|
2018-10-19 16:04:07 +00:00
|
|
|
}
|
|
|
|
|
2017-08-03 00:05:18 +00:00
|
|
|
// ACLBootstrapNotAllowedErr is returned once we know that a bootstrap can no
|
2018-10-19 16:04:07 +00:00
|
|
|
// longer be done since the cluster was bootstrapped
|
2017-08-03 00:05:18 +00:00
|
|
|
var ACLBootstrapNotAllowedErr = errors.New("ACL bootstrap no longer allowed")
|
|
|
|
|
2018-10-19 16:04:07 +00:00
|
|
|
// ACLBootstrapInvalidResetIndexErr is returned when bootstrap is requested with a non-zero
|
|
|
|
// reset index but the index doesn't match the bootstrap index
|
|
|
|
var ACLBootstrapInvalidResetIndexErr = errors.New("Invalid ACL bootstrap reset index")
|
2017-08-03 00:05:18 +00:00
|
|
|
|
2018-10-19 16:04:07 +00:00
|
|
|
type ACLIdentity interface {
|
2022-01-22 19:33:09 +00:00
|
|
|
// ID returns the accessor ID, a string that can be used for logging and
|
|
|
|
// telemetry. It is not the secret ID used for authentication.
|
2018-10-19 16:04:07 +00:00
|
|
|
ID() string
|
|
|
|
SecretToken() string
|
|
|
|
PolicyIDs() []string
|
2019-04-15 20:43:19 +00:00
|
|
|
RoleIDs() []string
|
2019-04-08 18:19:09 +00:00
|
|
|
ServiceIdentityList() []*ACLServiceIdentity
|
2020-06-16 16:54:27 +00:00
|
|
|
NodeIdentityList() []*ACLNodeIdentity
|
2019-04-08 17:05:51 +00:00
|
|
|
IsExpired(asOf time.Time) bool
|
2020-03-10 16:15:22 +00:00
|
|
|
IsLocal() bool
|
2022-03-13 03:55:53 +00:00
|
|
|
EnterpriseMetadata() *acl.EnterpriseMeta
|
2018-10-19 16:04:07 +00:00
|
|
|
}
|
2022-09-09 19:05:38 +00:00
|
|
|
|
2018-10-19 16:04:07 +00:00
|
|
|
type ACLTokenPolicyLink struct {
|
|
|
|
ID string
|
|
|
|
Name string `hash:"ignore"`
|
|
|
|
}
|
|
|
|
|
2019-04-15 20:43:19 +00:00
|
|
|
type ACLTokenRoleLink struct {
|
|
|
|
ID string
|
|
|
|
Name string `hash:"ignore"`
|
|
|
|
}
|
|
|
|
|
2019-04-08 18:19:09 +00:00
|
|
|
// ACLServiceIdentity represents a high-level grant of all necessary privileges
|
|
|
|
// to assume the identity of the named Service in the Catalog and within
|
|
|
|
// Connect.
|
|
|
|
type ACLServiceIdentity struct {
|
|
|
|
ServiceName string
|
|
|
|
|
|
|
|
// Datacenters that the synthetic policy will be valid within.
|
|
|
|
// - No wildcards allowed
|
|
|
|
// - If empty then the synthetic policy is valid within all datacenters
|
|
|
|
//
|
|
|
|
// Only valid for global tokens. It is an error to specify this for local tokens.
|
|
|
|
Datacenters []string `json:",omitempty"`
|
|
|
|
}
|
|
|
|
|
|
|
|
func (s *ACLServiceIdentity) Clone() *ACLServiceIdentity {
|
|
|
|
s2 := *s
|
2022-03-31 19:11:49 +00:00
|
|
|
s2.Datacenters = stringslice.CloneStringSlice(s.Datacenters)
|
2019-04-08 18:19:09 +00:00
|
|
|
return &s2
|
|
|
|
}
|
|
|
|
|
|
|
|
func (s *ACLServiceIdentity) AddToHash(h hash.Hash) {
|
|
|
|
h.Write([]byte(s.ServiceName))
|
|
|
|
for _, dc := range s.Datacenters {
|
|
|
|
h.Write([]byte(dc))
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2019-04-15 20:43:19 +00:00
|
|
|
func (s *ACLServiceIdentity) EstimateSize() int {
|
|
|
|
size := len(s.ServiceName)
|
|
|
|
for _, dc := range s.Datacenters {
|
|
|
|
size += len(dc)
|
|
|
|
}
|
|
|
|
return size
|
|
|
|
}
|
|
|
|
|
2022-03-13 03:55:53 +00:00
|
|
|
func (s *ACLServiceIdentity) SyntheticPolicy(entMeta *acl.EnterpriseMeta) *ACLPolicy {
|
2019-04-08 18:19:09 +00:00
|
|
|
// Given that we validate this string name before persisting, we do not
|
|
|
|
// have to escape it before doing the following interpolation.
|
2019-10-24 18:38:09 +00:00
|
|
|
rules := aclServiceIdentityRules(s.ServiceName, entMeta)
|
2019-04-08 18:19:09 +00:00
|
|
|
|
|
|
|
hasher := fnv.New128a()
|
2019-04-26 17:49:28 +00:00
|
|
|
hashID := fmt.Sprintf("%x", hasher.Sum([]byte(rules)))
|
|
|
|
|
2019-04-08 18:19:09 +00:00
|
|
|
policy := &ACLPolicy{}
|
2019-04-26 17:49:28 +00:00
|
|
|
policy.ID = hashID
|
|
|
|
policy.Name = fmt.Sprintf("synthetic-policy-%s", hashID)
|
2022-03-31 16:49:11 +00:00
|
|
|
sn := NewServiceName(s.ServiceName, entMeta)
|
|
|
|
policy.Description = fmt.Sprintf("synthetic policy for service identity %q", sn.String())
|
2019-04-08 18:19:09 +00:00
|
|
|
policy.Rules = rules
|
|
|
|
policy.Datacenters = s.Datacenters
|
2020-02-11 00:26:01 +00:00
|
|
|
policy.EnterpriseMeta.Merge(entMeta)
|
2019-04-08 18:19:09 +00:00
|
|
|
policy.SetHash(true)
|
|
|
|
return policy
|
|
|
|
}
|
|
|
|
|
2022-05-04 16:38:45 +00:00
|
|
|
type ACLServiceIdentities []*ACLServiceIdentity
|
|
|
|
|
|
|
|
// Deduplicate returns a new list of service identities without duplicates.
|
|
|
|
// Identities with the same ServiceName but different datacenters will be
|
|
|
|
// merged into a single identity with all datacenters.
|
|
|
|
func (ids ACLServiceIdentities) Deduplicate() ACLServiceIdentities {
|
|
|
|
unique := make(map[string]*ACLServiceIdentity)
|
|
|
|
|
|
|
|
for _, id := range ids {
|
|
|
|
entry, ok := unique[id.ServiceName]
|
|
|
|
if ok {
|
|
|
|
dcs := stringslice.CloneStringSlice(id.Datacenters)
|
|
|
|
sort.Strings(dcs)
|
|
|
|
entry.Datacenters = stringslice.MergeSorted(dcs, entry.Datacenters)
|
|
|
|
} else {
|
|
|
|
entry = id.Clone()
|
|
|
|
sort.Strings(entry.Datacenters)
|
|
|
|
unique[id.ServiceName] = entry
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
results := make(ACLServiceIdentities, 0, len(unique))
|
|
|
|
for _, id := range unique {
|
|
|
|
results = append(results, id)
|
|
|
|
}
|
|
|
|
return results
|
|
|
|
}
|
|
|
|
|
2020-06-16 16:54:27 +00:00
|
|
|
// ACLNodeIdentity represents a high-level grant of all privileges
|
|
|
|
// necessary to assume the identity of that node and manage it.
|
|
|
|
type ACLNodeIdentity struct {
|
|
|
|
// NodeName identities the Node that this identity authorizes access to
|
|
|
|
NodeName string
|
|
|
|
|
|
|
|
// Datacenter is required and specifies the datacenter of the node.
|
|
|
|
Datacenter string
|
|
|
|
}
|
|
|
|
|
|
|
|
func (s *ACLNodeIdentity) Clone() *ACLNodeIdentity {
|
|
|
|
s2 := *s
|
|
|
|
return &s2
|
|
|
|
}
|
|
|
|
|
|
|
|
func (s *ACLNodeIdentity) AddToHash(h hash.Hash) {
|
|
|
|
h.Write([]byte(s.NodeName))
|
|
|
|
h.Write([]byte(s.Datacenter))
|
|
|
|
}
|
|
|
|
|
|
|
|
func (s *ACLNodeIdentity) EstimateSize() int {
|
|
|
|
return len(s.NodeName) + len(s.Datacenter)
|
|
|
|
}
|
|
|
|
|
2022-03-13 03:55:53 +00:00
|
|
|
func (s *ACLNodeIdentity) SyntheticPolicy(entMeta *acl.EnterpriseMeta) *ACLPolicy {
|
2020-06-16 16:54:27 +00:00
|
|
|
// Given that we validate this string name before persisting, we do not
|
|
|
|
// have to escape it before doing the following interpolation.
|
2021-09-16 14:17:02 +00:00
|
|
|
rules := aclNodeIdentityRules(s.NodeName, entMeta)
|
2020-06-16 16:54:27 +00:00
|
|
|
|
|
|
|
hasher := fnv.New128a()
|
|
|
|
hashID := fmt.Sprintf("%x", hasher.Sum([]byte(rules)))
|
|
|
|
|
|
|
|
policy := &ACLPolicy{}
|
|
|
|
policy.ID = hashID
|
|
|
|
policy.Name = fmt.Sprintf("synthetic-policy-%s", hashID)
|
2022-03-31 16:49:11 +00:00
|
|
|
policy.Description = fmt.Sprintf("synthetic policy for node identity %q", s.NodeName)
|
2020-06-16 16:54:27 +00:00
|
|
|
policy.Rules = rules
|
|
|
|
policy.Datacenters = []string{s.Datacenter}
|
2021-09-16 14:17:02 +00:00
|
|
|
policy.EnterpriseMeta.Merge(entMeta)
|
2020-06-16 16:54:27 +00:00
|
|
|
policy.SetHash(true)
|
|
|
|
return policy
|
|
|
|
}
|
|
|
|
|
2022-05-04 16:38:45 +00:00
|
|
|
type ACLNodeIdentities []*ACLNodeIdentity
|
|
|
|
|
|
|
|
// Deduplicate returns a new list of node identities without duplicates.
|
|
|
|
func (ids ACLNodeIdentities) Deduplicate() ACLNodeIdentities {
|
|
|
|
type mapKey struct {
|
|
|
|
nodeName, datacenter string
|
|
|
|
}
|
|
|
|
seen := make(map[mapKey]struct{})
|
|
|
|
|
|
|
|
var results ACLNodeIdentities
|
|
|
|
for _, id := range ids {
|
|
|
|
key := mapKey{id.NodeName, id.Datacenter}
|
|
|
|
if _, ok := seen[key]; ok {
|
|
|
|
continue
|
|
|
|
}
|
|
|
|
results = append(results, id.Clone())
|
|
|
|
seen[key] = struct{}{}
|
|
|
|
}
|
|
|
|
return results
|
|
|
|
}
|
|
|
|
|
2018-10-19 16:04:07 +00:00
|
|
|
type ACLToken struct {
|
|
|
|
// This is the UUID used for tracking and management purposes
|
|
|
|
AccessorID string
|
|
|
|
|
|
|
|
// This is the UUID used as the api token by clients
|
|
|
|
SecretID string
|
|
|
|
|
|
|
|
// Human readable string to display for the token (Optional)
|
|
|
|
Description string
|
|
|
|
|
2019-04-08 18:19:09 +00:00
|
|
|
// List of policy links - nil/empty for legacy tokens or if service identities are in use.
|
2018-10-19 16:04:07 +00:00
|
|
|
// Note this is the list of IDs and not the names. Prior to token creation
|
|
|
|
// the list of policy names gets validated and the policy IDs get stored herein
|
2019-04-08 18:19:09 +00:00
|
|
|
Policies []ACLTokenPolicyLink `json:",omitempty"`
|
|
|
|
|
2019-04-15 20:43:19 +00:00
|
|
|
// List of role links. Note this is the list of IDs and not the names.
|
|
|
|
// Prior to token creation the list of role names gets validated and the
|
|
|
|
// role IDs get stored herein
|
|
|
|
Roles []ACLTokenRoleLink `json:",omitempty"`
|
|
|
|
|
2019-04-08 18:19:09 +00:00
|
|
|
// List of services to generate synthetic policies for.
|
2022-05-04 16:38:45 +00:00
|
|
|
ServiceIdentities ACLServiceIdentities `json:",omitempty"`
|
2018-10-19 16:04:07 +00:00
|
|
|
|
2020-06-16 16:54:27 +00:00
|
|
|
// The node identities that this token should be allowed to manage.
|
2022-05-04 16:38:45 +00:00
|
|
|
NodeIdentities ACLNodeIdentities `json:",omitempty"`
|
2020-06-16 16:54:27 +00:00
|
|
|
|
2018-10-19 16:04:07 +00:00
|
|
|
// Whether this token is DC local. This means that it will not be synced
|
|
|
|
// to the ACL datacenter and replicated to others.
|
|
|
|
Local bool
|
2017-08-03 00:05:18 +00:00
|
|
|
|
2019-04-26 17:49:28 +00:00
|
|
|
// AuthMethod is the name of the auth method used to create this token.
|
|
|
|
AuthMethod string `json:",omitempty"`
|
|
|
|
|
2020-01-14 15:09:29 +00:00
|
|
|
// ACLAuthMethodEnterpriseMeta is the EnterpriseMeta for the AuthMethod that this token was created from
|
|
|
|
ACLAuthMethodEnterpriseMeta
|
|
|
|
|
2019-04-08 17:05:51 +00:00
|
|
|
// ExpirationTime represents the point after which a token should be
|
|
|
|
// considered revoked and is eligible for destruction. The zero value
|
|
|
|
// represents NO expiration.
|
2019-04-15 18:35:55 +00:00
|
|
|
//
|
|
|
|
// This is a pointer value so that the zero value is omitted properly
|
|
|
|
// during json serialization. time.Time does not respect json omitempty
|
|
|
|
// directives unfortunately.
|
|
|
|
ExpirationTime *time.Time `json:",omitempty"`
|
2019-04-08 17:05:51 +00:00
|
|
|
|
|
|
|
// ExpirationTTL is a convenience field for helping set ExpirationTime to a
|
|
|
|
// value of CreateTime+ExpirationTTL. This can only be set during
|
|
|
|
// TokenCreate and is cleared and used to initialize the ExpirationTime
|
|
|
|
// field before being persisted to the state store or raft log.
|
|
|
|
//
|
|
|
|
// This is a string version of a time.Duration like "2m".
|
|
|
|
ExpirationTTL time.Duration `json:",omitempty"`
|
|
|
|
|
2018-10-19 16:04:07 +00:00
|
|
|
// The time when this token was created
|
|
|
|
CreateTime time.Time `json:",omitempty"`
|
|
|
|
|
|
|
|
// Hash of the contents of the token
|
|
|
|
//
|
|
|
|
// This is needed mainly for replication purposes. When replicating from
|
|
|
|
// one DC to another keeping the content Hash will allow us to avoid
|
|
|
|
// unnecessary calls to the authoritative DC
|
|
|
|
Hash []byte
|
|
|
|
|
2019-10-24 18:38:09 +00:00
|
|
|
// Embedded Enterprise Metadata
|
2022-03-13 03:55:53 +00:00
|
|
|
acl.EnterpriseMeta `mapstructure:",squash"`
|
2019-10-24 18:38:09 +00:00
|
|
|
|
2018-10-19 16:04:07 +00:00
|
|
|
// Embedded Raft Metadata
|
2017-08-03 00:05:18 +00:00
|
|
|
RaftIndex
|
|
|
|
}
|
|
|
|
|
2019-10-29 18:13:36 +00:00
|
|
|
func (t *ACLToken) UnmarshalJSON(data []byte) (err error) {
|
|
|
|
type Alias ACLToken
|
|
|
|
aux := &struct {
|
|
|
|
ExpirationTTL interface{}
|
|
|
|
Hash string
|
|
|
|
*Alias
|
|
|
|
}{
|
|
|
|
Alias: (*Alias)(t),
|
|
|
|
}
|
2019-12-06 16:14:56 +00:00
|
|
|
|
|
|
|
if err = lib.UnmarshalJSON(data, &aux); err != nil {
|
2019-10-29 18:13:36 +00:00
|
|
|
return err
|
|
|
|
}
|
|
|
|
if aux.ExpirationTTL != nil {
|
|
|
|
switch v := aux.ExpirationTTL.(type) {
|
|
|
|
case string:
|
|
|
|
if t.ExpirationTTL, err = time.ParseDuration(v); err != nil {
|
|
|
|
return err
|
|
|
|
}
|
|
|
|
case float64:
|
|
|
|
t.ExpirationTTL = time.Duration(v)
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
if aux.Hash != "" {
|
|
|
|
t.Hash = []byte(aux.Hash)
|
|
|
|
}
|
|
|
|
return nil
|
|
|
|
}
|
|
|
|
|
2019-02-12 22:09:26 +00:00
|
|
|
func (t *ACLToken) Clone() *ACLToken {
|
|
|
|
t2 := *t
|
|
|
|
t2.Policies = nil
|
2019-04-15 20:43:19 +00:00
|
|
|
t2.Roles = nil
|
2019-04-08 18:19:09 +00:00
|
|
|
t2.ServiceIdentities = nil
|
2020-06-16 16:54:27 +00:00
|
|
|
t2.NodeIdentities = nil
|
2019-02-12 22:09:26 +00:00
|
|
|
|
|
|
|
if len(t.Policies) > 0 {
|
|
|
|
t2.Policies = make([]ACLTokenPolicyLink, len(t.Policies))
|
|
|
|
copy(t2.Policies, t.Policies)
|
|
|
|
}
|
2019-04-15 20:43:19 +00:00
|
|
|
if len(t.Roles) > 0 {
|
|
|
|
t2.Roles = make([]ACLTokenRoleLink, len(t.Roles))
|
|
|
|
copy(t2.Roles, t.Roles)
|
|
|
|
}
|
2019-04-08 18:19:09 +00:00
|
|
|
if len(t.ServiceIdentities) > 0 {
|
|
|
|
t2.ServiceIdentities = make([]*ACLServiceIdentity, len(t.ServiceIdentities))
|
|
|
|
for i, s := range t.ServiceIdentities {
|
|
|
|
t2.ServiceIdentities[i] = s.Clone()
|
|
|
|
}
|
|
|
|
}
|
2020-06-16 16:54:27 +00:00
|
|
|
if len(t.NodeIdentities) > 0 {
|
|
|
|
t2.NodeIdentities = make([]*ACLNodeIdentity, len(t.NodeIdentities))
|
|
|
|
for i, n := range t.NodeIdentities {
|
|
|
|
t2.NodeIdentities[i] = n.Clone()
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2019-02-12 22:09:26 +00:00
|
|
|
return &t2
|
|
|
|
}
|
|
|
|
|
2018-10-19 16:04:07 +00:00
|
|
|
func (t *ACLToken) ID() string {
|
|
|
|
return t.AccessorID
|
|
|
|
}
|
|
|
|
|
|
|
|
func (t *ACLToken) SecretToken() string {
|
|
|
|
return t.SecretID
|
|
|
|
}
|
|
|
|
|
|
|
|
func (t *ACLToken) PolicyIDs() []string {
|
2019-04-08 18:19:09 +00:00
|
|
|
if len(t.Policies) == 0 {
|
|
|
|
return nil
|
|
|
|
}
|
|
|
|
|
|
|
|
ids := make([]string, 0, len(t.Policies))
|
2018-10-19 16:04:07 +00:00
|
|
|
for _, link := range t.Policies {
|
|
|
|
ids = append(ids, link.ID)
|
|
|
|
}
|
|
|
|
return ids
|
|
|
|
}
|
2017-08-03 00:05:18 +00:00
|
|
|
|
2019-04-15 20:43:19 +00:00
|
|
|
func (t *ACLToken) RoleIDs() []string {
|
2019-04-26 17:49:28 +00:00
|
|
|
if len(t.Roles) == 0 {
|
|
|
|
return nil
|
|
|
|
}
|
|
|
|
|
|
|
|
ids := make([]string, 0, len(t.Roles))
|
2019-04-15 20:43:19 +00:00
|
|
|
for _, link := range t.Roles {
|
|
|
|
ids = append(ids, link.ID)
|
|
|
|
}
|
|
|
|
return ids
|
|
|
|
}
|
|
|
|
|
2019-04-08 18:19:09 +00:00
|
|
|
func (t *ACLToken) ServiceIdentityList() []*ACLServiceIdentity {
|
|
|
|
if len(t.ServiceIdentities) == 0 {
|
|
|
|
return nil
|
|
|
|
}
|
|
|
|
|
|
|
|
out := make([]*ACLServiceIdentity, 0, len(t.ServiceIdentities))
|
|
|
|
for _, s := range t.ServiceIdentities {
|
|
|
|
out = append(out, s.Clone())
|
|
|
|
}
|
|
|
|
return out
|
|
|
|
}
|
|
|
|
|
2019-04-08 17:05:51 +00:00
|
|
|
func (t *ACLToken) IsExpired(asOf time.Time) bool {
|
2019-04-15 18:35:55 +00:00
|
|
|
if asOf.IsZero() || !t.HasExpirationTime() {
|
2019-04-08 17:05:51 +00:00
|
|
|
return false
|
|
|
|
}
|
|
|
|
return t.ExpirationTime.Before(asOf)
|
|
|
|
}
|
|
|
|
|
2020-03-10 16:15:22 +00:00
|
|
|
func (t *ACLToken) IsLocal() bool {
|
|
|
|
return t.Local
|
|
|
|
}
|
|
|
|
|
2019-04-15 18:35:55 +00:00
|
|
|
func (t *ACLToken) HasExpirationTime() bool {
|
|
|
|
return t.ExpirationTime != nil && !t.ExpirationTime.IsZero()
|
|
|
|
}
|
|
|
|
|
2022-03-13 03:55:53 +00:00
|
|
|
func (t *ACLToken) EnterpriseMetadata() *acl.EnterpriseMeta {
|
2019-10-24 18:38:09 +00:00
|
|
|
return &t.EnterpriseMeta
|
|
|
|
}
|
|
|
|
|
2018-10-19 16:04:07 +00:00
|
|
|
func (t *ACLToken) SetHash(force bool) []byte {
|
|
|
|
if force || t.Hash == nil {
|
|
|
|
// Initialize a 256bit Blake2 hash (32 bytes)
|
|
|
|
hash, err := blake2b.New256(nil)
|
|
|
|
if err != nil {
|
|
|
|
panic(err)
|
|
|
|
}
|
2017-08-03 00:05:18 +00:00
|
|
|
|
2019-04-08 17:05:51 +00:00
|
|
|
// Any non-immutable "content" fields should be involved with the
|
|
|
|
// overall hash. The IDs are immutable which is why they aren't here.
|
|
|
|
// The raft indices are metadata similar to the hash which is why they
|
|
|
|
// aren't incorporated. CreateTime is similarly immutable
|
|
|
|
//
|
|
|
|
// The Hash is really only used for replication to determine if a token
|
|
|
|
// has changed and should be updated locally.
|
|
|
|
|
2018-10-19 16:04:07 +00:00
|
|
|
// Write all the user set fields
|
|
|
|
hash.Write([]byte(t.Description))
|
|
|
|
|
|
|
|
if t.Local {
|
|
|
|
hash.Write([]byte("local"))
|
|
|
|
} else {
|
|
|
|
hash.Write([]byte("global"))
|
|
|
|
}
|
|
|
|
|
|
|
|
for _, link := range t.Policies {
|
|
|
|
hash.Write([]byte(link.ID))
|
|
|
|
}
|
|
|
|
|
2019-04-15 20:43:19 +00:00
|
|
|
for _, link := range t.Roles {
|
|
|
|
hash.Write([]byte(link.ID))
|
|
|
|
}
|
|
|
|
|
2019-04-08 18:19:09 +00:00
|
|
|
for _, srvid := range t.ServiceIdentities {
|
|
|
|
srvid.AddToHash(hash)
|
|
|
|
}
|
|
|
|
|
2020-06-16 16:54:27 +00:00
|
|
|
for _, nodeID := range t.NodeIdentities {
|
|
|
|
nodeID.AddToHash(hash)
|
|
|
|
}
|
|
|
|
|
2022-03-13 03:55:53 +00:00
|
|
|
t.EnterpriseMeta.AddToHash(hash, false)
|
2019-10-24 18:38:09 +00:00
|
|
|
|
2018-10-19 16:04:07 +00:00
|
|
|
// Finalize the hash
|
|
|
|
hashVal := hash.Sum(nil)
|
|
|
|
|
|
|
|
// Set and return the hash
|
|
|
|
t.Hash = hashVal
|
|
|
|
}
|
|
|
|
return t.Hash
|
|
|
|
}
|
|
|
|
|
|
|
|
func (t *ACLToken) EstimateSize() int {
|
2019-04-08 17:05:51 +00:00
|
|
|
// 41 = 16 (RaftIndex) + 8 (Hash) + 8 (ExpirationTime) + 8 (CreateTime) + 1 (Local)
|
2023-02-06 15:35:52 +00:00
|
|
|
size := 41 + len(t.AccessorID) + len(t.SecretID) + len(t.Description) + len(t.AuthMethod)
|
2018-10-19 16:04:07 +00:00
|
|
|
for _, link := range t.Policies {
|
|
|
|
size += len(link.ID) + len(link.Name)
|
|
|
|
}
|
2019-04-15 20:43:19 +00:00
|
|
|
for _, link := range t.Roles {
|
|
|
|
size += len(link.ID) + len(link.Name)
|
|
|
|
}
|
2019-04-08 18:19:09 +00:00
|
|
|
for _, srvid := range t.ServiceIdentities {
|
2019-04-15 20:43:19 +00:00
|
|
|
size += srvid.EstimateSize()
|
2019-04-08 18:19:09 +00:00
|
|
|
}
|
2020-06-16 16:54:27 +00:00
|
|
|
for _, nodeID := range t.NodeIdentities {
|
|
|
|
size += nodeID.EstimateSize()
|
|
|
|
}
|
2022-03-13 03:55:53 +00:00
|
|
|
return size + t.EnterpriseMeta.EstimateSize()
|
2018-10-19 16:04:07 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
// ACLTokens is a slice of ACLTokens.
|
|
|
|
type ACLTokens []*ACLToken
|
|
|
|
|
|
|
|
type ACLTokenListStub struct {
|
2019-04-08 18:19:09 +00:00
|
|
|
AccessorID string
|
2021-07-08 22:13:08 +00:00
|
|
|
SecretID string
|
2019-04-08 18:19:09 +00:00
|
|
|
Description string
|
2022-05-04 16:38:45 +00:00
|
|
|
Policies []ACLTokenPolicyLink `json:",omitempty"`
|
|
|
|
Roles []ACLTokenRoleLink `json:",omitempty"`
|
|
|
|
ServiceIdentities ACLServiceIdentities `json:",omitempty"`
|
|
|
|
NodeIdentities ACLNodeIdentities `json:",omitempty"`
|
2019-04-08 18:19:09 +00:00
|
|
|
Local bool
|
2019-04-26 17:49:28 +00:00
|
|
|
AuthMethod string `json:",omitempty"`
|
2019-04-15 18:35:55 +00:00
|
|
|
ExpirationTime *time.Time `json:",omitempty"`
|
|
|
|
CreateTime time.Time `json:",omitempty"`
|
2019-04-08 18:19:09 +00:00
|
|
|
Hash []byte
|
|
|
|
CreateIndex uint64
|
|
|
|
ModifyIndex uint64
|
2022-03-13 03:55:53 +00:00
|
|
|
acl.EnterpriseMeta
|
2021-07-15 17:38:52 +00:00
|
|
|
ACLAuthMethodEnterpriseMeta
|
2018-10-19 16:04:07 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
type ACLTokenListStubs []*ACLTokenListStub
|
|
|
|
|
|
|
|
func (token *ACLToken) Stub() *ACLTokenListStub {
|
|
|
|
return &ACLTokenListStub{
|
2021-07-15 17:38:52 +00:00
|
|
|
AccessorID: token.AccessorID,
|
|
|
|
SecretID: token.SecretID,
|
|
|
|
Description: token.Description,
|
|
|
|
Policies: token.Policies,
|
|
|
|
Roles: token.Roles,
|
|
|
|
ServiceIdentities: token.ServiceIdentities,
|
|
|
|
NodeIdentities: token.NodeIdentities,
|
|
|
|
Local: token.Local,
|
|
|
|
AuthMethod: token.AuthMethod,
|
|
|
|
ExpirationTime: token.ExpirationTime,
|
|
|
|
CreateTime: token.CreateTime,
|
|
|
|
Hash: token.Hash,
|
|
|
|
CreateIndex: token.CreateIndex,
|
|
|
|
ModifyIndex: token.ModifyIndex,
|
|
|
|
EnterpriseMeta: token.EnterpriseMeta,
|
|
|
|
ACLAuthMethodEnterpriseMeta: token.ACLAuthMethodEnterpriseMeta,
|
2018-10-19 16:04:07 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
func (tokens ACLTokens) Sort() {
|
|
|
|
sort.Slice(tokens, func(i, j int) bool {
|
|
|
|
return tokens[i].AccessorID < tokens[j].AccessorID
|
|
|
|
})
|
|
|
|
}
|
|
|
|
|
|
|
|
func (tokens ACLTokenListStubs) Sort() {
|
|
|
|
sort.Slice(tokens, func(i, j int) bool {
|
|
|
|
return tokens[i].AccessorID < tokens[j].AccessorID
|
|
|
|
})
|
|
|
|
}
|
|
|
|
|
|
|
|
type ACLPolicy struct {
|
|
|
|
// This is the internal UUID associated with the policy
|
|
|
|
ID string
|
|
|
|
|
|
|
|
// Unique name to reference the policy by.
|
|
|
|
// - Valid Characters: [a-zA-Z0-9-]
|
|
|
|
// - Valid Lengths: 1 - 128
|
|
|
|
Name string
|
|
|
|
|
|
|
|
// Human readable description (Optional)
|
|
|
|
Description string
|
|
|
|
|
|
|
|
// The rule set (using the updated rule syntax)
|
|
|
|
Rules string
|
|
|
|
|
|
|
|
// Datacenters that the policy is valid within.
|
|
|
|
// - No wildcards allowed
|
|
|
|
// - If empty then the policy is valid within all datacenters
|
|
|
|
Datacenters []string `json:",omitempty"`
|
|
|
|
|
|
|
|
// Hash of the contents of the policy
|
|
|
|
// This does not take into account the ID (which is immutable)
|
|
|
|
// nor the raft metadata.
|
|
|
|
//
|
|
|
|
// This is needed mainly for replication purposes. When replicating from
|
|
|
|
// one DC to another keeping the content Hash will allow us to avoid
|
|
|
|
// unnecessary calls to the authoritative DC
|
|
|
|
Hash []byte
|
|
|
|
|
2019-10-24 18:38:09 +00:00
|
|
|
// Embedded Enterprise ACL Metadata
|
2022-03-13 03:55:53 +00:00
|
|
|
acl.EnterpriseMeta `mapstructure:",squash"`
|
2019-10-24 18:38:09 +00:00
|
|
|
|
2018-10-19 16:04:07 +00:00
|
|
|
// Embedded Raft Metadata
|
|
|
|
RaftIndex `hash:"ignore"`
|
|
|
|
}
|
|
|
|
|
2019-10-29 18:13:36 +00:00
|
|
|
func (t *ACLPolicy) UnmarshalJSON(data []byte) error {
|
|
|
|
type Alias ACLPolicy
|
|
|
|
aux := &struct {
|
|
|
|
Hash string
|
|
|
|
*Alias
|
|
|
|
}{
|
|
|
|
Alias: (*Alias)(t),
|
|
|
|
}
|
2019-12-06 16:14:56 +00:00
|
|
|
|
|
|
|
if err := lib.UnmarshalJSON(data, &aux); err != nil {
|
2019-10-29 18:13:36 +00:00
|
|
|
return err
|
|
|
|
}
|
|
|
|
if aux.Hash != "" {
|
|
|
|
t.Hash = []byte(aux.Hash)
|
|
|
|
}
|
|
|
|
return nil
|
|
|
|
}
|
|
|
|
|
2019-02-12 22:09:26 +00:00
|
|
|
func (p *ACLPolicy) Clone() *ACLPolicy {
|
|
|
|
p2 := *p
|
2022-03-31 19:11:49 +00:00
|
|
|
p2.Datacenters = stringslice.CloneStringSlice(p.Datacenters)
|
2019-02-12 22:09:26 +00:00
|
|
|
return &p2
|
|
|
|
}
|
|
|
|
|
2018-10-19 16:04:07 +00:00
|
|
|
type ACLPolicyListStub struct {
|
|
|
|
ID string
|
|
|
|
Name string
|
|
|
|
Description string
|
|
|
|
Datacenters []string
|
|
|
|
Hash []byte
|
|
|
|
CreateIndex uint64
|
|
|
|
ModifyIndex uint64
|
2022-03-13 03:55:53 +00:00
|
|
|
acl.EnterpriseMeta
|
2018-10-19 16:04:07 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
func (p *ACLPolicy) Stub() *ACLPolicyListStub {
|
|
|
|
return &ACLPolicyListStub{
|
2019-10-24 18:38:09 +00:00
|
|
|
ID: p.ID,
|
|
|
|
Name: p.Name,
|
|
|
|
Description: p.Description,
|
|
|
|
Datacenters: p.Datacenters,
|
|
|
|
Hash: p.Hash,
|
|
|
|
CreateIndex: p.CreateIndex,
|
|
|
|
ModifyIndex: p.ModifyIndex,
|
|
|
|
EnterpriseMeta: p.EnterpriseMeta,
|
2018-10-19 16:04:07 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
type ACLPolicies []*ACLPolicy
|
|
|
|
type ACLPolicyListStubs []*ACLPolicyListStub
|
|
|
|
|
|
|
|
func (p *ACLPolicy) SetHash(force bool) []byte {
|
|
|
|
if force || p.Hash == nil {
|
|
|
|
// Initialize a 256bit Blake2 hash (32 bytes)
|
|
|
|
hash, err := blake2b.New256(nil)
|
|
|
|
if err != nil {
|
|
|
|
panic(err)
|
|
|
|
}
|
|
|
|
|
2019-04-08 17:05:51 +00:00
|
|
|
// Any non-immutable "content" fields should be involved with the
|
|
|
|
// overall hash. The ID is immutable which is why it isn't here. The
|
|
|
|
// raft indices are metadata similar to the hash which is why they
|
|
|
|
// aren't incorporated. CreateTime is similarly immutable
|
|
|
|
//
|
|
|
|
// The Hash is really only used for replication to determine if a policy
|
|
|
|
// has changed and should be updated locally.
|
|
|
|
|
2018-10-19 16:04:07 +00:00
|
|
|
// Write all the user set fields
|
|
|
|
hash.Write([]byte(p.Name))
|
|
|
|
hash.Write([]byte(p.Description))
|
|
|
|
hash.Write([]byte(p.Rules))
|
|
|
|
for _, dc := range p.Datacenters {
|
|
|
|
hash.Write([]byte(dc))
|
|
|
|
}
|
|
|
|
|
2022-03-13 03:55:53 +00:00
|
|
|
p.EnterpriseMeta.AddToHash(hash, false)
|
2019-10-24 18:38:09 +00:00
|
|
|
|
2018-10-19 16:04:07 +00:00
|
|
|
// Finalize the hash
|
|
|
|
hashVal := hash.Sum(nil)
|
|
|
|
|
|
|
|
// Set and return the hash
|
|
|
|
p.Hash = hashVal
|
|
|
|
}
|
|
|
|
return p.Hash
|
|
|
|
}
|
|
|
|
|
|
|
|
func (p *ACLPolicy) EstimateSize() int {
|
|
|
|
// This is just an estimate. There is other data structure overhead
|
|
|
|
// pointers etc that this does not account for.
|
|
|
|
|
|
|
|
// 64 = 36 (uuid) + 16 (RaftIndex) + 8 (Hash) + 4 (Syntax)
|
|
|
|
size := 64 + len(p.Name) + len(p.Description) + len(p.Rules)
|
|
|
|
for _, dc := range p.Datacenters {
|
|
|
|
size += len(dc)
|
|
|
|
}
|
|
|
|
|
2022-03-13 03:55:53 +00:00
|
|
|
return size + p.EnterpriseMeta.EstimateSize()
|
2018-10-19 16:04:07 +00:00
|
|
|
}
|
|
|
|
|
2019-04-08 17:05:51 +00:00
|
|
|
// HashKey returns a consistent hash for a set of policies.
|
2018-10-19 16:04:07 +00:00
|
|
|
func (policies ACLPolicies) HashKey() string {
|
|
|
|
cacheKeyHash, err := blake2b.New256(nil)
|
|
|
|
if err != nil {
|
|
|
|
panic(err)
|
|
|
|
}
|
|
|
|
for _, policy := range policies {
|
|
|
|
cacheKeyHash.Write([]byte(policy.ID))
|
|
|
|
// including the modify index prevents a policy set from being
|
|
|
|
// cached if one of the policies has changed
|
|
|
|
binary.Write(cacheKeyHash, binary.BigEndian, policy.ModifyIndex)
|
|
|
|
}
|
|
|
|
return fmt.Sprintf("%x", cacheKeyHash.Sum(nil))
|
2017-08-03 00:05:18 +00:00
|
|
|
}
|
|
|
|
|
2018-10-19 16:04:07 +00:00
|
|
|
func (policies ACLPolicies) Sort() {
|
|
|
|
sort.Slice(policies, func(i, j int) bool {
|
|
|
|
return policies[i].ID < policies[j].ID
|
|
|
|
})
|
|
|
|
}
|
|
|
|
|
|
|
|
func (policies ACLPolicyListStubs) Sort() {
|
|
|
|
sort.Slice(policies, func(i, j int) bool {
|
|
|
|
return policies[i].ID < policies[j].ID
|
|
|
|
})
|
|
|
|
}
|
|
|
|
|
2019-12-18 18:44:32 +00:00
|
|
|
func (policies ACLPolicies) resolveWithCache(cache *ACLCaches, entConf *acl.Config) ([]*acl.Policy, error) {
|
2018-10-19 16:04:07 +00:00
|
|
|
// Parse the policies
|
|
|
|
parsed := make([]*acl.Policy, 0, len(policies))
|
|
|
|
for _, policy := range policies {
|
|
|
|
policy.SetHash(false)
|
|
|
|
cacheKey := fmt.Sprintf("%x", policy.Hash)
|
|
|
|
cachedPolicy := cache.GetParsedPolicy(cacheKey)
|
|
|
|
if cachedPolicy != nil {
|
|
|
|
// policies are content hashed so no need to check the age
|
|
|
|
parsed = append(parsed, cachedPolicy.Policy)
|
|
|
|
continue
|
|
|
|
}
|
|
|
|
|
2023-02-06 15:35:52 +00:00
|
|
|
p, err := acl.NewPolicyFromSource(policy.Rules, entConf, policy.EnterprisePolicyMeta())
|
2018-10-19 16:04:07 +00:00
|
|
|
if err != nil {
|
|
|
|
return nil, fmt.Errorf("failed to parse %q: %v", policy.Name, err)
|
|
|
|
}
|
|
|
|
|
|
|
|
cache.PutParsedPolicy(cacheKey, p)
|
|
|
|
parsed = append(parsed, p)
|
|
|
|
}
|
|
|
|
|
|
|
|
return parsed, nil
|
|
|
|
}
|
|
|
|
|
2019-12-18 18:44:32 +00:00
|
|
|
func (policies ACLPolicies) Compile(cache *ACLCaches, entConf *acl.Config) (acl.Authorizer, error) {
|
2018-10-19 16:04:07 +00:00
|
|
|
// Determine the cache key
|
|
|
|
cacheKey := policies.HashKey()
|
|
|
|
entry := cache.GetAuthorizer(cacheKey)
|
|
|
|
if entry != nil {
|
|
|
|
// the hash key takes into account the policy contents. There is no reason to expire this cache or check its age.
|
|
|
|
return entry.Authorizer, nil
|
|
|
|
}
|
|
|
|
|
2019-10-15 20:58:50 +00:00
|
|
|
parsed, err := policies.resolveWithCache(cache, entConf)
|
2018-10-19 16:04:07 +00:00
|
|
|
if err != nil {
|
|
|
|
return nil, fmt.Errorf("failed to parse the ACL policies: %v", err)
|
|
|
|
}
|
|
|
|
|
|
|
|
// Create the ACL object
|
2019-10-25 15:06:16 +00:00
|
|
|
authorizer, err := acl.NewPolicyAuthorizer(parsed, entConf)
|
2018-10-19 16:04:07 +00:00
|
|
|
if err != nil {
|
|
|
|
return nil, fmt.Errorf("failed to construct ACL Authorizer: %v", err)
|
|
|
|
}
|
|
|
|
|
|
|
|
// Update the cache
|
|
|
|
cache.PutAuthorizer(cacheKey, authorizer)
|
|
|
|
return authorizer, nil
|
|
|
|
}
|
|
|
|
|
2019-04-15 20:43:19 +00:00
|
|
|
type ACLRoles []*ACLRole
|
|
|
|
|
|
|
|
// HashKey returns a consistent hash for a set of roles.
|
|
|
|
func (roles ACLRoles) HashKey() string {
|
|
|
|
cacheKeyHash, err := blake2b.New256(nil)
|
|
|
|
if err != nil {
|
|
|
|
panic(err)
|
|
|
|
}
|
|
|
|
for _, role := range roles {
|
|
|
|
cacheKeyHash.Write([]byte(role.ID))
|
|
|
|
// including the modify index prevents a role set from being
|
|
|
|
// cached if one of the roles has changed
|
|
|
|
binary.Write(cacheKeyHash, binary.BigEndian, role.ModifyIndex)
|
|
|
|
}
|
|
|
|
return fmt.Sprintf("%x", cacheKeyHash.Sum(nil))
|
|
|
|
}
|
|
|
|
|
|
|
|
func (roles ACLRoles) Sort() {
|
|
|
|
sort.Slice(roles, func(i, j int) bool {
|
|
|
|
return roles[i].ID < roles[j].ID
|
|
|
|
})
|
|
|
|
}
|
|
|
|
|
|
|
|
type ACLRolePolicyLink struct {
|
|
|
|
ID string
|
|
|
|
Name string `hash:"ignore"`
|
|
|
|
}
|
|
|
|
|
|
|
|
type ACLRole struct {
|
|
|
|
// ID is the internal UUID associated with the role
|
|
|
|
ID string
|
|
|
|
|
|
|
|
// Name is the unique name to reference the role by.
|
|
|
|
Name string
|
|
|
|
|
|
|
|
// Description is a human readable description (Optional)
|
|
|
|
Description string
|
|
|
|
|
|
|
|
// List of policy links.
|
|
|
|
// Note this is the list of IDs and not the names. Prior to role creation
|
|
|
|
// the list of policy names gets validated and the policy IDs get stored herein
|
|
|
|
Policies []ACLRolePolicyLink `json:",omitempty"`
|
|
|
|
|
|
|
|
// List of services to generate synthetic policies for.
|
2022-05-04 16:38:45 +00:00
|
|
|
ServiceIdentities ACLServiceIdentities `json:",omitempty"`
|
2019-04-15 20:43:19 +00:00
|
|
|
|
2020-06-16 16:54:27 +00:00
|
|
|
// List of nodes to generate synthetic policies for.
|
2022-05-04 16:38:45 +00:00
|
|
|
NodeIdentities ACLNodeIdentities `json:",omitempty"`
|
2020-06-16 16:54:27 +00:00
|
|
|
|
2019-04-15 20:43:19 +00:00
|
|
|
// Hash of the contents of the role
|
|
|
|
// This does not take into account the ID (which is immutable)
|
|
|
|
// nor the raft metadata.
|
|
|
|
//
|
|
|
|
// This is needed mainly for replication purposes. When replicating from
|
|
|
|
// one DC to another keeping the content Hash will allow us to avoid
|
|
|
|
// unnecessary calls to the authoritative DC
|
|
|
|
Hash []byte
|
|
|
|
|
2019-10-24 18:38:09 +00:00
|
|
|
// Embedded Enterprise ACL metadata
|
2022-03-13 03:55:53 +00:00
|
|
|
acl.EnterpriseMeta `mapstructure:",squash"`
|
2019-10-24 18:38:09 +00:00
|
|
|
|
2019-04-15 20:43:19 +00:00
|
|
|
// Embedded Raft Metadata
|
|
|
|
RaftIndex `hash:"ignore"`
|
|
|
|
}
|
|
|
|
|
2019-10-29 18:13:36 +00:00
|
|
|
func (t *ACLRole) UnmarshalJSON(data []byte) error {
|
|
|
|
type Alias ACLRole
|
|
|
|
aux := &struct {
|
|
|
|
Hash string
|
|
|
|
*Alias
|
|
|
|
}{
|
|
|
|
Alias: (*Alias)(t),
|
|
|
|
}
|
2019-12-06 16:14:56 +00:00
|
|
|
|
|
|
|
if err := lib.UnmarshalJSON(data, &aux); err != nil {
|
2019-10-29 18:13:36 +00:00
|
|
|
return err
|
|
|
|
}
|
|
|
|
if aux.Hash != "" {
|
|
|
|
t.Hash = []byte(aux.Hash)
|
|
|
|
}
|
|
|
|
return nil
|
|
|
|
}
|
|
|
|
|
2019-04-15 20:43:19 +00:00
|
|
|
func (r *ACLRole) Clone() *ACLRole {
|
|
|
|
r2 := *r
|
|
|
|
r2.Policies = nil
|
|
|
|
r2.ServiceIdentities = nil
|
2020-06-16 16:54:27 +00:00
|
|
|
r2.NodeIdentities = nil
|
2019-04-15 20:43:19 +00:00
|
|
|
|
|
|
|
if len(r.Policies) > 0 {
|
|
|
|
r2.Policies = make([]ACLRolePolicyLink, len(r.Policies))
|
|
|
|
copy(r2.Policies, r.Policies)
|
|
|
|
}
|
|
|
|
if len(r.ServiceIdentities) > 0 {
|
|
|
|
r2.ServiceIdentities = make([]*ACLServiceIdentity, len(r.ServiceIdentities))
|
|
|
|
for i, s := range r.ServiceIdentities {
|
|
|
|
r2.ServiceIdentities[i] = s.Clone()
|
|
|
|
}
|
|
|
|
}
|
2020-06-16 16:54:27 +00:00
|
|
|
if len(r.NodeIdentities) > 0 {
|
|
|
|
r2.NodeIdentities = make([]*ACLNodeIdentity, len(r.NodeIdentities))
|
|
|
|
for i, n := range r.NodeIdentities {
|
|
|
|
r2.NodeIdentities[i] = n.Clone()
|
|
|
|
}
|
|
|
|
}
|
2019-04-15 20:43:19 +00:00
|
|
|
return &r2
|
|
|
|
}
|
|
|
|
|
|
|
|
func (r *ACLRole) SetHash(force bool) []byte {
|
|
|
|
if force || r.Hash == nil {
|
|
|
|
// Initialize a 256bit Blake2 hash (32 bytes)
|
|
|
|
hash, err := blake2b.New256(nil)
|
|
|
|
if err != nil {
|
|
|
|
panic(err)
|
|
|
|
}
|
|
|
|
|
|
|
|
// Any non-immutable "content" fields should be involved with the
|
|
|
|
// overall hash. The ID is immutable which is why it isn't here. The
|
|
|
|
// raft indices are metadata similar to the hash which is why they
|
|
|
|
// aren't incorporated. CreateTime is similarly immutable
|
|
|
|
//
|
|
|
|
// The Hash is really only used for replication to determine if a role
|
|
|
|
// has changed and should be updated locally.
|
|
|
|
|
|
|
|
// Write all the user set fields
|
|
|
|
hash.Write([]byte(r.Name))
|
|
|
|
hash.Write([]byte(r.Description))
|
|
|
|
for _, link := range r.Policies {
|
|
|
|
hash.Write([]byte(link.ID))
|
|
|
|
}
|
|
|
|
for _, srvid := range r.ServiceIdentities {
|
|
|
|
srvid.AddToHash(hash)
|
|
|
|
}
|
2020-06-16 16:54:27 +00:00
|
|
|
for _, nodeID := range r.NodeIdentities {
|
|
|
|
nodeID.AddToHash(hash)
|
|
|
|
}
|
2019-04-15 20:43:19 +00:00
|
|
|
|
2022-03-13 03:55:53 +00:00
|
|
|
r.EnterpriseMeta.AddToHash(hash, false)
|
2019-10-24 18:38:09 +00:00
|
|
|
|
2019-04-15 20:43:19 +00:00
|
|
|
// Finalize the hash
|
|
|
|
hashVal := hash.Sum(nil)
|
|
|
|
|
|
|
|
// Set and return the hash
|
|
|
|
r.Hash = hashVal
|
|
|
|
}
|
|
|
|
return r.Hash
|
|
|
|
}
|
|
|
|
|
|
|
|
func (r *ACLRole) EstimateSize() int {
|
|
|
|
// This is just an estimate. There is other data structure overhead
|
|
|
|
// pointers etc that this does not account for.
|
|
|
|
|
|
|
|
// 60 = 36 (uuid) + 16 (RaftIndex) + 8 (Hash)
|
|
|
|
size := 60 + len(r.Name) + len(r.Description)
|
|
|
|
for _, link := range r.Policies {
|
|
|
|
size += len(link.ID) + len(link.Name)
|
|
|
|
}
|
|
|
|
for _, srvid := range r.ServiceIdentities {
|
|
|
|
size += srvid.EstimateSize()
|
|
|
|
}
|
2020-06-16 16:54:27 +00:00
|
|
|
for _, nodeID := range r.NodeIdentities {
|
|
|
|
size += nodeID.EstimateSize()
|
|
|
|
}
|
2019-04-15 20:43:19 +00:00
|
|
|
|
2022-03-13 03:55:53 +00:00
|
|
|
return size + r.EnterpriseMeta.EstimateSize()
|
2019-04-15 20:43:19 +00:00
|
|
|
}
|
|
|
|
|
2019-04-26 17:49:28 +00:00
|
|
|
const (
|
|
|
|
// BindingRuleBindTypeService is the binding rule bind type that
|
|
|
|
// assigns a Service Identity to the token that is created using the value
|
|
|
|
// of the computed BindName as the ServiceName like:
|
|
|
|
//
|
|
|
|
// &ACLToken{
|
|
|
|
// ...other fields...
|
|
|
|
// ServiceIdentities: []*ACLServiceIdentity{
|
|
|
|
// &ACLServiceIdentity{
|
|
|
|
// ServiceName: "<computed BindName>",
|
|
|
|
// },
|
|
|
|
// },
|
|
|
|
// }
|
|
|
|
BindingRuleBindTypeService = "service"
|
|
|
|
|
|
|
|
// BindingRuleBindTypeRole is the binding rule bind type that only allows
|
|
|
|
// the binding rule to function if a role with the given name (BindName)
|
|
|
|
// exists at login-time. If it does the token that is created is directly
|
|
|
|
// linked to that role like:
|
|
|
|
//
|
|
|
|
// &ACLToken{
|
|
|
|
// ...other fields...
|
|
|
|
// Roles: []ACLTokenRoleLink{
|
|
|
|
// { Name: "<computed BindName>" }
|
|
|
|
// }
|
|
|
|
// }
|
|
|
|
//
|
|
|
|
// If it does not exist at login-time the rule is ignored.
|
|
|
|
BindingRuleBindTypeRole = "role"
|
2020-06-16 16:54:27 +00:00
|
|
|
|
|
|
|
// BindingRuleBindTypeNode is the binding rule bind type that assigns
|
|
|
|
// a Node Identity to the token that is created using the value of
|
|
|
|
// the computed BindName as the NodeName like:
|
|
|
|
//
|
|
|
|
// &ACLToken{
|
|
|
|
// ...other fields...
|
|
|
|
// NodeIdentities: []*ACLNodeIdentity{
|
|
|
|
// &ACLNodeIdentity{
|
|
|
|
// NodeName: "<computed BindName>",
|
|
|
|
// Datacenter: "<local datacenter of the binding rule>"
|
|
|
|
// }
|
|
|
|
// }
|
|
|
|
// }
|
|
|
|
BindingRuleBindTypeNode = "node"
|
2019-04-26 17:49:28 +00:00
|
|
|
)
|
|
|
|
|
|
|
|
type ACLBindingRule struct {
|
|
|
|
// ID is the internal UUID associated with the binding rule
|
|
|
|
ID string
|
|
|
|
|
|
|
|
// Description is a human readable description (Optional)
|
|
|
|
Description string
|
|
|
|
|
|
|
|
// AuthMethod is the name of the auth method for which this rule applies.
|
|
|
|
AuthMethod string
|
|
|
|
|
|
|
|
// Selector is an expression that matches against verified identity
|
|
|
|
// attributes returned from the auth method during login.
|
|
|
|
Selector string
|
|
|
|
|
|
|
|
// BindType adjusts how this binding rule is applied at login time. The
|
|
|
|
// valid values are:
|
|
|
|
//
|
|
|
|
// - BindingRuleBindTypeService = "service"
|
|
|
|
// - BindingRuleBindTypeRole = "role"
|
|
|
|
BindType string
|
|
|
|
|
|
|
|
// BindName is the target of the binding. Can be lightly templated using
|
|
|
|
// HIL ${foo} syntax from available field names. How it is used depends
|
|
|
|
// upon the BindType.
|
|
|
|
BindName string
|
|
|
|
|
2019-10-24 18:38:09 +00:00
|
|
|
// Embedded Enterprise ACL metadata
|
2022-03-13 03:55:53 +00:00
|
|
|
acl.EnterpriseMeta `mapstructure:",squash"`
|
2019-10-24 18:38:09 +00:00
|
|
|
|
2019-04-26 17:49:28 +00:00
|
|
|
// Embedded Raft Metadata
|
|
|
|
RaftIndex `hash:"ignore"`
|
|
|
|
}
|
|
|
|
|
|
|
|
func (r *ACLBindingRule) Clone() *ACLBindingRule {
|
|
|
|
r2 := *r
|
|
|
|
return &r2
|
|
|
|
}
|
|
|
|
|
|
|
|
type ACLBindingRules []*ACLBindingRule
|
|
|
|
|
|
|
|
func (rules ACLBindingRules) Sort() {
|
|
|
|
sort.Slice(rules, func(i, j int) bool {
|
|
|
|
return rules[i].ID < rules[j].ID
|
|
|
|
})
|
|
|
|
}
|
|
|
|
|
Add fields to the /acl/auth-methods endpoint. (#9741)
* A GET of the /acl/auth-method/:name endpoint returns the fields
MaxTokenTTL and TokenLocality, while a LIST (/acl/auth-methods) does
not.
The list command returns a filtered subset of the full set. This is
somewhat deliberate, so that secrets aren't shown, but the TTL and
Locality fields aren't (IMO) security critical, and it is useful for
the front end to be able to show them.
For consistency these changes mirror the 'omit empty' and string
representation choices made for the GET call.
This includes changes to the gRPC and API code in the client.
The new output looks similar to this
curl 'http://localhost:8500/v1/acl/auth-methods' | jq '.'
{
"MaxTokenTTL": "8m20s",
"Name": "minikube-ttl-local2",
"Type": "kubernetes",
"Description": "minikube auth method",
"TokenLocality": "local",
"CreateIndex": 530,
"ModifyIndex": 530,
"Namespace": "default"
}
]
Signed-off-by: Mark Anderson <manderson@hashicorp.com>
* Add changelog
Signed-off-by: Mark Anderson <manderson@hashicorp.com>
2021-02-17 16:16:57 +00:00
|
|
|
// Note: this is a subset of ACLAuthMethod's fields
|
2019-04-26 17:49:28 +00:00
|
|
|
type ACLAuthMethodListStub struct {
|
Add fields to the /acl/auth-methods endpoint. (#9741)
* A GET of the /acl/auth-method/:name endpoint returns the fields
MaxTokenTTL and TokenLocality, while a LIST (/acl/auth-methods) does
not.
The list command returns a filtered subset of the full set. This is
somewhat deliberate, so that secrets aren't shown, but the TTL and
Locality fields aren't (IMO) security critical, and it is useful for
the front end to be able to show them.
For consistency these changes mirror the 'omit empty' and string
representation choices made for the GET call.
This includes changes to the gRPC and API code in the client.
The new output looks similar to this
curl 'http://localhost:8500/v1/acl/auth-methods' | jq '.'
{
"MaxTokenTTL": "8m20s",
"Name": "minikube-ttl-local2",
"Type": "kubernetes",
"Description": "minikube auth method",
"TokenLocality": "local",
"CreateIndex": 530,
"ModifyIndex": 530,
"Namespace": "default"
}
]
Signed-off-by: Mark Anderson <manderson@hashicorp.com>
* Add changelog
Signed-off-by: Mark Anderson <manderson@hashicorp.com>
2021-02-17 16:16:57 +00:00
|
|
|
Name string
|
|
|
|
Type string
|
|
|
|
DisplayName string `json:",omitempty"`
|
|
|
|
Description string `json:",omitempty"`
|
|
|
|
MaxTokenTTL time.Duration `json:",omitempty"`
|
|
|
|
TokenLocality string `json:",omitempty"`
|
|
|
|
CreateIndex uint64
|
|
|
|
ModifyIndex uint64
|
2022-03-13 03:55:53 +00:00
|
|
|
acl.EnterpriseMeta
|
2019-04-26 17:49:28 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
func (p *ACLAuthMethod) Stub() *ACLAuthMethodListStub {
|
|
|
|
return &ACLAuthMethodListStub{
|
2019-10-24 18:38:09 +00:00
|
|
|
Name: p.Name,
|
|
|
|
Type: p.Type,
|
2020-05-04 20:18:25 +00:00
|
|
|
DisplayName: p.DisplayName,
|
|
|
|
Description: p.Description,
|
Add fields to the /acl/auth-methods endpoint. (#9741)
* A GET of the /acl/auth-method/:name endpoint returns the fields
MaxTokenTTL and TokenLocality, while a LIST (/acl/auth-methods) does
not.
The list command returns a filtered subset of the full set. This is
somewhat deliberate, so that secrets aren't shown, but the TTL and
Locality fields aren't (IMO) security critical, and it is useful for
the front end to be able to show them.
For consistency these changes mirror the 'omit empty' and string
representation choices made for the GET call.
This includes changes to the gRPC and API code in the client.
The new output looks similar to this
curl 'http://localhost:8500/v1/acl/auth-methods' | jq '.'
{
"MaxTokenTTL": "8m20s",
"Name": "minikube-ttl-local2",
"Type": "kubernetes",
"Description": "minikube auth method",
"TokenLocality": "local",
"CreateIndex": 530,
"ModifyIndex": 530,
"Namespace": "default"
}
]
Signed-off-by: Mark Anderson <manderson@hashicorp.com>
* Add changelog
Signed-off-by: Mark Anderson <manderson@hashicorp.com>
2021-02-17 16:16:57 +00:00
|
|
|
MaxTokenTTL: p.MaxTokenTTL,
|
|
|
|
TokenLocality: p.TokenLocality,
|
2019-10-24 18:38:09 +00:00
|
|
|
CreateIndex: p.CreateIndex,
|
|
|
|
ModifyIndex: p.ModifyIndex,
|
|
|
|
EnterpriseMeta: p.EnterpriseMeta,
|
2019-04-26 17:49:28 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
Add fields to the /acl/auth-methods endpoint. (#9741)
* A GET of the /acl/auth-method/:name endpoint returns the fields
MaxTokenTTL and TokenLocality, while a LIST (/acl/auth-methods) does
not.
The list command returns a filtered subset of the full set. This is
somewhat deliberate, so that secrets aren't shown, but the TTL and
Locality fields aren't (IMO) security critical, and it is useful for
the front end to be able to show them.
For consistency these changes mirror the 'omit empty' and string
representation choices made for the GET call.
This includes changes to the gRPC and API code in the client.
The new output looks similar to this
curl 'http://localhost:8500/v1/acl/auth-methods' | jq '.'
{
"MaxTokenTTL": "8m20s",
"Name": "minikube-ttl-local2",
"Type": "kubernetes",
"Description": "minikube auth method",
"TokenLocality": "local",
"CreateIndex": 530,
"ModifyIndex": 530,
"Namespace": "default"
}
]
Signed-off-by: Mark Anderson <manderson@hashicorp.com>
* Add changelog
Signed-off-by: Mark Anderson <manderson@hashicorp.com>
2021-02-17 16:16:57 +00:00
|
|
|
// This is nearly identical to the ACLAuthMethod MarshalJSON
|
|
|
|
// Unmarshaling is not implemented because the API is read only
|
|
|
|
func (m *ACLAuthMethodListStub) MarshalJSON() ([]byte, error) {
|
|
|
|
type Alias ACLAuthMethodListStub
|
|
|
|
exported := &struct {
|
|
|
|
MaxTokenTTL string `json:",omitempty"`
|
|
|
|
*Alias
|
|
|
|
}{
|
|
|
|
MaxTokenTTL: m.MaxTokenTTL.String(),
|
|
|
|
Alias: (*Alias)(m),
|
|
|
|
}
|
|
|
|
if m.MaxTokenTTL == 0 {
|
|
|
|
exported.MaxTokenTTL = ""
|
|
|
|
}
|
|
|
|
|
|
|
|
data, err := json.Marshal(exported)
|
|
|
|
|
|
|
|
return data, err
|
|
|
|
}
|
|
|
|
|
2019-04-26 17:49:28 +00:00
|
|
|
type ACLAuthMethods []*ACLAuthMethod
|
|
|
|
type ACLAuthMethodListStubs []*ACLAuthMethodListStub
|
|
|
|
|
|
|
|
func (methods ACLAuthMethods) Sort() {
|
|
|
|
sort.Slice(methods, func(i, j int) bool {
|
|
|
|
return methods[i].Name < methods[j].Name
|
|
|
|
})
|
|
|
|
}
|
|
|
|
|
|
|
|
func (methods ACLAuthMethodListStubs) Sort() {
|
|
|
|
sort.Slice(methods, func(i, j int) bool {
|
|
|
|
return methods[i].Name < methods[j].Name
|
|
|
|
})
|
|
|
|
}
|
|
|
|
|
|
|
|
type ACLAuthMethod struct {
|
|
|
|
// Name is a unique identifier for this specific auth method.
|
|
|
|
//
|
|
|
|
// Immutable once set and only settable during create.
|
|
|
|
Name string
|
|
|
|
|
|
|
|
// Type is the type of the auth method this is.
|
|
|
|
//
|
|
|
|
// Immutable once set and only settable during create.
|
|
|
|
Type string
|
|
|
|
|
2020-05-04 20:18:25 +00:00
|
|
|
// DisplayName is an optional name to use instead of the Name field when
|
|
|
|
// displaying information about this auth method in any kind of user
|
|
|
|
// interface.
|
|
|
|
DisplayName string `json:",omitempty"`
|
|
|
|
|
2019-04-26 17:49:28 +00:00
|
|
|
// Description is just an optional bunch of explanatory text.
|
2020-05-04 20:18:25 +00:00
|
|
|
Description string `json:",omitempty"`
|
2019-04-26 17:49:28 +00:00
|
|
|
|
2020-05-04 22:02:57 +00:00
|
|
|
// MaxTokenTTL this is the maximum life of a token created by this method.
|
|
|
|
MaxTokenTTL time.Duration `json:",omitempty"`
|
|
|
|
|
2020-06-01 16:44:47 +00:00
|
|
|
// TokenLocality defines the kind of token that this auth method produces.
|
|
|
|
// This can be either 'local' or 'global'. If empty 'local' is assumed.
|
|
|
|
TokenLocality string `json:",omitempty"`
|
|
|
|
|
2019-04-26 17:49:28 +00:00
|
|
|
// Configuration is arbitrary configuration for the auth method. This
|
|
|
|
// should only contain primitive values and containers (such as lists and
|
|
|
|
// maps).
|
|
|
|
Config map[string]interface{}
|
|
|
|
|
2019-10-24 18:38:09 +00:00
|
|
|
// Embedded Enterprise ACL Meta
|
2022-03-13 03:55:53 +00:00
|
|
|
acl.EnterpriseMeta `mapstructure:",squash"`
|
2019-10-24 18:38:09 +00:00
|
|
|
|
2020-05-06 18:48:04 +00:00
|
|
|
ACLAuthMethodEnterpriseFields `mapstructure:",squash"`
|
|
|
|
|
2019-04-26 17:49:28 +00:00
|
|
|
// Embedded Raft Metadata
|
|
|
|
RaftIndex `hash:"ignore"`
|
|
|
|
}
|
|
|
|
|
2020-05-04 22:02:57 +00:00
|
|
|
func (m *ACLAuthMethod) MarshalJSON() ([]byte, error) {
|
|
|
|
type Alias ACLAuthMethod
|
|
|
|
exported := &struct {
|
|
|
|
MaxTokenTTL string `json:",omitempty"`
|
|
|
|
*Alias
|
|
|
|
}{
|
|
|
|
MaxTokenTTL: m.MaxTokenTTL.String(),
|
|
|
|
Alias: (*Alias)(m),
|
|
|
|
}
|
|
|
|
if m.MaxTokenTTL == 0 {
|
|
|
|
exported.MaxTokenTTL = ""
|
|
|
|
}
|
|
|
|
|
|
|
|
return json.Marshal(exported)
|
|
|
|
}
|
|
|
|
|
|
|
|
func (m *ACLAuthMethod) UnmarshalJSON(data []byte) (err error) {
|
|
|
|
type Alias ACLAuthMethod
|
|
|
|
aux := &struct {
|
|
|
|
MaxTokenTTL interface{}
|
|
|
|
*Alias
|
|
|
|
}{
|
|
|
|
Alias: (*Alias)(m),
|
|
|
|
}
|
|
|
|
if err = lib.UnmarshalJSON(data, &aux); err != nil {
|
|
|
|
return err
|
|
|
|
}
|
|
|
|
if aux.MaxTokenTTL != nil {
|
|
|
|
switch v := aux.MaxTokenTTL.(type) {
|
|
|
|
case string:
|
|
|
|
if m.MaxTokenTTL, err = time.ParseDuration(v); err != nil {
|
|
|
|
return err
|
|
|
|
}
|
|
|
|
case float64:
|
|
|
|
m.MaxTokenTTL = time.Duration(v)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
return nil
|
|
|
|
}
|
|
|
|
|
2018-10-19 16:04:07 +00:00
|
|
|
type ACLReplicationType string
|
|
|
|
|
|
|
|
const (
|
|
|
|
ACLReplicatePolicies ACLReplicationType = "policies"
|
2019-04-15 20:43:19 +00:00
|
|
|
ACLReplicateRoles ACLReplicationType = "roles"
|
2018-10-19 16:04:07 +00:00
|
|
|
ACLReplicateTokens ACLReplicationType = "tokens"
|
|
|
|
)
|
|
|
|
|
2019-04-15 20:43:19 +00:00
|
|
|
func (t ACLReplicationType) SingularNoun() string {
|
|
|
|
switch t {
|
|
|
|
case ACLReplicatePolicies:
|
|
|
|
return "policy"
|
|
|
|
case ACLReplicateRoles:
|
|
|
|
return "role"
|
|
|
|
case ACLReplicateTokens:
|
|
|
|
return "token"
|
|
|
|
default:
|
|
|
|
return "<UNKNOWN>"
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2018-10-19 16:04:07 +00:00
|
|
|
// ACLReplicationStatus provides information about the health of the ACL
|
|
|
|
// replication system.
|
|
|
|
type ACLReplicationStatus struct {
|
|
|
|
Enabled bool
|
|
|
|
Running bool
|
|
|
|
SourceDatacenter string
|
|
|
|
ReplicationType ACLReplicationType
|
|
|
|
ReplicatedIndex uint64
|
2019-04-15 20:43:19 +00:00
|
|
|
ReplicatedRoleIndex uint64
|
2018-10-19 16:04:07 +00:00
|
|
|
ReplicatedTokenIndex uint64
|
|
|
|
LastSuccess time.Time
|
|
|
|
LastError time.Time
|
2021-07-15 09:31:44 +00:00
|
|
|
LastErrorMessage string
|
2018-10-19 16:04:07 +00:00
|
|
|
}
|
|
|
|
|
2018-10-31 20:00:46 +00:00
|
|
|
// ACLTokenSetRequest is used for token creation and update operations
|
2018-10-19 16:04:07 +00:00
|
|
|
// at the RPC layer
|
2018-10-31 20:00:46 +00:00
|
|
|
type ACLTokenSetRequest struct {
|
2018-10-19 16:04:07 +00:00
|
|
|
ACLToken ACLToken // Token to manipulate - I really dislike this name but "Token" is taken in the WriteRequest
|
2019-04-30 15:45:36 +00:00
|
|
|
Create bool // Used to explicitly mark this request as a creation
|
2018-10-19 16:04:07 +00:00
|
|
|
Datacenter string // The datacenter to perform the request within
|
|
|
|
WriteRequest
|
|
|
|
}
|
|
|
|
|
2018-10-31 20:00:46 +00:00
|
|
|
func (r *ACLTokenSetRequest) RequestDatacenter() string {
|
2018-10-19 16:04:07 +00:00
|
|
|
return r.Datacenter
|
|
|
|
}
|
|
|
|
|
2018-10-31 20:00:46 +00:00
|
|
|
// ACLTokenGetRequest is used for token read operations at the RPC layer
|
|
|
|
type ACLTokenGetRequest struct {
|
2023-02-07 18:26:30 +00:00
|
|
|
TokenID string // Accessor ID used for the token lookup
|
2018-10-19 16:04:07 +00:00
|
|
|
TokenIDType ACLTokenIDType // The Type of ID used to lookup the token
|
2022-03-31 16:49:11 +00:00
|
|
|
Expanded bool
|
|
|
|
Datacenter string // The datacenter to perform the request within
|
2022-03-13 03:55:53 +00:00
|
|
|
acl.EnterpriseMeta
|
2018-10-19 16:04:07 +00:00
|
|
|
QueryOptions
|
|
|
|
}
|
|
|
|
|
2018-10-31 20:00:46 +00:00
|
|
|
func (r *ACLTokenGetRequest) RequestDatacenter() string {
|
2018-10-19 16:04:07 +00:00
|
|
|
return r.Datacenter
|
|
|
|
}
|
|
|
|
|
|
|
|
// ACLTokenDeleteRequest is used for token deletion operations at the RPC layer
|
|
|
|
type ACLTokenDeleteRequest struct {
|
2023-02-07 18:26:30 +00:00
|
|
|
TokenID string // Accessor ID of the token to delete
|
2018-10-19 16:04:07 +00:00
|
|
|
Datacenter string // The datacenter to perform the request within
|
2022-03-13 03:55:53 +00:00
|
|
|
acl.EnterpriseMeta
|
2018-10-19 16:04:07 +00:00
|
|
|
WriteRequest
|
|
|
|
}
|
|
|
|
|
|
|
|
func (r *ACLTokenDeleteRequest) RequestDatacenter() string {
|
|
|
|
return r.Datacenter
|
|
|
|
}
|
|
|
|
|
|
|
|
// ACLTokenListRequest is used for token listing operations at the RPC layer
|
|
|
|
type ACLTokenListRequest struct {
|
|
|
|
IncludeLocal bool // Whether local tokens should be included
|
|
|
|
IncludeGlobal bool // Whether global tokens should be included
|
|
|
|
Policy string // Policy filter
|
2019-04-15 20:43:19 +00:00
|
|
|
Role string // Role filter
|
2019-04-26 17:49:28 +00:00
|
|
|
AuthMethod string // Auth Method filter
|
2023-09-06 18:16:27 +00:00
|
|
|
ServiceName string // Service name (from service identities) filter
|
2018-10-19 16:04:07 +00:00
|
|
|
Datacenter string // The datacenter to perform the request within
|
2020-01-14 15:09:29 +00:00
|
|
|
ACLAuthMethodEnterpriseMeta
|
2022-03-13 03:55:53 +00:00
|
|
|
acl.EnterpriseMeta
|
2018-10-19 16:04:07 +00:00
|
|
|
QueryOptions
|
|
|
|
}
|
|
|
|
|
|
|
|
func (r *ACLTokenListRequest) RequestDatacenter() string {
|
|
|
|
return r.Datacenter
|
|
|
|
}
|
|
|
|
|
|
|
|
// ACLTokenListResponse is used to return the secret data free stubs
|
|
|
|
// of the tokens
|
|
|
|
type ACLTokenListResponse struct {
|
|
|
|
Tokens ACLTokenListStubs
|
|
|
|
QueryMeta
|
|
|
|
}
|
|
|
|
|
2018-10-31 20:00:46 +00:00
|
|
|
// ACLTokenBatchGetRequest is used for reading multiple tokens, this is
|
2018-10-19 16:04:07 +00:00
|
|
|
// different from the the token list request in that only tokens with the
|
|
|
|
// the requested ids are returned
|
2018-10-31 20:00:46 +00:00
|
|
|
type ACLTokenBatchGetRequest struct {
|
2018-10-19 16:04:07 +00:00
|
|
|
AccessorIDs []string // List of accessor ids to fetch
|
|
|
|
Datacenter string // The datacenter to perform the request within
|
|
|
|
QueryOptions
|
|
|
|
}
|
|
|
|
|
2018-10-31 20:00:46 +00:00
|
|
|
func (r *ACLTokenBatchGetRequest) RequestDatacenter() string {
|
2018-10-19 16:04:07 +00:00
|
|
|
return r.Datacenter
|
|
|
|
}
|
|
|
|
|
2018-10-31 20:00:46 +00:00
|
|
|
// ACLTokenBatchSetRequest is used only at the Raft layer
|
2018-10-19 16:04:07 +00:00
|
|
|
// for batching multiple token creation/update operations
|
|
|
|
//
|
|
|
|
// This is particularly useful during token replication and during
|
|
|
|
// automatic legacy token upgrades.
|
2018-10-31 20:00:46 +00:00
|
|
|
type ACLTokenBatchSetRequest struct {
|
2019-05-03 19:22:44 +00:00
|
|
|
Tokens ACLTokens
|
|
|
|
CAS bool
|
|
|
|
AllowMissingLinks bool
|
|
|
|
ProhibitUnprivileged bool
|
2020-12-09 21:22:29 +00:00
|
|
|
FromReplication bool
|
2018-10-19 16:04:07 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
// ACLTokenBatchDeleteRequest is used only at the Raft layer
|
|
|
|
// for batching multiple token deletions.
|
|
|
|
//
|
|
|
|
// This is particularly useful during token replication when
|
|
|
|
// multiple tokens need to be removed from the local DCs state.
|
|
|
|
type ACLTokenBatchDeleteRequest struct {
|
|
|
|
TokenIDs []string // Tokens to delete
|
|
|
|
}
|
|
|
|
|
2023-01-04 20:19:33 +00:00
|
|
|
type ACLInitialTokenBootstrapRequest struct {
|
|
|
|
BootstrapSecret string
|
|
|
|
Datacenter string
|
|
|
|
QueryOptions
|
|
|
|
}
|
|
|
|
|
|
|
|
func (r *ACLInitialTokenBootstrapRequest) RequestDatacenter() string {
|
|
|
|
return r.Datacenter
|
|
|
|
}
|
|
|
|
|
2018-10-19 16:04:07 +00:00
|
|
|
// ACLTokenBootstrapRequest is used only at the Raft layer
|
|
|
|
// for ACL bootstrapping
|
|
|
|
//
|
2023-01-04 20:19:33 +00:00
|
|
|
// The RPC layer will use ACLInitialTokenBootstrapRequest to indicate
|
2018-10-19 16:04:07 +00:00
|
|
|
// that bootstrapping must be performed but the actual token
|
|
|
|
// and the resetIndex will be generated by that RPC endpoint
|
|
|
|
type ACLTokenBootstrapRequest struct {
|
|
|
|
Token ACLToken // Token to use for bootstrapping
|
|
|
|
ResetIndex uint64 // Reset index
|
|
|
|
}
|
|
|
|
|
|
|
|
// ACLTokenResponse returns a single Token + metadata
|
|
|
|
type ACLTokenResponse struct {
|
2020-06-09 19:13:09 +00:00
|
|
|
Token *ACLToken
|
|
|
|
Redacted bool // whether the token's secret was redacted
|
|
|
|
SourceDatacenter string
|
2022-03-31 16:49:11 +00:00
|
|
|
|
|
|
|
ExpandedTokenInfo
|
2018-10-19 16:04:07 +00:00
|
|
|
QueryMeta
|
|
|
|
}
|
|
|
|
|
2022-03-31 16:49:11 +00:00
|
|
|
type ExpandedTokenInfo struct {
|
|
|
|
ExpandedPolicies []*ACLPolicy
|
|
|
|
ExpandedRoles []*ACLRole
|
|
|
|
|
|
|
|
NamespaceDefaultPolicyIDs []string
|
|
|
|
NamespaceDefaultRoleIDs []string
|
|
|
|
|
|
|
|
AgentACLDefaultPolicy string
|
|
|
|
AgentACLDownPolicy string
|
|
|
|
ResolvedByAgent string
|
|
|
|
}
|
|
|
|
|
|
|
|
type ACLTokenExpanded struct {
|
|
|
|
*ACLToken
|
|
|
|
ExpandedTokenInfo
|
|
|
|
}
|
|
|
|
|
2018-10-31 20:00:46 +00:00
|
|
|
// ACLTokenBatchResponse returns multiple Tokens associated with the same metadata
|
|
|
|
type ACLTokenBatchResponse struct {
|
2019-03-04 14:52:45 +00:00
|
|
|
Tokens []*ACLToken
|
|
|
|
Redacted bool // whether the token secrets were redacted.
|
2019-10-24 18:38:09 +00:00
|
|
|
Removed bool // whether any tokens were completely removed
|
2018-10-19 16:04:07 +00:00
|
|
|
QueryMeta
|
|
|
|
}
|
|
|
|
|
2018-10-31 20:00:46 +00:00
|
|
|
// ACLPolicySetRequest is used at the RPC layer for creation and update requests
|
|
|
|
type ACLPolicySetRequest struct {
|
2018-10-19 16:04:07 +00:00
|
|
|
Policy ACLPolicy // The policy to upsert
|
|
|
|
Datacenter string // The datacenter to perform the request within
|
2017-08-03 00:05:18 +00:00
|
|
|
WriteRequest
|
|
|
|
}
|
|
|
|
|
2018-10-31 20:00:46 +00:00
|
|
|
func (r *ACLPolicySetRequest) RequestDatacenter() string {
|
2017-08-03 00:05:18 +00:00
|
|
|
return r.Datacenter
|
|
|
|
}
|
|
|
|
|
2018-10-19 16:04:07 +00:00
|
|
|
// ACLPolicyDeleteRequest is used at the RPC layer deletion requests
|
|
|
|
type ACLPolicyDeleteRequest struct {
|
|
|
|
PolicyID string // The id of the policy to delete
|
|
|
|
Datacenter string // The datacenter to perform the request within
|
2022-03-13 03:55:53 +00:00
|
|
|
acl.EnterpriseMeta
|
2018-10-19 16:04:07 +00:00
|
|
|
WriteRequest
|
|
|
|
}
|
|
|
|
|
|
|
|
func (r *ACLPolicyDeleteRequest) RequestDatacenter() string {
|
|
|
|
return r.Datacenter
|
|
|
|
}
|
2017-08-03 00:05:18 +00:00
|
|
|
|
2018-10-31 20:00:46 +00:00
|
|
|
// ACLPolicyGetRequest is used at the RPC layer to perform policy read operations
|
|
|
|
type ACLPolicyGetRequest struct {
|
2020-03-25 14:34:24 +00:00
|
|
|
PolicyID string // id used for the policy lookup (one of PolicyID or PolicyName is allowed)
|
|
|
|
PolicyName string // name used for the policy lookup (one of PolicyID or PolicyName is allowed)
|
2018-10-19 16:04:07 +00:00
|
|
|
Datacenter string // The datacenter to perform the request within
|
2022-03-13 03:55:53 +00:00
|
|
|
acl.EnterpriseMeta
|
2017-08-03 00:05:18 +00:00
|
|
|
QueryOptions
|
|
|
|
}
|
|
|
|
|
2018-10-31 20:00:46 +00:00
|
|
|
func (r *ACLPolicyGetRequest) RequestDatacenter() string {
|
2017-08-03 00:05:18 +00:00
|
|
|
return r.Datacenter
|
|
|
|
}
|
|
|
|
|
2018-10-19 16:04:07 +00:00
|
|
|
// ACLPolicyListRequest is used at the RPC layer to request a listing of policies
|
|
|
|
type ACLPolicyListRequest struct {
|
|
|
|
Datacenter string // The datacenter to perform the request within
|
2022-03-13 03:55:53 +00:00
|
|
|
acl.EnterpriseMeta
|
2017-08-03 00:05:18 +00:00
|
|
|
QueryOptions
|
|
|
|
}
|
|
|
|
|
2018-10-19 16:04:07 +00:00
|
|
|
func (r *ACLPolicyListRequest) RequestDatacenter() string {
|
2017-08-03 00:05:18 +00:00
|
|
|
return r.Datacenter
|
|
|
|
}
|
|
|
|
|
2018-10-19 16:04:07 +00:00
|
|
|
type ACLPolicyListResponse struct {
|
|
|
|
Policies ACLPolicyListStubs
|
2017-08-03 00:05:18 +00:00
|
|
|
QueryMeta
|
|
|
|
}
|
|
|
|
|
2018-10-31 20:00:46 +00:00
|
|
|
// ACLPolicyBatchGetRequest is used at the RPC layer to request a subset of
|
2018-10-19 16:04:07 +00:00
|
|
|
// the policies associated with the token used for retrieval
|
2018-10-31 20:00:46 +00:00
|
|
|
type ACLPolicyBatchGetRequest struct {
|
2018-10-19 16:04:07 +00:00
|
|
|
PolicyIDs []string // List of policy ids to fetch
|
|
|
|
Datacenter string // The datacenter to perform the request within
|
|
|
|
QueryOptions
|
|
|
|
}
|
|
|
|
|
2018-10-31 20:00:46 +00:00
|
|
|
func (r *ACLPolicyBatchGetRequest) RequestDatacenter() string {
|
2018-10-19 16:04:07 +00:00
|
|
|
return r.Datacenter
|
|
|
|
}
|
|
|
|
|
|
|
|
// ACLPolicyResponse returns a single policy + metadata
|
|
|
|
type ACLPolicyResponse struct {
|
|
|
|
Policy *ACLPolicy
|
2017-08-03 00:05:18 +00:00
|
|
|
QueryMeta
|
|
|
|
}
|
|
|
|
|
2018-10-31 20:00:46 +00:00
|
|
|
type ACLPolicyBatchResponse struct {
|
2018-10-19 16:04:07 +00:00
|
|
|
Policies []*ACLPolicy
|
|
|
|
QueryMeta
|
|
|
|
}
|
|
|
|
|
2018-10-31 20:00:46 +00:00
|
|
|
// ACLPolicyBatchSetRequest is used at the Raft layer for batching
|
2018-10-19 16:04:07 +00:00
|
|
|
// multiple policy creations and updates
|
|
|
|
//
|
|
|
|
// This is particularly useful during replication
|
2018-10-31 20:00:46 +00:00
|
|
|
type ACLPolicyBatchSetRequest struct {
|
2018-10-19 16:04:07 +00:00
|
|
|
Policies ACLPolicies
|
|
|
|
}
|
|
|
|
|
|
|
|
// ACLPolicyBatchDeleteRequest is used at the Raft layer for batching
|
|
|
|
// multiple policy deletions
|
|
|
|
//
|
|
|
|
// This is particularly useful during replication
|
|
|
|
type ACLPolicyBatchDeleteRequest struct {
|
|
|
|
PolicyIDs []string
|
2017-08-03 00:05:18 +00:00
|
|
|
}
|
2019-04-08 18:19:09 +00:00
|
|
|
|
2019-04-15 20:43:19 +00:00
|
|
|
// ACLRoleSetRequest is used at the RPC layer for creation and update requests
|
|
|
|
type ACLRoleSetRequest struct {
|
2019-04-26 17:49:28 +00:00
|
|
|
Role ACLRole // The role to upsert
|
2019-04-15 20:43:19 +00:00
|
|
|
Datacenter string // The datacenter to perform the request within
|
|
|
|
WriteRequest
|
|
|
|
}
|
|
|
|
|
|
|
|
func (r *ACLRoleSetRequest) RequestDatacenter() string {
|
|
|
|
return r.Datacenter
|
|
|
|
}
|
|
|
|
|
|
|
|
// ACLRoleDeleteRequest is used at the RPC layer deletion requests
|
|
|
|
type ACLRoleDeleteRequest struct {
|
|
|
|
RoleID string // id of the role to delete
|
|
|
|
Datacenter string // The datacenter to perform the request within
|
2022-03-13 03:55:53 +00:00
|
|
|
acl.EnterpriseMeta
|
2019-04-15 20:43:19 +00:00
|
|
|
WriteRequest
|
|
|
|
}
|
|
|
|
|
|
|
|
func (r *ACLRoleDeleteRequest) RequestDatacenter() string {
|
|
|
|
return r.Datacenter
|
|
|
|
}
|
|
|
|
|
|
|
|
// ACLRoleGetRequest is used at the RPC layer to perform role read operations
|
|
|
|
type ACLRoleGetRequest struct {
|
|
|
|
RoleID string // id used for the role lookup (one of RoleID or RoleName is allowed)
|
|
|
|
RoleName string // name used for the role lookup (one of RoleID or RoleName is allowed)
|
|
|
|
Datacenter string // The datacenter to perform the request within
|
2022-03-13 03:55:53 +00:00
|
|
|
acl.EnterpriseMeta
|
2019-04-15 20:43:19 +00:00
|
|
|
QueryOptions
|
|
|
|
}
|
|
|
|
|
|
|
|
func (r *ACLRoleGetRequest) RequestDatacenter() string {
|
|
|
|
return r.Datacenter
|
|
|
|
}
|
|
|
|
|
|
|
|
// ACLRoleListRequest is used at the RPC layer to request a listing of roles
|
|
|
|
type ACLRoleListRequest struct {
|
|
|
|
Policy string // Policy filter
|
|
|
|
Datacenter string // The datacenter to perform the request within
|
2022-03-13 03:55:53 +00:00
|
|
|
acl.EnterpriseMeta
|
2019-04-15 20:43:19 +00:00
|
|
|
QueryOptions
|
|
|
|
}
|
|
|
|
|
|
|
|
func (r *ACLRoleListRequest) RequestDatacenter() string {
|
|
|
|
return r.Datacenter
|
|
|
|
}
|
|
|
|
|
|
|
|
type ACLRoleListResponse struct {
|
|
|
|
Roles ACLRoles
|
|
|
|
QueryMeta
|
|
|
|
}
|
|
|
|
|
|
|
|
// ACLRoleBatchGetRequest is used at the RPC layer to request a subset of
|
|
|
|
// the roles associated with the token used for retrieval
|
|
|
|
type ACLRoleBatchGetRequest struct {
|
|
|
|
RoleIDs []string // List of role ids to fetch
|
|
|
|
Datacenter string // The datacenter to perform the request within
|
|
|
|
QueryOptions
|
|
|
|
}
|
|
|
|
|
|
|
|
func (r *ACLRoleBatchGetRequest) RequestDatacenter() string {
|
|
|
|
return r.Datacenter
|
|
|
|
}
|
|
|
|
|
|
|
|
// ACLRoleResponse returns a single role + metadata
|
|
|
|
type ACLRoleResponse struct {
|
|
|
|
Role *ACLRole
|
|
|
|
QueryMeta
|
|
|
|
}
|
|
|
|
|
|
|
|
type ACLRoleBatchResponse struct {
|
|
|
|
Roles []*ACLRole
|
|
|
|
QueryMeta
|
|
|
|
}
|
|
|
|
|
|
|
|
// ACLRoleBatchSetRequest is used at the Raft layer for batching
|
|
|
|
// multiple role creations and updates
|
|
|
|
//
|
|
|
|
// This is particularly useful during replication
|
|
|
|
type ACLRoleBatchSetRequest struct {
|
2019-05-02 20:02:21 +00:00
|
|
|
Roles ACLRoles
|
|
|
|
AllowMissingLinks bool
|
2019-04-15 20:43:19 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
// ACLRoleBatchDeleteRequest is used at the Raft layer for batching
|
|
|
|
// multiple role deletions
|
|
|
|
//
|
|
|
|
// This is particularly useful during replication
|
|
|
|
type ACLRoleBatchDeleteRequest struct {
|
|
|
|
RoleIDs []string
|
|
|
|
}
|
2019-04-26 17:49:28 +00:00
|
|
|
|
|
|
|
// ACLBindingRuleSetRequest is used at the RPC layer for creation and update requests
|
|
|
|
type ACLBindingRuleSetRequest struct {
|
|
|
|
BindingRule ACLBindingRule // The rule to upsert
|
|
|
|
Datacenter string // The datacenter to perform the request within
|
|
|
|
WriteRequest
|
|
|
|
}
|
|
|
|
|
|
|
|
func (r *ACLBindingRuleSetRequest) RequestDatacenter() string {
|
|
|
|
return r.Datacenter
|
|
|
|
}
|
|
|
|
|
|
|
|
// ACLBindingRuleDeleteRequest is used at the RPC layer deletion requests
|
|
|
|
type ACLBindingRuleDeleteRequest struct {
|
|
|
|
BindingRuleID string // id of the rule to delete
|
|
|
|
Datacenter string // The datacenter to perform the request within
|
2022-03-13 03:55:53 +00:00
|
|
|
acl.EnterpriseMeta
|
2019-04-26 17:49:28 +00:00
|
|
|
WriteRequest
|
|
|
|
}
|
|
|
|
|
|
|
|
func (r *ACLBindingRuleDeleteRequest) RequestDatacenter() string {
|
|
|
|
return r.Datacenter
|
|
|
|
}
|
|
|
|
|
|
|
|
// ACLBindingRuleGetRequest is used at the RPC layer to perform rule read operations
|
|
|
|
type ACLBindingRuleGetRequest struct {
|
|
|
|
BindingRuleID string // id used for the rule lookup
|
|
|
|
Datacenter string // The datacenter to perform the request within
|
2022-03-13 03:55:53 +00:00
|
|
|
acl.EnterpriseMeta
|
2019-04-26 17:49:28 +00:00
|
|
|
QueryOptions
|
|
|
|
}
|
|
|
|
|
|
|
|
func (r *ACLBindingRuleGetRequest) RequestDatacenter() string {
|
|
|
|
return r.Datacenter
|
|
|
|
}
|
|
|
|
|
|
|
|
// ACLBindingRuleListRequest is used at the RPC layer to request a listing of rules
|
|
|
|
type ACLBindingRuleListRequest struct {
|
|
|
|
AuthMethod string // optional filter
|
|
|
|
Datacenter string // The datacenter to perform the request within
|
2022-03-13 03:55:53 +00:00
|
|
|
acl.EnterpriseMeta
|
2019-04-26 17:49:28 +00:00
|
|
|
QueryOptions
|
|
|
|
}
|
|
|
|
|
|
|
|
func (r *ACLBindingRuleListRequest) RequestDatacenter() string {
|
|
|
|
return r.Datacenter
|
|
|
|
}
|
|
|
|
|
|
|
|
type ACLBindingRuleListResponse struct {
|
|
|
|
BindingRules ACLBindingRules
|
|
|
|
QueryMeta
|
|
|
|
}
|
|
|
|
|
|
|
|
// ACLBindingRuleResponse returns a single binding + metadata
|
|
|
|
type ACLBindingRuleResponse struct {
|
|
|
|
BindingRule *ACLBindingRule
|
|
|
|
QueryMeta
|
|
|
|
}
|
|
|
|
|
|
|
|
// ACLBindingRuleBatchSetRequest is used at the Raft layer for batching
|
|
|
|
// multiple rule creations and updates
|
|
|
|
type ACLBindingRuleBatchSetRequest struct {
|
|
|
|
BindingRules ACLBindingRules
|
|
|
|
}
|
|
|
|
|
|
|
|
// ACLBindingRuleBatchDeleteRequest is used at the Raft layer for batching
|
|
|
|
// multiple rule deletions
|
|
|
|
type ACLBindingRuleBatchDeleteRequest struct {
|
|
|
|
BindingRuleIDs []string
|
|
|
|
}
|
|
|
|
|
|
|
|
// ACLAuthMethodSetRequest is used at the RPC layer for creation and update requests
|
|
|
|
type ACLAuthMethodSetRequest struct {
|
|
|
|
AuthMethod ACLAuthMethod // The auth method to upsert
|
|
|
|
Datacenter string // The datacenter to perform the request within
|
|
|
|
WriteRequest
|
|
|
|
}
|
|
|
|
|
|
|
|
func (r *ACLAuthMethodSetRequest) RequestDatacenter() string {
|
|
|
|
return r.Datacenter
|
|
|
|
}
|
|
|
|
|
|
|
|
// ACLAuthMethodDeleteRequest is used at the RPC layer deletion requests
|
|
|
|
type ACLAuthMethodDeleteRequest struct {
|
|
|
|
AuthMethodName string // name of the auth method to delete
|
|
|
|
Datacenter string // The datacenter to perform the request within
|
2022-03-13 03:55:53 +00:00
|
|
|
acl.EnterpriseMeta
|
2019-04-26 17:49:28 +00:00
|
|
|
WriteRequest
|
|
|
|
}
|
|
|
|
|
|
|
|
func (r *ACLAuthMethodDeleteRequest) RequestDatacenter() string {
|
|
|
|
return r.Datacenter
|
|
|
|
}
|
|
|
|
|
|
|
|
// ACLAuthMethodGetRequest is used at the RPC layer to perform rule read operations
|
|
|
|
type ACLAuthMethodGetRequest struct {
|
|
|
|
AuthMethodName string // name used for the auth method lookup
|
|
|
|
Datacenter string // The datacenter to perform the request within
|
2022-03-13 03:55:53 +00:00
|
|
|
acl.EnterpriseMeta
|
2019-04-26 17:49:28 +00:00
|
|
|
QueryOptions
|
|
|
|
}
|
|
|
|
|
|
|
|
func (r *ACLAuthMethodGetRequest) RequestDatacenter() string {
|
|
|
|
return r.Datacenter
|
|
|
|
}
|
|
|
|
|
|
|
|
// ACLAuthMethodListRequest is used at the RPC layer to request a listing of auth methods
|
|
|
|
type ACLAuthMethodListRequest struct {
|
|
|
|
Datacenter string // The datacenter to perform the request within
|
2022-03-13 03:55:53 +00:00
|
|
|
acl.EnterpriseMeta
|
2019-04-26 17:49:28 +00:00
|
|
|
QueryOptions
|
|
|
|
}
|
|
|
|
|
|
|
|
func (r *ACLAuthMethodListRequest) RequestDatacenter() string {
|
|
|
|
return r.Datacenter
|
|
|
|
}
|
|
|
|
|
|
|
|
type ACLAuthMethodListResponse struct {
|
|
|
|
AuthMethods ACLAuthMethodListStubs
|
|
|
|
QueryMeta
|
|
|
|
}
|
|
|
|
|
|
|
|
// ACLAuthMethodResponse returns a single auth method + metadata
|
|
|
|
type ACLAuthMethodResponse struct {
|
|
|
|
AuthMethod *ACLAuthMethod
|
|
|
|
QueryMeta
|
|
|
|
}
|
|
|
|
|
|
|
|
// ACLAuthMethodBatchSetRequest is used at the Raft layer for batching
|
|
|
|
// multiple auth method creations and updates
|
|
|
|
type ACLAuthMethodBatchSetRequest struct {
|
|
|
|
AuthMethods ACLAuthMethods
|
|
|
|
}
|
|
|
|
|
|
|
|
// ACLAuthMethodBatchDeleteRequest is used at the Raft layer for batching
|
|
|
|
// multiple auth method deletions
|
|
|
|
type ACLAuthMethodBatchDeleteRequest struct {
|
|
|
|
AuthMethodNames []string
|
2019-10-24 18:38:09 +00:00
|
|
|
// While it may seem odd that AuthMethodNames is associated with a single
|
|
|
|
// EnterpriseMeta, it is okay as this struct is only ever used to
|
|
|
|
// delete a single entry. This is because AuthMethods unlike tokens, policies
|
|
|
|
// and roles are not replicated between datacenters and therefore never
|
|
|
|
// batch applied.
|
2022-03-13 03:55:53 +00:00
|
|
|
acl.EnterpriseMeta
|
2019-04-26 17:49:28 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
type ACLLoginParams struct {
|
|
|
|
AuthMethod string
|
|
|
|
BearerToken string
|
|
|
|
Meta map[string]string `json:",omitempty"`
|
2022-03-13 03:55:53 +00:00
|
|
|
acl.EnterpriseMeta
|
2019-04-26 17:49:28 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
type ACLLoginRequest struct {
|
|
|
|
Auth *ACLLoginParams
|
|
|
|
Datacenter string // The datacenter to perform the request within
|
|
|
|
WriteRequest
|
|
|
|
}
|
|
|
|
|
|
|
|
func (r *ACLLoginRequest) RequestDatacenter() string {
|
|
|
|
return r.Datacenter
|
|
|
|
}
|
|
|
|
|
|
|
|
type ACLLogoutRequest struct {
|
|
|
|
Datacenter string // The datacenter to perform the request within
|
|
|
|
WriteRequest
|
|
|
|
}
|
|
|
|
|
|
|
|
func (r *ACLLogoutRequest) RequestDatacenter() string {
|
|
|
|
return r.Datacenter
|
|
|
|
}
|
2019-12-06 14:25:26 +00:00
|
|
|
|
|
|
|
type RemoteACLAuthorizationRequest struct {
|
|
|
|
Datacenter string
|
|
|
|
Requests []ACLAuthorizationRequest
|
|
|
|
QueryOptions
|
|
|
|
}
|
|
|
|
|
|
|
|
type ACLAuthorizationRequest struct {
|
|
|
|
Resource acl.Resource
|
|
|
|
Segment string `json:",omitempty"`
|
|
|
|
Access string
|
2022-03-13 03:55:53 +00:00
|
|
|
acl.EnterpriseMeta
|
2019-12-06 14:25:26 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
type ACLAuthorizationResponse struct {
|
|
|
|
ACLAuthorizationRequest
|
|
|
|
Allow bool
|
|
|
|
}
|
|
|
|
|
|
|
|
func (r *RemoteACLAuthorizationRequest) RequestDatacenter() string {
|
|
|
|
return r.Datacenter
|
|
|
|
}
|
|
|
|
|
|
|
|
func CreateACLAuthorizationResponses(authz acl.Authorizer, requests []ACLAuthorizationRequest) ([]ACLAuthorizationResponse, error) {
|
|
|
|
responses := make([]ACLAuthorizationResponse, len(requests))
|
2019-12-18 18:43:24 +00:00
|
|
|
var ctx acl.AuthorizerContext
|
2019-12-06 14:25:26 +00:00
|
|
|
|
|
|
|
for idx, req := range requests {
|
|
|
|
req.FillAuthzContext(&ctx)
|
|
|
|
decision, err := acl.Enforce(authz, req.Resource, req.Segment, req.Access, &ctx)
|
|
|
|
if err != nil {
|
|
|
|
return nil, err
|
|
|
|
}
|
|
|
|
|
|
|
|
responses[idx].ACLAuthorizationRequest = req
|
|
|
|
responses[idx].Allow = decision == acl.Allow
|
|
|
|
}
|
|
|
|
|
|
|
|
return responses, nil
|
|
|
|
}
|
2021-04-14 16:39:35 +00:00
|
|
|
|
2022-01-20 12:47:50 +00:00
|
|
|
type AgentRecoveryTokenIdentity struct {
|
2021-04-14 16:39:35 +00:00
|
|
|
agent string
|
|
|
|
secretID string
|
|
|
|
}
|
|
|
|
|
2022-01-20 12:47:50 +00:00
|
|
|
func NewAgentRecoveryTokenIdentity(agent string, secretID string) *AgentRecoveryTokenIdentity {
|
|
|
|
return &AgentRecoveryTokenIdentity{
|
2021-04-14 16:39:35 +00:00
|
|
|
agent: agent,
|
|
|
|
secretID: secretID,
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2022-01-20 12:47:50 +00:00
|
|
|
func (id *AgentRecoveryTokenIdentity) ID() string {
|
|
|
|
return fmt.Sprintf("agent-recovery:%s", id.agent)
|
2021-04-14 16:39:35 +00:00
|
|
|
}
|
|
|
|
|
2022-01-20 12:47:50 +00:00
|
|
|
func (id *AgentRecoveryTokenIdentity) SecretToken() string {
|
2021-04-14 16:39:35 +00:00
|
|
|
return id.secretID
|
|
|
|
}
|
|
|
|
|
2022-01-20 12:47:50 +00:00
|
|
|
func (id *AgentRecoveryTokenIdentity) PolicyIDs() []string {
|
2021-04-14 16:39:35 +00:00
|
|
|
return nil
|
|
|
|
}
|
|
|
|
|
2022-01-20 12:47:50 +00:00
|
|
|
func (id *AgentRecoveryTokenIdentity) RoleIDs() []string {
|
2021-04-14 16:39:35 +00:00
|
|
|
return nil
|
|
|
|
}
|
|
|
|
|
2022-01-20 12:47:50 +00:00
|
|
|
func (id *AgentRecoveryTokenIdentity) ServiceIdentityList() []*ACLServiceIdentity {
|
2021-04-14 16:39:35 +00:00
|
|
|
return nil
|
|
|
|
}
|
|
|
|
|
2022-01-20 12:47:50 +00:00
|
|
|
func (id *AgentRecoveryTokenIdentity) NodeIdentityList() []*ACLNodeIdentity {
|
2021-04-14 16:39:35 +00:00
|
|
|
return nil
|
|
|
|
}
|
|
|
|
|
2022-01-20 12:47:50 +00:00
|
|
|
func (id *AgentRecoveryTokenIdentity) IsExpired(asOf time.Time) bool {
|
2021-04-14 16:39:35 +00:00
|
|
|
return false
|
|
|
|
}
|
|
|
|
|
2022-01-20 12:47:50 +00:00
|
|
|
func (id *AgentRecoveryTokenIdentity) IsLocal() bool {
|
2021-04-14 16:39:35 +00:00
|
|
|
return true
|
|
|
|
}
|
|
|
|
|
2022-03-13 03:55:53 +00:00
|
|
|
func (id *AgentRecoveryTokenIdentity) EnterpriseMetadata() *acl.EnterpriseMeta {
|
2021-04-14 16:39:35 +00:00
|
|
|
return nil
|
|
|
|
}
|
2022-09-09 19:05:38 +00:00
|
|
|
|
2022-09-09 19:06:48 +00:00
|
|
|
const ServerManagementTokenAccessorID = "server-management-token"
|
2022-09-09 19:05:38 +00:00
|
|
|
|
|
|
|
type ACLServerIdentity struct {
|
|
|
|
secretID string
|
|
|
|
}
|
|
|
|
|
|
|
|
func NewACLServerIdentity(secretID string) *ACLServerIdentity {
|
|
|
|
return &ACLServerIdentity{
|
|
|
|
secretID: secretID,
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
func (i *ACLServerIdentity) ID() string {
|
2022-09-09 19:06:48 +00:00
|
|
|
return ServerManagementTokenAccessorID
|
2022-09-09 19:05:38 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
func (i *ACLServerIdentity) SecretToken() string {
|
|
|
|
return i.secretID
|
|
|
|
}
|
|
|
|
|
|
|
|
func (i *ACLServerIdentity) PolicyIDs() []string {
|
|
|
|
return nil
|
|
|
|
}
|
|
|
|
|
|
|
|
func (i *ACLServerIdentity) RoleIDs() []string {
|
|
|
|
return nil
|
|
|
|
}
|
|
|
|
|
|
|
|
func (i *ACLServerIdentity) ServiceIdentityList() []*ACLServiceIdentity {
|
|
|
|
return nil
|
|
|
|
}
|
|
|
|
|
|
|
|
func (i *ACLServerIdentity) NodeIdentityList() []*ACLNodeIdentity {
|
|
|
|
return nil
|
|
|
|
}
|
|
|
|
|
|
|
|
func (i *ACLServerIdentity) IsExpired(asOf time.Time) bool {
|
|
|
|
return false
|
|
|
|
}
|
|
|
|
|
|
|
|
func (i *ACLServerIdentity) IsLocal() bool {
|
|
|
|
return true
|
|
|
|
}
|
|
|
|
|
|
|
|
func (i *ACLServerIdentity) EnterpriseMetadata() *acl.EnterpriseMeta {
|
|
|
|
return acl.DefaultEnterpriseMeta()
|
|
|
|
}
|