Daniel Nephin
0cc58f54de
telemetry: improve cert expiry metrics
...
Emit the metric immediately so that after restarting an agent, the new expiry time will be
emitted. This is particularly important when this metric is being monitored, because we want
the alert to resovle itself immediately.
Also fixed a bug that was exposed in one of these metrics. The CARoot can be nil, so we have
to handle that case.
2021-10-27 15:19:25 -04:00
Daniel Nephin
a3c781682d
subscribe: attempt to fix a flaky test
...
TestSubscribeBackend_IntegrationWithServer_DeliversAllMessages has been
flaking a few times. This commit cleans up the test a bit, and improves
the failure output.
I don't believe this actually fixes the flake, but I'm not able to
reproduce it reliably.
The failure appears to be that the event with Port=0 is being sent in
both the snapshot and as the first event after the EndOfSnapshot event.
Hopefully the improved logging will show us if these are really
duplicate events, or actually different events with different indexes.
2021-10-27 15:09:09 -04:00
Freddy
fbcf9f3f6c
Merge pull request #11435 from hashicorp/ent-authorizer-refactor
...
[OSS] Export ACLs refactor
2021-10-27 13:04:40 -06:00
Freddy
303532825f
Merge pull request #11432 from hashicorp/ap/exports-mgw
...
[OSS] Update mesh gateways to handle partitions
2021-10-27 12:54:53 -06:00
freddygv
43360eb216
Rework acl exports interface
2021-10-27 12:50:39 -06:00
Freddy
ec7e94d129
Merge pull request #11433 from hashicorp/exported-service-acls
...
[OSS] acl: Expand ServiceRead and NodeRead to account for partition exports
2021-10-27 12:48:08 -06:00
freddygv
e93c144d2f
Update comments
2021-10-27 12:36:44 -06:00
Freddy
a8762be529
Merge pull request #11431 from hashicorp/ap/exports-proxycfg
...
[OSS] Update partitioned mesh gw handling for connect proxies
2021-10-27 11:27:43 -06:00
Freddy
b1b6f682e1
Merge pull request #11416 from hashicorp/ap/exports-update
...
Rename service-exports to partition-exports
2021-10-27 11:27:31 -06:00
freddygv
3a2061544d
Fixup partitions assertion
2021-10-27 11:15:25 -06:00
freddygv
9480670b72
Fixup imports
2021-10-27 11:15:25 -06:00
freddygv
c72bbb6e8d
Split up locality check from hostname check
2021-10-27 11:15:25 -06:00
freddygv
d28b9052b2
Move the exportingpartitions constant to enterprise
2021-10-27 11:15:25 -06:00
freddygv
448701dbd8
Replace default partition check
2021-10-27 11:15:25 -06:00
freddygv
12923f5ebc
PR comments
2021-10-27 11:15:25 -06:00
freddygv
327e6bff25
Leave todo about default name
2021-10-27 11:15:25 -06:00
freddygv
5bf2497f71
Add oss impl of registerEntCache
2021-10-27 11:15:25 -06:00
freddygv
954d21c6ba
Register the ExportingPartitions cache type
2021-10-27 11:15:25 -06:00
freddygv
a33b6923e0
Account for partitions in xds gen for mesh gw
...
This commit avoids skipping gateways in remote partitions of the local
DC when generating listeners/clusters/endpoints.
2021-10-27 11:15:25 -06:00
freddygv
935112a47a
Account for partition in SNI for gateways
2021-10-27 11:15:25 -06:00
freddygv
110fae820a
Update xds pkg to account for GatewayKey
2021-10-27 09:03:56 -06:00
freddygv
7e65678c52
Update mesh gateway proxy watches for partitions
...
This commit updates mesh gateway watches for cross-partitions
communication.
* Mesh gateways are keyed by partition and datacenter.
* Mesh gateways will now watch gateways in partitions that export
services to their partition.
* Mesh gateways in non-default partitions will not have cross-datacenter
watches. They are not involved in traditional WAN federation.
2021-10-27 09:03:56 -06:00
freddygv
aa931682ea
Avoid mixing named and unnamed params
2021-10-26 23:42:25 -06:00
freddygv
bf350224a0
Avoid passing nil config pointer
2021-10-26 23:42:25 -06:00
freddygv
df7b5af6f0
Avoid panic on nil partitionAuthorizer config
...
partitionAuthorizer.config can be nil if it wasn't provided on calls to
newPartitionAuthorizer outside of the ACLResolver. This usage happens
often in tests.
This commit: adds a nil check when the config is going to be used,
updates non-test usage of NewPolicyAuthorizerWithDefaults to pass a
non-nil config, and dettaches setEnterpriseConf from the ACLResolver.
2021-10-26 23:42:25 -06:00
freddygv
22bdf279d1
Update NodeRead for partition-exports
...
When issuing cross-partition service discovery requests, ACL filtering
often checks for NodeRead privileges. This is because the common return
type is a CheckServiceNode, which contains node data.
2021-10-26 23:42:11 -06:00
Kyle Havlovitz
65c9109396
acl: pass PartitionInfo through ent ACLConfig
2021-10-26 23:41:52 -06:00
Kyle Havlovitz
d03f849e49
acl: Expand ServiceRead logic to look at service-exports for cross-partition
2021-10-26 23:41:32 -06:00
freddygv
8006c6df73
Swap in structs.EqualPartitions for cmp
2021-10-26 23:36:01 -06:00
freddygv
37a16e9487
Replace Split with SplitN
2021-10-26 23:36:01 -06:00
freddygv
b9b6447977
Finish removing useInDatacenter
2021-10-26 23:36:01 -06:00
freddygv
e1691d1627
Update XDS for sidecars dialing through gateways
2021-10-26 23:35:48 -06:00
freddygv
62e0fc62c1
Configure sidecars to watch gateways in partitions
...
Previously the datacenter of the gateway was the key identifier, now it
is the datacenter and partition.
When dialing services in other partitions or datacenters we now watch
the appropriate partition.
2021-10-26 23:35:37 -06:00
freddygv
eacb73cb78
Remove useInDatacenter from disco chain requests
...
useInDatacenter was used to determine whether the mesh gateway mode of
the upstream should be returned in the discovery chain target. This
commit makes it so that the mesh gateway mode is returned every time,
and it is up to the caller to decide whether mesh gateways should be
watched or used.
2021-10-26 23:35:21 -06:00
R.B. Boyer
ef559dfdd4
agent: refactor the agent delegate interface to be partition friendly ( #11429 )
2021-10-26 15:08:55 -05:00
Chris S. Kim
fa293362be
agent: Ensure partition is considered in agent endpoints ( #11427 )
2021-10-26 15:20:57 -04:00
Konstantine
55599d0b41
remove spaces
2021-10-26 12:38:13 -04:00
Konstantine
ce85d2eada
fix altDomain responses for services where address is IP, added tests
2021-10-26 12:38:13 -04:00
Konstantine
a7e8c51f80
fix encodeIPAsFqdn to return alt-domain when requested, added test case
2021-10-26 12:38:12 -04:00
Konstantine
ffb00f01b5
fixed altDomain response for NS type queries, and added test
2021-10-26 12:38:12 -04:00
Konstantine
a828c45a62
edited TestDNS_AltDomains_Service to test responses for altDomains, and added TXT additional section check
2021-10-26 12:38:12 -04:00
Konstantine
0864bfdb71
fixed alt-domain answer for SRV records, and TXT records in additional section
2021-10-26 12:38:12 -04:00
Chris S. Kim
76bbeb3baf
ui: Pass primary dc through to uiserver ( #11317 )
...
Co-authored-by: John Cowen <johncowen@users.noreply.github.com>
2021-10-26 10:30:17 -04:00
freddygv
8aefdc31da
Remove outdated partition label from test
2021-10-25 18:47:02 -06:00
freddygv
5c24ed61a8
Rename service-exports to partition-exports
...
Existing config entries prefixed by service- are specific to individual
services. Since this config entry applies to partitions it is being
renamed.
Additionally, the Partition label was changed to Name because using
Partition at the top-level and in the enterprise meta was leading to the
enterprise meta partition being dropped by msgpack.
2021-10-25 17:58:48 -06:00
Daniel Nephin
4ae2c8de9d
Merge pull request #11232 from hashicorp/dnephin/acl-legacy-remove-docs
...
acl: add docs and changelog for the removal of the legacy ACL system
2021-10-25 18:38:00 -04:00
Daniel Nephin
5d41b4d2f4
Update agent/consul/acl_client.go
...
Co-authored-by: Freddy <freddygv@users.noreply.github.com>
2021-10-25 17:25:14 -04:00
Daniel Nephin
65d48e5042
state: remove support for updating legacy ACL tokens
2021-10-25 17:25:14 -04:00
Daniel Nephin
0784a31e85
acl: remove init check for legacy anon token
...
This token should always already be migrated from a previous version.
2021-10-25 17:25:14 -04:00
Daniel Nephin
daba3c2309
acl: remove legacy parameter to ACLDatacenter
...
It is no longer used now that legacy ACLs have been removed.
2021-10-25 17:25:14 -04:00
Daniel Nephin
3390f85ab4
acl: remove ACLTokenTypeManagement
2021-10-25 17:25:14 -04:00
Daniel Nephin
32b4ad42ac
acl: remove ACLTokenTypeClient,
...
along with the last test referencing it.
2021-10-25 17:25:14 -04:00
Daniel Nephin
aea4cc5a6d
acl: remove legacy arg to store.ACLTokenSet
...
And remove the tests for legacy=true
2021-10-25 17:25:14 -04:00
Daniel Nephin
c77e5747b1
acl: remove EmbeddedPolicy
...
This method is no longer. It only existed for legacy tokens, which are no longer supported.
2021-10-25 17:25:14 -04:00
Daniel Nephin
121431bf17
acl: remove tests for resolving legacy tokens
...
The code for this was already removed, which suggests this is not actually testing what it claims.
I'm guessing these are still resolving because the tokens are converted to non-legacy tokens?
2021-10-25 17:25:14 -04:00
Daniel Nephin
0d0761927a
acl: stop replication on leadership lost
...
It seems like this was missing. Previously this was only called by init of ACLs during an upgrade.
Now that legacy ACLs are removed, nothing was calling stop.
Also remove an unused method from client.
2021-10-25 17:24:12 -04:00
Daniel Nephin
98823e573f
Remove incorrect TODO
2021-10-25 17:20:06 -04:00
Daniel Nephin
1344137ce2
acl: move the legacy ACL struct to the one package where it is used
...
It is now only used for restoring snapshots. We can remove it in phase 2.
2021-10-25 17:20:06 -04:00
Daniel Nephin
531f2f8a3f
acl: remove most of the rest of structs/acl_legacy.go
2021-10-25 17:20:06 -04:00
Paul Banks
954b283fec
Merge pull request #11163 from hashicorp/feature/ingress-tls-mixed
...
Add support for enabling connect-based ingress TLS per listener.
2021-10-25 21:36:01 +01:00
FFMMM
fea6f08bf9
fix autopilot_failure_tolerance, add autopilot metrics test case ( #11399 )
...
Signed-off-by: FFMMM <FFMMM@users.noreply.github.com>
2021-10-25 10:55:59 -07:00
FFMMM
0954d261ae
use *telemetry.MetricsPrefix as prometheus.PrometheusOpts.Name ( #11290 )
...
Signed-off-by: FFMMM <FFMMM@users.noreply.github.com>
2021-10-21 13:33:01 -07:00
Dhia Ayachi
58f5686c08
fix leadership transfer on leave suggestions ( #11387 )
...
* add suggestions
* set isLeader to false when leadership transfer succeed
2021-10-21 14:02:26 -04:00
Dhia Ayachi
f424faffdd
try to perform a leadership transfer when leaving ( #11376 )
...
* try to perform a leadership transfer when leaving
* add a changelog
2021-10-21 12:44:31 -04:00
Kyle Havlovitz
04cd2c983e
Add new service-exports config entry
2021-10-20 12:24:18 -07:00
Jared Kirschner
14af8cb7a9
Merge pull request #11293 from bisakhmondal/service_filter
...
expression validation of service-resolver subset filter
2021-10-20 08:57:37 -04:00
Paul Banks
c891f30c24
Rebase and rebuild golden files for Envoy version bump
2021-10-19 21:37:58 +01:00
Paul Banks
6faf85bccd
Refactor `resolveListenerSDSConfig` to pass in whole config
2021-10-19 20:58:29 +01:00
Paul Banks
78a00f2e1c
Add support for enabling connect-based ingress TLS per listener.
2021-10-19 20:58:28 +01:00
R.B. Boyer
cc2abb79ba
acl: small OSS refactors to help ensure that auth methods with namespace rules work with partitions ( #11323 )
2021-10-14 15:38:05 -05:00
freddygv
e22f0cc033
Use stored entmeta to fill authzContext
2021-10-14 08:57:40 -06:00
freddygv
53ea1f634a
Ensure partition is handled by auto-encrypt
2021-10-14 08:32:45 -06:00
FFMMM
62980ffaa2
fix: only add prom autopilot gauges to servers ( #11241 )
...
Signed-off-by: FFMMM <FFMMM@users.noreply.github.com>
2021-10-13 09:25:30 -07:00
Chris S. Kim
c6906b4d37
Update Intentions.List with partitions ( #11299 )
2021-10-13 10:47:12 -04:00
R.B. Boyer
0c94095dfd
acl: fix bug in 'consul members' filtering with partitions ( #11263 )
2021-10-13 09:18:16 -05:00
Bisakh Mondal
a350a383d3
add service resolver subset filter validation
2021-10-13 02:56:04 +05:30
Connor
257d00c908
Merge pull request #11222 from hashicorp/clly/service-mesh-metrics
...
Start tracking connect service mesh usage metrics
2021-10-11 14:35:03 -05:00
Connor Kelly
786d2896ff
Replace fmt.Sprintf with function
2021-10-11 12:43:38 -05:00
tarat44
166269f93b
preload json values in structs to determine defaults
2021-10-10 17:52:26 -04:00
Daniel Nephin
b2f49279e2
ca: split Primary/Secondary Provider
...
To make it more clear which methods are necessary for each scenario. This can
also prevent problems which force all DCs to use the same Vault instance, which
is currently a problem.
2021-10-10 15:48:02 -04:00
Daniel Nephin
1d14889eca
ca: extract primaryUpdateRootCA
...
This function is only run when the CAManager is a primary. Extracting this function
makes it clear which parts of UpdateConfiguration are run only in the primary and
also makes the cleanup logic simpler. Instead of both a defer and a local var we
can call the cleanup function in two places.
2021-10-10 15:26:55 -04:00
Daniel Nephin
0bc812a8e5
ca: rename functions to use a primary or secondary prefix
...
This commit renames functions to use a consistent pattern for identifying the functions that
can only be called when the Manager is run as the primary or secondary.
This is a step toward eventually creating separate types and moving these methods off of CAManager.
2021-10-10 15:26:55 -04:00
Daniel Nephin
eaea56c7b2
ca: make receiver variable name consistent
...
Every other method uses c not ca
2021-10-10 15:26:55 -04:00
tarat44
3fe637156c
add test cases for h2ping_use_tls default behavior
2021-10-09 17:12:52 -04:00
FFMMM
a0bba9171d
fix consul_autopilot_healthy metric emission ( #11231 )
...
https://github.com/hashicorp/consul/issues/10730
2021-10-08 10:31:50 -07:00
Connor Kelly
a5cf4a9b57
Rename ConfigUsageEnterprise to EnterpriseConfigEntryUsage
2021-10-08 10:53:34 -05:00
Connor Kelly
8c519d5458
Rename and prefix ConfigEntry in Usage table
...
Rename ConfigUsage functions to ConfigEntry
prefix ConfigEntry kinds with the ConfigEntry table name to prevent
potential conflicts
2021-10-07 16:19:55 -05:00
Connor Kelly
533e7dbe85
Add connect specific prefix to Usage table
...
Ensure that connect Kind's are separate from ConfigEntry Kind's to
prevent miscounting
2021-10-07 16:16:23 -05:00
tarat44
ecdcfd6360
only set default on H2PingUseTLS if H2PING is set
2021-10-06 22:13:01 -04:00
Daniel Nephin
b4e3367e63
docs: add notice that legacy ACLs have been removed.
...
Add changelog
Also remove a metric that is no longer emitted that was missed in a
previous step.
2021-10-05 18:30:22 -04:00
Daniel Nephin
18b3ac33e8
acl: remove unused translate rules endpoint
...
The CLI command does not use this endpoint, so we can remove it. It was missed in an
earlier pass.
2021-10-05 18:26:05 -04:00
Connor Kelly
024715eb11
Add changelog, website and metric docs
...
Add changelog to document what changed.
Add entry to telemetry section of the website to document what changed
Add docs to the usagemetric endpoint to help document the metrics in code
2021-10-05 13:34:24 -05:00
Joshua Montgomery
8eb5915f7d
Fixing SOA record to use alt domain when alt domain in use ( #10431 )
2021-10-05 10:47:27 -04:00
tarat44
c5479cefe6
fix test
2021-10-05 00:48:09 -04:00
tarat44
ca2e7c2039
fix formatting
2021-10-05 00:15:04 -04:00
tarat44
1e8e44d442
fix formatting
2021-10-05 00:12:23 -04:00
tarat44
c1ed3a9a94
change config option to H2PingUseTLS
2021-10-05 00:12:21 -04:00
tarat44
3c9f5a73d9
add support for h2c in h2 ping health checks
2021-10-04 22:51:08 -04:00
Daniel Nephin
ab587f5221
Merge pull request #11182 from hashicorp/dnephin/acl-legacy-remove-upgrade
...
acl: remove upgrade from legacy, start in non-legacy mode
2021-10-04 17:25:39 -04:00
Evan Culver
e808620463
Merge pull request #11118 from hashicorp/eculver/remove-envoy-1.15
...
Remove support for Envoy 1.15
2021-10-04 23:14:24 +02:00