From c150135acef0fa9febb3f0184f32fea458b6f5f8 Mon Sep 17 00:00:00 2001 From: bdronneau Date: Tue, 14 Mar 2023 10:07:43 +0000 Subject: [PATCH] backport of commit f6d5cd04813072529e58415e39a6b3743f6ef90b --- .changelog/16224.txt | 3 - .changelog/16251.txt | 3 - .changelog/16259.txt | 3 - .changelog/16262.txt | 3 - .changelog/16266.txt | 3 - .changelog/16292.txt | 3 - .changelog/16298.txt | 3 - .changelog/16412.txt | 3 - .changelog/16428.txt | 3 - .changelog/16519.txt | 3 - .changelog/16574.txt | 3 - .circleci/config.yml | 90 +- .copywrite.hcl | 14 - .github/CONTRIBUTING.md | 3 +- .github/ISSUE_TEMPLATE/bug_report.md | 30 +- .github/ISSUE_TEMPLATE/feature_request.md | 6 +- .github/ISSUE_TEMPLATE/ui_issues.md | 25 +- .github/pull_request_template.md | 13 +- .github/workflows/backport-assistant.yml | 27 + .github/workflows/broken-link-check.yml | 30 - ...t-1.15.x.yaml => nightly-test-1.11.x.yaml} | 6 +- .github/workflows/test-link-rewrites.yml | 16 + .github/workflows/website-checker.yml | 51 + CHANGELOG.md | 38 - GNUmakefile | 10 +- Vagrantfile | 66 + agent/agent.go | 11 +- agent/agent_endpoint.go | 1 - agent/agent_test.go | 3 +- agent/auto-config/auto_config.go | 2 +- agent/auto-config/auto_config_test.go | 4 +- agent/auto-config/config_translate.go | 6 +- agent/auto-config/config_translate_test.go | 4 +- agent/auto-config/mock_test.go | 2 +- agent/auto-config/persist.go | 2 +- agent/auto-config/tls.go | 4 +- agent/cache-types/mock_PeeringLister_test.go | 2 +- .../mock_TrustBundleLister_test.go | 2 +- .../mock_TrustBundleReader_test.go | 2 +- agent/cache-types/peerings.go | 2 +- agent/cache-types/peerings_test.go | 2 +- agent/cache-types/trust_bundle.go | 2 +- agent/cache-types/trust_bundle_test.go | 2 +- agent/cache-types/trust_bundles.go | 2 +- agent/cache-types/trust_bundles_test.go | 2 +- agent/config/builder.go | 1 - agent/config/config.go | 10 - agent/config/runtime.go | 13 - agent/config/runtime_test.go | 3 +- .../TestRuntimeConfig_Sanitize.golden | 5 - agent/configentry/discoverychain.go | 13 - agent/connect/ca/provider_vault.go | 35 +- agent/connect/ca/provider_vault_auth.go | 15 +- .../ca/provider_vault_auth_alicloud.go | 52 - .../connect/ca/provider_vault_auth_approle.go | 66 - agent/connect/ca/provider_vault_auth_aws.go | 2 +- agent/connect/ca/provider_vault_auth_azure.go | 142 - agent/connect/ca/provider_vault_auth_gcp.go | 2 +- agent/connect/ca/provider_vault_auth_jwt.go | 50 - agent/connect/ca/provider_vault_auth_k8s.go | 47 - agent/connect/ca/provider_vault_auth_test.go | 462 - agent/connect/ca/provider_vault_test.go | 10 +- agent/consul/auto_config_endpoint.go | 6 +- agent/consul/auto_config_endpoint_test.go | 8 +- .../autopilotevents/ready_servers_events.go | 2 +- .../ready_servers_events_test.go | 2 +- agent/consul/client_test.go | 5 +- agent/consul/config.go | 2 - agent/consul/discoverychain/compile.go | 15 - agent/consul/discoverychain/compile_test.go | 31 - agent/consul/fsm/commands_oss.go | 2 +- agent/consul/fsm/snapshot_oss.go | 2 +- agent/consul/fsm/snapshot_test.go | 4 +- agent/consul/internal_endpoint_test.go | 2 +- agent/consul/leader_peering.go | 6 +- agent/consul/leader_peering_test.go | 17 +- agent/consul/multilimiter/multilimiter.go | 38 +- .../consul/multilimiter/multilimiter_test.go | 76 +- agent/consul/operator_backend.go | 3 +- agent/consul/operator_backend_test.go | 16 +- agent/consul/peering_backend.go | 2 +- agent/consul/peering_backend_oss_test.go | 2 +- agent/consul/peering_backend_test.go | 4 +- agent/consul/prepared_query_endpoint_test.go | 2 +- agent/consul/rpc_test.go | 5 +- agent/consul/server.go | 139 +- agent/consul/state/acl.go | 2 +- agent/consul/state/acl_test.go | 2 +- agent/consul/state/catalog.go | 1 - agent/consul/state/catalog_events.go | 6 +- agent/consul/state/catalog_events_test.go | 4 +- agent/consul/state/catalog_test.go | 23 +- agent/consul/state/config_entry.go | 28 - agent/consul/state/config_entry_events.go | 4 +- .../consul/state/config_entry_events_test.go | 2 +- .../state/config_entry_sameness_group_oss.go | 29 - .../config_entry_sameness_group_oss_test.go | 18 - agent/consul/state/config_entry_schema.go | 14 +- agent/consul/state/config_entry_test.go | 49 - agent/consul/state/connect_ca_events.go | 2 +- agent/consul/state/connect_ca_test.go | 2 +- agent/consul/state/events.go | 2 +- agent/consul/state/events_test.go | 2 +- agent/consul/state/memdb.go | 2 +- agent/consul/state/peering.go | 3 +- agent/consul/state/peering_oss.go | 2 +- agent/consul/state/peering_oss_test.go | 2 +- agent/consul/state/peering_test.go | 41 +- agent/consul/state/schema_test.go | 2 +- agent/consul/state/state_store_test.go | 2 +- agent/consul/state/store_integration_test.go | 2 +- agent/consul/stream/event.go | 2 +- agent/consul/stream/event_publisher_test.go | 2 +- agent/consul/subscribe_backend_test.go | 19 +- .../usagemetrics/usagemetrics_oss_test.go | 34 +- .../builtin/aws-lambda/aws_lambda_test.go | 2 +- .../builtin/http/localratelimit/copied.go | 58 - .../builtin/http/localratelimit/ratelimit.go | 198 - .../http/localratelimit/ratelimit_test.go | 160 - .../envoyextensions/registered_extensions.go | 6 +- .../services/peerstream/replication.go | 8 +- .../services/peerstream/server.go | 4 +- .../services/peerstream/server_test.go | 4 +- .../services/peerstream/stream_resources.go | 4 +- .../services/peerstream/stream_test.go | 12 +- .../peerstream/subscription_blocking.go | 2 +- .../peerstream/subscription_manager.go | 8 +- .../peerstream/subscription_manager_test.go | 10 +- .../services/peerstream/subscription_state.go | 2 +- .../peerstream/subscription_state_test.go | 2 +- .../services/peerstream/subscription_view.go | 4 +- .../peerstream/subscription_view_test.go | 4 +- .../services/peerstream/testing.go | 2 +- .../grpc-external/services/resource/server.go | 56 - .../services/resource/server_test.go | 75 - .../serverdiscovery/watch_servers_test.go | 2 +- agent/grpc-external/stats_test.go | 2 +- agent/grpc-internal/balancer/balancer.go | 40 +- agent/grpc-internal/balancer/balancer_test.go | 41 +- agent/grpc-internal/balancer/registry.go | 69 - agent/grpc-internal/client.go | 34 +- agent/grpc-internal/client_test.go | 38 +- agent/grpc-internal/handler_test.go | 6 +- .../services/subscribe/logger.go | 2 +- .../services/subscribe/subscribe.go | 2 +- .../services/subscribe/subscribe_test.go | 8 +- agent/grpc-internal/stats_test.go | 2 +- .../rate_limit_mappings.gen.go | 6 - .../testutil/testservice/simple.pb.binary.go | 2 +- .../testutil/testservice/simple.pb.go | 125 +- .../testutil/testservice/simple_grpc.pb.go | 4 +- agent/http.go | 2 +- agent/local/state.go | 3 - agent/local/state_test.go | 10 +- agent/operator_endpoint.go | 2 +- agent/peering_endpoint.go | 2 +- agent/peering_endpoint_oss_test.go | 2 +- agent/peering_endpoint_test.go | 2 +- agent/pool/pool.go | 2 +- agent/proxycfg-glue/config_entry.go | 6 +- agent/proxycfg-glue/config_entry_test.go | 4 +- .../exported_peered_services_test.go | 2 +- agent/proxycfg-glue/glue.go | 2 +- agent/proxycfg-glue/health_test.go | 2 +- agent/proxycfg-glue/intentions.go | 2 +- agent/proxycfg-glue/intentions_ent_test.go | 2 +- agent/proxycfg-glue/intentions_oss.go | 2 +- agent/proxycfg-glue/intentions_test.go | 2 +- agent/proxycfg-glue/peering_list.go | 2 +- agent/proxycfg-glue/peering_list_test.go | 2 +- agent/proxycfg-glue/service_list.go | 4 +- agent/proxycfg-glue/service_list_test.go | 2 +- agent/proxycfg-glue/trust_bundle.go | 2 +- agent/proxycfg-glue/trust_bundle_test.go | 2 +- agent/proxycfg/api_gateway.go | 2 +- agent/proxycfg/connect_proxy.go | 2 +- agent/proxycfg/ingress_gateway.go | 2 +- agent/proxycfg/manager_test.go | 2 +- agent/proxycfg/mesh_gateway.go | 2 +- agent/proxycfg/proxycfg.deepcopy.go | 2 +- agent/proxycfg/snapshot.go | 2 +- agent/proxycfg/snapshot_test.go | 2 +- agent/proxycfg/state_test.go | 7 +- agent/proxycfg/testing.go | 2 +- agent/proxycfg/testing_mesh_gateway.go | 2 +- agent/proxycfg/testing_peering.go | 2 +- agent/proxycfg/testing_upstreams.go | 2 +- agent/proxycfg/upstreams.go | 2 +- agent/rpc/operator/service.go | 3 +- agent/rpc/operator/service_test.go | 3 +- agent/rpc/peering/service.go | 8 +- agent/rpc/peering/service_oss_test.go | 2 +- agent/rpc/peering/service_test.go | 8 +- agent/rpc/peering/testing.go | 2 +- agent/rpcclient/health/health.go | 2 +- agent/rpcclient/health/streaming_test.go | 2 +- agent/rpcclient/health/view.go | 4 +- agent/rpcclient/health/view_test.go | 8 +- agent/setup.go | 23 +- agent/structs/config_entry.go | 21 +- agent/structs/config_entry_discoverychain.go | 62 +- .../config_entry_discoverychain_oss.go | 14 - .../config_entry_discoverychain_oss_test.go | 11 - agent/structs/config_entry_sameness_group.go | 72 - .../config_entry_sameness_group_oss.go | 10 - agent/structs/config_entry_test.go | 19 - agent/structs/discovery_chain.go | 16 +- agent/structs/peering.go | 1 - agent/structs/service_definition.go | 2 - agent/structs/structs.deepcopy.go | 24 - agent/structs/structs.go | 32 +- agent/structs/structs_ext_test.go | 2 +- agent/submatview/handler.go | 2 +- agent/submatview/local_materializer.go | 2 +- agent/submatview/local_materializer_test.go | 2 +- agent/submatview/materializer.go | 2 +- agent/submatview/rpc_materializer.go | 2 +- agent/submatview/store_integration_test.go | 2 +- agent/submatview/store_test.go | 6 +- agent/submatview/streaming_test.go | 6 +- agent/ui_endpoint_test.go | 2 +- .../assets/chunk.143.ff39f0b820a97e2c6d5d.js | 52 - .../assets/chunk.178.00380c6ad3fa678e07b6.js | 21 - .../assets/chunk.336.f5cb05e551aa08eb7125.js | 908 -- ...nk.336.f5cb05e551aa08eb7125.js.LICENSE.txt | 8 - .../assets/chunk.412.2df22e4bf69d8f15ebdb.js | 2276 --- ...nk.412.2df22e4bf69d8f15ebdb.js.LICENSE.txt | 38 - .../assets/chunk.744.c0eb6726020fc4af8d3f.css | 39 - .../assets/chunk.744.c0eb6726020fc4af8d3f.js | 1 - .../assets/chunk.83.85cc25a28afe28f711a3.js | 65 - ...cript-77218cd1268ea6df75775114ae086566.js} | 42 +- ... ruby-ea43ca3a3bdd63a52811e8464d66134b.js} | 0 ...> xml-10ec8b8cc61ef0fbd25b27a599fdcd60.js} | 22 +- ... yaml-3f129a000349e3075be0f65719884b61.js} | 72 +- ...outes-75a2ac7d38caf09cfee2a4e2bc49dcf7.js} | 0 ...vices-8b6b2b2bea3add7709b8075a5ed5652b.js} | 0 ...routes-282630d2b2c8bf766b7e0d4f512828cc.js | 1 - ...rvices-51af43ae095119987dadf6f2392a59b3.js | 1 - ...outes-f2c5ce353830c89f540358e7f174e0bf.js} | 0 ...vices-8b6b2b2bea3add7709b8075a5ed5652b.js} | 0 ...outes-f939ed42e9b83f9d1bbc5256be68e77c.js} | 0 ...vices-8b6b2b2bea3add7709b8075a5ed5652b.js} | 0 ...outes-cba490481425519435d142c743bbc3d3.js} | 0 ...vices-85621f245f195fe1ce177064bfb04504.js} | 0 ...routes-989d6de4b58a54c8638e37694240f29a.js | 1 - ...rvices-e5a754eca7f3fbb406035f10b8dfbb77.js | 1 - ...ul-ui-20fef69ea9b73df740a420526b12c7fb.css | 1 + ...sul-ui-7444626e95c5ba30e9097f92995f0238.js | 3938 ------ ...sul-ui-e58b85f0a8e1fb15ded242e5b25b171c.js | 3507 +++++ ...ul-ui-f5d0ec3be8cca14adb133c8e2f488419.css | 1 - ...debug-8f884a3e3f7105d43b7b4024db9b4c99.js} | 0 ...outes-e55bc65732ba7c0352d43313fd9563e6.js} | 2 +- ...vices-a17470cdfbd4a4096117ac0103802226.js} | 2 +- ...debug-5a3f1d2e3954a05aa8383f02db31b8e6.js} | 0 ...scape-851839b3ea1d0b4eb4c7089446df5e9f.js} | 0 ...coding-022884ab2a5bd42b6f4fff580fa0dd34.js | 209 - ...coding-cdb50fbdab6d4d3fdf574dd784f77d27.js | 204 + ...dexes-75eea16b259716db4fd162ee283d2ae5.js} | 0 .../init-21ea65714d133467454b601efc15e2dd.js | 5 + .../init-fe2561b45ce1429092f4a9a2bbb9ce71.js | 5 - ...onsul-31d7e3b0ef7c58d62338c7d7aeaaf545.js} | 0 ...theus-5f31ba3b7ffd850fa916a0a76933e968.js} | 32 +- ...endor-69ef69e98b7d14d1513f8056b6c6b48d.css | 1 + ...vendor-aeac0d1e27f3b95c9b4bad3aac59a219.js | 11134 --------------- ...vendor-c7887d0a48fe1497d1843edc3d5bfbc8.js | 11488 ++++++++++++++++ ...endor-cf03d69ba4d9fa5934f04dca689d187f.css | 1 - agent/uiserver/dist/index.html | 60 +- agent/xds/clusters.go | 262 +- agent/xds/delta_envoy_extender_oss_test.go | 21 - agent/xds/delta_test.go | 18 - agent/xds/endpoints.go | 71 +- agent/xds/golden_test.go | 33 +- agent/xds/listeners.go | 13 +- agent/xds/rbac.go | 2 +- agent/xds/rbac_test.go | 2 +- agent/xds/routes.go | 12 +- ...cal-ratelimit-applyto-filter.latest.golden | 127 - ...cal-ratelimit-applyto-filter.latest.golden | 75 - ...cal-ratelimit-applyto-filter.latest.golden | 256 - ...cal-ratelimit-applyto-filter.latest.golden | 5 - ...and-inline-certificate.envoy-1-21-x.golden | 55 - ...route-and-inline-certificate.latest.golden | 68 +- ...and-failover-to-cluster-peer.latest.golden | 261 +- ...roxy-with-chain-and-failover.latest.golden | 262 +- ...and-redirect-to-cluster-peer.latest.golden | 167 +- ...ough-local-gateway-triggered.latest.golden | 340 +- ...ilover-through-local-gateway.latest.golden | 340 +- ...ugh-remote-gateway-triggered.latest.golden | 340 +- ...lover-through-remote-gateway.latest.golden | 340 +- ...ough-local-gateway-triggered.latest.golden | 262 +- ...ilover-through-local-gateway.latest.golden | 262 +- ...ugh-remote-gateway-triggered.latest.golden | 262 +- ...lover-through-remote-gateway.latest.golden | 262 +- ...and-failover-to-cluster-peer.latest.golden | 175 +- ...ress-with-chain-and-failover.latest.golden | 176 +- ...ough-local-gateway-triggered.latest.golden | 248 +- ...ilover-through-local-gateway.latest.golden | 248 +- ...ugh-remote-gateway-triggered.latest.golden | 248 +- ...lover-through-remote-gateway.latest.golden | 248 +- ...ough-local-gateway-triggered.latest.golden | 176 +- ...ilover-through-local-gateway.latest.golden | 176 +- ...ugh-remote-gateway-triggered.latest.golden | 176 +- ...lover-through-remote-gateway.latest.golden | 176 +- ...route-and-inline-certificate.latest.golden | 6 +- ...and-failover-to-cluster-peer.latest.golden | 112 +- ...roxy-with-chain-and-failover.latest.golden | 116 +- ...ough-local-gateway-triggered.latest.golden | 152 +- ...ilover-through-local-gateway.latest.golden | 116 +- ...ugh-remote-gateway-triggered.latest.golden | 152 +- ...lover-through-remote-gateway.latest.golden | 116 +- ...ough-local-gateway-triggered.latest.golden | 116 +- ...ilover-through-local-gateway.latest.golden | 116 +- ...ugh-remote-gateway-triggered.latest.golden | 116 +- ...lover-through-remote-gateway.latest.golden | 116 +- ...and-failover-to-cluster-peer.latest.golden | 76 +- ...ress-with-chain-and-failover.latest.golden | 80 +- ...ough-local-gateway-triggered.latest.golden | 116 +- ...ilover-through-local-gateway.latest.golden | 80 +- ...ugh-remote-gateway-triggered.latest.golden | 116 +- ...lover-through-remote-gateway.latest.golden | 80 +- ...ough-local-gateway-triggered.latest.golden | 80 +- ...ilover-through-local-gateway.latest.golden | 80 +- ...ugh-remote-gateway-triggered.latest.golden | 80 +- ...lover-through-remote-gateway.latest.golden | 80 +- .../api-gateway-tcp-listeners.latest.golden | 5 - ...route-and-inline-certificate.latest.golden | 68 +- ...route-and-inline-certificate.latest.golden | 6 +- ...route-and-inline-certificate.latest.golden | 6 +- .../validateupstream_test.go | 2 +- api/agent.go | 4 +- api/agent_test.go | 11 +- api/api_test.go | 16 +- api/catalog.go | 7 +- api/catalog_test.go | 10 +- api/config_entry.go | 8 +- api/config_entry_discoverychain.go | 5 - api/config_entry_samness_group.go | 25 - api/discovery_chain.go | 1 - api/go.mod | 2 +- api/go.sum | 2 + api/peering.go | 10 - buf.work.yaml | 5 - build-support/scripts/protobuf.sh | 22 +- .../upstreams/troubleshoot_upstreams.go | 2 +- connect/tls_test.go | 2 +- envoyextensions/go.mod | 2 +- envoyextensions/go.sum | 2 + go.mod | 15 +- go.sum | 27 +- .../postprocess/main.go | 36 +- .../ratelimit/ratelimit.pb.binary.go | 2 +- .../annotations/ratelimit/ratelimit.pb.go | 167 +- proto-public/buf.gen.yaml | 8 +- proto-public/buf.yaml | 1 - proto-public/pbacl/acl.pb.binary.go | 2 +- proto-public/pbacl/acl.pb.go | 218 +- proto-public/pbacl/acl.proto | 10 +- proto-public/pbacl/acl_grpc.pb.go | 4 +- proto-public/pbconnectca/ca.pb.binary.go | 2 +- proto-public/pbconnectca/ca.pb.go | 230 +- proto-public/pbconnectca/ca.proto | 10 +- proto-public/pbconnectca/ca_grpc.pb.go | 4 +- .../pbdataplane/dataplane.pb.binary.go | 2 +- proto-public/pbdataplane/dataplane.pb.go | 360 +- proto-public/pbdataplane/dataplane.proto | 10 +- proto-public/pbdataplane/dataplane_grpc.pb.go | 4 +- proto-public/pbdns/dns.pb.binary.go | 2 +- proto-public/pbdns/dns.pb.go | 150 +- proto-public/pbdns/dns.proto | 6 +- proto-public/pbdns/dns_grpc.pb.go | 4 +- proto-public/pbresource/resource.pb.binary.go | 178 - proto-public/pbresource/resource.pb.go | 1667 --- proto-public/pbresource/resource.proto | 141 - proto-public/pbresource/resource_grpc.pb.go | 311 - .../serverdiscovery.pb.binary.go | 2 +- .../pbserverdiscovery/serverdiscovery.pb.go | 172 +- .../pbserverdiscovery/serverdiscovery.proto | 6 +- .../serverdiscovery_grpc.pb.go | 4 +- proto/buf.gen.yaml | 10 +- proto/{private => }/pbacl/acl.go | 0 proto/{private => }/pbacl/acl.pb.binary.go | 2 +- proto/pbacl/acl.pb.go | 167 + proto/{private => }/pbacl/acl.proto | 0 proto/{private => }/pbautoconf/auto_config.go | 0 .../pbautoconf/auto_config.pb.binary.go | 2 +- .../pbautoconf/auto_config.pb.go | 181 +- .../pbautoconf/auto_config.proto | 4 +- .../pbautoconf/auto_config_oss.go | 0 proto/{private => }/pbcommon/common.gen.go | 14 - proto/{private => }/pbcommon/common.go | 30 - .../pbcommon/common.pb.binary.go | 12 +- proto/{private => }/pbcommon/common.pb.go | 422 +- proto/{private => }/pbcommon/common.proto | 13 - proto/{private => }/pbcommon/common_oss.go | 0 .../pbcommon/convert_pbstruct.go | 0 .../pbcommon/convert_pbstruct_test.go | 0 .../pbconfig/config.pb.binary.go | 2 +- proto/{private => }/pbconfig/config.pb.go | 385 +- proto/{private => }/pbconfig/config.proto | 0 .../pbconfigentry/config_entry.gen.go | 22 - .../pbconfigentry/config_entry.go | 2 +- .../pbconfigentry/config_entry.pb.binary.go | 12 +- .../pbconfigentry/config_entry.pb.go | 3206 +++-- .../pbconfigentry/config_entry.proto | 12 +- proto/{private => }/pbconnect/connect.gen.go | 0 proto/{private => }/pbconnect/connect.go | 2 +- .../pbconnect/connect.pb.binary.go | 2 +- proto/{private => }/pbconnect/connect.pb.go | 305 +- proto/{private => }/pbconnect/connect.proto | 2 +- .../{private => }/pboperator/operator.gen.go | 0 .../pboperator/operator.pb.binary.go | 2 +- proto/pboperator/operator.pb.go | 247 + proto/{private => }/pboperator/operator.proto | 6 +- .../pboperator/operator_grpc.pb.go | 4 +- proto/{private => }/pbpeering/peering.gen.go | 2 - proto/{private => }/pbpeering/peering.go | 51 +- .../pbpeering/peering.pb.binary.go | 2 +- proto/{private => }/pbpeering/peering.pb.go | 1213 +- proto/{private => }/pbpeering/peering.proto | 39 +- .../pbpeering/peering.rpcglue.pb.go | 0 .../pbpeering/peering_grpc.pb.go | 4 +- proto/{private => }/pbpeering/peering_oss.go | 0 proto/{private => }/pbpeerstream/convert.go | 2 +- .../{private => }/pbpeerstream/peerstream.go | 0 .../pbpeerstream/peerstream.pb.binary.go | 2 +- .../pbpeerstream/peerstream.pb.go | 448 +- .../pbpeerstream/peerstream.proto | 16 +- .../pbpeerstream/peerstream_grpc.pb.go | 4 +- proto/{private => }/pbpeerstream/types.go | 0 proto/{private => }/pbservice/convert.go | 24 +- proto/{private => }/pbservice/convert_oss.go | 2 +- .../pbservice/convert_oss_test.go | 0 proto/{private => }/pbservice/convert_test.go | 0 .../pbservice/healthcheck.gen.go | 0 .../pbservice/healthcheck.pb.binary.go | 2 +- .../{private => }/pbservice/healthcheck.pb.go | 503 +- .../{private => }/pbservice/healthcheck.proto | 2 +- proto/{private => }/pbservice/ids.go | 0 proto/{private => }/pbservice/ids_test.go | 2 +- proto/{private => }/pbservice/node.gen.go | 4 - .../{private => }/pbservice/node.pb.binary.go | 2 +- proto/{private => }/pbservice/node.pb.go | 305 +- proto/{private => }/pbservice/node.proto | 13 +- proto/{private => }/pbservice/service.gen.go | 2 - .../pbservice/service.pb.binary.go | 2 +- proto/{private => }/pbservice/service.pb.go | 681 +- proto/{private => }/pbservice/service.proto | 8 +- .../pbstatus/status.pb.binary.go | 2 +- proto/pbstatus/status.pb.go | 211 + proto/{private => }/pbstatus/status.proto | 0 proto/{private => }/pbsubscribe/subscribe.go | 0 .../pbsubscribe/subscribe.pb.binary.go | 2 +- .../{private => }/pbsubscribe/subscribe.pb.go | 418 +- .../{private => }/pbsubscribe/subscribe.proto | 14 +- .../pbsubscribe/subscribe_grpc.pb.go | 4 +- proto/private/pbacl/acl.pb.go | 168 - proto/private/pboperator/operator.pb.go | 247 - proto/private/pbstatus/status.pb.go | 212 - proto/{private => }/prototest/testing.go | 0 sdk/testutil/retry/retry.go | 56 +- sdk/testutil/retry/retry_test.go | 52 - sdk/testutil/server.go | 7 - .../case-api-gateway-tcp-conflicted/setup.sh | 3 +- .../case-api-gateway-tcp-simple/setup.sh | 3 +- .../case-api-gateway-tcp-simple/verify.bats | 2 +- .../primary/verify.bats | 21 +- .../primary/verify.bats | 12 +- .../primary/verify.bats | 14 +- .../verify.bats | 6 +- .../envoy/case-envoyext-ratelimit/capture.sh | 4 - .../case-envoyext-ratelimit/service_s1.hcl | 16 - .../case-envoyext-ratelimit/service_s2.hcl | 5 - .../envoy/case-envoyext-ratelimit/setup.sh | 46 - .../envoy/case-envoyext-ratelimit/vars.sh | 3 - .../envoy/case-envoyext-ratelimit/verify.bats | 57 - .../primary/verify.bats | 12 +- .../consul-container/libs/assert/service.go | 18 +- .../consul-container/libs/cluster/agent.go | 1 - .../consul-container/libs/cluster/builder.go | 5 - .../consul-container/libs/cluster/cluster.go | 46 +- .../libs/cluster/container.go | 9 +- .../consul-container/libs/service/helpers.go | 58 - .../libs/topology/peering_topology.go | 173 +- .../libs/topology/service_topology.go | 6 +- .../test/basic/connect_service_test.go | 56 +- .../test/gateways/gateway_endpoint_test.go | 63 +- .../test/gateways/http_route_test.go | 88 +- .../test/gateways/namespace_oss.go | 8 - .../test/observability/access_logs_test.go | 15 +- .../rotate_server_and_ca_then_fail_test.go | 6 +- .../test/ratelimit/ratelimit_test.go | 71 +- ..._test.go => troubleshoot_upstream_test.go} | 11 +- .../test/upgrade/acl_node_test.go | 44 +- .../test/upgrade/fullstopupgrade_test.go | 91 +- .../test/upgrade/healthcheck_test.go | 37 +- .../test/upgrade/helper_test.go | 92 + .../test/upgrade/ingress_gateway_test.go | 312 - .../resolver_default_subset_test.go | 52 +- .../upgrade/peering_control_plane_mgw_test.go | 38 +- .../test/upgrade/peering_http_test.go | 75 +- .../consul-container/test/upgrade/upgrade.go | 3 + .../test/wanfed/wanfed_peering_test.go | 21 +- tlsutil/config.go | 2 +- troubleshoot/go.mod | 4 +- troubleshoot/go.sum | 4 + .../consul/token/selector/index.hbs | 18 +- .../consul/lock-session/form/index.hbs | 47 +- .../consul/lock-session/list/index.hbs | 34 +- .../lock-session/notifications/index.hbs | 64 +- .../app/templates/dc/nodes/show/sessions.hbs | 28 +- .../components/consul/nspace/form/index.hbs | 39 +- .../consul/nspace/notifications/index.hbs | 20 +- .../app/templates/dc/nspaces/index.hbs | 26 +- .../consul/partition/form/index.hbs | 43 +- .../consul/partition/notifications/index.hbs | 21 +- .../consul/partition/selector/index.hbs | 128 +- .../app/templates/dc/partitions/index.hbs | 12 +- .../consul/peer/address/list/index.hbs | 2 +- .../consul/peer/address/list/index.scss | 3 - .../consul/peer/bento-box/index.hbs | 2 +- .../components/consul/peer/components.scss | 42 +- .../peer/form/generate/actions/index.hbs | 13 +- .../consul/peer/form/generate/index.hbs | 12 +- .../components/consul/peer/form/index.scss | 17 +- .../peer/form/initiate/actions/index.hbs | 9 +- .../consul/peer/form/initiate/index.hbs | 12 +- .../consul/peer/form/token/actions/index.hbs | 28 +- .../peer/form/token/fieldsets/index.hbs | 12 +- .../app/components/consul/peer/index.scss | 1 - .../consul/peer/notifications/index.hbs | 21 +- .../app/templates/dc/peers/index.hbs | 43 +- .../app/templates/dc/peers/show/addresses.hbs | 34 +- .../app/templates/dc/peers/show/exported.hbs | 34 +- .../app/templates/dc/peers/show/imported.hbs | 35 +- .../app/components/anchors/index.scss | 4 +- .../app/components/anchors/skin.scss | 4 +- .../app/components/app-view/index.scss | 5 +- .../app/components/app-view/skin.scss | 8 +- .../consul-ui/app/components/app/index.scss | 13 +- .../app/components/app/notification/index.hbs | 2 +- .../app/components/auth-form/index.hbs | 84 +- .../app/components/auth-form/skin.scss | 4 +- .../app/components/auth-modal/layout.scss | 2 +- .../app/components/auth-profile/index.scss | 4 +- .../consul-ui/app/components/badge/index.scss | 4 +- .../app/components/breadcrumbs/skin.scss | 8 +- .../app/components/buttons/index.scss | 17 + .../app/components/buttons/skin.scss | 34 +- .../consul-ui/app/components/card/skin.scss | 6 +- .../app/components/code-editor/layout.scss | 2 +- .../app/components/code-editor/skin.scss | 32 +- .../app/components/composite-row/index.scss | 4 +- .../confirmation-dialog/layout.scss | 3 +- .../components/confirmation-dialog/skin.scss | 4 +- .../components/consul/acl/disabled/index.hbs | 20 +- .../components/consul/auth-method/index.scss | 10 +- .../consul/discovery-chain/index.hbs | 151 +- .../consul/discovery-chain/skin.scss | 22 +- .../consul/exposed-path/list/index.scss | 2 +- .../consul/external-source/index.hbs | 2 +- .../consul/health-check/list/skin.scss | 24 +- .../consul/instance-checks/index.scss | 8 +- .../consul/intention/components.scss | 8 +- .../consul/intention/form/fieldsets/index.hbs | 61 +- .../consul/intention/form/index.hbs | 175 +- .../consul/intention/list/components.scss | 9 + .../consul/intention/list/skin.scss | 2 +- .../notice/custom-resource/index.hbs | 30 +- .../intention/notice/permissions/index.hbs | 27 +- .../intention/permission/form/index.hbs | 31 +- .../intention/permission/form/skin.scss | 2 +- .../app/components/consul/kv/form/index.hbs | 75 +- .../app/components/consul/loader/skin.scss | 2 +- .../consul/node/agentless-notice/index.hbs | 44 +- .../consul/node/agentless-notice/index.scss | 2 +- .../components/consul/peer/info/index.scss | 4 +- .../components/consul/server/card/skin.scss | 17 +- .../components/consul/server/list/index.scss | 4 +- .../components/consul/service/list/index.hbs | 2 +- .../consul/tomography/graph/index.scss | 18 +- .../app/components/copy-button/skin.scss | 16 +- .../app/components/copyable-code/index.scss | 14 +- .../app/components/data-loader/index.hbs | 19 +- .../app/components/data-writer/index.hbs | 71 +- .../components/delete-confirmation/index.hbs | 17 +- .../app/components/disclosure-menu/README.mdx | 2 +- .../app/components/empty-state/README.mdx | 32 +- .../app/components/empty-state/index.hbs | 11 +- .../app/components/empty-state/index.scss | 3 + .../app/components/empty-state/skin.scss | 4 +- .../app/components/error-state/index.hbs | 54 +- .../expanded-single-select/skin.scss | 6 +- .../app/components/filter-bar/skin.scss | 8 +- .../app/components/form-elements/index.scss | 12 +- .../app/components/form-elements/skin.scss | 16 +- .../app/components/freetext-filter/skin.scss | 14 +- .../app/components/hashicorp-consul/index.hbs | 106 +- .../components/hashicorp-consul/index.scss | 16 +- .../components/horizontal-kv-list/README.mdx | 4 +- .../components/horizontal-kv-list/debug.scss | 6 +- .../app/components/icon-definition/index.scss | 12 +- .../app/components/informed-action/skin.scss | 28 +- .../app/components/inline-alert/skin.scss | 10 +- .../app/components/inline-code/skin.scss | 6 +- .../app/components/list-collection/skin.scss | 6 +- .../app/components/list-row/skin.scss | 21 +- .../main-header-horizontal/skin.scss | 2 +- .../components/main-nav-horizontal/index.scss | 2 +- .../main-nav-horizontal/layout.scss | 2 + .../components/main-nav-horizontal/skin.scss | 16 +- .../components/main-nav-vertical/README.mdx | 2 +- .../components/main-nav-vertical/debug.scss | 2 +- .../components/main-nav-vertical/skin.scss | 60 +- .../app/components/menu-panel/skin.scss | 8 +- .../app/components/modal-dialog/index.hbs | 12 +- .../app/components/modal-dialog/layout.scss | 2 + .../app/components/modal-dialog/skin.scss | 33 +- .../components/more-popover-menu/index.scss | 8 +- .../app/components/notice/README.mdx | 50 + .../consul-ui/app/components/notice/index.hbs | 10 + .../app/components/notice/index.scss | 31 + .../app/components/notice/layout.scss | 24 + .../consul-ui/app/components/notice/skin.scss | 77 + .../app/components/oidc-select/index.hbs | 20 +- .../app/components/oidc-select/index.scss | 4 +- .../app/components/overlay/none.scss | 4 +- .../app/components/overlay/square-tail.scss | 4 +- .../components/paged-collection/README.mdx | 4 +- .../consul-ui/app/components/panel/README.mdx | 67 +- .../app/components/panel/index.css.js | 10 +- .../consul-ui/app/components/panel/skin.scss | 10 +- .../app/components/peerings/badge/index.scss | 28 +- .../app/components/policy-selector/index.hbs | 67 +- .../app/components/popover-select/index.scss | 12 +- .../app/components/progress/skin.scss | 2 +- .../app/components/radio-card/skin.scss | 14 +- .../app/components/role-selector/index.hbs | 76 +- .../app/components/role-selector/index.js | 6 - .../app/components/search-bar/index.scss | 8 +- .../app/components/skip-links/skin.scss | 6 +- .../app/components/sliding-toggle/skin.scss | 8 +- .../app/components/tab-nav/skin.scss | 12 +- .../consul-ui/app/components/table/index.scss | 6 +- .../app/components/table/layout.scss | 2 +- .../consul-ui/app/components/table/skin.scss | 10 +- .../app/components/tabular-details/skin.scss | 8 +- .../app/components/tabular-dl/skin.scss | 10 +- .../app/components/tag-list/index.scss | 2 +- .../consul-ui/app/components/tile/index.scss | 13 +- .../app/components/toggle-button/skin.scss | 4 +- .../app/components/tooltip-panel/skin.scss | 6 +- .../app/components/tooltip/index.scss | 8 +- .../topology-metrics/card/index.scss | 20 +- .../topology-metrics/popover/index.scss | 8 +- .../topology-metrics/series/skin.scss | 18 +- .../app/components/topology-metrics/skin.scss | 36 +- .../topology-metrics/stats/index.scss | 4 +- .../topology-metrics/status/index.scss | 4 +- .../app/mixins/with-blocking-actions.js | 8 +- .../consul-ui/app/modifiers/aria-menu.mdx | 4 +- .../consul-ui/app/modifiers/css-prop.mdx | 4 +- .../consul-ui/app/modifiers/notification.mdx | 27 +- ui/packages/consul-ui/app/styles/app.scss | 6 +- .../app/styles/base/color/README.mdx | 81 + .../app/styles/base/color/base-variables.scss | 190 + .../app/styles/base/color/hex-variables.scss | 178 + .../app/styles/base/color/index.scss | 5 + .../base/color/lemon/frame-placeholders.scss | 0 .../app/styles/base/color/lemon/index.scss | 5 + .../lemon/themes/dark-high-contrast.scss | 17 + .../styles/base/color/lemon/themes/dark.scss | 17 + .../lemon/themes/light-high-contrast.scss | 17 + .../styles/base/color/lemon/themes/light.scss | 17 + .../color/magenta/frame-placeholders.scss | 13 + .../app/styles/base/color/magenta/index.scss | 6 + .../magenta/themes/dark-high-contrast.scss | 18 + .../base/color/magenta/themes/dark.scss | 18 + .../magenta/themes/light-high-contrast.scss | 18 + .../base/color/magenta/themes/light.scss | 18 + .../styles/base/color/semantic-variables.scss | 27 +- .../color/strawberry/frame-placeholders.scss | 13 + .../styles/base/color/strawberry/index.scss | 6 + .../strawberry/themes/dark-high-contrast.scss | 18 + .../base/color/strawberry/themes/dark.scss | 18 + .../themes/light-high-contrast.scss | 18 + .../base/color/strawberry/themes/light.scss | 18 + .../styles/base/color/theme-placeholders.scss | 91 + .../base/color/ui/frame-placeholders.scss | 174 +- .../app/styles/base/color/ui/index.scss | 5 + .../color/ui/themes/dark-high-contrast.scss | 99 + .../app/styles/base/color/ui/themes/dark.scss | 99 + .../color/ui/themes/light-high-contrast.scss | 99 + .../styles/base/color/ui/themes/light.scss | 99 + .../base/color/vault/frame-placeholders.scss | 0 .../app/styles/base/color/vault/index.scss | 6 + .../vault/themes/dark-high-contrast.scss | 3 + .../styles/base/color/vault/themes/dark.scss | 3 + .../vault/themes/light-high-contrast.scss | 3 + .../styles/base/color/vault/themes/light.scss | 3 + .../base/decoration/base-variables.scss | 9 + .../app/styles/base/icons/README.mdx | 10 +- .../styles/base/icons/base-placeholders.scss | 10 +- .../app/styles/base/icons/icons/index.scss | 1 + .../base/icons/icons/vault/keyframes.scss | 6 +- .../app/styles/base/icons/overrides.scss | 2 +- .../app/styles/base/reset/system.scss | 26 +- .../consul-ui/app/styles/components.scss | 1 + ui/packages/consul-ui/app/styles/debug.scss | 21 +- ui/packages/consul-ui/app/styles/icons.scss | 20 +- ui/packages/consul-ui/app/styles/layout.scss | 4 +- .../consul-ui/app/styles/layouts/index.scss | 2 +- .../app/styles/routes/dc/acls/index.scss | 3 + .../app/styles/routes/dc/kv/index.scss | 2 +- .../styles/routes/dc/overview/license.scss | 18 +- .../routes/dc/overview/serverstatus.scss | 41 +- .../app/styles/routes/dc/services/index.scss | 2 +- ui/packages/consul-ui/app/styles/themes.scss | 19 +- .../consul-ui/app/styles/typography.scss | 1 + .../consul-ui/app/styles/variables/skin.scss | 30 +- .../templates/dc/acls/auth-methods/index.hbs | 20 +- .../app/templates/dc/acls/policies/-form.hbs | 89 +- .../app/templates/dc/acls/policies/edit.hbs | 21 +- .../app/templates/dc/acls/policies/index.hbs | 26 +- .../app/templates/dc/acls/roles/-form.hbs | 154 +- .../app/templates/dc/acls/roles/index.hbs | 26 +- .../app/templates/dc/acls/tokens/-form.hbs | 71 +- .../app/templates/dc/acls/tokens/edit.hbs | 51 +- .../app/templates/dc/acls/tokens/index.hbs | 24 +- .../app/templates/dc/intentions/index.hbs | 26 +- .../consul-ui/app/templates/dc/kv/index.hbs | 110 +- .../app/templates/dc/nodes/index.hbs | 34 +- .../consul-ui/app/templates/dc/nodes/show.hbs | 60 +- .../templates/dc/nodes/show/healthchecks.hbs | 20 +- .../app/templates/dc/services/index.hbs | 26 +- .../app/templates/dc/services/instance.hbs | 60 +- .../dc/services/instance/healthchecks.hbs | 20 +- .../dc/services/instance/upstreams.hbs | 32 +- .../app/templates/dc/services/show.hbs | 60 +- .../dc/services/show/intentions/index.hbs | 26 +- .../templates/dc/services/show/topology.hbs | 94 +- .../app/templates/dc/show/license.hbs | 79 +- .../app/templates/dc/show/serverstatus.hbs | 69 +- .../consul-ui/app/templates/settings.hbs | 16 +- ui/packages/consul-ui/package.json | 6 +- .../policies/as-many/add-existing.feature | 4 +- .../dc/acls/policies/as-many/add-new.feature | 12 +- .../dc/acls/policies/create.feature | 8 +- .../dc/acls/policies/delete.feature | 12 +- .../dc/acls/policies/update.feature | 12 +- .../acls/roles/as-many/add-existing.feature | 4 +- .../dc/acls/roles/as-many/add-new.feature | 16 +- .../acceptance/dc/acls/roles/create.feature | 9 +- .../acceptance/dc/acls/roles/update.feature | 12 +- .../acceptance/dc/acls/tokens/clone.feature | 8 +- .../acceptance/dc/acls/tokens/create.feature | 8 +- .../dc/acls/tokens/own-no-delete.feature | 4 +- .../acceptance/dc/acls/tokens/update.feature | 12 +- .../acceptance/dc/acls/tokens/use.feature | 8 +- .../acceptance/dc/intentions/create.feature | 8 +- .../acceptance/dc/intentions/delete.feature | 19 +- .../acceptance/dc/intentions/update.feature | 8 +- .../tests/acceptance/dc/kvs/create.feature | 8 +- .../tests/acceptance/dc/kvs/delete.feature | 14 +- .../dc/kvs/sessions/invalidate.feature | 8 +- .../tests/acceptance/dc/kvs/update.feature | 20 +- .../dc/nodes/sessions/invalidate.feature | 8 +- .../acceptance/dc/nspaces/delete.feature | 12 +- .../acceptance/dc/nspaces/update.feature | 8 +- .../tests/acceptance/dc/peers/delete.feature | 8 +- .../acceptance/dc/peers/establish.feature | 4 +- .../tests/acceptance/dc/services/show.feature | 3 +- .../services/show/intentions/create.feature | 8 +- .../dc/services/show/intentions/index.feature | 6 +- .../services/show/topology/intentions.feature | 6 +- .../tests/acceptance/deleting.feature | 12 +- .../consul-ui/tests/acceptance/login.feature | 4 +- .../tests/acceptance/settings/update.feature | 4 +- .../components/delete-confirmation-test.js | 4 +- .../tests/lib/page-object/createDeletable.js | 3 +- .../consul-ui/tests/pages/dc/acls/edit.js | 2 +- .../tests/pages/dc/acls/tokens/edit.js | 2 +- .../consul-ui/translations/routes/en-us.yaml | 92 +- ui/yarn.lock | 198 +- version/VERSION | 2 +- website/README.md | 10 - .../content/commands/troubleshoot/proxy.mdx | 3 - .../commands/troubleshoot/upstreams.mdx | 2 - website/content/docs/agent/index.mdx | 2 +- website/content/docs/agent/limits/index.mdx | 20 +- .../docs/agent/limits/init-rate-limits.mdx | 12 +- .../limits/set-global-traffic-rate-limits.mdx | 18 +- .../docs/concepts/service-discovery.mdx | 6 +- website/content/docs/connect/ca/vault.mdx | 11 +- .../proxies/envoy-extensions/index.mdx | 1 - .../proxies/envoy-extensions/usage/lambda.mdx | 2 +- .../content/docs/connect/proxies/envoy.mdx | 6 +- website/content/docs/intro/index.mdx | 6 +- .../docs/k8s/annotations-and-labels.mdx | 4 +- .../docs/k8s/connect/ingress-gateways.mdx | 6 - .../vault/wan-federation.mdx | 27 +- .../content/docs/nia/usage/requirements.mdx | 6 +- .../docs/release-notes/consul/v1_15_x.mdx | 1 - website/package-lock.json | 2339 +--- website/package.json | 6 +- 804 files changed, 30442 insertions(+), 40141 deletions(-) delete mode 100644 .changelog/16224.txt delete mode 100644 .changelog/16251.txt delete mode 100644 .changelog/16259.txt delete mode 100644 .changelog/16262.txt delete mode 100644 .changelog/16266.txt delete mode 100644 .changelog/16292.txt delete mode 100644 .changelog/16298.txt delete mode 100644 .changelog/16412.txt delete mode 100644 .changelog/16428.txt delete mode 100644 .changelog/16519.txt delete mode 100644 .changelog/16574.txt delete mode 100644 .copywrite.hcl delete mode 100644 .github/workflows/broken-link-check.yml rename .github/workflows/{nightly-test-1.15.x.yaml => nightly-test-1.11.x.yaml} (98%) create mode 100644 .github/workflows/test-link-rewrites.yml create mode 100644 .github/workflows/website-checker.yml create mode 100644 Vagrantfile delete mode 100644 agent/connect/ca/provider_vault_auth_alicloud.go delete mode 100644 agent/connect/ca/provider_vault_auth_approle.go delete mode 100644 agent/connect/ca/provider_vault_auth_azure.go delete mode 100644 agent/connect/ca/provider_vault_auth_jwt.go delete mode 100644 agent/connect/ca/provider_vault_auth_k8s.go delete mode 100644 agent/consul/state/config_entry_sameness_group_oss.go delete mode 100644 agent/consul/state/config_entry_sameness_group_oss_test.go delete mode 100644 agent/envoyextensions/builtin/http/localratelimit/copied.go delete mode 100644 agent/envoyextensions/builtin/http/localratelimit/ratelimit.go delete mode 100644 agent/envoyextensions/builtin/http/localratelimit/ratelimit_test.go delete mode 100644 agent/grpc-external/services/resource/server.go delete mode 100644 agent/grpc-external/services/resource/server_test.go delete mode 100644 agent/grpc-internal/balancer/registry.go delete mode 100644 agent/structs/config_entry_sameness_group.go delete mode 100644 agent/structs/config_entry_sameness_group_oss.go delete mode 100644 agent/uiserver/dist/assets/chunk.143.ff39f0b820a97e2c6d5d.js delete mode 100644 agent/uiserver/dist/assets/chunk.178.00380c6ad3fa678e07b6.js delete mode 100644 agent/uiserver/dist/assets/chunk.336.f5cb05e551aa08eb7125.js delete mode 100644 agent/uiserver/dist/assets/chunk.336.f5cb05e551aa08eb7125.js.LICENSE.txt delete mode 100644 agent/uiserver/dist/assets/chunk.412.2df22e4bf69d8f15ebdb.js delete mode 100644 agent/uiserver/dist/assets/chunk.412.2df22e4bf69d8f15ebdb.js.LICENSE.txt delete mode 100644 agent/uiserver/dist/assets/chunk.744.c0eb6726020fc4af8d3f.css delete mode 100644 agent/uiserver/dist/assets/chunk.744.c0eb6726020fc4af8d3f.js delete mode 100644 agent/uiserver/dist/assets/chunk.83.85cc25a28afe28f711a3.js rename agent/uiserver/dist/assets/codemirror/mode/javascript/{javascript-a5e5d64b0f9ff6b6e21f5f48aa1ef464.js => javascript-77218cd1268ea6df75775114ae086566.js} (91%) rename agent/uiserver/dist/assets/codemirror/mode/ruby/{ruby-2b9a2a4b4d14d9fa6f6edcda84a260e6.js => ruby-ea43ca3a3bdd63a52811e8464d66134b.js} (100%) rename agent/uiserver/dist/assets/codemirror/mode/xml/{xml-80f64aaafa6af7844d14f32f3219bb26.js => xml-10ec8b8cc61ef0fbd25b27a599fdcd60.js} (60%) rename agent/uiserver/dist/assets/codemirror/mode/yaml/{yaml-39582b60e653cf0b8d42292ddfabefb2.js => yaml-3f129a000349e3075be0f65719884b61.js} (89%) rename agent/uiserver/dist/assets/consul-acls/{routes-0c01f9c463b81fdc3929288f31c23040.js => routes-75a2ac7d38caf09cfee2a4e2bc49dcf7.js} (100%) rename agent/uiserver/dist/assets/consul-acls/{services-70b9e635f1e8e9a316e3773fccadb7c7.js => services-8b6b2b2bea3add7709b8075a5ed5652b.js} (100%) delete mode 100644 agent/uiserver/dist/assets/consul-hcp/routes-282630d2b2c8bf766b7e0d4f512828cc.js delete mode 100644 agent/uiserver/dist/assets/consul-hcp/services-51af43ae095119987dadf6f2392a59b3.js rename agent/uiserver/dist/assets/consul-lock-sessions/{routes-7718d309039e9f8b3b185656b6dd7f05.js => routes-f2c5ce353830c89f540358e7f174e0bf.js} (100%) rename agent/uiserver/dist/assets/consul-lock-sessions/{services-70b9e635f1e8e9a316e3773fccadb7c7.js => services-8b6b2b2bea3add7709b8075a5ed5652b.js} (100%) rename agent/uiserver/dist/assets/consul-nspaces/{routes-71c32de6a0307211d1299dac7688bfbf.js => routes-f939ed42e9b83f9d1bbc5256be68e77c.js} (100%) rename agent/uiserver/dist/assets/consul-nspaces/{services-70b9e635f1e8e9a316e3773fccadb7c7.js => services-8b6b2b2bea3add7709b8075a5ed5652b.js} (100%) rename agent/uiserver/dist/assets/consul-partitions/{routes-1bdd3b7ae99c7d7ce0425b2412f10d5e.js => routes-cba490481425519435d142c743bbc3d3.js} (100%) rename agent/uiserver/dist/assets/consul-partitions/{services-1a3b6937a8bc5f6e68df884b1650eaf0.js => services-85621f245f195fe1ce177064bfb04504.js} (100%) delete mode 100644 agent/uiserver/dist/assets/consul-peerings/routes-989d6de4b58a54c8638e37694240f29a.js delete mode 100644 agent/uiserver/dist/assets/consul-peerings/services-e5a754eca7f3fbb406035f10b8dfbb77.js create mode 100644 agent/uiserver/dist/assets/consul-ui-20fef69ea9b73df740a420526b12c7fb.css delete mode 100644 agent/uiserver/dist/assets/consul-ui-7444626e95c5ba30e9097f92995f0238.js create mode 100644 agent/uiserver/dist/assets/consul-ui-e58b85f0a8e1fb15ded242e5b25b171c.js delete mode 100644 agent/uiserver/dist/assets/consul-ui-f5d0ec3be8cca14adb133c8e2f488419.css rename agent/uiserver/dist/assets/consul-ui/{routes-debug-41d0902009004c6875ddb9882b4ee3f6.js => routes-debug-8f884a3e3f7105d43b7b4024db9b4c99.js} (100%) rename agent/uiserver/dist/assets/consul-ui/{routes-c69d5bf72b7c740af5e6ce29eefe65bf.js => routes-e55bc65732ba7c0352d43313fd9563e6.js} (52%) rename agent/uiserver/dist/assets/consul-ui/{services-faa0d1867ff0795f940a4199bcf17128.js => services-a17470cdfbd4a4096117ac0103802226.js} (78%) rename agent/uiserver/dist/assets/consul-ui/{services-debug-d1862bae590c1c8cd6dc0dd81645801a.js => services-debug-5a3f1d2e3954a05aa8383f02db31b8e6.js} (100%) rename agent/uiserver/dist/assets/{css.escape-fe4db48c9e3f272a6d12cf1312de889e.js => css.escape-851839b3ea1d0b4eb4c7089446df5e9f.js} (100%) delete mode 100644 agent/uiserver/dist/assets/encoding-022884ab2a5bd42b6f4fff580fa0dd34.js create mode 100644 agent/uiserver/dist/assets/encoding-cdb50fbdab6d4d3fdf574dd784f77d27.js rename agent/uiserver/dist/assets/{encoding-indexes-50f27403be5972eae4831f5b69db1f80.js => encoding-indexes-75eea16b259716db4fd162ee283d2ae5.js} (100%) create mode 100644 agent/uiserver/dist/assets/init-21ea65714d133467454b601efc15e2dd.js delete mode 100644 agent/uiserver/dist/assets/init-fe2561b45ce1429092f4a9a2bbb9ce71.js rename agent/uiserver/dist/assets/metrics-providers/{consul-5e97a9af114229497d43377450c54418.js => consul-31d7e3b0ef7c58d62338c7d7aeaaf545.js} (100%) rename agent/uiserver/dist/assets/metrics-providers/{prometheus-8779f1c99f6a15611567154767f1f674.js => prometheus-5f31ba3b7ffd850fa916a0a76933e968.js} (74%) create mode 100644 agent/uiserver/dist/assets/vendor-69ef69e98b7d14d1513f8056b6c6b48d.css delete mode 100644 agent/uiserver/dist/assets/vendor-aeac0d1e27f3b95c9b4bad3aac59a219.js create mode 100644 agent/uiserver/dist/assets/vendor-c7887d0a48fe1497d1843edc3d5bfbc8.js delete mode 100644 agent/uiserver/dist/assets/vendor-cf03d69ba4d9fa5934f04dca689d187f.css delete mode 100644 agent/xds/testdata/builtin_extension/clusters/http-local-ratelimit-applyto-filter.latest.golden delete mode 100644 agent/xds/testdata/builtin_extension/endpoints/http-local-ratelimit-applyto-filter.latest.golden delete mode 100644 agent/xds/testdata/builtin_extension/listeners/http-local-ratelimit-applyto-filter.latest.golden delete mode 100644 agent/xds/testdata/builtin_extension/routes/http-local-ratelimit-applyto-filter.latest.golden delete mode 100644 agent/xds/testdata/clusters/api-gateway-with-tcp-route-and-inline-certificate.envoy-1-21-x.golden delete mode 100644 agent/xds/testdata/listeners/api-gateway-tcp-listeners.latest.golden delete mode 100644 api/config_entry_samness_group.go delete mode 100644 buf.work.yaml delete mode 100644 proto-public/pbresource/resource.pb.binary.go delete mode 100644 proto-public/pbresource/resource.pb.go delete mode 100644 proto-public/pbresource/resource.proto delete mode 100644 proto-public/pbresource/resource_grpc.pb.go rename proto/{private => }/pbacl/acl.go (100%) rename proto/{private => }/pbacl/acl.pb.binary.go (91%) create mode 100644 proto/pbacl/acl.pb.go rename proto/{private => }/pbacl/acl.proto (100%) rename proto/{private => }/pbautoconf/auto_config.go (100%) rename proto/{private => }/pbautoconf/auto_config.pb.binary.go (93%) rename proto/{private => }/pbautoconf/auto_config.pb.go (50%) rename proto/{private => }/pbautoconf/auto_config.proto (95%) rename proto/{private => }/pbautoconf/auto_config_oss.go (100%) rename proto/{private => }/pbcommon/common.gen.go (91%) rename proto/{private => }/pbcommon/common.go (89%) rename proto/{private => }/pbcommon/common.pb.binary.go (88%) rename proto/{private => }/pbcommon/common.pb.go (56%) rename proto/{private => }/pbcommon/common.proto (96%) rename proto/{private => }/pbcommon/common_oss.go (100%) rename proto/{private => }/pbcommon/convert_pbstruct.go (100%) rename proto/{private => }/pbcommon/convert_pbstruct_test.go (100%) rename proto/{private => }/pbconfig/config.pb.binary.go (98%) rename proto/{private => }/pbconfig/config.pb.go (56%) rename proto/{private => }/pbconfig/config.proto (100%) rename proto/{private => }/pbconfigentry/config_entry.gen.go (98%) rename proto/{private => }/pbconfigentry/config_entry.go (99%) rename proto/{private => }/pbconfigentry/config_entry.pb.binary.go (97%) rename proto/{private => }/pbconfigentry/config_entry.pb.go (62%) rename proto/{private => }/pbconfigentry/config_entry.proto (98%) rename proto/{private => }/pbconnect/connect.gen.go (100%) rename proto/{private => }/pbconnect/connect.go (97%) rename proto/{private => }/pbconnect/connect.pb.binary.go (95%) rename proto/{private => }/pbconnect/connect.pb.go (60%) rename proto/{private => }/pbconnect/connect.proto (99%) rename proto/{private => }/pboperator/operator.gen.go (100%) rename proto/{private => }/pboperator/operator.pb.binary.go (94%) create mode 100644 proto/pboperator/operator.pb.go rename proto/{private => }/pboperator/operator.proto (76%) rename proto/{private => }/pboperator/operator_grpc.pb.go (97%) rename proto/{private => }/pbpeering/peering.gen.go (97%) rename proto/{private => }/pbpeering/peering.go (88%) rename proto/{private => }/pbpeering/peering.pb.binary.go (99%) rename proto/{private => }/pbpeering/peering.pb.go (63%) rename proto/{private => }/pbpeering/peering.proto (93%) rename proto/{private => }/pbpeering/peering.rpcglue.pb.go (100%) rename proto/{private => }/pbpeering/peering_grpc.pb.go (99%) rename proto/{private => }/pbpeering/peering_oss.go (100%) rename proto/{private => }/pbpeerstream/convert.go (93%) rename proto/{private => }/pbpeerstream/peerstream.go (100%) rename proto/{private => }/pbpeerstream/peerstream.pb.binary.go (98%) rename proto/{private => }/pbpeerstream/peerstream.pb.go (59%) rename proto/{private => }/pbpeerstream/peerstream.proto (92%) rename proto/{private => }/pbpeerstream/peerstream_grpc.pb.go (98%) rename proto/{private => }/pbpeerstream/types.go (100%) rename proto/{private => }/pbservice/convert.go (93%) rename proto/{private => }/pbservice/convert_oss.go (86%) rename proto/{private => }/pbservice/convert_oss_test.go (100%) rename proto/{private => }/pbservice/convert_test.go (100%) rename proto/{private => }/pbservice/healthcheck.gen.go (100%) rename proto/{private => }/pbservice/healthcheck.pb.binary.go (96%) rename proto/{private => }/pbservice/healthcheck.pb.go (56%) rename proto/{private => }/pbservice/healthcheck.proto (99%) rename proto/{private => }/pbservice/ids.go (100%) rename proto/{private => }/pbservice/ids_test.go (98%) rename proto/{private => }/pbservice/node.gen.go (92%) rename proto/{private => }/pbservice/node.pb.binary.go (97%) rename proto/{private => }/pbservice/node.pb.go (67%) rename proto/{private => }/pbservice/node.proto (91%) rename proto/{private => }/pbservice/service.gen.go (98%) rename proto/{private => }/pbservice/service.pb.binary.go (98%) rename proto/{private => }/pbservice/service.pb.go (61%) rename proto/{private => }/pbservice/service.proto (98%) rename proto/{private => }/pbstatus/status.pb.binary.go (90%) create mode 100644 proto/pbstatus/status.pb.go rename proto/{private => }/pbstatus/status.proto (100%) rename proto/{private => }/pbsubscribe/subscribe.go (100%) rename proto/{private => }/pbsubscribe/subscribe.pb.binary.go (97%) rename proto/{private => }/pbsubscribe/subscribe.pb.go (61%) rename proto/{private => }/pbsubscribe/subscribe.proto (95%) rename proto/{private => }/pbsubscribe/subscribe_grpc.pb.go (98%) delete mode 100644 proto/private/pbacl/acl.pb.go delete mode 100644 proto/private/pboperator/operator.pb.go delete mode 100644 proto/private/pbstatus/status.pb.go rename proto/{private => }/prototest/testing.go (100%) delete mode 100644 test/integration/connect/envoy/case-envoyext-ratelimit/capture.sh delete mode 100644 test/integration/connect/envoy/case-envoyext-ratelimit/service_s1.hcl delete mode 100644 test/integration/connect/envoy/case-envoyext-ratelimit/service_s2.hcl delete mode 100644 test/integration/connect/envoy/case-envoyext-ratelimit/setup.sh delete mode 100644 test/integration/connect/envoy/case-envoyext-ratelimit/vars.sh delete mode 100644 test/integration/connect/envoy/case-envoyext-ratelimit/verify.bats delete mode 100644 test/integration/consul-container/test/gateways/namespace_oss.go rename test/integration/consul-container/test/troubleshoot/{troubleshoot_test.go => troubleshoot_upstream_test.go} (92%) create mode 100644 test/integration/consul-container/test/upgrade/helper_test.go delete mode 100644 test/integration/consul-container/test/upgrade/ingress_gateway_test.go create mode 100644 test/integration/consul-container/test/upgrade/upgrade.go delete mode 100644 ui/packages/consul-peerings/app/components/consul/peer/address/list/index.scss create mode 100644 ui/packages/consul-ui/app/components/notice/README.mdx create mode 100644 ui/packages/consul-ui/app/components/notice/index.hbs create mode 100644 ui/packages/consul-ui/app/components/notice/index.scss create mode 100644 ui/packages/consul-ui/app/components/notice/layout.scss create mode 100644 ui/packages/consul-ui/app/components/notice/skin.scss create mode 100644 ui/packages/consul-ui/app/styles/base/color/README.mdx create mode 100644 ui/packages/consul-ui/app/styles/base/color/base-variables.scss create mode 100644 ui/packages/consul-ui/app/styles/base/color/hex-variables.scss create mode 100644 ui/packages/consul-ui/app/styles/base/color/lemon/frame-placeholders.scss create mode 100644 ui/packages/consul-ui/app/styles/base/color/lemon/index.scss create mode 100644 ui/packages/consul-ui/app/styles/base/color/lemon/themes/dark-high-contrast.scss create mode 100644 ui/packages/consul-ui/app/styles/base/color/lemon/themes/dark.scss create mode 100644 ui/packages/consul-ui/app/styles/base/color/lemon/themes/light-high-contrast.scss create mode 100644 ui/packages/consul-ui/app/styles/base/color/lemon/themes/light.scss create mode 100644 ui/packages/consul-ui/app/styles/base/color/magenta/frame-placeholders.scss create mode 100644 ui/packages/consul-ui/app/styles/base/color/magenta/index.scss create mode 100644 ui/packages/consul-ui/app/styles/base/color/magenta/themes/dark-high-contrast.scss create mode 100644 ui/packages/consul-ui/app/styles/base/color/magenta/themes/dark.scss create mode 100644 ui/packages/consul-ui/app/styles/base/color/magenta/themes/light-high-contrast.scss create mode 100644 ui/packages/consul-ui/app/styles/base/color/magenta/themes/light.scss create mode 100644 ui/packages/consul-ui/app/styles/base/color/strawberry/frame-placeholders.scss create mode 100644 ui/packages/consul-ui/app/styles/base/color/strawberry/index.scss create mode 100644 ui/packages/consul-ui/app/styles/base/color/strawberry/themes/dark-high-contrast.scss create mode 100644 ui/packages/consul-ui/app/styles/base/color/strawberry/themes/dark.scss create mode 100644 ui/packages/consul-ui/app/styles/base/color/strawberry/themes/light-high-contrast.scss create mode 100644 ui/packages/consul-ui/app/styles/base/color/strawberry/themes/light.scss create mode 100644 ui/packages/consul-ui/app/styles/base/color/theme-placeholders.scss create mode 100644 ui/packages/consul-ui/app/styles/base/color/ui/themes/dark-high-contrast.scss create mode 100644 ui/packages/consul-ui/app/styles/base/color/ui/themes/dark.scss create mode 100644 ui/packages/consul-ui/app/styles/base/color/ui/themes/light-high-contrast.scss create mode 100644 ui/packages/consul-ui/app/styles/base/color/ui/themes/light.scss create mode 100644 ui/packages/consul-ui/app/styles/base/color/vault/frame-placeholders.scss create mode 100644 ui/packages/consul-ui/app/styles/base/color/vault/index.scss create mode 100644 ui/packages/consul-ui/app/styles/base/color/vault/themes/dark-high-contrast.scss create mode 100644 ui/packages/consul-ui/app/styles/base/color/vault/themes/dark.scss create mode 100644 ui/packages/consul-ui/app/styles/base/color/vault/themes/light-high-contrast.scss create mode 100644 ui/packages/consul-ui/app/styles/base/color/vault/themes/light.scss diff --git a/.changelog/16224.txt b/.changelog/16224.txt deleted file mode 100644 index 76f73d05953c3..0000000000000 --- a/.changelog/16224.txt +++ /dev/null @@ -1,3 +0,0 @@ -```release-note:improvement -ca: support Vault agent auto-auth config for Vault CA provider using AliCloud authentication. -``` diff --git a/.changelog/16251.txt b/.changelog/16251.txt deleted file mode 100644 index 7aaf58011e0ac..0000000000000 --- a/.changelog/16251.txt +++ /dev/null @@ -1,3 +0,0 @@ -```release-note:improvement -ui: update from

Permissions

{{#if (gt item.Permissions.length 0) }} @@ -218,23 +217,11 @@

-
  • - +
  • -
  • - +
  • @@ -262,20 +249,22 @@ - - - - + + diff --git a/ui/packages/consul-ui/app/components/consul/intention/form/index.hbs b/ui/packages/consul-ui/app/components/consul/intention/form/index.hbs index fcd15cf468848..e58b1ffb3f4a2 100644 --- a/ui/packages/consul-ui/app/components/consul/intention/form/index.hbs +++ b/ui/packages/consul-ui/app/components/consul/intention/form/index.hbs @@ -16,32 +16,42 @@ as |api|> {{#if (string-starts-with api.error.detail 'duplicate intention found:')}} - - Intention exists! - - An intention already exists for this Source-Destination pair. Please enter a different combination of Services, or search the intentions to edit an existing intention. - - + + + Intention exists! + + +

    + An intention already exists for this Source-Destination pair. Please enter a different combination of Services, or search the intentions to edit an existing intention. +

    +
    +
    {{else}} - - Error! - - There was an error saving your intention. - {{#if (and api.error.status api.error.detail)}} -
    {{api.error.status}}: {{api.error.detail}} - {{/if}} -
    -
    + + + Error! + + +

    + There was an error saving your intention. + {{#if (and api.error.status api.error.detail)}} +
    {{api.error.status}}: {{api.error.detail}} + {{/if}} +

    +
    +
    {{/if}}
    @@ -70,20 +80,22 @@ as |item readonly|}}

    - - - - + + {{/let}} @@ -123,10 +135,20 @@ as |item readonly|}} {{#if api.isCreate}} {{#if (and (can 'use partitions') (not (can 'choose partitions' dc=@dc)))}} - - Cross-partition communication not supported - Cross-partition communication is not supported outside of the primary datacenter. You will only be able to select namespaces for source and destination services. - + + +

    + Cross-partition communication not supported +

    +
    + +

    + Cross-partition communication is not supported outside of the primary datacenter. You will only be able to select namespaces for source and destination services. +

    +
    +
    {{/if}} {{#if this.isManagedByCRDs}} @@ -152,30 +174,32 @@ as |item readonly|}} @onchange={{api.change}} />
    - - - + + {{#if (not api.isCreate)}} {{#if (not-eq item.ID 'anonymous') }} - + > + Delete + {{/if}} {{/if}} -
    {{else}} {{#if item.IsManagedByCRD}} - - Intention Custom Resource - This Intention is view only because it is managed through an Intention Custom Resource in your Kubernetes cluster. - - + + +

    + Intention Custom Resource +

    +
    + +

    + This Intention is view only because it is managed through an Intention Custom Resource in your Kubernetes cluster. +

    +
    + +

    + Learn more about CRDs +

    +
    +
    {{/if}} - Intention Custom Resource - Some of your intentions are being managed through an Intention Custom Resource in your Kubernetes cluster. Those managed intentions will be view only in the UI. Any intentions created in the UI will work but will not be synced to the Custom Resource Definition (CRD) datastore. - - \ No newline at end of file + + +

    + Intention Custom Resource +

    +
    + +

    + Some of your intentions are being managed through an Intention Custom Resource in your Kubernetes cluster. Those managed intentions will be view only in the UI. Any intentions created in the UI will work but will not be synced to the Custom Resource Definition (CRD) datastore. +

    +
    + +

    + Learn more about CRDs +

    +
    +
    \ No newline at end of file diff --git a/ui/packages/consul-ui/app/components/consul/intention/notice/permissions/index.hbs b/ui/packages/consul-ui/app/components/consul/intention/notice/permissions/index.hbs index 8afe559e3501e..9e42632ba7392 100644 --- a/ui/packages/consul-ui/app/components/consul/intention/notice/permissions/index.hbs +++ b/ui/packages/consul-ui/app/components/consul/intention/notice/permissions/index.hbs @@ -1,10 +1,17 @@ - - {{t "components.consul.intention.notice.permissions.body"}} - - \ No newline at end of file + + +

    + {{t "components.consul.intention.notice.permissions.body"}} +

    +
    + +

    + + {{t "components.consul.intention.notice.permissions.footer"}} + +

    +
    +
    + diff --git a/ui/packages/consul-ui/app/components/consul/intention/permission/form/index.hbs b/ui/packages/consul-ui/app/components/consul/intention/permission/form/index.hbs index 91cbbbc56577c..f2b09732a2934 100644 --- a/ui/packages/consul-ui/app/components/consul/intention/permission/form/index.hbs +++ b/ui/packages/consul-ui/app/components/consul/intention/permission/form/index.hbs @@ -134,20 +134,23 @@ as |group|> - - - - + + + \ No newline at end of file diff --git a/ui/packages/consul-ui/app/components/consul/intention/permission/form/skin.scss b/ui/packages/consul-ui/app/components/consul/intention/permission/form/skin.scss index 292532f9d6201..1085802d4e918 100644 --- a/ui/packages/consul-ui/app/components/consul/intention/permission/form/skin.scss +++ b/ui/packages/consul-ui/app/components/consul/intention/permission/form/skin.scss @@ -1,6 +1,6 @@ .consul-intention-permission-form { h2 { - border-top: 1px solid var(--token-color-foreground-action); + border-top: 1px solid rgb(var(--tone-blue-500)); @extend %h200; } button.type-submit { diff --git a/ui/packages/consul-ui/app/components/consul/kv/form/index.hbs b/ui/packages/consul-ui/app/components/consul/kv/form/index.hbs index 08ed3391235b8..8ca9d738a50dd 100644 --- a/ui/packages/consul-ui/app/components/consul/kv/form/index.hbs +++ b/ui/packages/consul-ui/app/components/consul/kv/form/index.hbs @@ -60,58 +60,29 @@ {{/if}} - - - {{#if api.isCreate}} - {{#if (not disabld)}} - - {{/if}} - - - {{else}} - {{#if (not disabld)}} - - {{/if}} - - {{#if (not disabld)}} - - - - - - - - - {{/if}} - {{/if}} - - + + {{#if api.isCreate}} +{{#if (not disabld)}} + +{{/if}} + + {{else}} +{{#if (not disabld)}} + +{{/if}} + +{{#if (not disabld)}} + + + + + + + + + {{/if}} +{{/if}} + {{/let}} diff --git a/ui/packages/consul-ui/app/components/consul/loader/skin.scss b/ui/packages/consul-ui/app/components/consul/loader/skin.scss index ce4ceed2b04c6..a7a7f432201fb 100644 --- a/ui/packages/consul-ui/app/components/consul/loader/skin.scss +++ b/ui/packages/consul-ui/app/components/consul/loader/skin.scss @@ -1,5 +1,5 @@ %loader circle { - fill: var(--token-color-consul-gradient-faint-stop); + fill: rgb(var(--tone-brand-100)); } %loader circle { animation: loader-animation 1.5s infinite ease-in-out; diff --git a/ui/packages/consul-ui/app/components/consul/node/agentless-notice/index.hbs b/ui/packages/consul-ui/app/components/consul/node/agentless-notice/index.hbs index 2f00ba0d6d84c..6ee6a31777c84 100644 --- a/ui/packages/consul-ui/app/components/consul/node/agentless-notice/index.hbs +++ b/ui/packages/consul-ui/app/components/consul/node/agentless-notice/index.hbs @@ -1,20 +1,28 @@ {{#if isVisible}} - - - {{t 'routes.dc.nodes.index.agentless.notice.header'}} - - - {{t 'routes.dc.nodes.index.agentless.notice.body'}} - - + + +

    + {{t 'routes.dc.nodes.index.agentless.notice.header'}} +

    + +
    + +

    + {{t 'routes.dc.nodes.index.agentless.notice.body'}} +

    +
    + + + +
    {{/if}} diff --git a/ui/packages/consul-ui/app/components/consul/node/agentless-notice/index.scss b/ui/packages/consul-ui/app/components/consul/node/agentless-notice/index.scss index a77be5a232286..fc4b21ac93b01 100644 --- a/ui/packages/consul-ui/app/components/consul/node/agentless-notice/index.scss +++ b/ui/packages/consul-ui/app/components/consul/node/agentless-notice/index.scss @@ -1,4 +1,4 @@ -.agentless-node-notice .hds-alert__title { +.agentless-node-notice header { display: flex; justify-content: space-between; } diff --git a/ui/packages/consul-ui/app/components/consul/peer/info/index.scss b/ui/packages/consul-ui/app/components/consul/peer/info/index.scss index 1c1d15d14a41e..a9d57b1635ade 100644 --- a/ui/packages/consul-ui/app/components/consul/peer/info/index.scss +++ b/ui/packages/consul-ui/app/components/consul/peer/info/index.scss @@ -1,6 +1,6 @@ .consul-peer-info { - background: var(--token-color-surface-faint); - color: var(--token-color-foreground-faint); + background: rgb(var(--gray-100)); + color: rgb(var(--gray-600)); padding: 0px 8px; border-radius: 2px; diff --git a/ui/packages/consul-ui/app/components/consul/server/card/skin.scss b/ui/packages/consul-ui/app/components/consul/server/card/skin.scss index e841794a2e95f..1478ac3facec0 100644 --- a/ui/packages/consul-ui/app/components/consul/server/card/skin.scss +++ b/ui/packages/consul-ui/app/components/consul/server/card/skin.scss @@ -6,7 +6,7 @@ } %consul-server-card .name + dd { @extend %h300; - color: var(--token-color-hashicorp-brand); + color: rgb(var(--tone-gray-999)); animation-name: typo-truncate; } %consul-server-card .health-status + dd { @@ -14,16 +14,16 @@ font-size: var(--typo-size-700); } %consul-server-card.voting-status-non-voter .health-status + dd { - background-color: var(--token-color-surface-strong); - color: var(--token-color-foreground-faint); + background-color: rgb(var(--tone-gray-100)); + color: rgb(var(--tone-gray-600)); } %consul-server-card:not(.voting-status-non-voter) .health-status.healthy + dd { - background-color: var(--token-color-surface-success); - color: var(--token-color-palette-green-400); + background-color: rgb(var(--tone-green-050)); + color: rgb(var(--tone-green-800)); } %consul-server-card:not(.voting-status-non-voter) .health-status:not(.healthy) + dd { - background-color: var(--token-color-surface-critical); - color: var(--token-color-foreground-critical); + background-color: rgb(var(--tone-red-050)); + color: rgb(var(--tone-red-500)); } %consul-server-card .health-status + dd::before { --icon-size: icon-000; @@ -31,7 +31,10 @@ } %consul-server-card .health-status.healthy + dd::before { --icon-name: icon-check; + --icon-color: rgb(var(--tone-green-800)); } %consul-server-card .health-status:not(.healthy) + dd::before { --icon-name: icon-x; + --icon-color: rgb(var(--tone-red-500)); } + diff --git a/ui/packages/consul-ui/app/components/consul/server/list/index.scss b/ui/packages/consul-ui/app/components/consul/server/list/index.scss index c3c3e5a8523f8..0ec7a33ec4c2e 100644 --- a/ui/packages/consul-ui/app/components/consul/server/list/index.scss +++ b/ui/packages/consul-ui/app/components/consul/server/list/index.scss @@ -9,6 +9,6 @@ } %consul-server-list a:hover div { - box-shadow: var(--token-elevation-overlay-box-shadow); - --tone-border: var(--token-color-foreground-faint); + box-shadow: var(--decor-elevation-800); + --tone-border: var(--tone-gray-500); } diff --git a/ui/packages/consul-ui/app/components/consul/service/list/index.hbs b/ui/packages/consul-ui/app/components/consul/service/list/index.hbs index ae06f4e477a16..7991a1124303d 100644 --- a/ui/packages/consul-ui/app/components/consul/service/list/index.hbs +++ b/ui/packages/consul-ui/app/components/consul/service/list/index.hbs @@ -86,4 +86,4 @@ {{/if}} - + \ No newline at end of file diff --git a/ui/packages/consul-ui/app/components/consul/tomography/graph/index.scss b/ui/packages/consul-ui/app/components/consul/tomography/graph/index.scss index 93fae93eb2aae..2cb3745197686 100644 --- a/ui/packages/consul-ui/app/components/consul/tomography/graph/index.scss +++ b/ui/packages/consul-ui/app/components/consul/tomography/graph/index.scss @@ -1,36 +1,36 @@ .tomography-graph { .background { - fill: var(--token-color-surface-strong); + fill: rgb(var(--tone-gray-050)); } .axis { fill: none; - stroke: var(--token-color-palette-neutral-300); + stroke: rgb(var(--tone-gray-300)); stroke-dasharray: 4 4; } .border { fill: none; - stroke: var(--token-color-palette-neutral-300); + stroke: rgb(var(--tone-gray-300)); } .point { - stroke: var(--token-color-foreground-disabled); - fill: var(--token-color-consul-foreground); + stroke: rgb(var(--tone-gray-400)); + fill: rgb(var(--tone-magenta-600)); } .lines rect { - fill: var(--token-color-consul-foreground); + fill: rgb(var(--tone-magenta-600)); stroke: transparent; stroke-width: 5px; } .lines rect:hover { - fill: var(--token-color-palette-neutral-300); + fill: rgb(var(--tone-gray-300)); height: 3px; y: -1px; } .tick line { - stroke: var(--token-color-palette-neutral-300); + stroke: rgb(var(--tone-gray-300)); } .tick text { font-size: var(--typo-size-600); text-anchor: start; - color: var(--token-color-foreground-strong); + color: rgb(var(--tone-gray-900)); } } diff --git a/ui/packages/consul-ui/app/components/copy-button/skin.scss b/ui/packages/consul-ui/app/components/copy-button/skin.scss index 18864ed741441..89988852c3b7a 100644 --- a/ui/packages/consul-ui/app/components/copy-button/skin.scss +++ b/ui/packages/consul-ui/app/components/copy-button/skin.scss @@ -1,22 +1,22 @@ %copy-button { - color: var(--token-color-foreground-action); - --icon-color: transparent; + color: rgb(var(--tone-blue-500)); + --icon-color: var(--transparent); } %copy-button::before { @extend %with-copy-action-mask, %as-pseudo; - --icon-color: var(--token-color-foreground-faint); + --icon-color: rgb(var(--tone-gray-500)); } %copy-button::after { - --icon-color: var(--token-color-surface-strong); + --icon-color: rgb(var(--tone-gray-050)); } %copy-button:hover:not(:disabled):not(:active), %copy-button:focus { - color: var(--token-color-foreground-action); - --icon-color: var(--token-color-surface-strong); + color: rgb(var(--tone-blue-500)); + --icon-color: rgb(var(--tone-gray-050)); } %copy-button:hover::before { - --icon-color: var(--token-color-foreground-action); + --icon-color: rgb(var(--tone-blue-500)); } %copy-button:active { - --icon-color: var(--token-color-surface-interactive-active); + --icon-color: rgb(var(--tone-gray-200)); } diff --git a/ui/packages/consul-ui/app/components/copyable-code/index.scss b/ui/packages/consul-ui/app/components/copyable-code/index.scss index a0eb5f3a6bfbd..7fcf82119378c 100644 --- a/ui/packages/consul-ui/app/components/copyable-code/index.scss +++ b/ui/packages/consul-ui/app/components/copyable-code/index.scss @@ -8,7 +8,7 @@ padding-bottom: 3px; border: var(--decor-border-100); - border-color: var(--token-color-surface-interactive-active); + border-color: rgb(var(--tone-gray-200)); border-radius: var(--decor-radius-200); } &.obfuscated { @@ -22,7 +22,7 @@ height: 100%; display: block; content: ''; - background-color: var(--token-color-surface-strong); + background-color: rgb(var(--tone-gray-050)); } .copy-button { position: absolute; @@ -45,12 +45,12 @@ button[aria-expanded]::before { content: ''; --icon-size: icon-000; - --icon-color: var(--token-color-foreground-faint); + --icon-color: rgb(var(--tone-gray-500)); } - button[aria-expanded='true']::before { + button[aria-expanded=true]::before { --icon-name: icon-eye-off; } - button[aria-expanded='false']::before { + button[aria-expanded=false]::before { --icon-name: icon-eye; } pre { @@ -67,7 +67,7 @@ margin: 0; margin-top: 8px; margin-bottom: 13px; - border: 3px dashed var(--token-color-palette-neutral-300); - background-color: var(--token-color-surface-primary); + border: 3px dashed rgb(var(--tone-gray-300)); + background-color: rgb(var(--tone-gray-000)); } } diff --git a/ui/packages/consul-ui/app/components/data-loader/index.hbs b/ui/packages/consul-ui/app/components/data-loader/index.hbs index e207e44811d48..6be3fd61c6aac 100644 --- a/ui/packages/consul-ui/app/components/data-loader/index.hbs +++ b/ui/packages/consul-ui/app/components/data-loader/index.hbs @@ -56,13 +56,22 @@ {{#yield-slot name="disconnected" params=(block-params (action dispatch "RESET"))}} {{yield api}} {{else}} - - Warning! - An error was returned whilst loading this data, refresh to try again. - + }} + class="notification-update" + @type="warning" + as |notice|> + + Warning! + + +

    + An error was returned whilst loading this data, refresh to try again. +

    +
    + {{/yield-slot}} {{/if}} diff --git a/ui/packages/consul-ui/app/components/data-writer/index.hbs b/ui/packages/consul-ui/app/components/data-writer/index.hbs index a042fd6c2ac94..36f418459be78 100644 --- a/ui/packages/consul-ui/app/components/data-writer/index.hbs +++ b/ui/packages/consul-ui/app/components/data-writer/index.hbs @@ -39,14 +39,22 @@ as |after|}} {{#yield-slot name="removed" params=(block-params after)}} {{yield api}} {{else}} - - Success! - Your {{or label type}} has been deleted. - + + + Success! + + +

    + Your {{or label type}} has been deleted. +

    +
    +
    {{/yield-slot}} {{/let}} @@ -58,14 +66,22 @@ as |after|}} {{#yield-slot name="persisted" params=(block-params after)}} {{yield api}} {{else}} - - Success! - Your {{or label type}} has been saved. - + }} + class="notification-update" + @type="success" + as |notice|> + + Success! + + +

    + Your {{or label type}} has been saved. +

    +
    + {{/yield-slot}} {{/let}} @@ -77,20 +93,27 @@ as |after|}} {{#yield-slot name="error" params=(block-params after api.error)}} {{yield api}} {{else}} - - Error! - There was an error saving your {{or label type}}. - {{#if (and api.error.status api.error.detail)}} + }} + class="notification-update" + @type="error" + as |notice|> + + Error! + + +

    + There was an error saving your {{or label type}}. + {{#if (and api.error.status api.error.detail)}}
    {{api.error.status}}: {{api.error.detail}} - {{else if api.error.message}} + {{else if api.error.message}}
    {{api.error.message}} - {{/if}} - - + {{/if}} +

    +
    + {{/yield-slot}} {{/let}} diff --git a/ui/packages/consul-ui/app/components/delete-confirmation/index.hbs b/ui/packages/consul-ui/app/components/delete-confirmation/index.hbs index 35b2de1719c62..df07485948b70 100644 --- a/ui/packages/consul-ui/app/components/delete-confirmation/index.hbs +++ b/ui/packages/consul-ui/app/components/delete-confirmation/index.hbs @@ -1,16 +1,7 @@

    {{message}}

    - - - - \ No newline at end of file + + diff --git a/ui/packages/consul-ui/app/components/disclosure-menu/README.mdx b/ui/packages/consul-ui/app/components/disclosure-menu/README.mdx index dc8d9b3e2b134..9817282a8b84d 100644 --- a/ui/packages/consul-ui/app/components/disclosure-menu/README.mdx +++ b/ui/packages/consul-ui/app/components/disclosure-menu/README.mdx @@ -44,7 +44,7 @@ common usecase of having a floating menu. diff --git a/ui/packages/consul-ui/app/components/empty-state/README.mdx b/ui/packages/consul-ui/app/components/empty-state/README.mdx index ac684fdf99913..2e3d9e466dcaf 100644 --- a/ui/packages/consul-ui/app/components/empty-state/README.mdx +++ b/ui/packages/consul-ui/app/components/empty-state/README.mdx @@ -44,23 +44,23 @@ function.

    -
  • - +
  • -
  • - +
  • diff --git a/ui/packages/consul-ui/app/components/empty-state/index.hbs b/ui/packages/consul-ui/app/components/empty-state/index.hbs index 781f516eb0aa1..fcbeeaa4f10bf 100644 --- a/ui/packages/consul-ui/app/components/empty-state/index.hbs +++ b/ui/packages/consul-ui/app/components/empty-state/index.hbs @@ -17,9 +17,7 @@
    {{yield}} {{#if login}} - @@ -27,7 +25,12 @@ @src={{uri 'settings://consul:token'}} @onchange={{action (mut token) value="data"}} /> - + {{#if token.AccessorID}} + Log in with a different token + {{else}} + Log in + {{/if}} + {{/if}}
    {{/yield-slot}} diff --git a/ui/packages/consul-ui/app/components/empty-state/index.scss b/ui/packages/consul-ui/app/components/empty-state/index.scss index 7322580d694ce..72b821403cf29 100644 --- a/ui/packages/consul-ui/app/components/empty-state/index.scss +++ b/ui/packages/consul-ui/app/components/empty-state/index.scss @@ -16,3 +16,6 @@ %empty-state > ul > li > label > button { @extend %empty-state-anchor; } +%empty-state div > button { + @extend %primary-button; +} diff --git a/ui/packages/consul-ui/app/components/empty-state/skin.scss b/ui/packages/consul-ui/app/components/empty-state/skin.scss index 20583b4226464..22d9fcae4c285 100644 --- a/ui/packages/consul-ui/app/components/empty-state/skin.scss +++ b/ui/packages/consul-ui/app/components/empty-state/skin.scss @@ -1,6 +1,6 @@ %empty-state { - color: var(--token-color-foreground-faint); - background-color: var(--token-color-surface-faint); + color: rgb(var(--tone-gray-500)); + background-color: rgb(var(--tone-gray-010)); } %empty-state-header { border-bottom: none; diff --git a/ui/packages/consul-ui/app/components/error-state/index.hbs b/ui/packages/consul-ui/app/components/error-state/index.hbs index 0496c67403b12..d05bb30b6fbc3 100644 --- a/ui/packages/consul-ui/app/components/error-state/index.hbs +++ b/ui/packages/consul-ui/app/components/error-state/index.hbs @@ -27,25 +27,21 @@

    -
  • - + + @href={{href-to 'index'}} + > + Go back +
  • -
  • - + + @external={{true}} + > + Read the documentation +
  • @@ -72,23 +68,21 @@

    -
  • - + + @external={{true}} + > + Read the documentation +
  • -
  • - + + @external={{true}} + > + Follow the guide +
  • diff --git a/ui/packages/consul-ui/app/components/expanded-single-select/skin.scss b/ui/packages/consul-ui/app/components/expanded-single-select/skin.scss index d6a33d0d53684..76c2f471964eb 100644 --- a/ui/packages/consul-ui/app/components/expanded-single-select/skin.scss +++ b/ui/packages/consul-ui/app/components/expanded-single-select/skin.scss @@ -1,6 +1,6 @@ %expanded-single-select { border: var(--decor-border-100); - border-color: var(--token-color-palette-neutral-300); + border-color: rgb(var(--tone-gray-300)); border-radius: var(--decor-radius-100); } %expanded-single-select label { @@ -9,10 +9,10 @@ %expanded-single-select input[type='radio']:checked + *, %expanded-single-select input[type='radio']:hover + *, %expanded-single-select input[type='radio']:focus + * { - box-shadow: var(--token-elevation-high-box-shadow); + box-shadow: var(--decor-elevation-300); } %expanded-single-select input[type='radio']:checked + *, %expanded-single-select input[type='radio']:hover + *, %expanded-single-select input[type='radio']:focus + * { - background-color: var(--token-color-surface-primary); + background-color: rgb(var(--tone-gray-000)); } diff --git a/ui/packages/consul-ui/app/components/filter-bar/skin.scss b/ui/packages/consul-ui/app/components/filter-bar/skin.scss index ce5a1e93af7de..ba9429903c051 100644 --- a/ui/packages/consul-ui/app/components/filter-bar/skin.scss +++ b/ui/packages/consul-ui/app/components/filter-bar/skin.scss @@ -1,14 +1,14 @@ .filter-bar { & { - background-color: var(--token-color-foreground-high-contrast); + background-color: rgb(var(--tone-gray-010)); border-bottom: var(--decor-border-100); - border-color: var(--token-color-surface-interactive-active); + border-color: rgb(var(--tone-gray-200)); } .filters, .sort { .popover-menu > [type='checkbox']:checked + label button { - color: var(--token-color-foreground-action); - background-color: var(--token-color-foreground-high-contrast); + color: rgb(var(--tone-blue-500)); + background-color: rgb(var(--tone-gray-100)); } } } diff --git a/ui/packages/consul-ui/app/components/form-elements/index.scss b/ui/packages/consul-ui/app/components/form-elements/index.scss index a1bf39ab08d93..3ace8435f55c4 100644 --- a/ui/packages/consul-ui/app/components/form-elements/index.scss +++ b/ui/packages/consul-ui/app/components/form-elements/index.scss @@ -1,7 +1,6 @@ @import './skin'; @import './layout'; -%form h2, -.modal-dialog-body h2 { +%form h2 { @extend %h200; } /* TODO: This is positioning the element */ @@ -42,7 +41,9 @@ label span { @extend %form-element-error; } // TODO: float right here is too specific, this is currently used just for the role/policy selectors -.type-dialog { +label.type-dialog { + @extend %anchor; + cursor: pointer; float: right; } .type-toggle { @@ -68,11 +69,6 @@ span.label { %main-content .type-text { @extend %form-element; } -%main-content .type-select > span, -%main-content .type-password > span, -%main-content label.type-text > span { - line-height: 2.2em; -} %app-view-content form:not(.filter-bar) [role='radiogroup'], %modal-window [role='radiogroup'] { @extend %radio-group; diff --git a/ui/packages/consul-ui/app/components/form-elements/skin.scss b/ui/packages/consul-ui/app/components/form-elements/skin.scss index 1c2dcff297bc8..8528e121d8864 100644 --- a/ui/packages/consul-ui/app/components/form-elements/skin.scss +++ b/ui/packages/consul-ui/app/components/form-elements/skin.scss @@ -1,7 +1,7 @@ %form-element-text-input { -moz-appearance: none; -webkit-appearance: none; - box-shadow: var(--token-surface-inset-box-shadow); + box-shadow: inset var(--decor-elevation-100); border-radius: var(--decor-radius-100); border: var(--decor-border-100); outline: none; @@ -14,22 +14,22 @@ textarea:disabled + .CodeMirror, %form fieldset > p, %form-element-note, %form-element-text-input::placeholder { - color: var(--token-color-foreground-disabled); + color: rgb(var(--tone-gray-400)); } %form-element-error > input, %form-element-error > textarea { - border-color: var(--decor-error, var(--token-color-foreground-critical)) !important; + border-color: var(--decor-error-500, rgb(var(--tone-red-500))) !important; } %form-element-text-input { - color: var(--token-color-foreground-faint); - border-color: var(--token-color-palette-neutral-300); + color: rgb(var(--tone-gray-500)); + border-color: rgb(var(--tone-gray-300)); } %form-element-text-input-hover { - border-color: var(--token-color-foreground-faint); + border-color: rgb(var(--tone-gray-500)); } %form-element-text-input-focus { - border-color: var(--typo-action, var(--token-color-foreground-action)); + border-color: var(--typo-action-500, rgb(var(--tone-blue-500))); } %form-element-label { - color: var(--typo-contrast, inherit); + color: var(--typo-contrast-999, inherit); } diff --git a/ui/packages/consul-ui/app/components/freetext-filter/skin.scss b/ui/packages/consul-ui/app/components/freetext-filter/skin.scss index e78a30837a895..c26ea34d9c6ac 100644 --- a/ui/packages/consul-ui/app/components/freetext-filter/skin.scss +++ b/ui/packages/consul-ui/app/components/freetext-filter/skin.scss @@ -3,13 +3,13 @@ border: var(--decor-border-100); border-radius: var(--decor-radius-100); - background-color: var(--token-color-surface-primary); - border-color: var(--token-color-surface-interactive-active); - color: var(--token-color-foreground-disabled); + background-color: rgb(var(--tone-gray-000)); + border-color: rgb(var(--tone-gray-200)); + color: rgb(var(--tone-gray-400)); } &:hover, &:hover * { - border-color: var(--token-color-foreground-disabled); + border-color: rgb(var(--tone-gray-400)); } & *, &_input::placeholder { @@ -35,14 +35,14 @@ margin-top: -8px; } .popover-menu { - background-color: var(--token-color-surface-strong); - color: var(--token-color-foreground-primary); + background-color: rgb(var(--tone-gray-050)); + color: rgb(var(--tone-gray-800)); } .popover-menu { border-left: 1px solid; border-color: inherit; } .popover-menu > [type='checkbox']:checked + label button { - background-color: var(--token-color-surface-interactive-active); + background-color: rgb(var(--tone-gray-200)); } } diff --git a/ui/packages/consul-ui/app/components/hashicorp-consul/index.hbs b/ui/packages/consul-ui/app/components/hashicorp-consul/index.hbs index 5d1e5a24713d0..6942abded6b04 100644 --- a/ui/packages/consul-ui/app/components/hashicorp-consul/index.hbs +++ b/ui/packages/consul-ui/app/components/hashicorp-consul/index.hbs @@ -7,58 +7,66 @@ {{{flash.dom}}} {{else}} {{#let (lowercase flash.type) (lowercase flash.action) as |status type|}} - - {{capitalize status}}! - - {{#if (eq type 'logout')}} - {{#if (eq status 'success')}} - You are now logged out. + @type={{status}} + as |notice| + > + + + {{capitalize status}}! + + + +

    + {{#if (eq type 'logout')}} + {{#if (eq status 'success')}} + You are now logged out. + {{else}} + There was an error logging out. + {{/if}} + {{else if (eq type 'authorize')}} + {{#if (eq status 'success')}} + You are now logged in. + {{else}} + There was an error, please check your SecretID/Token + {{/if}} {{else}} - There was an error logging out. + {{#if (or (eq type 'use') (eq flash.model 'token'))}} + + {{else if (eq flash.model 'intention')}} + + {{else if (eq flash.model 'role')}} + + {{else if (eq flash.model 'policy')}} + + {{/if}} {{/if}} - {{else if (eq type 'authorize')}} - {{#if (eq status 'success')}} - You are now logged in. - {{else}} - There was an error, please check your SecretID/Token - {{/if}} - {{else}} - {{#if (or (eq type 'use') (eq flash.model 'token'))}} - - {{else if (eq flash.model 'intention')}} - - {{else if (eq flash.model 'role')}} - - {{else if (eq flash.model 'policy')}} - - {{/if}} - {{/if}} - - - +

    +
    + {{/let}} {{/if}} diff --git a/ui/packages/consul-ui/app/components/hashicorp-consul/index.scss b/ui/packages/consul-ui/app/components/hashicorp-consul/index.scss index 78e376ae6d696..fe989b06ca07c 100644 --- a/ui/packages/consul-ui/app/components/hashicorp-consul/index.scss +++ b/ui/packages/consul-ui/app/components/hashicorp-consul/index.scss @@ -5,10 +5,8 @@ .dcs-message { padding: 8px 12px; - border-bottom: 1px solid var(--token-color-foreground-disabled); + border-bottom: 1px solid rgb(var(--tone-gray-400)); max-width: fit-content; - background-color: var(--token-color-hashicorp-brand); - color: var(--token-color-palette-neutral-300); } } nav .dcs li.is-primary span, @@ -16,15 +14,15 @@ @extend %menu-panel-badge; } nav .dcs .dc-name { - color: var(--token-color-foreground-faint); + color: rgb(var(--tone-gray-600)); padding: 3.25px 0px; - font-weight: var(--typo-weight-semibold); + font-weight: var(--typo-weight-semibold) } nav .dcs .dc-name span { @extend %pill-200; margin-left: 1rem; - background-color: var(--token-color-palette-neutral-300); - color: var(--token-color-hashicorp-brand); + background-color: rgb(var(--tone-gray-300)); + color: rgb(var(--tone-gray-999)); } nav li.partitions, nav li.nspaces { @@ -44,7 +42,7 @@ } [role='banner'] a svg { - fill: var(--token-color-consul-brand); + fill: rgb(var(--tone-brand-600)); } .docs-link a::after { @extend %with-docs-mask, %as-pseudo; @@ -57,7 +55,7 @@ } .acls-separator span { @extend %led-icon; - color: var(--token-color-foreground-critical); + color: rgb(var(--tone-red-500)); display: inline-block; position: relative; top: 2px; diff --git a/ui/packages/consul-ui/app/components/horizontal-kv-list/README.mdx b/ui/packages/consul-ui/app/components/horizontal-kv-list/README.mdx index 1def2a4b51d76..2cf875988d0b4 100644 --- a/ui/packages/consul-ui/app/components/horizontal-kv-list/README.mdx +++ b/ui/packages/consul-ui/app/components/horizontal-kv-list/README.mdx @@ -202,11 +202,11 @@ dl { } .lock-delay::before { @extend %with-delay-mask, %as-pseudo; - color: var(--token-color-foreground-faint); + color: rgb(var(--tone-gray-700)); } .ttl::before { @extend %with-history-mask, %as-pseudo; - color: var(--token-color-foreground-action); + color: rgb(var(--tone-blue-500)); } .service-identity { @extend %badge; diff --git a/ui/packages/consul-ui/app/components/horizontal-kv-list/debug.scss b/ui/packages/consul-ui/app/components/horizontal-kv-list/debug.scss index 01c1650e326af..22efa4535dce7 100644 --- a/ui/packages/consul-ui/app/components/horizontal-kv-list/debug.scss +++ b/ui/packages/consul-ui/app/components/horizontal-kv-list/debug.scss @@ -1,14 +1,14 @@ -[id^='docfy-demo-preview-horizontal-kv-list'] { +[id^=docfy-demo-preview-horizontal-kv-list] { dl { @extend %horizontal-kv-list; } .lock-delay::before { @extend %with-delay-mask, %as-pseudo; - color: var(--token-color-foreground-faint); + color: rgb(var(--tone-gray-700)); } .ttl::before { @extend %with-history-mask, %as-pseudo; - color: var(--token-color-foreground-action); + color: rgb(var(--tone-blue-500)); } .service-identity { @extend %badge; diff --git a/ui/packages/consul-ui/app/components/icon-definition/index.scss b/ui/packages/consul-ui/app/components/icon-definition/index.scss index 4d3a5d3b5386b..262412ef229d2 100644 --- a/ui/packages/consul-ui/app/components/icon-definition/index.scss +++ b/ui/packages/consul-ui/app/components/icon-definition/index.scss @@ -8,32 +8,32 @@ %icon-definition.passing dt::before, %composite-row-header .passing dd::before { @extend %with-check-circle-fill-mask, %as-pseudo; - color: var(--token-color-foreground-success); + color: rgb(var(--tone-green-500)); } %icon-definition.warning dt::before, %composite-row-header .warning dd::before { @extend %with-alert-triangle-mask, %as-pseudo; - color: var(--token-color-foreground-warning); + color: rgb(var(--tone-orange-500)); } %icon-definition.critical dt::before, %composite-row-header .critical dd::before { @extend %with-cancel-square-fill-mask, %as-pseudo; - color: var(--token-color-foreground-critical); + color: rgb(var(--tone-red-500)); } %icon-definition.empty dt::before, %composite-row-header .empty dd::before { @extend %with-minus-square-fill-mask, %as-pseudo; - color: var(--token-color-foreground-faint); + color: rgb(var(--tone-gray-500)); } %icon-definition.unknown dt::before, %composite-row-header .unknown dd::before { @extend %with-help-circle-outline-mask, %as-pseudo; - color: var(--token-color-foreground-faint); + color: rgb(var(--tone-gray-500)); } %composite-row-header [rel='me'] dd::before { @extend %with-check-circle-fill-mask, %as-pseudo; - color: var(--token-color-foreground-action); + color: rgb(var(--tone-blue-500)); } %icon-definition.node dt::before { diff --git a/ui/packages/consul-ui/app/components/informed-action/skin.scss b/ui/packages/consul-ui/app/components/informed-action/skin.scss index b9dc0875d7706..25b7fba8d8e73 100644 --- a/ui/packages/consul-ui/app/components/informed-action/skin.scss +++ b/ui/packages/consul-ui/app/components/informed-action/skin.scss @@ -2,8 +2,8 @@ & { border-radius: var(--decor-radius-200); border: var(--decor-border-100); - border-color: var(--token-color-palette-neutral-300); - background-color: var(--token-color-surface-primary); + border-color: rgb(var(--tone-gray-300)); + background-color: rgb(var(--tone-gray-000)); } > div { border-top-left-radius: var(--decor-radius-200); @@ -18,57 +18,57 @@ } p { @extend %p2; - color: var(--token-color-hashicorp-brand); + color: rgb(var(--tone-gray-999)); } > ul { list-style: none; } > ul > li > *:hover, > ul > li > *:focus { - background-color: var(--token-color-surface-strong); + background-color: rgb(var(--tone-gray-100)); } /* variants */ &.info { header { - color: var(--token-color-foreground-action-active); + color: rgb(var(--tone-blue-700)); } header::before { @extend %with-info-circle-fill-mask, %as-pseudo; - background-color: var(--token-color-foreground-action); + background-color: rgb(var(--tone-blue-500)); margin-right: 5px; } > div { - background-color: var(--token-color-surface-action); + background-color: rgb(var(--tone-blue-010)); } } &.dangerous { header { - color: var(--token-color-palette-red-400); + color: rgb(var(--tone-red-700)); } header::before { @extend %with-alert-triangle-mask, %as-pseudo; - background-color: var(--token-color-foreground-critical); + background-color: rgb(var(--tone-red-500)); } > div { - background-color: var(--token-color-surface-critical); + background-color: rgb(var(--tone-red-010)); } } &.warning { header { - color: var(--token-color-foreground-warning-on-surface); + color: rgb(var(--tone-orange-700)); } header::before { @extend %with-alert-triangle-mask, %as-pseudo; - background-color: var(--token-color-vault-brand); + background-color: rgb(var(--tone-yellow-500)); margin-right: 5px; } > div { - background-color: var(--token-color-vault-gradient-faint-start); + background-color: rgb(var(--tone-yellow-050)); } } /**/ > ul > .action > * { - color: var(--token-color-foreground-action); + color: rgb(var(--tone-blue-500)); } > ul > .dangerous > * { @extend %frame-red-300; diff --git a/ui/packages/consul-ui/app/components/inline-alert/skin.scss b/ui/packages/consul-ui/app/components/inline-alert/skin.scss index 40bd166503445..a2bf0d9826e63 100644 --- a/ui/packages/consul-ui/app/components/inline-alert/skin.scss +++ b/ui/packages/consul-ui/app/components/inline-alert/skin.scss @@ -12,7 +12,7 @@ color: inherit; } %inline-alert-error { - color: var(--token-color-foreground-critical); + color: rgb(var(--color-failure)); } %inline-alert::before { font-size: 14px; @@ -22,15 +22,15 @@ } %inline-alert-success::before { @extend %with-check-circle-fill-mask; - color: var(--token-color-foreground-success); + color: rgb(var(--tone-green-500)); } %inline-alert-error::before { @extend %with-cancel-square-fill-mask; - color: var(--token-color-foreground-critical); + color: rgb(var(--tone-red-500)); } %inline-alert-warning::before { @extend %with-alert-triangle-mask; - color: var(--token-color-foreground-warning); + color: rgb(var(--tone-orange-500)); /* the warning triangle always looks */ /* too low just because its a triangle */ /* this tweak make it look better */ @@ -38,5 +38,5 @@ } %inline-alert-info::before { @extend %with-info-circle-fill-mask; - color: var(--token-color-foreground-action); + color: rgb(var(--tone-blue-500)); } diff --git a/ui/packages/consul-ui/app/components/inline-code/skin.scss b/ui/packages/consul-ui/app/components/inline-code/skin.scss index 72da1b3482311..3fb061925aed9 100644 --- a/ui/packages/consul-ui/app/components/inline-code/skin.scss +++ b/ui/packages/consul-ui/app/components/inline-code/skin.scss @@ -1,7 +1,7 @@ %block-code, %inline-code { border: 1px solid; - color: var(--token-color-consul-brand); - background-color: var(--token-color-surface-strong); - border-color: var(--token-color-surface-interactive-active); + color: rgb(var(--tone-brand-600)); + background-color: rgb(var(--tone-gray-050)); + border-color: rgb(var(--tone-gray-200)); } diff --git a/ui/packages/consul-ui/app/components/list-collection/skin.scss b/ui/packages/consul-ui/app/components/list-collection/skin.scss index 5da7bfb15ca68..e6e1632c492bd 100644 --- a/ui/packages/consul-ui/app/components/list-collection/skin.scss +++ b/ui/packages/consul-ui/app/components/list-collection/skin.scss @@ -1,11 +1,11 @@ %list-collection > ul { border-top: 1px solid; - border-color: var(--token-color-surface-interactive-active); + border-color: rgb(var(--tone-gray-200)); } %list-collection-partial-button { cursor: pointer; - background-color: var(--token-color-surface-strong); - color: var(--token-color-foreground-action); + background-color: rgb(var(--tone-gray-050)); + color: rgb(var(--tone-blue-500)); } %list-collection-partial-button::after { @extend %with-chevron-up-mask, %as-pseudo; diff --git a/ui/packages/consul-ui/app/components/list-row/skin.scss b/ui/packages/consul-ui/app/components/list-row/skin.scss index 9f71af4074f26..654e6e8947c41 100644 --- a/ui/packages/consul-ui/app/components/list-row/skin.scss +++ b/ui/packages/consul-ui/app/components/list-row/skin.scss @@ -1,30 +1,31 @@ %list-row { list-style-type: none; border: var(--decor-border-100); - border-top-color: transparent; - border-bottom-color: var(--token-color-surface-interactive-active); - border-right-color: transparent; - border-left-color: transparent; + border-top-color: var(--transparent); + border-bottom-color: rgb(var(--tone-gray-200)); + border-right-color: var(--transparent); + border-left-color: var(--transparent); } %list-row-intent { - border-color: var(--token-color-surface-interactive-active); - box-shadow: var(--token-elevation-high-box-shadow); - border-top-color: transparent; + border-color: rgb(var(--tone-gray-200)); + /*TODO: This should use a shared/CSS prop shadow*/ + box-shadow: 0 2px 4px rgb(var(--black) / 10%); + border-top-color: var(--transparent); cursor: pointer; } %list-row-header { - color: var(--token-color-hashicorp-brand); + color: rgb(var(--tone-gray-999)); } %list-row-header * { color: inherit; } %list-row-detail { - color: var(--token-color-foreground-faint); + color: rgb(var(--tone-gray-500)); } %list-row-detail a { color: inherit; } %list-row-detail a:hover { - color: var(--token-color-foreground-action); + color: rgb(var(--color-action)); text-decoration: underline; } diff --git a/ui/packages/consul-ui/app/components/main-header-horizontal/skin.scss b/ui/packages/consul-ui/app/components/main-header-horizontal/skin.scss index bfb5178e054d5..2b789d42e34ab 100644 --- a/ui/packages/consul-ui/app/components/main-header-horizontal/skin.scss +++ b/ui/packages/consul-ui/app/components/main-header-horizontal/skin.scss @@ -1,3 +1,3 @@ %main-header-horizontal::before { - background-color: var(--token-color-hashicorp-brand); + background-color: rgb(var(--tone-gray-000)); } diff --git a/ui/packages/consul-ui/app/components/main-nav-horizontal/index.scss b/ui/packages/consul-ui/app/components/main-nav-horizontal/index.scss index 6ebed8a7dabb5..bcc7a01b37212 100644 --- a/ui/packages/consul-ui/app/components/main-nav-horizontal/index.scss +++ b/ui/packages/consul-ui/app/components/main-nav-horizontal/index.scss @@ -26,6 +26,6 @@ /**/ /* menu-panels in the main navigation are treated slightly differently */ -%main-nav-horizontal .disclosure-menu button + * { +%main-nav-horizontal label + div { @extend %main-nav-horizontal-menu-panel; } diff --git a/ui/packages/consul-ui/app/components/main-nav-horizontal/layout.scss b/ui/packages/consul-ui/app/components/main-nav-horizontal/layout.scss index c8fb07dd6a996..ba9a3027fd3cd 100644 --- a/ui/packages/consul-ui/app/components/main-nav-horizontal/layout.scss +++ b/ui/packages/consul-ui/app/components/main-nav-horizontal/layout.scss @@ -16,6 +16,8 @@ %main-nav-horizontal-menu-panel { z-index: 400; /* TODO: We should probably make menu-panel default to left hand side*/ + left: 0; + right: auto; top: 28px !important; } %main-nav-horizontal-action { diff --git a/ui/packages/consul-ui/app/components/main-nav-horizontal/skin.scss b/ui/packages/consul-ui/app/components/main-nav-horizontal/skin.scss index 8dbf1ce63edf5..ab564cbb0479a 100644 --- a/ui/packages/consul-ui/app/components/main-nav-horizontal/skin.scss +++ b/ui/packages/consul-ui/app/components/main-nav-horizontal/skin.scss @@ -13,28 +13,18 @@ transform: scaleY(-100%); } -%main-nav-horizontal-menu-panel, -%main-nav-horizontal-menu-panel > ul[role='menu'], -%main-nav-horizontal-menu-panel > ul[role='menu'] > li > [role='menuitem'] { - background-color: var(--token-color-hashicorp-brand); - color: var(--token-color-palette-neutral-300); -} - -%main-nav-horizontal-menu-panel > ul[role='menu'] > li > [role='menuitem']:hover { - background-color: var(--token-color-palette-neutral-600); -} - %main-nav-horizontal-toggle { display: none; } %main-nav-horizontal-toggle-button::before { --icon-name: icon-menu; - --icon-color: var(--token-color-palette-neutral-300); + --icon-color: rgb(var(--tone-gray-800)); content: ''; cursor: pointer; } %main-nav-horizontal-action, %main-nav-horizontal-action-intent, %main-nav-horizontal-action-active { - color: var(--token-color-palette-neutral-300); + color: rgb(var(--tone-gray-600)); } +/**/ diff --git a/ui/packages/consul-ui/app/components/main-nav-vertical/README.mdx b/ui/packages/consul-ui/app/components/main-nav-vertical/README.mdx index a079e76e41273..12039d3bb45ab 100644 --- a/ui/packages/consul-ui/app/components/main-nav-vertical/README.mdx +++ b/ui/packages/consul-ui/app/components/main-nav-vertical/README.mdx @@ -65,7 +65,7 @@ you need to define a different ancestor for a containing block you can use /* a transform is required to mark this element as the containing block */ /* for hoisting, otherwise the viewport is the containing block */ transform: translate(0, 0); - background-color: var(--token-color-foreground-faint); + background-color: rgb(var(--tone-gray-600)); padding-top: 64px; } ``` diff --git a/ui/packages/consul-ui/app/components/main-nav-vertical/debug.scss b/ui/packages/consul-ui/app/components/main-nav-vertical/debug.scss index 8f25d3282249c..8d8a8e3a348dd 100644 --- a/ui/packages/consul-ui/app/components/main-nav-vertical/debug.scss +++ b/ui/packages/consul-ui/app/components/main-nav-vertical/debug.scss @@ -15,7 +15,7 @@ /* a transform is required to mark this element as the containing block */ /* for hoisting, otherwise the viewport is the containing block */ transform: translate(0, 0); - background-color: var(--token-color-foreground-faint); + background-color: rgb(var(--tone-gray-600)); padding-top: 64px; } // TODO: Reduce the need for these debug overrides diff --git a/ui/packages/consul-ui/app/components/main-nav-vertical/skin.scss b/ui/packages/consul-ui/app/components/main-nav-vertical/skin.scss index 4564ff17a5cee..e1930d8bf72ac 100644 --- a/ui/packages/consul-ui/app/components/main-nav-vertical/skin.scss +++ b/ui/packages/consul-ui/app/components/main-nav-vertical/skin.scss @@ -2,7 +2,7 @@ @extend %p1; cursor: pointer; border-right: var(--decor-border-400); - border-color: transparent; + border-color: var(--transparent); } %main-nav-vertical-action > a { color: inherit; @@ -20,31 +20,29 @@ text-decoration: none; } %main-nav-vertical { - background-color: var(--token-color-foreground-strong); - color: var(--token-color-foreground-faint); + background-color: rgb(var(--tone-gray-050)); + color: rgb(var(--tone-gray-700)); } %main-nav-vertical li:not([role='separator']) > span { - color: var(--token-color-palette-neutral-300); + color: rgb(var(--tone-gray-300)); } -%main-nav-vertical [role='separator'], -%main-nav-vertical-hoisted [role='separator'] { - color: var(--token-color-palette-neutral-400); - background-color: var(--token-color-foreground-strong); +%main-nav-vertical [role='separator'] { + color: rgb(var(--tone-gray-600)); } %main-nav-vertical-action { - color: var(--token-color-palette-neutral-300); + color: rgb(var(--tone-gray-800)); } %main-nav-vertical-item, %main-nav-vertical-action-intent, %main-nav-vertical-action-active { - color: var(--token-color-palette-neutral-0); + color: rgb(var(--tone-gray-999)); } %main-nav-vertical-action-active { - background-color: var(--token-color-palette-neutral-500); - border-color: var(--token-color-palette-neutral-0); + background-color: rgb(var(--tone-gray-150)); + border-color: rgb(var(--tone-gray-999)); } %main-nav-vertical [aria-label]::before { - color: var(--token-color-palette-neutral-400); + color: rgb(var(--tone-gray-700)); content: attr(aria-label); display: block; margin-top: -0.5rem; @@ -52,42 +50,18 @@ } %main-nav-vertical-popover-menu-trigger { border: var(--decor-border-100); - border-color: var(--token-color-foreground-faint); + border-color: rgb(var(--tone-gray-500)); border-radius: var(--decor-radius-100); font-weight: inherit; - background-color: var(--token-color-foreground-strong); - color: var(--token-color-palette-neutral-200); -} - -%main-nav-vertical-popover-menu-trigger:hover, -%main-nav-vertical-popover-menu-trigger:focus { - color: var(--token-color-palette-neutral-300); - background-color: var(--token-color-foreground-strong); -} - -%main-nav-vertical ul[role='menu'] li a[role='menuitem'] { - color: var(--token-color-palette-neutral-300); - background-color: var(--token-color-foreground-strong); -} - -%main-nav-vertical ul[role='menu']li a[role='menuitem']:hover { - background-color: var(--token-color-palette-neutral-600); + background-color: rgb(var(--tone-gray-050)); + color: rgb(var(--tone-gray-999)); } - %main-nav-vertical-popover-menu-trigger[aria-expanded='true'] { border-bottom-left-radius: var(--decor-radius-000); border-bottom-right-radius: var(--decor-radius-000); } - -%main-nav-horizontal %panel, -%main-nav-horizontal %panel-separator, -%main-nav-vertical %panel, -%main-nav-vertical %panel-separator { - border-color: var(--token-color-foreground-faint); -} - %main-nav-vertical-popover-menu-trigger::after { @extend %with-chevron-down-mask, %as-pseudo; width: 16px; @@ -101,10 +75,4 @@ border-top-left-radius: var(--decor-radius-000); border-top-right-radius: var(--decor-radius-000); border-top: var(--decor-border-000); - color: var(--token-color-palette-neutral-300); - background-color: var(--token-color-foreground-strong); -} - -%main-nav-vertical-hoisted ul[role='menu'] { - background-color: var(--token-color-hashicorp-brand); } diff --git a/ui/packages/consul-ui/app/components/menu-panel/skin.scss b/ui/packages/consul-ui/app/components/menu-panel/skin.scss index e47b2df0f4bde..e1aa9075131be 100644 --- a/ui/packages/consul-ui/app/components/menu-panel/skin.scss +++ b/ui/packages/consul-ui/app/components/menu-panel/skin.scss @@ -6,7 +6,7 @@ } %menu-panel-header + ul { border-top: var(--decor-border-100); - border-color: var(--token-form--base-border-color-default); + border-color: rgb(var(--tone-border, var(--tone-gray-300))); } /* if the first item is a separator and it */ /* contains text don't add a line */ @@ -17,15 +17,15 @@ @extend %p3; text-transform: uppercase; font-weight: var(--typo-weight-medium); - color: var(--token-color-foreground-faint); + color: rgb(var(--tone-gray-600)); } %menu-panel-item { list-style-type: none; } %menu-panel-badge { @extend %pill; - color: var(--token-color-surface-primary); - background-color: var(--token-color-foreground-faint); + color: rgb(var(--tone-gray-000)); + background-color: rgb(var(--tone-gray-500)); } %menu-panel-body .informed-action { border: 0 !important; diff --git a/ui/packages/consul-ui/app/components/modal-dialog/index.hbs b/ui/packages/consul-ui/app/components/modal-dialog/index.hbs index b7205ad680c2e..6cb2f944f9ef8 100644 --- a/ui/packages/consul-ui/app/components/modal-dialog/index.hbs +++ b/ui/packages/consul-ui/app/components/modal-dialog/index.hbs @@ -20,14 +20,12 @@ role="document" > -
    - - - -
    + {{compute (fn route.t 'documentation.body' + (hash + htmlSafe=true + ) + )}} diff --git a/ui/packages/consul-ui/app/templates/dc/show/serverstatus.hbs b/ui/packages/consul-ui/app/templates/dc/show/serverstatus.hbs index 75e166fe11c76..dd2472ec80ded 100644 --- a/ui/packages/consul-ui/app/templates/dc/show/serverstatus.hbs +++ b/ui/packages/consul-ui/app/templates/dc/show/serverstatus.hbs @@ -24,32 +24,56 @@ as |item|}} {{#if (eq loader.error.status "404")}} - - Warning! - This service has been deregistered and no longer exists in the catalog. - + }} + class="notification-update" + @type="warning" + as |notice|> + + Warning! + + +

    + This service has been deregistered and no longer exists in the catalog. +

    +
    + {{else if (eq loader.error.status "403")}} - - Error! - You no longer have access to this service. - + }} + class="notification-update" + @type="error" + as |notice|> + + Error! + + +

    + You no longer have access to this service +

    +
    + {{else}} - - Warning! - An error was returned whilst loading this data, refresh to try again. - + }} + class="notification-update" + @type="warning" + as |notice|> + + Warning! + + +

    + An error was returned whilst loading this data, refresh to try again. +

    +
    + {{/if}}
    @@ -63,15 +87,12 @@ as |item|}} >
    + {{compute (fn route.t 'tolerance.link' (hash + htmlSafe=true + ))}}

    {{compute (fn route.t 'tolerance.header')}}

    -
    - - Local Storage - These settings are immediately saved to local storage and persisted through browser usage. - + + +

    Local Storage

    +
    + +

    + These settings are immediately saved to local storage and persisted through browser usage. +

    +
    +
    {{#if (not (env 'CONSUL_UI_DISABLE_REALTIME'))}} diff --git a/ui/packages/consul-ui/package.json b/ui/packages/consul-ui/package.json index 8ecf761f13205..445d12235dfc2 100644 --- a/ui/packages/consul-ui/package.json +++ b/ui/packages/consul-ui/package.json @@ -67,10 +67,10 @@ "@ember/test-helpers": "^2.2.5", "@glimmer/component": "^1.0.4", "@glimmer/tracking": "^1.0.4", - "@hashicorp/design-system-components": "^1.6.0", + "@hashicorp/design-system-components": "^1.0.4", "@hashicorp/design-system-tokens": "^1.0.0", "@hashicorp/ember-cli-api-double": "^4.0.0", - "@hashicorp/ember-flight-icons": "^3.0.2", + "@hashicorp/ember-flight-icons": "^3.0.0", "@html-next/vertical-collection": "^4.0.0", "@lit/reactive-element": "^1.2.1", "@xstate/fsm": "^1.4.0", @@ -134,7 +134,7 @@ "ember-export-application-global": "^2.0.1", "ember-in-viewport": "^3.8.1", "ember-inflector": "^4.0.1", - "ember-intl": "^5.7.0", + "ember-intl": "^5.5.1", "ember-load-initializers": "^2.1.2", "ember-math-helpers": "^2.4.0", "ember-maybe-import-regenerator": "^0.1.6", diff --git a/ui/packages/consul-ui/tests/acceptance/dc/acls/policies/as-many/add-existing.feature b/ui/packages/consul-ui/tests/acceptance/dc/acls/policies/as-many/add-existing.feature index bf9464e507093..54e64f8b474a4 100644 --- a/ui/packages/consul-ui/tests/acceptance/dc/acls/policies/as-many/add-existing.feature +++ b/ui/packages/consul-ui/tests/acceptance/dc/acls/policies/as-many/add-existing.feature @@ -41,8 +41,8 @@ Feature: dc / acls / policies / as many / add existing: Add existing policy Name: Policy 2 --- Then the url should be /datacenter/acls/[Model]s - And "[data-notification]" has the "hds-toast" class - And "[data-notification]" has the "hds-alert--color-success" class + And "[data-notification]" has the "notification-update" class + And "[data-notification]" has the "success" class Where: ------------- | Model | diff --git a/ui/packages/consul-ui/tests/acceptance/dc/acls/policies/as-many/add-new.feature b/ui/packages/consul-ui/tests/acceptance/dc/acls/policies/as-many/add-new.feature index 599fc69e75273..367ae9221d8ef 100644 --- a/ui/packages/consul-ui/tests/acceptance/dc/acls/policies/as-many/add-new.feature +++ b/ui/packages/consul-ui/tests/acceptance/dc/acls/policies/as-many/add-new.feature @@ -39,8 +39,8 @@ Feature: dc / acls / policies / as many / add new: Add new policy Name: New-Policy --- Then the url should be /datacenter/acls/[Model]s - And "[data-notification]" has the "hds-toast" class - And "[data-notification]" has the "hds-alert--color-success" class + And "[data-notification]" has the "notification-update" class + And "[data-notification]" has the "success" class Where: ------------- | Model | @@ -62,8 +62,8 @@ Feature: dc / acls / policies / as many / add new: Add new policy - ServiceName: New-Service-Identity --- Then the url should be /datacenter/acls/[Model]s - And "[data-notification]" has the "hds-toast" class - And "[data-notification]" has the "hds-alert--color-success" class + And "[data-notification]" has the "notification-update" class + And "[data-notification]" has the "success" class Where: ------------- | Model | @@ -86,8 +86,8 @@ Feature: dc / acls / policies / as many / add new: Add new policy Datacenter: datacenter --- Then the url should be /datacenter/acls/[Model]s - And "[data-notification]" has the "hds-toast" class - And "[data-notification]" has the "hds-alert--color-success" class + And "[data-notification]" has the "notification-update" class + And "[data-notification]" has the "success" class Where: ------------- | Model | diff --git a/ui/packages/consul-ui/tests/acceptance/dc/acls/policies/create.feature b/ui/packages/consul-ui/tests/acceptance/dc/acls/policies/create.feature index 85589fcfecaad..0e9f6a21d15c0 100644 --- a/ui/packages/consul-ui/tests/acceptance/dc/acls/policies/create.feature +++ b/ui/packages/consul-ui/tests/acceptance/dc/acls/policies/create.feature @@ -24,8 +24,8 @@ Feature: dc / acls / policies / create Description: [Description] --- Then the url should be /datacenter/acls/policies - And "[data-notification]" has the "hds-toast" class - And "[data-notification]" has the "hds-alert--color-success" class + And "[data-notification]" has the "notification-create" class + And "[data-notification]" has the "success" class Where: --------------------------- | Description | @@ -46,5 +46,5 @@ Feature: dc / acls / policies / create - Namespace --- Then the url should be /datacenter/acls/policies - And "[data-notification]" has the "hds-toast" class - And "[data-notification]" has the "hds-alert--color-success" class + And "[data-notification]" has the "notification-create" class + And "[data-notification]" has the "success" class diff --git a/ui/packages/consul-ui/tests/acceptance/dc/acls/policies/delete.feature b/ui/packages/consul-ui/tests/acceptance/dc/acls/policies/delete.feature index 87a6be3e1e6da..c75b75c896a33 100644 --- a/ui/packages/consul-ui/tests/acceptance/dc/acls/policies/delete.feature +++ b/ui/packages/consul-ui/tests/acceptance/dc/acls/policies/delete.feature @@ -15,8 +15,8 @@ Feature: dc / acls / policies / delete: Policy Delete And I click delete on the policies And I click confirmDelete on the policies Then a DELETE request was made to "/v1/acl/policy/1981f51d-301a-497b-89a0-05112ef02b4b?dc=datacenter&ns=@!namespace" - And "[data-notification]" has the "hds-toast" class - And "[data-notification]" has the "hds-alert--color-success" class + And "[data-notification]" has the "notification-delete" class + And "[data-notification]" has the "success" class Scenario: Deleting a policy model from the policies listing page errors Given the url "/v1/acl/policy/1981f51d-301a-497b-89a0-05112ef02b4b?dc=datacenter&ns=@namespace" responds with a 500 status And 1 policy model from yaml @@ -30,8 +30,8 @@ Feature: dc / acls / policies / delete: Policy Delete And I click actions on the policies And I click delete on the policies And I click confirmDelete on the policies - And "[data-notification]" has the "hds-toast" class - And "[data-notification]" has the "hds-alert--color-critical" class + And "[data-notification]" has the "notification-delete" class + And "[data-notification]" has the "error" class Scenario: Deleting a policy from the policy detail page When I visit the policy page for yaml --- @@ -41,8 +41,8 @@ Feature: dc / acls / policies / delete: Policy Delete And I click delete And I click confirmDelete on the deleteModal Then a DELETE request was made to "/v1/acl/policy/1981f51d-301a-497b-89a0-05112ef02b4b?dc=datacenter&ns=@!namespace" - And "[data-notification]" has the "hds-toast" class - And "[data-notification]" has the "hds-alert--color-success" class + And "[data-notification]" has the "notification-delete" class + And "[data-notification]" has the "success" class # FIXME # Scenario: Deleting a policy from the policy detail page errors # Given the url "/v1/acl/policy/1981f51d-301a-497b-89a0-05112ef02b4b?dc=datacenter&ns=@namespace" responds with a 500 status diff --git a/ui/packages/consul-ui/tests/acceptance/dc/acls/policies/update.feature b/ui/packages/consul-ui/tests/acceptance/dc/acls/policies/update.feature index f207a078dd536..e0857d14ed913 100644 --- a/ui/packages/consul-ui/tests/acceptance/dc/acls/policies/update.feature +++ b/ui/packages/consul-ui/tests/acceptance/dc/acls/policies/update.feature @@ -37,8 +37,8 @@ Feature: dc / acls / policies / update: ACL Policy Update --- Then the url should be /datacenter/acls/policies - And "[data-notification]" has the "hds-toast" class - And "[data-notification]" has the "hds-alert--color-success" class + And "[data-notification]" has the "notification-update" class + And "[data-notification]" has the "success" class Where: ------------------------------------------------------------------------------ | Name | Rules | Description | @@ -50,8 +50,8 @@ Feature: dc / acls / policies / update: ACL Policy Update Given the url "/v1/acl/policy/policy-id" responds with a 500 status And I submit Then the url should be /datacenter/acls/policies/policy-id - And "[data-notification]" has the "hds-toast" class - And "[data-notification]" has the "hds-alert--color-critical" class + Then "[data-notification]" has the "notification-update" class + And "[data-notification]" has the "error" class @notNamespaceable Scenario: Updating a simple ACL policy when Namespaces are disabled does not send Namespace @@ -65,5 +65,5 @@ Feature: dc / acls / policies / update: ACL Policy Update - Namespace --- Then the url should be /datacenter/acls/policies - And "[data-notification]" has the "hds-toast" class - And "[data-notification]" has the "hds-alert--color-success" class + And "[data-notification]" has the "notification-update" class + And "[data-notification]" has the "success" class diff --git a/ui/packages/consul-ui/tests/acceptance/dc/acls/roles/as-many/add-existing.feature b/ui/packages/consul-ui/tests/acceptance/dc/acls/roles/as-many/add-existing.feature index acf4e16a2c4b0..6f22975753d12 100644 --- a/ui/packages/consul-ui/tests/acceptance/dc/acls/roles/as-many/add-existing.feature +++ b/ui/packages/consul-ui/tests/acceptance/dc/acls/roles/as-many/add-existing.feature @@ -46,5 +46,5 @@ Feature: dc / acls / roles / as many / add existing: Add existing Name: Role 2 --- Then the url should be /datacenter/acls/tokens - And "[data-notification]" has the "hds-toast" class - And "[data-notification]" has the "hds-alert--color-success" class + And "[data-notification]" has the "notification-update" class + And "[data-notification]" has the "success" class diff --git a/ui/packages/consul-ui/tests/acceptance/dc/acls/roles/as-many/add-new.feature b/ui/packages/consul-ui/tests/acceptance/dc/acls/roles/as-many/add-new.feature index 601c17bb73fab..45249a8e4a5c3 100644 --- a/ui/packages/consul-ui/tests/acceptance/dc/acls/roles/as-many/add-new.feature +++ b/ui/packages/consul-ui/tests/acceptance/dc/acls/roles/as-many/add-new.feature @@ -46,8 +46,8 @@ Feature: dc / acls / roles / as-many / add-new: Add new ID: ee52203d-989f-4f7a-ab5a-2bef004164ca-1 --- Then the url should be /datacenter/acls/tokens - And "[data-notification]" has the "hds-toast" class - And "[data-notification]" has the "hds-alert--color-success" class + And "[data-notification]" has the "notification-update" class + And "[data-notification]" has the "success" class Scenario: Add Role that has an existing Policy And I click "#new-role .ember-power-select-trigger" And I click ".ember-power-select-option:first-child" @@ -71,8 +71,8 @@ Feature: dc / acls / roles / as-many / add-new: Add new ID: ee52203d-989f-4f7a-ab5a-2bef004164ca-1 --- Then the url should be /datacenter/acls/tokens - And "[data-notification]" has the "hds-toast" class - And "[data-notification]" has the "hds-alert--color-success" class + And "[data-notification]" has the "notification-update" class + And "[data-notification]" has the "success" class Scenario: Add Role and add a new Policy And I click roles.form.policies.create Then I fill in the roles.form.policies.form with yaml @@ -111,8 +111,8 @@ Feature: dc / acls / roles / as-many / add-new: Add new ID: ee52203d-989f-4f7a-ab5a-2bef004164ca-1 --- Then the url should be /datacenter/acls/tokens - And "[data-notification]" has the "hds-toast" class - And "[data-notification]" has the "hds-alert--color-success" class + And "[data-notification]" has the "notification-update" class + And "[data-notification]" has the "success" class Scenario: Add Role and add a new Service Identity And I click roles.form.policies.create Then I fill in the roles.form.policies.form with yaml @@ -141,8 +141,8 @@ Feature: dc / acls / roles / as-many / add-new: Add new ID: ee52203d-989f-4f7a-ab5a-2bef004164ca-1 --- Then the url should be /datacenter/acls/tokens - And "[data-notification]" has the "hds-toast" class - And "[data-notification]" has the "hds-alert--color-success" class + And "[data-notification]" has the "notification-update" class + And "[data-notification]" has the "success" class @ignore: Scenario: Click the cancel form Then ok diff --git a/ui/packages/consul-ui/tests/acceptance/dc/acls/roles/create.feature b/ui/packages/consul-ui/tests/acceptance/dc/acls/roles/create.feature index 0c5a511015c68..ce63a93df59d4 100644 --- a/ui/packages/consul-ui/tests/acceptance/dc/acls/roles/create.feature +++ b/ui/packages/consul-ui/tests/acceptance/dc/acls/roles/create.feature @@ -24,8 +24,8 @@ Feature: dc / acls / roles / create Description: [Description] --- Then the url should be /datacenter/acls/roles - And "[data-notification]" has the "hds-toast" class - And "[data-notification]" has the "hds-alert--color-success" class + And "[data-notification]" has the "notification-create" class + And "[data-notification]" has the "success" class Where: --------------------------- | Description | @@ -45,5 +45,6 @@ Feature: dc / acls / roles / create - Namespace --- Then the url should be /datacenter/acls/roles - And "[data-notification]" has the "hds-toast" class - And "[data-notification]" has the "hds-alert--color-success" class + And "[data-notification]" has the "notification-create" class + And "[data-notification]" has the "success" class + diff --git a/ui/packages/consul-ui/tests/acceptance/dc/acls/roles/update.feature b/ui/packages/consul-ui/tests/acceptance/dc/acls/roles/update.feature index 081dc174cd902..795fd7908f210 100644 --- a/ui/packages/consul-ui/tests/acceptance/dc/acls/roles/update.feature +++ b/ui/packages/consul-ui/tests/acceptance/dc/acls/roles/update.feature @@ -29,8 +29,8 @@ Feature: dc / acls / roles / update: ACL Role Update Description: [Description] --- Then the url should be /datacenter/acls/roles - And "[data-notification]" has the "hds-toast" class - And "[data-notification]" has the "hds-alert--color-success" class + And "[data-notification]" has the "notification-update" class + And "[data-notification]" has the "success" class Where: ------------------------------------------ | Name | Description | @@ -42,8 +42,8 @@ Feature: dc / acls / roles / update: ACL Role Update Given the url "/v1/acl/role/role-id" responds with a 500 status And I submit Then the url should be /datacenter/acls/roles/role-id - And "[data-notification]" has the "hds-toast" class - And "[data-notification]" has the "hds-alert--color-critical" class + Then "[data-notification]" has the "notification-update" class + And "[data-notification]" has the "error" class @notNamespaceable Scenario: Updating a simple ACL role when Namespaces are disabled does not send Namespace @@ -57,5 +57,5 @@ Feature: dc / acls / roles / update: ACL Role Update - Namespace --- Then the url should be /datacenter/acls/roles - And "[data-notification]" has the "hds-toast" class - And "[data-notification]" has the "hds-alert--color-success" class + And "[data-notification]" has the "notification-update" class + And "[data-notification]" has the "success" class diff --git a/ui/packages/consul-ui/tests/acceptance/dc/acls/tokens/clone.feature b/ui/packages/consul-ui/tests/acceptance/dc/acls/tokens/clone.feature index c03c5ef35b943..dba4efc39e0ef 100644 --- a/ui/packages/consul-ui/tests/acceptance/dc/acls/tokens/clone.feature +++ b/ui/packages/consul-ui/tests/acceptance/dc/acls/tokens/clone.feature @@ -16,8 +16,8 @@ Feature: dc / acls / tokens / clone: Cloning an ACL token And I click actions on the tokens And I click clone on the tokens Then a PUT request was made to "/v1/acl/token/token/clone?dc=datacenter&ns=@!namespace" - And "[data-notification]" has the "hds-toast" class - And "[data-notification]" has the "hds-alert--color-success" class + Then "[data-notification]" has the "notification-clone" class + And "[data-notification]" has the "success" class Scenario: Using an ACL token from the detail page When I visit the token page for yaml --- @@ -26,5 +26,5 @@ Feature: dc / acls / tokens / clone: Cloning an ACL token --- And I click clone Then the url should be /datacenter/acls/tokens - And "[data-notification]" has the "hds-toast" class - And "[data-notification]" has the "hds-alert--color-success" class + Then "[data-notification]" has the "notification-clone" class + And "[data-notification]" has the "success" class diff --git a/ui/packages/consul-ui/tests/acceptance/dc/acls/tokens/create.feature b/ui/packages/consul-ui/tests/acceptance/dc/acls/tokens/create.feature index c330e4f07c365..351b21aa397e9 100644 --- a/ui/packages/consul-ui/tests/acceptance/dc/acls/tokens/create.feature +++ b/ui/packages/consul-ui/tests/acceptance/dc/acls/tokens/create.feature @@ -21,8 +21,8 @@ Feature: dc / acls / tokens / create Description: [Description] --- Then the url should be /datacenter/acls/tokens - And "[data-notification]" has the "hds-toast" class - And "[data-notification]" has the "hds-alert--color-success" class + And "[data-notification]" has the "notification-create" class + And "[data-notification]" has the "success" class Where: --------------------------- | Description | @@ -41,5 +41,5 @@ Feature: dc / acls / tokens / create - Namespace --- Then the url should be /datacenter/acls/tokens - And "[data-notification]" has the "hds-toast" class - And "[data-notification]" has the "hds-alert--color-success" class + And "[data-notification]" has the "notification-create" class + And "[data-notification]" has the "success" class diff --git a/ui/packages/consul-ui/tests/acceptance/dc/acls/tokens/own-no-delete.feature b/ui/packages/consul-ui/tests/acceptance/dc/acls/tokens/own-no-delete.feature index b5e5484f413cf..b3e05853c1d21 100644 --- a/ui/packages/consul-ui/tests/acceptance/dc/acls/tokens/own-no-delete.feature +++ b/ui/packages/consul-ui/tests/acceptance/dc/acls/tokens/own-no-delete.feature @@ -25,8 +25,8 @@ Feature: dc / acls / tokens / own-no-delete: Your current token has no delete bu And I click actions on the tokens And I click use on the tokens And I click confirmUse on the tokens - And "[data-notification]" has the "hds-toast" class - And "[data-notification]" has the "hds-alert--color-success" class + Then "[data-notification]" has the "notification-use" class + And "[data-notification]" has the "success" class Then I have settings like yaml --- consul:token: "{\"AccessorID\":\"token\",\"SecretID\":\"ee52203d-989f-4f7a-ab5a-2bef004164ca\",\"Namespace\":\"@namespace\",\"Partition\":\"default\"}" diff --git a/ui/packages/consul-ui/tests/acceptance/dc/acls/tokens/update.feature b/ui/packages/consul-ui/tests/acceptance/dc/acls/tokens/update.feature index 7455214564805..4770cedf585a8 100644 --- a/ui/packages/consul-ui/tests/acceptance/dc/acls/tokens/update.feature +++ b/ui/packages/consul-ui/tests/acceptance/dc/acls/tokens/update.feature @@ -26,8 +26,8 @@ Feature: dc / acls / tokens / update: ACL Token Update Description: [Description] --- Then the url should be /datacenter/acls/tokens - And "[data-notification]" has the "hds-toast" class - And "[data-notification]" has the "hds-alert--color-success" class + And "[data-notification]" has the "notification-update" class + And "[data-notification]" has the "success" class Where: --------------------------- | Description | @@ -38,8 +38,8 @@ Feature: dc / acls / tokens / update: ACL Token Update Given the url "/v1/acl/token/key" responds with a 500 status And I submit Then the url should be /datacenter/acls/tokens/key - And "[data-notification]" has the "hds-toast" class - And "[data-notification]" has the "hds-alert--color-critical" class + Then "[data-notification]" has the "notification-update" class + And "[data-notification]" has the "error" class @notNamespaceable Scenario: Updating a simple ACL token when Namespaces are disabled does not send Namespace @@ -53,5 +53,5 @@ Feature: dc / acls / tokens / update: ACL Token Update - Namespace --- Then the url should be /datacenter/acls/tokens - And "[data-notification]" has the "hds-toast" class - And "[data-notification]" has the "hds-alert--color-success" class + And "[data-notification]" has the "notification-update" class + And "[data-notification]" has the "success" class diff --git a/ui/packages/consul-ui/tests/acceptance/dc/acls/tokens/use.feature b/ui/packages/consul-ui/tests/acceptance/dc/acls/tokens/use.feature index 52c9b973d8eae..1e354f4045c53 100644 --- a/ui/packages/consul-ui/tests/acceptance/dc/acls/tokens/use.feature +++ b/ui/packages/consul-ui/tests/acceptance/dc/acls/tokens/use.feature @@ -24,8 +24,8 @@ Feature: dc / acls / tokens / use: Using an ACL token And I click actions on the tokens And I click use on the tokens And I click confirmUse on the tokens - And "[data-notification]" has the "hds-toast" class - And "[data-notification]" has the "hds-alert--color-success" class + Then "[data-notification]" has the "notification-use" class + And "[data-notification]" has the "success" class Then I have settings like yaml --- consul:token: "{\"AccessorID\":\"token\",\"SecretID\":\"ee52203d-989f-4f7a-ab5a-2bef004164ca\",\"Namespace\":\"@namespace\",\"Partition\":\"default\"}" @@ -40,8 +40,8 @@ Feature: dc / acls / tokens / use: Using an ACL token --- And I click use And I click confirmUse - And "[data-notification]" has the "hds-toast" class - And "[data-notification]" has the "hds-alert--color-success" class + Then "[data-notification]" has the "notification-use" class + And "[data-notification]" has the "success" class Then I have settings like yaml --- consul:token: "{\"AccessorID\":\"token\",\"SecretID\":\"ee52203d-989f-4f7a-ab5a-2bef004164ca\",\"Namespace\":\"@namespace\",\"Partition\":\"default\"}" diff --git a/ui/packages/consul-ui/tests/acceptance/dc/intentions/create.feature b/ui/packages/consul-ui/tests/acceptance/dc/intentions/create.feature index 2d074876ec9b8..0b4c6baa65872 100644 --- a/ui/packages/consul-ui/tests/acceptance/dc/intentions/create.feature +++ b/ui/packages/consul-ui/tests/acceptance/dc/intentions/create.feature @@ -59,8 +59,8 @@ Feature: dc / intentions / create: Intention Create --- Then the url should be /datacenter/intentions And the title should be "Intentions - Consul" - And "[data-notification]" has the "hds-toast" class - And "[data-notification]" has the "hds-alert--color-success" class + And "[data-notification]" has the "notification-update" class + And "[data-notification]" has the "success" class @notNamespaceable Scenario: with namespaces disabled Given 1 datacenter model with the value "datacenter" @@ -101,5 +101,5 @@ Feature: dc / intentions / create: Intention Create --- Then the url should be /datacenter/intentions And the title should be "Intentions - Consul" - And "[data-notification]" has the "hds-toast" class - And "[data-notification]" has the "hds-alert--color-success" class + And "[data-notification]" has the "notification-update" class + And "[data-notification]" has the "success" class diff --git a/ui/packages/consul-ui/tests/acceptance/dc/intentions/delete.feature b/ui/packages/consul-ui/tests/acceptance/dc/intentions/delete.feature index f85b0b2b6893e..85424e943ccd0 100644 --- a/ui/packages/consul-ui/tests/acceptance/dc/intentions/delete.feature +++ b/ui/packages/consul-ui/tests/acceptance/dc/intentions/delete.feature @@ -21,10 +21,10 @@ Feature: dc / intentions / deleting: Deleting items with confirmations, success --- And I click actions on the intentionList.intentions And I click delete on the intentionList.intentions - And I click confirmInlineDelete on the intentionList.intentions + And I click confirmDelete on the intentionList.intentions Then a DELETE request was made to "/v1/connect/intentions/exact?source=default%2Fdefault%2Fname&destination=default%2Fdefault%2Fdestination&dc=datacenter" - And "[data-notification]" has the "hds-toast" class - And "[data-notification]" has the "hds-alert--color-success" class + And "[data-notification]" has the "notification-delete" class + And "[data-notification]" has the "success" class Scenario: Deleting an intention from the intention detail page When I visit the intention page for yaml --- @@ -34,8 +34,8 @@ Feature: dc / intentions / deleting: Deleting items with confirmations, success And I click delete And I click confirmDelete Then a DELETE request was made to "/v1/connect/intentions/exact?source=default%2Fdefault%2Fname&destination=default%2Fdefault%2Fdestination&dc=datacenter" - And "[data-notification]" has the "hds-toast" class - And "[data-notification]" has the "hds-alert--color-success" class + And "[data-notification]" has the "notification-delete" class + And "[data-notification]" has the "success" class Scenario: Deleting an intention from the intention detail page and getting an error When I visit the intention page for yaml --- @@ -45,8 +45,8 @@ Feature: dc / intentions / deleting: Deleting items with confirmations, success Given the url "/v1/connect/intentions/exact?source=default%2Fdefault%2Fname&destination=default%2Fdefault%2Fdestination&dc=datacenter" responds with a 500 status And I click delete And I click confirmDelete - And "[data-notification]" has the "hds-toast" class - And "[data-notification]" has the "hds-alert--color-critical" class + And "[data-notification]" has the "notification-update" class + And "[data-notification]" has the "error" class Scenario: Deleting an intention from the intention detail page and getting an error due to a duplicate intention When I visit the intention page for yaml --- @@ -60,5 +60,6 @@ Feature: dc / intentions / deleting: Deleting items with confirmations, success --- And I click delete And I click confirmDelete - And "[data-notification]" has the "hds-toast" class - And "[data-notification]" has the "hds-alert--color-critical" class + And "[data-notification]" has the "notification-update" class + And "[data-notification]" has the "error" class + And I see the text "Intention exists" in "[data-notification] strong" diff --git a/ui/packages/consul-ui/tests/acceptance/dc/intentions/update.feature b/ui/packages/consul-ui/tests/acceptance/dc/intentions/update.feature index 5faa162816c99..0d7b8525c746a 100644 --- a/ui/packages/consul-ui/tests/acceptance/dc/intentions/update.feature +++ b/ui/packages/consul-ui/tests/acceptance/dc/intentions/update.feature @@ -33,8 +33,8 @@ Feature: dc / intentions / update: Intention Update --- Then the url should be /datacenter/intentions And the title should be "Intentions - Consul" - And "[data-notification]" has the "hds-toast" class - And "[data-notification]" has the "hds-alert--color-success" class + And "[data-notification]" has the "notification-update" class + And "[data-notification]" has the "success" class Where: ------------------------------ | Description | Action | @@ -44,6 +44,6 @@ Feature: dc / intentions / update: Intention Update Given the url "/v1/connect/intentions/exact?source=default%2Fdefault%2Fweb&destination=default%2Fdefault%2Fdb&dc=datacenter" responds with a 500 status And I submit Then the url should be /datacenter/intentions/intention-id - And "[data-notification]" has the "hds-toast" class - And "[data-notification]" has the "hds-alert--color-critical" class + Then "[data-notification]" has the "notification-update" class + And "[data-notification]" has the "error" class diff --git a/ui/packages/consul-ui/tests/acceptance/dc/kvs/create.feature b/ui/packages/consul-ui/tests/acceptance/dc/kvs/create.feature index 9a98ba71fc215..bd10541a759d0 100644 --- a/ui/packages/consul-ui/tests/acceptance/dc/kvs/create.feature +++ b/ui/packages/consul-ui/tests/acceptance/dc/kvs/create.feature @@ -16,8 +16,8 @@ Feature: dc / kvs / create And I submit Then the url should be /datacenter/kv Then a PUT request was made to "/v1/kv/key-value?dc=datacenter&ns=@namespace" - And "[data-notification]" has the "hds-toast" class - And "[data-notification]" has the "hds-alert--color-success" class + And "[data-notification]" has the "notification-update" class + And "[data-notification]" has the "success" class Scenario: Creating a folder Given 1 datacenter model with the value "datacenter" When I visit the kv page for yaml @@ -33,8 +33,8 @@ Feature: dc / kvs / create And I submit Then the url should be /datacenter/kv Then a PUT request was made to "/v1/kv/key-value/?dc=datacenter&ns=@namespace" - And "[data-notification]" has the "hds-toast" class - And "[data-notification]" has the "hds-alert--color-success" class + And "[data-notification]" has the "notification-update" class + And "[data-notification]" has the "success" class Scenario: Clicking create from within a folder Given 1 datacenter model with the value "datacenter" And 1 kv model from yaml diff --git a/ui/packages/consul-ui/tests/acceptance/dc/kvs/delete.feature b/ui/packages/consul-ui/tests/acceptance/dc/kvs/delete.feature index 01d3f99d2668e..d22bfad39e26b 100644 --- a/ui/packages/consul-ui/tests/acceptance/dc/kvs/delete.feature +++ b/ui/packages/consul-ui/tests/acceptance/dc/kvs/delete.feature @@ -13,10 +13,10 @@ Feature: dc / kvs / deleting: Deleting items with confirmations, success and err --- And I click actions on the kvs And I click delete on the kvs - And I click confirmInlineDelete on the kvs + And I click confirmDelete on the kvs Then a DELETE request was made to "/v1/kv/key-name?dc=datacenter&ns=@!namespace" - And "[data-notification]" has the "hds-toast" class - And "[data-notification]" has the "hds-alert--color-success" class + And "[data-notification]" has the "notification-delete" class + And "[data-notification]" has the "success" class Scenario: Deleting an kv from the kv detail page When I visit the kv page for yaml --- @@ -26,8 +26,8 @@ Feature: dc / kvs / deleting: Deleting items with confirmations, success and err And I click delete And I click confirmDelete Then a DELETE request was made to "/v1/kv/key-name?dc=datacenter&ns=@!namespace" - And "[data-notification]" has the "hds-toast" class - And "[data-notification]" has the "hds-alert--color-success" class + And "[data-notification]" has the "notification-delete" class + And "[data-notification]" has the "success" class Scenario: Deleting an kv from the kv detail page and getting an error When I visit the kv page for yaml --- @@ -37,6 +37,6 @@ Feature: dc / kvs / deleting: Deleting items with confirmations, success and err Given the url "/v1/kv/key-name?dc=datacenter&ns=@!namespace" responds with a 500 status And I click delete And I click confirmDelete - And "[data-notification]" has the "hds-toast" class - And "[data-notification]" has the "hds-alert--color-critical" class + And "[data-notification]" has the "notification-update" class + And "[data-notification]" has the "error" class diff --git a/ui/packages/consul-ui/tests/acceptance/dc/kvs/sessions/invalidate.feature b/ui/packages/consul-ui/tests/acceptance/dc/kvs/sessions/invalidate.feature index 66d46a3a1021d..6959dba8b74dc 100644 --- a/ui/packages/consul-ui/tests/acceptance/dc/kvs/sessions/invalidate.feature +++ b/ui/packages/consul-ui/tests/acceptance/dc/kvs/sessions/invalidate.feature @@ -21,12 +21,12 @@ Feature: dc / kvs / sessions / invalidate: Invalidate Lock Sessions And I click confirmDelete on the session Then a PUT request was made to "/v1/session/destroy/ee52203d-989f-4f7a-ab5a-2bef004164ca?dc=datacenter&ns=@!namespace" Then the url should be /datacenter/kv/key/edit - And "[data-notification]" has the "hds-toast" class - And "[data-notification]" has the "hds-alert--color-success" class + And "[data-notification]" has the "notification-delete" class + And "[data-notification]" has the "success" class Scenario: Invalidating a lock session and receiving an error Given the url "/v1/session/destroy/ee52203d-989f-4f7a-ab5a-2bef004164ca?dc=datacenter&ns=@namespace" responds with a 500 status And I click delete on the session And I click confirmDelete on the session Then the url should be /datacenter/kv/key/edit - And "[data-notification]" has the "hds-toast" class - And "[data-notification]" has the "hds-alert--color-critical" class + And "[data-notification]" has the "notification-delete" class + And "[data-notification]" has the "error" class diff --git a/ui/packages/consul-ui/tests/acceptance/dc/kvs/update.feature b/ui/packages/consul-ui/tests/acceptance/dc/kvs/update.feature index 4ee40a60b9ece..ce9773914bbb6 100644 --- a/ui/packages/consul-ui/tests/acceptance/dc/kvs/update.feature +++ b/ui/packages/consul-ui/tests/acceptance/dc/kvs/update.feature @@ -23,8 +23,8 @@ Feature: dc / kvs / update: KV Update --- And I submit Then a PUT request was made to "/v1/kv/[EncodedName]?dc=datacenter&ns=@!namespace&flags=12" with the body "[Value]" - And "[data-notification]" has the "hds-toast" class - And "[data-notification]" has the "hds-alert--color-success" class + And "[data-notification]" has the "notification-update" class + And "[data-notification]" has the "success" class Where: --------------------------------------------------------- | Name | EncodedName | Value | @@ -56,8 +56,8 @@ Feature: dc / kvs / update: KV Update Then a PUT request was made to "/v1/kv/key?dc=datacenter&ns=@!namespace&flags=12" with the body " " Then the url should be /datacenter/kv And the title should be "Key / Value - Consul" - And "[data-notification]" has the "hds-toast" class - And "[data-notification]" has the "hds-alert--color-success" class + And "[data-notification]" has the "notification-update" class + And "[data-notification]" has the "success" class Scenario: Update to a key change value to '' And 1 kv model from yaml --- @@ -79,8 +79,8 @@ Feature: dc / kvs / update: KV Update And I submit Then a PUT request was made to "/v1/kv/key?dc=datacenter&ns=@!namespace&flags=12" with no body Then the url should be /datacenter/kv - And "[data-notification]" has the "hds-toast" class - And "[data-notification]" has the "hds-alert--color-success" class + And "[data-notification]" has the "notification-update" class + And "[data-notification]" has the "success" class Scenario: Update to a key when the value is empty And 1 kv model from yaml --- @@ -97,8 +97,8 @@ Feature: dc / kvs / update: KV Update And I submit Then a PUT request was made to "/v1/kv/key?dc=datacenter&ns=@!namespace&flags=12" with no body Then the url should be /datacenter/kv - And "[data-notification]" has the "hds-toast" class - And "[data-notification]" has the "hds-alert--color-success" class + And "[data-notification]" has the "notification-update" class + And "[data-notification]" has the "success" class Scenario: There was an error saving the key When I visit the kv page for yaml --- @@ -110,8 +110,8 @@ Feature: dc / kvs / update: KV Update Given the url "/v1/kv/key" responds with a 500 status And I submit Then the url should be /datacenter/kv/key/edit - And "[data-notification]" has the "hds-toast" class - And "[data-notification]" has the "hds-alert--color-critical" class + Then "[data-notification]" has the "notification-update" class + And "[data-notification]" has the "error" class @ignore Scenario: KV's with spaces are saved correctly Then ok diff --git a/ui/packages/consul-ui/tests/acceptance/dc/nodes/sessions/invalidate.feature b/ui/packages/consul-ui/tests/acceptance/dc/nodes/sessions/invalidate.feature index b6df7fc16831e..43dfcb7ae5753 100644 --- a/ui/packages/consul-ui/tests/acceptance/dc/nodes/sessions/invalidate.feature +++ b/ui/packages/consul-ui/tests/acceptance/dc/nodes/sessions/invalidate.feature @@ -27,12 +27,12 @@ Feature: dc / nodes / sessions / invalidate: Invalidate Lock Sessions And I click confirmDelete on the sessions Then a PUT request was made to "/v1/session/destroy/7bbbd8bb-fff3-4292-b6e3-cfedd788546a?dc=dc1&ns=@!namespace" Then the url should be /dc1/nodes/node-0/lock-sessions - And "[data-notification]" has the "hds-toast" class - And "[data-notification]" has the "hds-alert--color-success" class + And "[data-notification]" has the "notification-delete" class + And "[data-notification]" has the "success" class Scenario: Invalidating a lock session and receiving an error Given the url "/v1/session/destroy/7bbbd8bb-fff3-4292-b6e3-cfedd788546a?dc=dc1&ns=@namespace" responds with a 500 status And I click delete on the sessions And I click confirmDelete on the sessions Then the url should be /dc1/nodes/node-0/lock-sessions - And "[data-notification]" has the "hds-toast" class - And "[data-notification]" has the "hds-alert--color-critical" class + And "[data-notification]" has the "notification-delete" class + And "[data-notification]" has the "error" class diff --git a/ui/packages/consul-ui/tests/acceptance/dc/nspaces/delete.feature b/ui/packages/consul-ui/tests/acceptance/dc/nspaces/delete.feature index e536b66fc42af..36bce2f653c6d 100644 --- a/ui/packages/consul-ui/tests/acceptance/dc/nspaces/delete.feature +++ b/ui/packages/consul-ui/tests/acceptance/dc/nspaces/delete.feature @@ -19,8 +19,8 @@ Feature: dc / nspaces / delete: Deleting items with confirmations, success and e And I click delete on the [Listing] And I click confirmDelete on the [Listing] Then a [Method] request was made to "[URL]" - And "[data-notification]" has the "hds-toast" class - And "[data-notification]" has the "hds-alert--color-success" class + And "[data-notification]" has the "notification-delete" class + And "[data-notification]" has the "success" class Where: -------------------------------------------------------------------------------------------------------- | Edit | Listing | Method | URL | Data | @@ -35,8 +35,8 @@ Feature: dc / nspaces / delete: Deleting items with confirmations, success and e And I click delete And I click confirmDelete Then a DELETE request was made to "/v1/namespace/a-namespace?dc=datacenter" - And "[data-notification]" has the "hds-toast" class - And "[data-notification]" has the "hds-alert--color-success" class + And "[data-notification]" has the "notification-delete" class + And "[data-notification]" has the "success" class Scenario: Deleting a [Model] from the [Model] detail page with error When I visit the [Model] page for yaml --- @@ -46,8 +46,8 @@ Feature: dc / nspaces / delete: Deleting items with confirmations, success and e Given the url "[URL]" responds with a 500 status And I click delete And I click confirmDelete - And "[data-notification]" has the "hds-toast" class - And "[data-notification]" has the "hds-alert--color-critical" class + And "[data-notification]" has the "notification-update" class + And "[data-notification]" has the "error" class Where: ------------------------------------------------------------------------------------------- | Model | Method | URL | Slug | diff --git a/ui/packages/consul-ui/tests/acceptance/dc/nspaces/update.feature b/ui/packages/consul-ui/tests/acceptance/dc/nspaces/update.feature index 7feb09ca76b23..0b4a5bdc6aa39 100644 --- a/ui/packages/consul-ui/tests/acceptance/dc/nspaces/update.feature +++ b/ui/packages/consul-ui/tests/acceptance/dc/nspaces/update.feature @@ -28,8 +28,8 @@ Feature: dc / nspaces / update: Nspace Update Description: [Description] --- Then the url should be /datacenter/namespaces - And "[data-notification]" has the "hds-toast" class - And "[data-notification]" has the "hds-alert--color-success" class + And "[data-notification]" has the "notification-update" class + And "[data-notification]" has the "success" class Where: --------------------------- | Description | @@ -40,5 +40,5 @@ Feature: dc / nspaces / update: Nspace Update Given the url "/v1/namespace/namespace?dc=datacenter" responds with a 500 status And I submit Then the url should be /datacenter/namespaces/namespace - And "[data-notification]" has the "hds-toast" class - And "[data-notification]" has the "hds-alert--color-critical" class + Then "[data-notification]" has the "notification-update" class + And "[data-notification]" has the "error" class diff --git a/ui/packages/consul-ui/tests/acceptance/dc/peers/delete.feature b/ui/packages/consul-ui/tests/acceptance/dc/peers/delete.feature index 7106105cbaf85..7cd6b4b3122ca 100644 --- a/ui/packages/consul-ui/tests/acceptance/dc/peers/delete.feature +++ b/ui/packages/consul-ui/tests/acceptance/dc/peers/delete.feature @@ -16,8 +16,8 @@ Feature: dc / peers / delete: Deleting items with confirmations, success and err And I click delete on the peers And I click confirmDelete on the peers Then a DELETE request was made to "/v1/peering/peer-name" - And "[data-notification]" has the "hds-toast" class - And "[data-notification]" has the "hds-alert--color-success" class + And "[data-notification]" has the "notification-delete" class + And "[data-notification]" has the "success" class Scenario: Deleting a peer from the peer listing page with error Given 1 peer model from yaml --- @@ -32,8 +32,8 @@ Feature: dc / peers / delete: Deleting items with confirmations, success and err And I click actions on the peers And I click delete on the peers And I click confirmDelete on the peers - And "[data-notification]" has the "hds-toast" class - And "[data-notification]" has the "hds-alert--color-critical" class + And "[data-notification]" has the "notification-update" class + And "[data-notification]" has the "error" class Scenario: A Peer currently deleting cannot be deleted Given 1 peer model from yaml --- diff --git a/ui/packages/consul-ui/tests/acceptance/dc/peers/establish.feature b/ui/packages/consul-ui/tests/acceptance/dc/peers/establish.feature index 6388f824a8aca..c773155aca8b4 100644 --- a/ui/packages/consul-ui/tests/acceptance/dc/peers/establish.feature +++ b/ui/packages/consul-ui/tests/acceptance/dc/peers/establish.feature @@ -26,6 +26,6 @@ Feature: dc / peers / establish: Peer Establish Peering PeerName: new-peer PeeringToken: an-encoded-token --- - And "[data-notification]" has the "hds-toast" class - And "[data-notification]" has the "hds-alert--color-success" class + And "[data-notification]" has the "notification-update" class + And "[data-notification]" has the "success" class And the url should be /dc-1/peers/new-peer/imported-services diff --git a/ui/packages/consul-ui/tests/acceptance/dc/services/show.feature b/ui/packages/consul-ui/tests/acceptance/dc/services/show.feature index 647217eece4a1..496b17742864a 100644 --- a/ui/packages/consul-ui/tests/acceptance/dc/services/show.feature +++ b/ui/packages/consul-ui/tests/acceptance/dc/services/show.feature @@ -299,7 +299,6 @@ Feature: dc / services / show: Show Service # authorization requests are not blocking so we just wait until the next # service blocking query responds Then pause until I see the text "no longer have access" in "[data-notification]" - And "[data-notification]" has the "hds-toast" class - And "[data-notification]" has the "hds-alert--color-critical" class + And "[data-notification]" has the "error" class And I see status on the error like "403" diff --git a/ui/packages/consul-ui/tests/acceptance/dc/services/show/intentions/create.feature b/ui/packages/consul-ui/tests/acceptance/dc/services/show/intentions/create.feature index 0f518420e016c..e95b03d62f61e 100644 --- a/ui/packages/consul-ui/tests/acceptance/dc/services/show/intentions/create.feature +++ b/ui/packages/consul-ui/tests/acceptance/dc/services/show/intentions/create.feature @@ -62,8 +62,8 @@ Feature: dc / services / intentions / create: Intention Create per Service Action: deny --- Then the url should be /datacenter/services/db/intentions - And "[data-notification]" has the "hds-toast" class - And "[data-notification]" has the "hds-alert--color-success" class + And "[data-notification]" has the "notification-update" class + And "[data-notification]" has the "success" class @notNamespaceable Scenario: with namespaces disabled Given 1 datacenter model with the value "datacenter" @@ -104,5 +104,5 @@ Feature: dc / services / intentions / create: Intention Create per Service Action: deny --- Then the url should be /datacenter/services/db/intentions - And "[data-notification]" has the "hds-toast" class - And "[data-notification]" has the "hds-alert--color-success" class + And "[data-notification]" has the "notification-update" class + And "[data-notification]" has the "success" class diff --git a/ui/packages/consul-ui/tests/acceptance/dc/services/show/intentions/index.feature b/ui/packages/consul-ui/tests/acceptance/dc/services/show/intentions/index.feature index b94c4ab3ba9b8..0148fa6f9d2e5 100644 --- a/ui/packages/consul-ui/tests/acceptance/dc/services/show/intentions/index.feature +++ b/ui/packages/consul-ui/tests/acceptance/dc/services/show/intentions/index.feature @@ -48,7 +48,7 @@ Feature: dc / services / show / intentions / index: Intentions per service Scenario: I can delete intentions And I click actions on the intentionList.intentions component And I click delete on the intentionList.intentions component - And I click confirmInlineDelete on the intentionList.intentions + And I click confirmDelete on the intentionList.intentions Then a DELETE request was made to "/v1/connect/intentions/exact?source=default%2Fdefault%2Fname&destination=default%2Fdefault%2Fdestination&dc=dc1" - And "[data-notification]" has the "hds-toast" class - And "[data-notification]" has the "hds-alert--color-success" class + And "[data-notification]" has the "notification-delete" class + And "[data-notification]" has the "success" class diff --git a/ui/packages/consul-ui/tests/acceptance/dc/services/show/topology/intentions.feature b/ui/packages/consul-ui/tests/acceptance/dc/services/show/topology/intentions.feature index 35e823711d6d3..a93e27c6aabc2 100644 --- a/ui/packages/consul-ui/tests/acceptance/dc/services/show/topology/intentions.feature +++ b/ui/packages/consul-ui/tests/acceptance/dc/services/show/topology/intentions.feature @@ -36,8 +36,7 @@ Feature: dc / services / show / topology / intentions --- When I click ".consul-topology-metrics [data-test-action]" And I click ".consul-topology-metrics [data-test-confirm]" - And "[data-notification]" has the "hds-toast" class - And "[data-notification]" has the "hds-alert--color-success" class + And "[data-notification]" has the "success" class Scenario: There was an error saving the intention Given the url "/v1/connect/intentions/exact?source=default%2Fweb&destination=default%2Fdb&dc=datacenter" responds with a 500 status When I visit the service page for yaml @@ -47,5 +46,4 @@ Feature: dc / services / show / topology / intentions --- When I click ".consul-topology-metrics [data-test-action]" And I click ".consul-topology-metrics [data-test-confirm]" - And "[data-notification]" has the "hds-toast" class - And "[data-notification]" has the "hds-alert--color-critical" class \ No newline at end of file + And "[data-notification]" has the "error" class \ No newline at end of file diff --git a/ui/packages/consul-ui/tests/acceptance/deleting.feature b/ui/packages/consul-ui/tests/acceptance/deleting.feature index 2aa21edb34824..f3e58219ed8de 100644 --- a/ui/packages/consul-ui/tests/acceptance/deleting.feature +++ b/ui/packages/consul-ui/tests/acceptance/deleting.feature @@ -18,8 +18,8 @@ Feature: deleting: Deleting items with confirmations, success and error notifica And I click delete on the [Listing] And I click confirmDelete on the [Listing] Then a [Method] request was made to "[URL]" - And "[data-notification]" has the "hds-toast" class - And "[data-notification]" has the "hds-alert--color-success" class + And "[data-notification]" has the "notification-delete" class + And "[data-notification]" has the "success" class Where: -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | Edit | Listing | Method | URL | Data | @@ -34,8 +34,8 @@ Feature: deleting: Deleting items with confirmations, success and error notifica And I click delete And I click confirmDelete Then a [Method] request was made to "[URL]" - And "[data-notification]" has the "hds-toast" class - And "[data-notification]" has the "hds-alert--color-success" class + And "[data-notification]" has the "notification-delete" class + And "[data-notification]" has the "success" class Where: ----------------------------------------------------------------------------------------------------------------------------------------------------------- | Model | Method | URL | Slug | @@ -50,8 +50,8 @@ Feature: deleting: Deleting items with confirmations, success and error notifica Given the url "[URL]" responds with a 500 status And I click delete And I click confirmDelete - And "[data-notification]" has the "hds-toast" class - And "[data-notification]" has the "hds-alert--color-critical" class + And "[data-notification]" has the "notification-delete" class + And "[data-notification]" has the "error" class Where: ----------------------------------------------------------------------------------------------------------------------------------------------------------- | Model | Method | URL | Slug | diff --git a/ui/packages/consul-ui/tests/acceptance/login.feature b/ui/packages/consul-ui/tests/acceptance/login.feature index 8e59f5892ccfa..9af0bbfeeed48 100644 --- a/ui/packages/consul-ui/tests/acceptance/login.feature +++ b/ui/packages/consul-ui/tests/acceptance/login.feature @@ -48,5 +48,5 @@ Feature: login And I click ".okta-oidc-provider" Then a POST request was made to "/v1/acl/oidc/auth-url?dc=dc-1&ns=@!namespace&partition=partition" And a POST request was made to "/v1/acl/oidc/callback?dc=dc-1&ns=@!namespace&partition=partition" - And "[data-notification]" has the "hds-toast" class - And "[data-notification]" has the "hds-alert--color-success" class + And "[data-notification]" has the "notification-authorize" class + And "[data-notification]" has the "success" class diff --git a/ui/packages/consul-ui/tests/acceptance/settings/update.feature b/ui/packages/consul-ui/tests/acceptance/settings/update.feature index 9409d5ad98c30..680c69577f35a 100644 --- a/ui/packages/consul-ui/tests/acceptance/settings/update.feature +++ b/ui/packages/consul-ui/tests/acceptance/settings/update.feature @@ -18,6 +18,6 @@ Feature: settings / update: Update Settings consul:token: '' --- And the url should be /settings - And "[data-notification]" has the "hds-toast" class - And "[data-notification]" has the "hds-alert--color-success" class + And "[data-notification]" has the "notification-update" class + And "[data-notification]" has the "success" class diff --git a/ui/packages/consul-ui/tests/integration/components/delete-confirmation-test.js b/ui/packages/consul-ui/tests/integration/components/delete-confirmation-test.js index 8d779bd2c70dc..a040c0fe459fe 100644 --- a/ui/packages/consul-ui/tests/integration/components/delete-confirmation-test.js +++ b/ui/packages/consul-ui/tests/integration/components/delete-confirmation-test.js @@ -12,13 +12,13 @@ module('Integration | Component | delete confirmation', function (hooks) { await render(hbs`{{delete-confirmation}}`); - assert.dom('[data-test-delete]').exists({ count: 1 }); + assert.dom('.type-delete').exists({ count: 1 }); // Template block usage: await render(hbs` {{#delete-confirmation}}{{/delete-confirmation}} `); - assert.dom('[data-test-delete]').exists({ count: 1 }); + assert.dom('.type-delete').exists({ count: 1 }); }); }); diff --git a/ui/packages/consul-ui/tests/lib/page-object/createDeletable.js b/ui/packages/consul-ui/tests/lib/page-object/createDeletable.js index ded4e2cf980ca..c5a24b0726b6e 100644 --- a/ui/packages/consul-ui/tests/lib/page-object/createDeletable.js +++ b/ui/packages/consul-ui/tests/lib/page-object/createDeletable.js @@ -7,8 +7,7 @@ export default function (clickable) { ...obj, ...{ delete: clickable(scope + '[data-test-delete]'), - confirmDelete: clickable(scope + '[data-test-delete]'), - confirmInlineDelete: clickable(scope + 'button.type-delete'), + confirmDelete: clickable(scope + 'button.type-delete'), }, }; }; diff --git a/ui/packages/consul-ui/tests/pages/dc/acls/edit.js b/ui/packages/consul-ui/tests/pages/dc/acls/edit.js index 7c670458d46ae..4880b9ffef4fa 100644 --- a/ui/packages/consul-ui/tests/pages/dc/acls/edit.js +++ b/ui/packages/consul-ui/tests/pages/dc/acls/edit.js @@ -4,7 +4,7 @@ export default function (visitable, submitable, deletable, cancelable, clickable deletable({ visit: visitable(['/:dc/acls/:acl', '/:dc/acls/create']), use: clickable('[data-test-use]'), - confirmUse: clickable('[data-test-confirm-use]'), + confirmUse: clickable('button.type-delete'), }) ), 'main' diff --git a/ui/packages/consul-ui/tests/pages/dc/acls/tokens/edit.js b/ui/packages/consul-ui/tests/pages/dc/acls/tokens/edit.js index 897aa9ea330dc..91f19b41d5749 100644 --- a/ui/packages/consul-ui/tests/pages/dc/acls/tokens/edit.js +++ b/ui/packages/consul-ui/tests/pages/dc/acls/tokens/edit.js @@ -13,7 +13,7 @@ export default function ( ...cancelable({}, 'main form > div'), ...deletable({}, 'main form > div'), use: clickable('[data-test-use]'), - confirmUse: clickable('[data-test-confirm-use]'), + confirmUse: clickable('button.type-delete'), clone: clickable('[data-test-clone]'), policies: policySelector(), roles: roleSelector(), diff --git a/ui/packages/consul-ui/translations/routes/en-us.yaml b/ui/packages/consul-ui/translations/routes/en-us.yaml index fd2d797c92f9c..f9cd5ad10df15 100644 --- a/ui/packages/consul-ui/translations/routes/en-us.yaml +++ b/ui/packages/consul-ui/translations/routes/en-us.yaml @@ -5,8 +5,8 @@ dc: title: Server status unassigned: Unassigned Zones tolerance: - link-text: Learn how to improve fault tolerance - link: /architecture/improving-consul-resilience#strategies-to-increase-fault-tolerance + link: | + Learn how to improve fault tolerance header: Server fault tolerance immediate: header: Immediate @@ -34,16 +34,25 @@ dc:

    documentation: title: Learn More - links: - license-expiration: - text: License expiration - link: '/enterprise/license/faq#q-is-there-a-grace-period-when-licenses-expire' - renewing-license: - text: Renewing a license - link: '/enterprise/license/faq#q-how-can-i-renew-a-license' - applying-new-license: - text: Applying a new license - link: '/tutorials/nomad/hashicorp-enterprise-license?in=consul/enterprise' + body: | + + nodes: index: agentless: @@ -245,14 +254,21 @@ dc:

    critical-serf-notice: header: Failing serf check - body: This instance has a failing serf node check. The health statuses shown on this page are the statuses as they were known before the node became unreachable. + body: | +

    + This instance has a failing serf node check. The health statuses shown on this page are the statuses as they were known before the node became unreachable. +

    upstreams: tproxy-mode: header: Transparent proxy mode - body: The upstreams listed on this page have been defined in a proxy registration. There may be more upstreams, though, as "transparent" mode is enabled on this proxy. - footer: - link: "/connect/transparent-proxy" - text: Read the documentation + body: | +

    + The upstreams listed on this page have been defined in a proxy registration. There may be more upstreams, though, as "transparent" mode is enabled on this proxy. +

    + footer: | +

    + Read the documentation +

    empty: |

    This Service Instance has no Upstreams{items, select, @@ -272,39 +288,45 @@ dc: default-allow: header: Restrict which services can connect body: Your current ACL settings allow all services to connect to each other. Either create a deny intention between all services, or set your default ACL policy to deny to improve your security posture and make this topology view reflect the actual upstreams and downstreams of this service. - footer: - link-text: Create a wildcard deny Intention - icon: plus + footer: | +

    + Create a wildcard deny Intention +

    wildcard-intention: header: Restrict which services can connect body: There is currently a wildcard Intention that allows all services to connect to each other. Change the action of that Intention to deny to improve your security posture and have this topology view reflect the actual upstreams and downstreams of this service. - footer: - link-text: Edit wildcard intentions - icon: edit + footer: | +

    + Edit wildcard intentions +

    not-defined-intention: header: Add upstream to allow traffic body: An Intention was defined that allows traffic between services, but those services are unable to communicate. Define an explicit upstream in the service definition or enable transparent proxy to fix this. - footer: - link: '{CONSUL_DOCS_URL}/connect/registration/service-registration#upstreams' - link-text: Learn how to add upstreams + footer: | +

    + Learn how to add upstreams +

    no-dependencies: header: No dependencies body: The service you are viewing currently has no dependencies. You will only see metrics for the current service until dependencies are added. - footer: - link: '{CONSUL_DOCS_URL}/connect/registration/service-registration#upstream-configuration-reference' - link-text: Read the documentation + footer: | +

    + Read the documentation +

    acls-disabled: header: Restrict which services can connect body: Your current ACL settings allow all services to connect to each other. Either create a deny intention between all services, or enable ACLs and set your default ACL policy to deny to improve your security posture and make this topology view reflect the actual upstreams and downstreams of this service. - footer: - link: '{ CONSUL_DOCS_URL }/security/acl/acl-system#configuring-acls' - link-text: Read the documentation + footer: | +

    + Read the documentation +

    no-intentions: header: Add Intention to allow traffic body: There is an upstream registered for this service, but that upstream cannot receive traffic without creating an allow intention. - footer: - link-text: Edit Intentions - icon: edit + footer: | +

    + Edit Intentions +

    intentions: index: empty: diff --git a/ui/yarn.lock b/ui/yarn.lock index 0d238218fcc1b..6eee746a73ea1 100644 --- a/ui/yarn.lock +++ b/ui/yarn.lock @@ -3044,15 +3044,6 @@ ember-cli-version-checker "^5.1.2" semver "^7.3.5" -"@embroider/addon-shim@^1.0.0": - version "1.8.4" - resolved "https://registry.yarnpkg.com/@embroider/addon-shim/-/addon-shim-1.8.4.tgz#0e7f32c5506bf0f3eb0840506e31c36c7053763c" - integrity sha512-sFhfWC0vI18KxVenmswQ/ShIvBg4juL8ubI+Q3NTSdkCTeaPQ/DIOUF6oR5DCQ8eO/TkIaw+kdG3FkTY6yNJqA== - dependencies: - "@embroider/shared-internals" "^2.0.0" - broccoli-funnel "^3.0.8" - semver "^7.3.8" - "@embroider/addon-shim@^1.5.0": version "1.8.3" resolved "https://registry.yarnpkg.com/@embroider/addon-shim/-/addon-shim-1.8.3.tgz#2368510b8ce42d50d02cb3289c32e260dfa34bd9" @@ -3273,20 +3264,6 @@ semver "^7.3.5" typescript-memoize "^1.0.1" -"@embroider/shared-internals@^2.0.0": - version "2.0.0" - resolved "https://registry.yarnpkg.com/@embroider/shared-internals/-/shared-internals-2.0.0.tgz#d8205ec6944362aeecfbb51143db352430ced316" - integrity sha512-qZ2/xky9mWm5YC6noOa6AiAwgISEQ78YTZNv4SNu2PFgEK/H+Ha/3ddngzGSsnXkVnIHZyxIBzhxETonQYHY9g== - dependencies: - babel-import-util "^1.1.0" - ember-rfc176-data "^0.3.17" - fs-extra "^9.1.0" - js-string-escape "^1.0.1" - lodash "^4.17.21" - resolve-package-path "^4.0.1" - semver "^7.3.5" - typescript-memoize "^1.0.1" - "@embroider/util@^0.39.1 || ^0.40.0 || ^0.41.0": version "0.41.0" resolved "https://registry.yarnpkg.com/@embroider/util/-/util-0.41.0.tgz#5324cb4742aa4ed8d613c4f88a466f73e4e6acc1" @@ -3539,25 +3516,19 @@ faker "^4.1.0" js-yaml "^3.13.1" -"@hashicorp/design-system-components@^1.6.0": - version "1.6.1" - resolved "https://registry.yarnpkg.com/@hashicorp/design-system-components/-/design-system-components-1.6.1.tgz#da04f1199cdce78dcf6591c3678377b87bd67424" - integrity sha512-nfuY5KLK3kQWRfrFOIEEoSSca6LwZ9Zss13glHHyAIFt/gJ1pjSpcYj2XTukdjfAvx70qwQbHPPaAUXZ00vtoA== +"@hashicorp/design-system-components@^1.0.4": + version "1.0.4" + resolved "https://registry.yarnpkg.com/@hashicorp/design-system-components/-/design-system-components-1.0.4.tgz#e258cad1a41b00db3363db25bfdafaa598326b98" + integrity sha512-aaOncgPH4yDEvQuFfOa/cwAOttxwbaEdaENEl+88EOi/HLUe0mdS2HgpC96w3sWhedE/xylCgSHz0DemIj5dJQ== dependencies: - "@hashicorp/design-system-tokens" "^1.4.0" - "@hashicorp/ember-flight-icons" "^3.0.2" - dialog-polyfill "^0.5.6" - ember-auto-import "^2.4.2" - ember-cached-decorator-polyfill "^0.1.4" + "@hashicorp/design-system-tokens" "^1.0.0" + "@hashicorp/ember-flight-icons" "^2.0.12" + ember-auto-import "^2.4.1" ember-cli-babel "^7.26.11" - ember-cli-htmlbars "^6.1.0" + ember-cli-htmlbars "^6.0.1" ember-cli-sass "^10.0.1" - ember-composable-helpers "^4.4.1" - ember-focus-trap "^1.0.1" ember-keyboard "^8.1.0" ember-named-blocks-polyfill "^0.2.5" - ember-style-modifier "^0.8.0" - ember-truth-helpers "^3.0.0" sass "^1.43.4" "@hashicorp/design-system-tokens@^1.0.0": @@ -3565,11 +3536,6 @@ resolved "https://registry.yarnpkg.com/@hashicorp/design-system-tokens/-/design-system-tokens-1.0.0.tgz#06ab55873ef444b0958a5192db310278c6501f0b" integrity sha512-akziX9jiHnQ8KfJA6s8l+98Ukz30C5Lw7BpSPeTduOmdOlJv1uP7w4TV0hC6VIDMDrJrxIF5Y/HnpSCdQGlxQA== -"@hashicorp/design-system-tokens@^1.4.0": - version "1.4.0" - resolved "https://registry.yarnpkg.com/@hashicorp/design-system-tokens/-/design-system-tokens-1.4.0.tgz#2d42bd7d9250b01f77618663b3b92004be840af7" - integrity sha512-xZI5lom+qPi5B4qUDgXcuTc+A8/NQdXXBoIfB7NUnY/GRp4kOkxNkgScPj8fvAFvUuLdiCAQhpLU54z1A/Q3cA== - "@hashicorp/ember-cli-api-double@^4.0.0": version "4.0.0" resolved "https://registry.yarnpkg.com/@hashicorp/ember-cli-api-double/-/ember-cli-api-double-4.0.0.tgz#fd6181229c589b4db93f1784d022db064c61ec76" @@ -3585,20 +3551,34 @@ pretender "^3.2.0" recursive-readdir-sync "^1.0.6" -"@hashicorp/ember-flight-icons@^3.0.2": - version "3.0.2" - resolved "https://registry.yarnpkg.com/@hashicorp/ember-flight-icons/-/ember-flight-icons-3.0.2.tgz#8d884c07842a6c88df18ca680d7883a59222a2ba" - integrity sha512-WomQg1hw/IHA1N9hC77WbTNazVXqu2RdRoaVCGT99NTXQ4S7Bw7vhHheR4JAgt10ksMZFI3X/bJVHxFfjUCkSQ== +"@hashicorp/ember-flight-icons@^2.0.12": + version "2.0.12" + resolved "https://registry.yarnpkg.com/@hashicorp/ember-flight-icons/-/ember-flight-icons-2.0.12.tgz#788adf7a4fedc468d612d35b604255df948f4012" + integrity sha512-8fHPGaSpMkr5dLWaruwbq9INwZCi2EyTof/TR/dL8PN4UbCuY+KXNqG0lLIKNGFFTj09B1cO303m5GUfKKDGKQ== dependencies: - "@hashicorp/flight-icons" "^2.12.0" - ember-auto-import "^2.4.2" + "@hashicorp/flight-icons" "^2.10.0" ember-cli-babel "^7.26.11" - ember-cli-htmlbars "^6.1.0" + ember-cli-htmlbars "^6.0.1" -"@hashicorp/flight-icons@^2.12.0": - version "2.12.0" - resolved "https://registry.yarnpkg.com/@hashicorp/flight-icons/-/flight-icons-2.12.0.tgz#48bc21f21678668ffe9147b181a2991d8b151fc7" - integrity sha512-PhjTTHCjoq4EJirifbxLxnxXnCRf1NUAYZ1WnFW8i0yOmmax6fgjsJRPlf0VIGsR8R7isFpjuy6gJ5c7mNhE0w== +"@hashicorp/ember-flight-icons@^3.0.0": + version "3.0.0" + resolved "https://registry.yarnpkg.com/@hashicorp/ember-flight-icons/-/ember-flight-icons-3.0.0.tgz#fddeb8adfb036aa3573c55b7236b34172b49cba9" + integrity sha512-+QrV38Ix9dWLwMzdVcMcSmFfeSVGvWvB+3OVBq3ltOTmnoLPIAx8LT9UDZUZ1wa65ciO+a1YzLMmwWnQgX/r9Q== + dependencies: + "@hashicorp/flight-icons" "^2.11.0" + ember-auto-import "^2.4.1" + ember-cli-babel "^7.26.11" + ember-cli-htmlbars "^6.0.1" + +"@hashicorp/flight-icons@^2.10.0": + version "2.10.0" + resolved "https://registry.yarnpkg.com/@hashicorp/flight-icons/-/flight-icons-2.10.0.tgz#24b03043bacda16e505200e6591dfef896ddacf1" + integrity sha512-jYUA0M6Tz+4RAudil+GW/fHbhZPcKCiIZZAguBDviqbLneMkMgPOBgbXWCGWsEQ1fJzP2cXbUaio8L0aQZPWQw== + +"@hashicorp/flight-icons@^2.11.0": + version "2.11.0" + resolved "https://registry.yarnpkg.com/@hashicorp/flight-icons/-/flight-icons-2.11.0.tgz#1500be99a42ee8512e7caece4bdae60ce8790577" + integrity sha512-teFkUY2di63JZ2gsegQgS+3f5YEP+GPuycB1Z2O+weInIrL33Ds0/J+lxFCmi2vkPAeY5xOnsclHYnhU6xOSmA== "@html-next/vertical-collection@^4.0.0": version "4.0.0" @@ -5019,11 +4999,6 @@ babel-import-util@^1.1.0: resolved "https://registry.yarnpkg.com/babel-import-util/-/babel-import-util-1.2.2.tgz#1027560e143a4a68b1758e71d4fadc661614e495" integrity sha512-8HgkHWt5WawRFukO30TuaL9EiDUOdvyKtDwLma4uBNeUSDbOO0/hiPfavrOWxSS6J6TKXfukWHZ3wiqZhJ8ONQ== -babel-import-util@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/babel-import-util/-/babel-import-util-1.3.0.tgz#dc9251ea39a7747bd586c1c13b8d785a42797f8e" - integrity sha512-PPzUT17eAI18zn6ek1R3sB4Krc/MbnmT1MkZQFmyhjoaEGBVwNABhfVU9+EKcDSKrrOm9OIpGhjxukx1GCiy1g== - babel-loader@^8.0.6, babel-loader@^8.1.0: version "8.2.2" resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-8.2.2.tgz#9363ce84c10c9a40e6c753748e1441b60c8a0b81" @@ -5100,13 +5075,6 @@ babel-plugin-ember-template-compilation@^1.0.0: magic-string "^0.25.7" string.prototype.matchall "^4.0.5" -babel-plugin-ember-template-compilation@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/babel-plugin-ember-template-compilation/-/babel-plugin-ember-template-compilation-2.0.0.tgz#41d895874ba6119dd461f61993c16d1154bf8a57" - integrity sha512-d+4jaB2ik0rt9TH0K9kOlKJeRBHEb373FgFMcU9ZaJL2zYuVXe19bqy+cWlLpLf1tpOBcBG9QTlFBCoImlOt1g== - dependencies: - babel-import-util "^1.3.0" - babel-plugin-filter-imports@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/babel-plugin-filter-imports/-/babel-plugin-filter-imports-4.0.0.tgz#068f8da15236a96a9602c36dc6f4a6eeca70a4f4" @@ -7874,11 +7842,6 @@ dezalgo@^1.0.0: asap "^2.0.0" wrappy "1" -dialog-polyfill@^0.5.6: - version "0.5.6" - resolved "https://registry.yarnpkg.com/dialog-polyfill/-/dialog-polyfill-0.5.6.tgz#7507b4c745a82fcee0fa07ce64d835979719599a" - integrity sha512-ZbVDJI9uvxPAKze6z146rmfUZjBqNEwcnFTVamQzXH+svluiV7swmVIGr7miwADgfgt1G2JQIytypM9fbyhX4w== - didyoumean@^1.2.2: version "1.2.2" resolved "https://registry.yarnpkg.com/didyoumean/-/didyoumean-1.2.2.tgz#989346ffe9e839b4555ecf5666edea0d3e8ad037" @@ -8153,7 +8116,7 @@ ember-auto-import@^1.5.3, ember-auto-import@^1.6.0: walk-sync "^0.3.3" webpack "^4.43.0" -ember-auto-import@^2.2.3, ember-auto-import@^2.4.2: +ember-auto-import@^2.2.3, ember-auto-import@^2.4.1, ember-auto-import@^2.4.2: version "2.4.2" resolved "https://registry.yarnpkg.com/ember-auto-import/-/ember-auto-import-2.4.2.tgz#d4d3bc6885a11cf124f606f5c37169bdf76e37ae" integrity sha512-REh+1aJWpTkvN42a/ga41OuRpUsSW7UQfPr2wPtYx56o/xoSNhVBXejy7yV9ObrkN7gogz6fs2xZwih5cOwpYg== @@ -8207,26 +8170,6 @@ ember-basic-dropdown@3.0.21, ember-basic-dropdown@^3.0.16: ember-style-modifier "^0.6.0" ember-truth-helpers "^2.1.0 || ^3.0.0" -ember-cache-primitive-polyfill@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/ember-cache-primitive-polyfill/-/ember-cache-primitive-polyfill-1.0.1.tgz#a27075443bd87e5af286c1cd8a7df24e3b9f6715" - integrity sha512-hSPcvIKarA8wad2/b6jDd/eU+OtKmi6uP+iYQbzi5TQpjsqV6b4QdRqrLk7ClSRRKBAtdTuutx+m+X+WlEd2lw== - dependencies: - ember-cli-babel "^7.22.1" - ember-cli-version-checker "^5.1.1" - ember-compatibility-helpers "^1.2.1" - silent-error "^1.1.1" - -ember-cached-decorator-polyfill@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/ember-cached-decorator-polyfill/-/ember-cached-decorator-polyfill-0.1.4.tgz#f1e2c65cc78d0d9c4ac0e047e643af477eb85ace" - integrity sha512-JOK7kBCWsTVCzmCefK4nr9BACDJk0owt9oIUaVt6Q0UtQ4XeAHmoK5kQ/YtDcxQF1ZevHQFdGhsTR3JLaHNJgA== - dependencies: - "@glimmer/tracking" "^1.0.4" - ember-cache-primitive-polyfill "^1.0.1" - ember-cli-babel "^7.21.0" - ember-cli-babel-plugin-helpers "^1.1.1" - ember-can@^4.2.0: version "4.2.0" resolved "https://registry.yarnpkg.com/ember-can/-/ember-can-4.2.0.tgz#08bfec3b2b57aad3dc6e4dc36fe9692bd1794dab" @@ -8492,26 +8435,6 @@ ember-cli-htmlbars@^6.0.1: silent-error "^1.1.1" walk-sync "^2.2.0" -ember-cli-htmlbars@^6.1.0: - version "6.2.0" - resolved "https://registry.yarnpkg.com/ember-cli-htmlbars/-/ember-cli-htmlbars-6.2.0.tgz#18ec48ee1c93f9eed862a64eb24a9d14604f1dfc" - integrity sha512-j5EGixjGau23HrqRiW/JjoAovg5UBHfjbyN7wX5ekE90knIEqUUj1z/Mo/cTx/J2VepQ2lE6HdXW9LWQ/WdMtw== - dependencies: - "@ember/edition-utils" "^1.2.0" - babel-plugin-ember-template-compilation "^2.0.0" - babel-plugin-htmlbars-inline-precompile "^5.3.0" - broccoli-debug "^0.6.5" - broccoli-persistent-filter "^3.1.2" - broccoli-plugin "^4.0.3" - ember-cli-version-checker "^5.1.2" - fs-tree-diff "^2.0.1" - hash-for-dep "^1.5.1" - heimdalljs-logger "^0.1.10" - js-string-escape "^1.0.1" - semver "^7.3.4" - silent-error "^1.1.1" - walk-sync "^2.2.0" - ember-cli-inject-live-reload@^2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/ember-cli-inject-live-reload/-/ember-cli-inject-live-reload-2.0.2.tgz#95edb543b386239d35959e5ea9579f5382976ac7" @@ -8934,16 +8857,6 @@ ember-compatibility-helpers@^1.2.5: fs-extra "^9.1.0" semver "^5.4.1" -ember-composable-helpers@^4.4.1: - version "4.5.0" - resolved "https://registry.yarnpkg.com/ember-composable-helpers/-/ember-composable-helpers-4.5.0.tgz#94febbdf4348e64f45f7a6f993f326e32540a61e" - integrity sha512-XjpDLyVPsLCy6kd5dIxZonOECCO6AA5sY5Hr6tYUbJg3s5ghFAiFWaNcYraYC+fL2yPJQAswwpfwGlQORUJZkw== - dependencies: - "@babel/core" "^7.0.0" - broccoli-funnel "2.0.1" - ember-cli-babel "^7.26.3" - resolve "^1.10.0" - ember-composable-helpers@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/ember-composable-helpers/-/ember-composable-helpers-5.0.0.tgz#055bab3a3e234ab2917499b1465e968c253ca885" @@ -9076,14 +8989,6 @@ ember-factory-for-polyfill@^1.3.1: dependencies: ember-cli-version-checker "^2.1.0" -ember-focus-trap@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/ember-focus-trap/-/ember-focus-trap-1.0.1.tgz#a99565f6ce55d500b92a0965e79e3ad04219f157" - integrity sha512-ZUyq5ZkIuXp+ng9rCMkqBh36/V95PltL7iljStkma4+651xlAy3Z84L9WOu/uOJyVpNUxii8RJBbAySHV6c+RQ== - dependencies: - "@embroider/addon-shim" "^1.0.0" - focus-trap "^6.7.1" - ember-get-config@^0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/ember-get-config/-/ember-get-config-0.3.0.tgz#a73a1a87b48d9dde4c66a0e52ed5260b8a48cfbd" @@ -9136,10 +9041,10 @@ ember-inflector@^4.0.2: dependencies: ember-cli-babel "^7.26.5" -ember-intl@^5.7.0: - version "5.7.2" - resolved "https://registry.yarnpkg.com/ember-intl/-/ember-intl-5.7.2.tgz#76d933f974f041448b01247888bc3bcc9261e812" - integrity sha512-gs17uY1ywzMaUpx1gxfBkFQYRTWTSa/zbkL13MVtffG9aBLP+998MibytZOUxIipMtLCm4sr/g6/1aaKRr9/+g== +ember-intl@^5.5.1: + version "5.6.2" + resolved "https://registry.yarnpkg.com/ember-intl/-/ember-intl-5.6.2.tgz#ece4820923dfda033c279b7e3920cbbc8b6bde07" + integrity sha512-+FfI2udVbnEzueompcRb3ytBWhfnBfVVjAwnCuxwqIyS9ti8lK0ZiYHa5bquNPHjjfBzfFl4x5TlVgDNaCnccg== dependencies: broccoli-caching-writer "^3.0.3" broccoli-funnel "^3.0.3" @@ -9508,14 +9413,6 @@ ember-style-modifier@^0.6.0: ember-cli-babel "^7.21.0" ember-modifier "^2.1.0" -ember-style-modifier@^0.8.0: - version "0.8.0" - resolved "https://registry.yarnpkg.com/ember-style-modifier/-/ember-style-modifier-0.8.0.tgz#ef46b3f288e63e3d850418ea8dc6f7b12edde721" - integrity sha512-I7M+oZ+poYYOP7n521rYv7kkYZbxotL8VbtHYxLQ3tasRZYQJ21qfu3vVjydSjwyE3w7EZRgKngBoMhKSAEZnw== - dependencies: - ember-cli-babel "^7.26.6" - ember-modifier "^3.2.7" - ember-template-lint@^2.0.1: version "2.21.0" resolved "https://registry.yarnpkg.com/ember-template-lint/-/ember-template-lint-2.21.0.tgz#7e120abf309a8810eeed26c52377943faf15a95b" @@ -10635,13 +10532,6 @@ flush-write-stream@^1.0.0: inherits "^2.0.3" readable-stream "^2.3.6" -focus-trap@^6.7.1: - version "6.9.4" - resolved "https://registry.yarnpkg.com/focus-trap/-/focus-trap-6.9.4.tgz#436da1a1d935c48b97da63cd8f361c6f3aa16444" - integrity sha512-v2NTsZe2FF59Y+sDykKY+XjqZ0cPfhq/hikWVL88BqLivnNiEffAsac6rP6H45ff9wG9LL5ToiDqrLEP9GX9mw== - dependencies: - tabbable "^5.3.3" - focusable-selectors@^0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/focusable-selectors/-/focusable-selectors-0.3.0.tgz#0cf0c617c0f130b3d421be6787acb95b0b4936c4" @@ -15820,13 +15710,6 @@ semver@^7.3.5: dependencies: lru-cache "^6.0.0" -semver@^7.3.8: - version "7.3.8" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.8.tgz#07a78feafb3f7b32347d725e33de7e2a2df67798" - integrity sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A== - dependencies: - lru-cache "^6.0.0" - send@0.17.1: version "0.17.1" resolved "https://registry.yarnpkg.com/send/-/send-0.17.1.tgz#c1d8b059f7900f7466dd4938bdc44e11ddb376c8" @@ -16654,11 +16537,6 @@ sync-disk-cache@^2.0.0: rimraf "^3.0.0" username-sync "^1.0.2" -tabbable@^5.3.3: - version "5.3.3" - resolved "https://registry.yarnpkg.com/tabbable/-/tabbable-5.3.3.tgz#aac0ff88c73b22d6c3c5a50b1586310006b47fbf" - integrity sha512-QD9qKY3StfbZqWOPLp0++pOrAVb/HbUi5xCc8cUo4XjP19808oaMiDzn0leBY5mCespIBM0CIZePzZjgzR83kA== - table@^6.0.9: version "6.8.0" resolved "https://registry.yarnpkg.com/table/-/table-6.8.0.tgz#87e28f14fa4321c3377ba286f07b79b281a3b3ca" diff --git a/version/VERSION b/version/VERSION index 1f0d2f335194a..827d8d6a3bfa5 100644 --- a/version/VERSION +++ b/version/VERSION @@ -1 +1 @@ -1.16.0-dev +1.15.2-dev diff --git a/website/README.md b/website/README.md index 2babc35c2d53a..4633bae501418 100644 --- a/website/README.md +++ b/website/README.md @@ -100,16 +100,6 @@ The significant keys in the YAML frontmatter are: > ⚠️ If there is a need for a `/api/*` url on this website, the url will be changed to `/api-docs/*`, as the `api` folder is reserved by next.js. -### Validating Content - -Content changes are automatically validated against a set of rules as part of the pull request process. If you want to run these checks locally to validate your content before comitting your changes, you can run the following command: - -``` -npm run content-check -``` - -If the validation fails, actionable error messages will be displayed to help you address detected issues. - ### Creating New Pages There is currently a small bug with new page creation - if you create a new page and link it up via subnav data while the server is running, it will report an error saying the page was not found. This can be resolved by restarting the server. diff --git a/website/content/commands/troubleshoot/proxy.mdx b/website/content/commands/troubleshoot/proxy.mdx index fcd9552247dd0..d9749c0c254f7 100644 --- a/website/content/commands/troubleshoot/proxy.mdx +++ b/website/content/commands/troubleshoot/proxy.mdx @@ -31,7 +31,6 @@ The following example illustrates how to troubleshoot Consul service mesh config ```shell-session $ consul troubleshoot proxy -upstream-ip 10.4.6.160 - ==> Validation ✓ Certificates are valid ✓ Envoy has 0 rejected configurations @@ -52,7 +51,6 @@ The following example troubleshoots Consul service mesh configuration and networ ```shell-session $ consul-k8s troubleshoot proxy -upstream-envoy-id db - ==> Validation ✓ Certificates are valid ✓ Envoy has 0 rejected configurations @@ -61,7 +59,6 @@ The following example troubleshoots Consul service mesh configuration and networ ✓ Route for upstream "db" found ✓ Cluster "db.default.dc1.internal.e08fa6d6-e91e-dfe0.consul" for upstream "db" found ✓ Healthy endpoints for cluster "db.default.dc1.internal.e08fa6d6-e91e-dfe0.consul" for upstream "db" found - If you are still experiencing issues, you can: -> Check intentions to ensure the upstream allows traffic from this source -> If using transparent proxy, ensure DNS resolution is to the same IP you have verified here diff --git a/website/content/commands/troubleshoot/upstreams.mdx b/website/content/commands/troubleshoot/upstreams.mdx index f04a8beedc089..425ec39e46426 100644 --- a/website/content/commands/troubleshoot/upstreams.mdx +++ b/website/content/commands/troubleshoot/upstreams.mdx @@ -27,10 +27,8 @@ Display all transparent proxy upstreams in Consul service mesh from the current ```shell-session $ consul troubleshoot upstreams ==> Upstreams (explicit upstreams only) (0) - ==> Upstreams IPs (transparent proxy only) (1) [10.4.6.160 240.0.0.3] true map[backend.default.dc1.internal.e08fa6d6-e91e-dfe0-f6e1-ba097a828e31.consul backend2.default.dc1.internal.e08fa6d6-e91e-dfe0-f6e1-ba097a828e31.consul] - If you cannot find the upstream address or cluster for a transparent proxy upstream: - Check intentions: Tproxy upstreams are configured based on intentions. Make sure you have configured intentions to allow traffic to your upstream. - To check that the right cluster is being dialed, run a DNS lookup for the upstream you are dialing. For example, run `dig backend.svc.consul` to return the IP address for the `backend` service. If the address you get from that is missing from the upstream IPs, it means that your proxy may be misconfigured. diff --git a/website/content/docs/agent/index.mdx b/website/content/docs/agent/index.mdx index 80cfb7f043064..d1860b10a5087 100644 --- a/website/content/docs/agent/index.mdx +++ b/website/content/docs/agent/index.mdx @@ -62,7 +62,7 @@ its consequences during outage situations). Reaping is similar to leaving, causing all associated services to be deregistered. ## Limit traffic rates -You can define a set of rate limiting configurations that help operators protect Consul servers from excessive or peak usage. The configurations enable you to gracefully degrade Consul servers to avoid a global interruption of service. Consul supports global server rate limiting, which lets configure Consul servers to deny requests that exceed the read or write limits. Refer to [Traffic Rate Limits Overview](/consul/docs/agent/limits/limit-traffic-rates). +You can define a set of rate limiting configurations that help operators protect Consul servers from excessive or peak usage. The configurations enable you to gracefully degrade Consul servers to avoid a global interruption of service. You can allocate a set of resources to different Consul users and eliminate the risks that some users consuming too many resources pose to others. Consul supports global server rate limiting, which lets configure Consul servers to deny requests that exceed the read or write limits. Refer to [Traffic Rate Limits Overview](/consul/docs/agent/limits/limit-traffic-rates). ## Requirements diff --git a/website/content/docs/agent/limits/index.mdx b/website/content/docs/agent/limits/index.mdx index ffa259cfd672e..75fb4f1ac0e8e 100644 --- a/website/content/docs/agent/limits/index.mdx +++ b/website/content/docs/agent/limits/index.mdx @@ -5,29 +5,27 @@ description: Rate limiting is a set of Consul server agent configurations that y --- -# Traffic rate limiting overview +# Limit traffic rates overview -This topic provides an overview of the rates limits you can configure for Consul servers. +This topic provides overview information about the traffic rates limits you can configure for Consul servers. ## Introduction -You can configure global RPC rate limits to mitigate the risks to Consul servers when clients send excessive read or write requests to Consul resources. A _read request_ is defined as any request that does not modify Consul internal state. A _write request_ is defined as any request that modifies Consul internal state. Rate limits for read and write requests are configured separately. +You can configure global RPC rate limits to mitigate the risks to Consul servers when clients send excessive read or write requests to Consul resources. A read request is defined as any request that does not modify Consul internal state. A write request is defined as any request that modifies Consul internal state. Read and write requests are limited separately. ## Rate limit modes - -You can set one of the following modes to determine how Consul servers react when exceeding request limits. +You can set one of the following modes, which determine how Consul servers react when the request limits are exceeded. -- **Enforcing mode**: The rate limiter denies requests to a server once they exceed the configured rate. In this mode, Consul generates metrics and logs to help you understand your network's load and configure limits accordingly. -- **Permissive mode**: The rate limiter allows requests to a server once they exceed the configured rate. In this mode, Consul generates metrics and logs to help you understand your Consul load and configure limits accordingly. Use this mode to help you debug specific issues as you configure limits. -- **Disabled mode**: Disables the rate limiter. This mode allows all requests Consul does not generate logs or metrics. This is the default mode. +- **Enforcing mode**: In this mode, the rate limiter denies requests to a server beyond a configurable rate. Consul generates metrics and logs to help operators understand their Consul load and configure limits accordingly. +- **Permissive mode**: The rate limiter allows requests if the limits are reached and produces metrics and logs to help operators understand their Consul load and configure limits accordingly. This mode is intended to help you configure limits and debug specific issues. +- **Disabled mode**: Disables the rate limiter. All requests are allowed and no logs or metrics are produced. This is the default mode. Refer to [`rate_limits`](/consul/docs/agent/config/config-files#request_limits) for additional configuration information. ## Request denials - When an HTTP request is denied for rate limiting reason, Consul returns one of the following errors: -- **429 Resource Exhausted**: Indicates that a server is not able to perform the request but that another server could potentially fulfill it. This error is most common on stale reads because any server may fulfill stale read requests. To resolve this type of error, we recommend immediately retrying the request to another server. If the request came from a Consul client agent, the agent automatically retries the request up to the limit set in the [`rpc_hold_timeout`](/consul/docs/agent/config/config-files#rpc_hold_timeout) configuration . +- **429 Resource Exhausted**: Indicates that a server is not able to perform the request but that another server could potentially fulfill it. This error is most common on stale reads because any server may fulfill state read requests. To resolve this type of error, we recommend immediately retrying the request to another server. If the request came from a Consul client agent, the agent automatically retries the request up to the limit set in the [`rpc_hold_timeout`](/consul/docs/agent/config/config-files#rpc_hold_timeout) configuration . -- **503 Service Unavailable**: Indicates that server is unable to perform the request and that no other server can fulfill the request, either. This usually occurs on consistent reads or for writes. In this case we recommend retrying according to an exponential backoff schedule. If the request came from a Consul client agent, the agent automatically retries the request according to the [`rpc_hold_timeout`](/consul/docs/agent/config/config-files#rpc_hold_timeout) configuration. +- **503 Service Unavailable**: Indicates that server is unable to perform the request and that no other server can fulfill the request, either. This usually occurs on consistent reads or for writes. In this case we recommend retrying according to an exponential backoff schedule. If the request came from a Consul client agent, the agent automatically retries the request according to the [`rpc_hold_timeout`](/consul/docs/agent/config/config-files#rpc_hold_timeout) configuration. Refer to [Rate limit reached on the server](/consul/docs/troubleshoot/common-errors#rate-limit-reached-on-the-server) for additional information. \ No newline at end of file diff --git a/website/content/docs/agent/limits/init-rate-limits.mdx b/website/content/docs/agent/limits/init-rate-limits.mdx index 7dbabbe6c72ae..3205718453098 100644 --- a/website/content/docs/agent/limits/init-rate-limits.mdx +++ b/website/content/docs/agent/limits/init-rate-limits.mdx @@ -1,26 +1,26 @@ --- layout: docs page_title: Initialize Rate Limit Settings -description: Learn how to determine regular and peak loads in your network so that you can set the initial global rate limit configurations. +description: Learn how to determins regular and peak loads in your network so that you can set the initial global rate limit configurations. --- # Initialize rate limit settings -Because each network has different needs and application, you need to find out what the regular and peak loads in your network are before you set traffic limits. We recommend completing the following steps to benchmark request rates in your environment so that you can implement limits appropriate for your applications. +In order to set limits for traffic, you must first understand regular and peak loads in your network. We recommend completing the following steps to benchmark request rates in your environment so that you can implement limits appropriate for your applications. -1. In the agent configuration file, specify a global rate limit with arbitrary values based on the following conditions: +1. Specify a global rate limit with arbitrary values in the agent configuration file based on the following conditions: - Environment where Consul servers are running - Number of servers and the projected load - Existing metrics expressing requests per second -1. Set the `mode` to `permissive`. In the following example, the configuration allows up to 1000 reads and 500 writes per second for each Consul agent: +1. Set the `mode` to `permissive`. In the following example, Consul agents are allowed up to 1000 reads and 500 writes per second: ```hcl request_limits { mode = "permissive" read_rate = 1000.0 - write_rate = 500.0 + write_rate =500.0 } ``` @@ -29,4 +29,4 @@ Because each network has different needs and application, you need to find out w - `rpc.rate_limit.exceeded` with value `global/read` for label `limit_type` - `rpc.rate_limit.exceeded` with value `global/write` for label `limit_type` -1. If the limits are not reached, set the `mode` configuration to `enforcing`. Otherwise, continue to adjust and iterate until you find your network's unique limits. \ No newline at end of file +1. If the limits are not reached, set the `mode` configuration to `enforcing`. Otherwise adjust and iterate limits. \ No newline at end of file diff --git a/website/content/docs/agent/limits/set-global-traffic-rate-limits.mdx b/website/content/docs/agent/limits/set-global-traffic-rate-limits.mdx index 5d4fc43df02f9..369d1b7b58398 100644 --- a/website/content/docs/agent/limits/set-global-traffic-rate-limits.mdx +++ b/website/content/docs/agent/limits/set-global-traffic-rate-limits.mdx @@ -9,15 +9,13 @@ description: Use global rate limits to prevent excessive rates of requests to Co This topic describes how to configure rate limits for RPC and gRPC traffic to the Consul server. ## Introduction +Rate limits apply to each Consul server separately and are intended to limit the number of read requests or write requests to the server on the RPC and internal gRPC endpoints. -Rate limits apply to each Consul server separately and limit the number of read requests or write requests to the server on the RPC and internal gRPC endpoints. - -Because all requests coming to a Consul server eventually perform an RPC or an internal gRPC request, global rate limits apply to Consul's user interfaces, such as the HTTP API interface, the CLI, and the external gRPC endpoint for services in the service mesh. +Because all requests coming to a Consul server eventually perform an RPC or an internal gRPC request, these limits also apply to other user interfaces, such as the HTTP API interface, the CLI, and the external gRPC endpoint for services in the Consul service mesh. Refer to [Initialize Rate Limit Settings](/consul/docs/agent/limits/init-rate-limits) for additional information about right-sizing your gRPC request configurations. ## Set a global rate limit for a Consul server - Configure the following settings in your Consul server configuration to limit the RPC and gRPC traffic rates. - Set the rate limiter [`mode`](/consul/docs/agent/config/config-files#mode-1) @@ -54,10 +52,9 @@ limits = { ## Access rate limit logs +Consul prints a log line for each rate limit request. The log provides the information necessary for identifying the source of the request and the configured limit. Consul prints the log `DEBUG` log level and can drop the log to avoid affecting the server health. Dropping a log line increments the `rpc.rate_limit.log_dropped` metric. -Consul prints a log line for each rate limit request. The log includes information to identify the source of the request and the server's configured limit. Consul prints to `DEBUG` log level, and can be configured to drop log lines to avoid affecting the server health. Dropping a log line increments the `rpc.rate_limit.log_dropped` metric. - -The following example log shows that RPC request from `127.0.0.1:53562` to `KVS.Apply` exceeded the rate limit: +The following example log shows that RPC request from `127.0.0.1:53562` to `KVS.Apply` exceeded the limit: @@ -69,16 +66,13 @@ limit_type=global/write limit_enforced=false ## Review rate limit metrics - Consul captures the following metrics associated with rate limits: - Type of limit - Operation - Rate limit mode -Call the `agent/metrics` API endpoint to view the metrics associated with rate limits. Refer to [View Metrics](/consul/api-docs/agent#view-metrics) for API usage information. - -In the following example, Consul dropped a call to the `consul` service because it exceeded the limit by one call: +Call the `agent/metrics` API endpoint to view the metrics associated with rate limits. Refer to [View Metrics](/consul/api-docs/agent#view-metrics) for API usage information. In the following example, Consul dropped a call to the `consul` service because it exceeded the limit by one call: ```shell-session $ curl http://127.0.0.1:8500/v1/agent/metrics @@ -111,4 +105,4 @@ $ curl http://127.0.0.1:8500/v1/agent/metrics . . . ``` -Refer to [Telemetry](/consul/docs/agent/telemetry) for additional information. +Refer to [Telemetry]() for additional information. diff --git a/website/content/docs/concepts/service-discovery.mdx b/website/content/docs/concepts/service-discovery.mdx index 96a4b24286756..7c95b7f8d5738 100644 --- a/website/content/docs/concepts/service-discovery.mdx +++ b/website/content/docs/concepts/service-discovery.mdx @@ -90,6 +90,6 @@ Get started with service discovery today by leveraging Consul on HCP, Consul on Feel free to get started with Consul by exploring one of these Consul tutorials: -- [Get Started with Consul on VMs](/consul/tutorials/get-started-vms) -- [Get Started with Consul on HCP](/consul/tutorials/get-started-hcp) -- [Get Started with Consul on Kubernetes](/consul/tutorials/get-started-kubernetes) \ No newline at end of file +- [Get Started with Consul on VMs](/consul/tutorials/getting-started) +- [Get Started with Consul on HCP](/consul/tutorials/cloud-get-started) +- [Get Started with Consul on Kubernetes](/consul/tutorials/gs-consul-service-mesh) diff --git a/website/content/docs/connect/ca/vault.mdx b/website/content/docs/connect/ca/vault.mdx index 708e3e8dd2e08..54fe5f4b674e4 100644 --- a/website/content/docs/connect/ca/vault.mdx +++ b/website/content/docs/connect/ca/vault.mdx @@ -94,14 +94,17 @@ The key after the slash refers to the corresponding option name in the agent con on how to configure individual auth methods. If auth method is provided, Consul will obtain a new token from Vault when the token can no longer be renewed. - - `Type`/ `type` (`string: ""`) - The type of Vault auth method. Valid options are "approle", "aws", "azure", "gcp", "jwt" and "kubernetes". + - `Type`/ `type` (`string: ""`) - The type of Vault auth method. - `MountPath`/ `mount_path` (`string: `) - The mount path of the auth method. If not provided the auth method type will be used as the mount path. - - `Params`/`params` (`map: nil`) - The parameters to configure the auth method. The configuration parameters needed will depend on which auth type you are using. Please refer to the Vault Agent auto-auth method documentation for details on their configuration options: [AppRole](/vault/docs/agent/autoauth/methods/approle#configuration), [AWS](/vault/docs/agent/autoauth/methods/aws#configuration), [Azure](/vault/docs/agent/autoauth/methods/azure#configuration), [GCP](/vault/docs/agent/autoauth/methods/gcp#configuration), [JWT](/vault/docs/agent/autoauth/methods/jwt#configuration), [Kubernetes](/vault/docs/agent/autoauth/methods/kubernetes#configuration). - - Only the authentication related fields (for example, JWT's `path` and `role`) are supported. The optional management fields (for example: `remove_jwt_after_reading`) are not supported. + - `Params`/`params` (`map: nil`) - The parameters to configure the auth method. Please see + [Vault Auth Methods](/vault/docs/auth) for information on how to configure the + auth method you wish to use. If using the Kubernetes auth method, + Consul will read the service account token from the + default mount path `/var/run/secrets/kubernetes.io/serviceaccount/token` if the `jwt` parameter + is not provided. - `RootPKIPath` / `root_pki_path` (`string: `) - The path to a PKI secrets engine for the root certificate. diff --git a/website/content/docs/connect/proxies/envoy-extensions/index.mdx b/website/content/docs/connect/proxies/envoy-extensions/index.mdx index b4876c78e45cd..844ab0706c3ac 100644 --- a/website/content/docs/connect/proxies/envoy-extensions/index.mdx +++ b/website/content/docs/connect/proxies/envoy-extensions/index.mdx @@ -15,7 +15,6 @@ Consul supports two methods for modifying Envoy behavior. You can either modify Instead of modifying Consul code, you can configure your services to use Envoy extensions through the `EnvoyExtensions` field. This field is definable in [`proxy-defaults`](/consul/docs/connect/config-entries/proxy-defaults#envoyextensions) and [`service-defaults`](/consul/docs/connect/config-entries/service-defaults#envoyextensions) configuration entries. - ## Supported extensions Envoy extensions enable additional service mesh functionality in Consul by changing how the sidecar proxies behave. Extensions invoke custom code when traffic passes through an Envoy proxy. Consul supports the following extensions: diff --git a/website/content/docs/connect/proxies/envoy-extensions/usage/lambda.mdx b/website/content/docs/connect/proxies/envoy-extensions/usage/lambda.mdx index c06bf3bd220c8..ce1554641969c 100644 --- a/website/content/docs/connect/proxies/envoy-extensions/usage/lambda.mdx +++ b/website/content/docs/connect/proxies/envoy-extensions/usage/lambda.mdx @@ -21,7 +21,7 @@ The Lambda Envoy extension has the following arguments: | `InvocationMode` | Determines if Consul configures the Lambda to be invoked using the synchronous or asynchronous [invocation mode](https://docs.aws.amazon.com/lambda/latest/operatorguide/invocation-modes.html). | | `PayloadPassthrough` | Determines if the body Envoy receives is converted to JSON or directly passed to Lambda. | -Be aware that unlike [manual lambda registration](/consul/docs/lambda/registration/manual#supported-meta-fields), region is inferred from the ARN when specified through an Envoy extension. +Be aware that unlike [manual lambda registration](/consul/docs/lambda/registration/manual#supported-meta-fields), region is inferred from the ARN when specified through an Envoy extension. ## Workflow diff --git a/website/content/docs/connect/proxies/envoy.mdx b/website/content/docs/connect/proxies/envoy.mdx index 61ea0bf738c34..bb27db3b2a317 100644 --- a/website/content/docs/connect/proxies/envoy.mdx +++ b/website/content/docs/connect/proxies/envoy.mdx @@ -45,7 +45,7 @@ Consul supports **four major Envoy releases** at the beginning of each major Con ### Envoy and Consul Dataplane -The Consul dataplane component was introduced in Consul v1.14 as a way to manage Envoy proxies without the use of Consul clients. Each new minor version of Consul is released with a new minor version of Consul dataplane, which packages both Envoy and the `consul-dataplane` binary in a single container image. For backwards compatability reasons, each new minor version of Consul will also support the previous minor version of Consul dataplane to allow for seamless upgrades. In addition, each minor version of Consul will support the next minor version of Consul dataplane to allow for extended dataplane support via newer versions of Envoy. +The Consul dataplane component was introduced in Consul v1.14 as a way to manage Envoy proxies without the use of Consul clients. Each new minor version of Consul is released with a new minor version of Consul dataplane, which packages both Envoy and the `consul-dataplane` binary in a single container image. For backwards compatability reasons, each new minor version of Consul will also support the previous minor version of Consul dataplane to allow for seamless upgrades. In addition, each minor version of Consul will support the next minor version of Consul dataplane to allow for extended dataplane support via newer versions of Envoy. | Consul Version | Consul Dataplane Version (Bundled Envoy Version) | | ------------------- | ------------------------------------------------- | @@ -124,7 +124,7 @@ Connect to a local Consul client agent and run the [`consul connect envoy` comma If you experience issues when bootstrapping Envoy proxies from the CLI, use the `-enable-config-gen-logging` flag to enable debug message logging. These logs can -help you troubleshoot issues that occur during the bootstrapping process. +help you troubleshoot issues that occur during the bootstrapping process. For more information about available flags and parameters, refer to the [`consul connect envoy CLI` reference](/consul/commands/connect/envoy). @@ -336,7 +336,7 @@ defaults that are inherited by all services. - `local_idle_timeout_ms` - In milliseconds, the idle timeout for HTTP requests to the local application instance. Applies to HTTP based protocols only. If not - specified, inherits the Envoy default for route idle timeouts (15s). A value of 0 + specified, inherits the Envoy default for route idle timeouts (15s). A value of 0 disables request timeouts. - `max_inbound_connections` - The maximum number of concurrent inbound connections diff --git a/website/content/docs/intro/index.mdx b/website/content/docs/intro/index.mdx index b9b61b621df41..90a1759fe2333 100644 --- a/website/content/docs/intro/index.mdx +++ b/website/content/docs/intro/index.mdx @@ -10,9 +10,9 @@ description: >- HashiCorp Consul is a service networking solution that enables teams to manage secure network connectivity between services and across on-prem and multi-cloud environments and runtimes. Consul offers service discovery, service mesh, traffic management, and automated updates to network infrastructure device. You can use these features individually or together in a single Consul deployment. > **Hands-on**: Complete the Getting Started tutorials to learn how to deploy Consul: -- [Get Started on Kubernetes](/consul/tutorials/get-started-kubernetes) -- [Get Started on VMs](/consul/tutorials/get-started-vms) -- [HashiCorp Cloud Platform (HCP) Consul](/consul/tutorials/get-started-hcp) +- [Get Started on Kubernetes](/consul/tutorials/gs-consul-service-mesh) +- [Get Started on VMs](/consul/tutorials/getting-started) +- [HashiCorp Cloud Platform (HCP) Consul](/consul/tutorials/cloud-get-started) ## How does Consul work? diff --git a/website/content/docs/k8s/annotations-and-labels.mdx b/website/content/docs/k8s/annotations-and-labels.mdx index f28f6dd5fa64e..d51b591ac8636 100644 --- a/website/content/docs/k8s/annotations-and-labels.mdx +++ b/website/content/docs/k8s/annotations-and-labels.mdx @@ -75,7 +75,7 @@ The following Kubernetes resource annotations could be used on a pod to control - Unlabeled: Use the unlabeled annotation format to specify a service name, Consul Enterprise namespaces and partitions, and - datacenters. To use [cluster peering](/consul/docs/k8s/connect/cluster-peering/tech-specs) with upstreams, use the following + datacenters. To use [cluster peering](/consul/docs/k8s/connect/cluster-peering/k8s-tech-specs) with upstreams, use the following labeled format. - Service name: Place the service name at the beginning of the annotation to specify the upstream service. You can also append the datacenter where the service is deployed (optional). @@ -98,7 +98,7 @@ The following Kubernetes resource annotations could be used on a pod to control - Admin partitions (requires Consul Enterprise 1.11+): Upstream services may be running in a different partition. You must specify the namespace when specifying a partition. Place the partition name after the namespace. If you specify the name of the datacenter (optional), it must be the local datacenter. Communicating across partitions using this method is only supported within a datacenter. For cross partition communication across datacenters, refer to [cluster - peering](/consul/docs/k8s/connect/cluster-peering/tech-specs). + peering](/consul/docs/k8s/connect/cluster-peering/k8s-tech-specs). ```yaml annotations: "consul.hashicorp.com/connect-service-upstreams":"[service-name].[service-namespace].[service-partition]:[port]:[optional datacenter]" diff --git a/website/content/docs/k8s/connect/ingress-gateways.mdx b/website/content/docs/k8s/connect/ingress-gateways.mdx index b971484ecc10f..1d2072ae3a032 100644 --- a/website/content/docs/k8s/connect/ingress-gateways.mdx +++ b/website/content/docs/k8s/connect/ingress-gateways.mdx @@ -62,12 +62,6 @@ Ensure you have the latest consul-helm chart and install Consul via helm using t [guide](/consul/docs/k8s/installation/install#installing-consul) while being sure to provide the yaml configuration as previously discussed. -The following example installs Consul 1.0.4 using the `values.yaml` configuration: - -```shell-session -$ helm install consul -f values.yaml hashicorp/consul --version 1.0.4 --wait --debug -``` - ## Configuring the gateway Now that Consul has been installed with ingress gateways enabled, diff --git a/website/content/docs/k8s/deployment-configurations/vault/wan-federation.mdx b/website/content/docs/k8s/deployment-configurations/vault/wan-federation.mdx index a243269f54ac1..5c2badb093213 100644 --- a/website/content/docs/k8s/deployment-configurations/vault/wan-federation.mdx +++ b/website/content/docs/k8s/deployment-configurations/vault/wan-federation.mdx @@ -311,16 +311,12 @@ Repeat the following steps for each datacenter in the cluster: 1. Update the Consul on Kubernetes helm chart. ### Secrets and Policies -1. Store the ACL bootstrap and replication tokens, gossip encryption key, and root CA certificate secrets in Vault. +1. Store the ACL Replication Token, Gossip Encryption Key, and Root CA certificate secrets in Vault. ```shell-session $ vault kv put consul/secret/gossip key="$(consul keygen)" ``` - ```shell-session - $ vault kv put consul/secret/bootstrap token="$(uuidgen | tr '[:upper:]' '[:lower:]')" - ``` - ```shell-session $ vault kv put consul/secret/replication token="$(uuidgen | tr '[:upper:]' '[:lower:]')" ``` @@ -338,14 +334,6 @@ Repeat the following steps for each datacenter in the cluster: EOF ``` - ```shell-session - $ vault policy write bootstrap-token - < + ```yaml global: @@ -472,13 +460,8 @@ Repeat the following steps for each datacenter in the cluster: secretName: pki/cert/ca federation: enabled: true - createFederationSecret: false acls: manageSystemACLs: true - createReplicationToken: true - boostrapToken: - secretName: consul/data/secret/bootstrap - secretKey: token replicationToken: secretName: consul/data/secret/replication secretKey: token @@ -628,7 +611,7 @@ Repeat the following steps for each datacenter in the cluster: -> **Note**: To configure Vault as the Connect CA in secondary datacenters, you need to make sure that the Root CA path is the same. The intermediate path is different for each datacenter. In the `connectCA` Helm configuration for a secondary datacenter, you can specify a `intermediatePKIPath` that is, for example, prefixed with the datacenter for which this configuration is intended (e.g. `dc2/connect-intermediate`). - + ```yaml global: @@ -690,4 +673,4 @@ Repeat the following steps for each datacenter in the cluster: ## Next steps You have completed the process of federating the secondary datacenter (dc2) with the primary datacenter (dc1) using Vault as the Secrets backend. To validate that everything is configured properly, please confirm that all pods within both datacenters are in a running state. -For additional information about specific Consul secrets that you can store in Vault, refer to [Data Integration](/consul/docs/k8s/deployment-configurations/vault/data-integration) in the [Vault as a Secrets Backend](/consul/docs/k8s/deployment-configurations/vault) documentation. +For further detail on specific Consul secrets that are available to be stored in Vault, please checkout the detailed information in the [Data Integration](/consul/docs/k8s/deployment-configurations/vault/data-integration) section of the [Vault as a Secrets Backend](/consul/docs/k8s/deployment-configurations/vault) area of the Consul on Kubernetes documentation. diff --git a/website/content/docs/nia/usage/requirements.mdx b/website/content/docs/nia/usage/requirements.mdx index 7d3f84dd89731..1950b84fb2ff2 100644 --- a/website/content/docs/nia/usage/requirements.mdx +++ b/website/content/docs/nia/usage/requirements.mdx @@ -31,7 +31,7 @@ For information on compatible Consul versions, refer to the [Consul compatibilit ### Run an agent -The Consul agent must be running in order to dynamically update network devices. Refer to the [Consul agent documentation](/consul/docs/agent) for information about configuring and starting a Consul agent. +The Consul agent must be running in order to dynamically update network devices. Refer to the [Consul agent documentation](/consul/docs/agent) for information about configuring and starting a Consul agent. For hands-on instructions about running Consul agents, refer to the [Getting Started: Run the Consul Agent Tutorial](/consul/tutorials/getting-started/get-started-agent). When running a Consul agent with CTS in production, consider that CTS uses [blocking queries](/consul/api-docs/features/blocking) to monitor task dependencies, such as changes to registered services. This results in multiple long-running TCP connections between CTS and the agent to poll changes for each dependency. Consul may quickly reach the agent connection limits if CTS is monitoring a high number of services. @@ -62,11 +62,11 @@ You can configure CTS to monitor the web service, execute a task, and update net For more details on registering a service using the HTTP API endpoint, refer to the [register service API docs](/consul/api-docs/agent/service#register-service). -For hands-on instructions on registering a service by loading a service definition, refer to the [Getting Started: Register a Service with Consul Service Discovery Tutorial](/consul/tutorials/get-started-vms/virtual-machine-gs-service-discovery). +For hands-on instructions on registering a service by loading a service definition, refer to the [Getting Started: Register a Service with Consul Service Discovery Tutorial](/consul/tutorials/getting-started/get-started-service-discovery). ### Run a cluster -For production environments, we recommend operating a Consul cluster rather than a single agent. Refer to [Getting Started: Deploy a Consul Datacenter Tutorial](/consul/tutorials/get-started-vms/virtual-machine-gs-deploy) for instructions on starting multiple Consul agents and joining them into a cluster. +For production environments, we recommend operating a Consul cluster rather than a single agent. Refer to [Getting Started: Create a Local Consul Datacenter](/consul/tutorials/getting-started/get-started-create-datacenter) for instructions on starting multiple Consul agents and joining them into a cluster. ## Network infrastructure using a Terraform provider diff --git a/website/content/docs/release-notes/consul/v1_15_x.mdx b/website/content/docs/release-notes/consul/v1_15_x.mdx index dbd6392467c93..5d8ffd9dc21cc 100644 --- a/website/content/docs/release-notes/consul/v1_15_x.mdx +++ b/website/content/docs/release-notes/consul/v1_15_x.mdx @@ -84,7 +84,6 @@ The following issues are known to exist in the v1.15.0 release: - For v1.15.0, there is a known issue where search filters produced errors and resulted in lists not showing full results until being interacted with. This is resolved in the upcoming Consul v1.15.1 patch release. - ## Changelogs The changelogs for this major release version and any maintenance versions are listed below. diff --git a/website/package-lock.json b/website/package-lock.json index dceec6c8eddb0..4e2d3f519e6be 100644 --- a/website/package-lock.json +++ b/website/package-lock.json @@ -8,8 +8,7 @@ "name": "consul-docs", "version": "0.0.1", "devDependencies": { - "@hashicorp/platform-cli": "^2.6.0", - "@hashicorp/platform-content-conformance": "^0.0.10", + "@hashicorp/platform-cli": "^2.5.1", "dart-linkcheck": "2.0.15", "husky": "4.3.8", "next": "^12.3.1", @@ -143,10 +142,11 @@ } }, "node_modules/@babel/helper-plugin-utils": { - "version": "7.20.2", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.20.2.tgz", - "integrity": "sha512-8RvlJG2mj4huQ4pZ+rU9lqKi9ZKiRmuvGuM2HlWmkmgOhbs6zEAw6IEiJ5cQqGbDzGZOhwuOQNtZMi/ENLjZoQ==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.14.5.tgz", + "integrity": "sha512-/37qQCE3K0vvZKwoK4XU/irIJQdIfCJuhU5eKnNxpFDsOkgFaUAwbv+RYw6eYgsC0E4hS7r5KqGULUogqui0fQ==", "dev": true, + "peer": true, "engines": { "node": ">=6.9.0" } @@ -286,20 +286,6 @@ "node": ">=6.0.0" } }, - "node_modules/@babel/plugin-proposal-object-rest-spread": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.12.1.tgz", - "integrity": "sha512-s6SowJIjzlhx8o7lsFx5zmY4At6CTtDvgNQDdPzkBQucle58A6b/TTeEBYtyDgmcXjUTM+vE8YOGHZzzbc/ioA==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/plugin-syntax-object-rest-spread": "^7.8.0", - "@babel/plugin-transform-parameters": "^7.12.1" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, "node_modules/@babel/plugin-syntax-async-generators": { "version": "7.8.4", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", @@ -365,18 +351,6 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-syntax-jsx": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.12.1.tgz", - "integrity": "sha512-1yRi7yAtB0ETgxdY9ti/p2TivUxJkTdhu/ZbF9MshVGqOx1TdB3b7xCXs49Fupgg50N45KcAsRP/ZqWjs9SRjg==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, "node_modules/@babel/plugin-syntax-logical-assignment-operators": { "version": "7.10.4", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", @@ -421,6 +395,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", "dev": true, + "peer": true, "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -470,21 +445,6 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-parameters": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.20.7.tgz", - "integrity": "sha512-WiWBIkeHKVOSYPO0pWkxGPfKeWrCJyD3NJ53+Lrp/QMSZbsVPovrVl2aWZ19D/LTVnaDv5Ap7GJ/B2CTOZdrfA==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.20.2" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, "node_modules/@babel/runtime": { "version": "7.20.7", "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.20.7.tgz", @@ -630,9 +590,9 @@ } }, "node_modules/@hashicorp/platform-cli": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/@hashicorp/platform-cli/-/platform-cli-2.6.0.tgz", - "integrity": "sha512-nMO7Uiy/A5CT/BCE9RyQt6/Uci7bxwTesxCNWkXlciyqlIrz9WmBa9hr710IiMoDzrzQ1tL6AgFIeTbXs4RTqA==", + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@hashicorp/platform-cli/-/platform-cli-2.5.1.tgz", + "integrity": "sha512-kW9bxaYB/Tt3Djl75Kh+u/jRAe7MuX6mdcw+amPaBUnO9ZnNXQXe73fv7nYm7CueZZd2y5PWfx5LPaxWQzhM4g==", "dev": true, "dependencies": { "@hashicorp/platform-cms": "0.3.0", @@ -711,331 +671,6 @@ "rivet-graphql": "0.3.1" } }, - "node_modules/@hashicorp/platform-content-conformance": { - "version": "0.0.10", - "resolved": "https://registry.npmjs.org/@hashicorp/platform-content-conformance/-/platform-content-conformance-0.0.10.tgz", - "integrity": "sha512-vXLbd2w9phS4JfFyh17jCiyu+LXVonTfb7WEUK2eMlOL/wxe2umyJvEQaJNzD5bwyYC8LuXGA5JkbnPXnU5ZQg==", - "dev": true, - "dependencies": { - "find-up": "^6.3.0", - "flat": "^5.0.2", - "globby": "^13.1.2", - "mdast-util-to-string": "^3.1.0", - "remark": "12.0.1", - "remark-mdx": "^1.6.22", - "unified-lint-rule": "^2.1.1", - "unist-util-stringify-position": "^3.0.2", - "unist-util-visit": "^4.1.1", - "vfile": "^5.3.6", - "vfile-matter": "^4.0.0", - "vfile-reporter": "^7.0.4", - "vfile-reporter-json": "^3.2.0", - "vfile-statistics": "^2.0.0", - "yaml": "^2.1.3", - "yargs": "^17.4.1", - "zod": "^3.19.1" - }, - "bin": { - "hc-content": "dist/cli.js" - } - }, - "node_modules/@hashicorp/platform-content-conformance/node_modules/cliui": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", - "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", - "dev": true, - "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.1", - "wrap-ansi": "^7.0.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/@hashicorp/platform-content-conformance/node_modules/find-up": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-6.3.0.tgz", - "integrity": "sha512-v2ZsoEuVHYy8ZIlYqwPe/39Cy+cFDzp4dXPaxNvkEuouymu+2Jbz0PxpKarJHYJTmv2HWT3O382qY8l4jMWthw==", - "dev": true, - "dependencies": { - "locate-path": "^7.1.0", - "path-exists": "^5.0.0" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@hashicorp/platform-content-conformance/node_modules/globby": { - "version": "13.1.3", - "resolved": "https://registry.npmjs.org/globby/-/globby-13.1.3.tgz", - "integrity": "sha512-8krCNHXvlCgHDpegPzleMq07yMYTO2sXKASmZmquEYWEmCx6J5UTRbp5RwMJkTJGtcQ44YpiUYUiN0b9mzy8Bw==", - "dev": true, - "dependencies": { - "dir-glob": "^3.0.1", - "fast-glob": "^3.2.11", - "ignore": "^5.2.0", - "merge2": "^1.4.1", - "slash": "^4.0.0" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@hashicorp/platform-content-conformance/node_modules/locate-path": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-7.2.0.tgz", - "integrity": "sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA==", - "dev": true, - "dependencies": { - "p-locate": "^6.0.0" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@hashicorp/platform-content-conformance/node_modules/mdast-util-to-string": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-3.1.1.tgz", - "integrity": "sha512-tGvhT94e+cVnQt8JWE9/b3cUQZWS732TJxXHktvP+BYo62PpYD53Ls/6cC60rW21dW+txxiM4zMdc6abASvZKA==", - "dev": true, - "dependencies": { - "@types/mdast": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/@hashicorp/platform-content-conformance/node_modules/p-limit": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-4.0.0.tgz", - "integrity": "sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==", - "dev": true, - "dependencies": { - "yocto-queue": "^1.0.0" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@hashicorp/platform-content-conformance/node_modules/p-locate": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-6.0.0.tgz", - "integrity": "sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw==", - "dev": true, - "dependencies": { - "p-limit": "^4.0.0" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@hashicorp/platform-content-conformance/node_modules/path-exists": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-5.0.0.tgz", - "integrity": "sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==", - "dev": true, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - } - }, - "node_modules/@hashicorp/platform-content-conformance/node_modules/remark": { - "version": "12.0.1", - "resolved": "https://registry.npmjs.org/remark/-/remark-12.0.1.tgz", - "integrity": "sha512-gS7HDonkdIaHmmP/+shCPejCEEW+liMp/t/QwmF0Xt47Rpuhl32lLtDV1uKWvGoq+kxr5jSgg5oAIpGuyULjUw==", - "dev": true, - "dependencies": { - "remark-parse": "^8.0.0", - "remark-stringify": "^8.0.0", - "unified": "^9.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/@hashicorp/platform-content-conformance/node_modules/remark-parse": { - "version": "8.0.3", - "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-8.0.3.tgz", - "integrity": "sha512-E1K9+QLGgggHxCQtLt++uXltxEprmWzNfg+MxpfHsZlrddKzZ/hZyWHDbK3/Ap8HJQqYJRXP+jHczdL6q6i85Q==", - "dev": true, - "dependencies": { - "ccount": "^1.0.0", - "collapse-white-space": "^1.0.2", - "is-alphabetical": "^1.0.0", - "is-decimal": "^1.0.0", - "is-whitespace-character": "^1.0.0", - "is-word-character": "^1.0.0", - "markdown-escapes": "^1.0.0", - "parse-entities": "^2.0.0", - "repeat-string": "^1.5.4", - "state-toggle": "^1.0.0", - "trim": "0.0.1", - "trim-trailing-lines": "^1.0.0", - "unherit": "^1.0.4", - "unist-util-remove-position": "^2.0.0", - "vfile-location": "^3.0.0", - "xtend": "^4.0.1" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/@hashicorp/platform-content-conformance/node_modules/remark-stringify": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/remark-stringify/-/remark-stringify-8.1.1.tgz", - "integrity": "sha512-q4EyPZT3PcA3Eq7vPpT6bIdokXzFGp9i85igjmhRyXWmPs0Y6/d2FYwUNotKAWyLch7g0ASZJn/KHHcHZQ163A==", - "dev": true, - "dependencies": { - "ccount": "^1.0.0", - "is-alphanumeric": "^1.0.0", - "is-decimal": "^1.0.0", - "is-whitespace-character": "^1.0.0", - "longest-streak": "^2.0.1", - "markdown-escapes": "^1.0.0", - "markdown-table": "^2.0.0", - "mdast-util-compact": "^2.0.0", - "parse-entities": "^2.0.0", - "repeat-string": "^1.5.4", - "state-toggle": "^1.0.0", - "stringify-entities": "^3.0.0", - "unherit": "^1.0.4", - "xtend": "^4.0.1" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/@hashicorp/platform-content-conformance/node_modules/slash": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz", - "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==", - "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@hashicorp/platform-content-conformance/node_modules/unist-util-stringify-position": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-3.0.3.tgz", - "integrity": "sha512-k5GzIBZ/QatR8N5X2y+drfpWG8IDBzdnVj6OInRNWm1oXrzydiaAT2OQiA8DPRRZyAKb9b6I2a6PxYklZD0gKg==", - "dev": true, - "dependencies": { - "@types/unist": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/@hashicorp/platform-content-conformance/node_modules/vfile": { - "version": "5.3.7", - "resolved": "https://registry.npmjs.org/vfile/-/vfile-5.3.7.tgz", - "integrity": "sha512-r7qlzkgErKjobAmyNIkkSpizsFPYiUPuJb5pNW1RB4JcYVZhs4lIbVqk8XPk033CV/1z8ss5pkax8SuhGpcG8g==", - "dev": true, - "dependencies": { - "@types/unist": "^2.0.0", - "is-buffer": "^2.0.0", - "unist-util-stringify-position": "^3.0.0", - "vfile-message": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/@hashicorp/platform-content-conformance/node_modules/vfile-message": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-3.1.4.tgz", - "integrity": "sha512-fa0Z6P8HUrQN4BZaX05SIVXic+7kE3b05PWAtPuYP9QLHsLKYR7/AlLW3NtOrpXRLeawpDLMsVkmk5DG0NXgWw==", - "dev": true, - "dependencies": { - "@types/unist": "^2.0.0", - "unist-util-stringify-position": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/@hashicorp/platform-content-conformance/node_modules/y18n": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", - "dev": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/@hashicorp/platform-content-conformance/node_modules/yaml": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.2.1.tgz", - "integrity": "sha512-e0WHiYql7+9wr4cWMx3TVQrNwejKaEe7/rHNmQmqRjazfOP5W8PB6Jpebb5o6fIapbz9o9+2ipcaTM2ZwDI6lw==", - "dev": true, - "engines": { - "node": ">= 14" - } - }, - "node_modules/@hashicorp/platform-content-conformance/node_modules/yargs": { - "version": "17.7.1", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.1.tgz", - "integrity": "sha512-cwiTb08Xuv5fqF4AovYacTFNxk62th7LKJ6BL9IGUpTJrWoU7/7WdQGTP2SjKf1dUNBGzDd28p/Yfs/GI6JrLw==", - "dev": true, - "dependencies": { - "cliui": "^8.0.1", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.3", - "y18n": "^5.0.5", - "yargs-parser": "^21.1.1" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/@hashicorp/platform-content-conformance/node_modules/yargs-parser": { - "version": "21.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", - "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", - "dev": true, - "engines": { - "node": ">=12" - } - }, - "node_modules/@hashicorp/platform-content-conformance/node_modules/yocto-queue": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.0.0.tgz", - "integrity": "sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==", - "dev": true, - "engines": { - "node": ">=12.20" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/@humanwhocodes/config-array": { "version": "0.11.8", "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.8.tgz", @@ -1454,16 +1089,6 @@ "node": ">= 10.14.2" } }, - "node_modules/@mdx-js/util": { - "version": "1.6.22", - "resolved": "https://registry.npmjs.org/@mdx-js/util/-/util-1.6.22.tgz", - "integrity": "sha512-H1rQc1ZOHANWBvPcW+JpGwr+juXSxM8Q8YCkm3GhZd8REu1fHR3z99CErO1p9pkcfcxZnMdIZdIsXkOHY0NilA==", - "dev": true, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, "node_modules/@next/env": { "version": "12.3.1", "resolved": "https://registry.npmjs.org/@next/env/-/env-12.3.1.tgz", @@ -1988,12 +1613,6 @@ "dev": true, "peer": true }, - "node_modules/@types/supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/@types/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-dPWnWsf+kzIG140B8z2w3fr5D03TLWbOAFQl45xUpI3vcizeXriNR5VYkWZ+WTMsUHqZ9Xlt3hrxGNANFyNQfw==", - "dev": true - }, "node_modules/@types/unist": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.3.tgz", @@ -3140,16 +2759,6 @@ "node": "6.* || 8.* || >= 10.*" } }, - "node_modules/ccount": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/ccount/-/ccount-1.1.0.tgz", - "integrity": "sha512-vlNK021QdI7PNeiUh/lKkC/mNHHfV0m/Ad5JoI0TYtlBnJAslM/JIkm/tGC88bkLIwO6OQ5uV6ztS6kVAtCDlg==", - "dev": true, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, "node_modules/chalk": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", @@ -3186,16 +2795,6 @@ "url": "https://github.com/sponsors/wooorm" } }, - "node_modules/character-entities-html4": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/character-entities-html4/-/character-entities-html4-1.1.4.tgz", - "integrity": "sha512-HRcDxZuZqMx3/a+qrzxdBKBPUpxWEq9xw2OPZ3a/174ihfrQKVsFhqtthBInFy1zZ9GgZyFXOatNujm8M+El3g==", - "dev": true, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, "node_modules/character-entities-legacy": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-1.1.4.tgz", @@ -3453,16 +3052,6 @@ "node": ">= 0.12.0" } }, - "node_modules/collapse-white-space": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/collapse-white-space/-/collapse-white-space-1.0.6.tgz", - "integrity": "sha512-jEovNnrhMuqyCcjfEJA56v0Xq8SkIoPKDyaHahwo3POf4qcSXqMYuwNcOTzp74vTsR9Tn08z4MxWqAhcekogkQ==", - "dev": true, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, "node_modules/collect-v8-coverage": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz", @@ -3991,12 +3580,6 @@ "domelementtype": "1" } }, - "node_modules/eastasianwidth": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", - "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", - "dev": true - }, "node_modules/ejs": { "version": "3.1.5", "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.5.tgz", @@ -5411,15 +4994,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/flat": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", - "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==", - "dev": true, - "bin": { - "flat": "cli.js" - } - }, "node_modules/flat-cache": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", @@ -5568,6 +5142,7 @@ "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", "dev": true, + "peer": true, "engines": { "node": "6.* || 8.* || >= 10.*" } @@ -6411,15 +5986,6 @@ "url": "https://github.com/sponsors/wooorm" } }, - "node_modules/is-alphanumeric": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-alphanumeric/-/is-alphanumeric-1.0.0.tgz", - "integrity": "sha512-ZmRL7++ZkcMOfDuWZuMJyIVLr2keE1o/DeNWh1EmgqGhUcV+9BIVsx0BcSBOHTZqzjs4+dISzr2KAeBEWGgXeA==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/is-alphanumerical": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-1.0.4.tgz", @@ -6945,16 +6511,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-whitespace-character": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-whitespace-character/-/is-whitespace-character-1.0.4.tgz", - "integrity": "sha512-SDweEzfIZM0SJV0EUga669UTKlmL0Pq8Lno0QDQsPnvECB3IM2aP0gdx5TrU0A01MAPfViaZiI2V1QMZLaKK5w==", - "dev": true, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, "node_modules/is-windows": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", @@ -6965,16 +6521,6 @@ "node": ">=0.10.0" } }, - "node_modules/is-word-character": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-word-character/-/is-word-character-1.0.4.tgz", - "integrity": "sha512-5SMO8RVennx3nZrqtKwCGyyetPE9VDba5ugvKLaD4KopPG5kR4mQ7tNt/r7feL5yt5h3lpuBbIUmCOG2eSzXHA==", - "dev": true, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, "node_modules/is-wsl": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", @@ -8447,29 +7993,6 @@ "node": ">=0.10.0" } }, - "node_modules/markdown-escapes": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/markdown-escapes/-/markdown-escapes-1.0.4.tgz", - "integrity": "sha512-8z4efJYk43E0upd0NbVXwgSTQs6cT3T06etieCMEg7dRbzCbxUCK/GHlX8mhHRDcp+OLlHkPKsvqQTCvsRl2cg==", - "dev": true, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/markdown-table": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/markdown-table/-/markdown-table-2.0.0.tgz", - "integrity": "sha512-Ezda85ToJUBhM6WGaG6veasyym+Tbs3cMAw/ZhOPqXiYsr0jgocBV3j3nx+4lk47plLlIqjwuTm/ywVI+zjJ/A==", - "dev": true, - "dependencies": { - "repeat-string": "^1.0.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, "node_modules/mathml-tag-names": { "version": "2.1.3", "resolved": "https://registry.npmjs.org/mathml-tag-names/-/mathml-tag-names-2.1.3.tgz", @@ -8480,48 +8003,6 @@ "url": "https://github.com/sponsors/wooorm" } }, - "node_modules/mdast-util-compact": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/mdast-util-compact/-/mdast-util-compact-2.0.1.tgz", - "integrity": "sha512-7GlnT24gEwDrdAwEHrU4Vv5lLWrEer4KOkAiKT9nYstsTad7Oc1TwqT2zIMKRdZF7cTuaf+GA1E4Kv7jJh8mPA==", - "dev": true, - "dependencies": { - "unist-util-visit": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-compact/node_modules/unist-util-visit": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-2.0.3.tgz", - "integrity": "sha512-iJ4/RczbJMkD0712mGktuGpm/U4By4FfDonL7N/9tATGIF4imikjOuagyMY53tnZq3NP6BcmlrHhEKAfGWjh7Q==", - "dev": true, - "dependencies": { - "@types/unist": "^2.0.0", - "unist-util-is": "^4.0.0", - "unist-util-visit-parents": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-compact/node_modules/unist-util-visit-parents": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-3.1.1.tgz", - "integrity": "sha512-1KROIZWo6bcMrZEwiH2UrXDyalAa0uqzWCxCJj6lPOvTve2WkfgCytoDTPaMnodXh1WrXOq0haVYHj99ynJlsg==", - "dev": true, - "dependencies": { - "@types/unist": "^2.0.0", - "unist-util-is": "^4.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, "node_modules/mdast-util-from-markdown": { "version": "0.8.5", "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-0.8.5.tgz", @@ -10801,60 +10282,6 @@ "url": "https://opencollective.com/unified" } }, - "node_modules/remark-mdx": { - "version": "1.6.22", - "resolved": "https://registry.npmjs.org/remark-mdx/-/remark-mdx-1.6.22.tgz", - "integrity": "sha512-phMHBJgeV76uyFkH4rvzCftLfKCr2RZuF+/gmVcaKrpsihyzmhXjA0BEMDaPTXG5y8qZOKPVo83NAOX01LPnOQ==", - "dev": true, - "dependencies": { - "@babel/core": "7.12.9", - "@babel/helper-plugin-utils": "7.10.4", - "@babel/plugin-proposal-object-rest-spread": "7.12.1", - "@babel/plugin-syntax-jsx": "7.12.1", - "@mdx-js/util": "1.6.22", - "is-alphabetical": "1.0.4", - "remark-parse": "8.0.3", - "unified": "9.2.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/remark-mdx/node_modules/@babel/helper-plugin-utils": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz", - "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==", - "dev": true - }, - "node_modules/remark-mdx/node_modules/remark-parse": { - "version": "8.0.3", - "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-8.0.3.tgz", - "integrity": "sha512-E1K9+QLGgggHxCQtLt++uXltxEprmWzNfg+MxpfHsZlrddKzZ/hZyWHDbK3/Ap8HJQqYJRXP+jHczdL6q6i85Q==", - "dev": true, - "dependencies": { - "ccount": "^1.0.0", - "collapse-white-space": "^1.0.2", - "is-alphabetical": "^1.0.0", - "is-decimal": "^1.0.0", - "is-whitespace-character": "^1.0.0", - "is-word-character": "^1.0.0", - "markdown-escapes": "^1.0.0", - "parse-entities": "^2.0.0", - "repeat-string": "^1.5.4", - "state-toggle": "^1.0.0", - "trim": "0.0.1", - "trim-trailing-lines": "^1.0.0", - "unherit": "^1.0.4", - "unist-util-remove-position": "^2.0.0", - "vfile-location": "^3.0.0", - "xtend": "^4.0.1" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, "node_modules/remark-parse": { "version": "9.0.0", "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-9.0.0.tgz", @@ -10912,6 +10339,7 @@ "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", "dev": true, + "peer": true, "engines": { "node": ">=0.10.0" } @@ -12068,16 +11496,6 @@ "node": ">=8" } }, - "node_modules/state-toggle": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/state-toggle/-/state-toggle-1.0.3.tgz", - "integrity": "sha512-d/5Z4/2iiCnHw6Xzghyhb+GcmF89bxwgXG60wjIiZaxnymbyOmI8Hk4VqHXiVVp6u2ysaskFfXg3ekCj4WNftQ==", - "dev": true, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, "node_modules/static-extend": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", @@ -12314,21 +11732,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/stringify-entities": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/stringify-entities/-/stringify-entities-3.1.0.tgz", - "integrity": "sha512-3FP+jGMmMV/ffZs86MoghGqAoqXAdxLrJP4GUdrDN1aIScYih5tuIO3eF4To5AJZ79KDZ8Fpdy7QJnK8SsL1Vg==", - "dev": true, - "dependencies": { - "character-entities-html4": "^1.0.0", - "character-entities-legacy": "^1.0.0", - "xtend": "^4.0.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, "node_modules/stringify-object": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/stringify-object/-/stringify-object-3.3.0.tgz", @@ -13242,12 +12645,6 @@ "node": ">= 4.0.0" } }, - "node_modules/trim": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/trim/-/trim-0.0.1.tgz", - "integrity": "sha512-YzQV+TZg4AxpKxaTHK3c3D+kRDCGVEE7LemdlQZoQXn0iennk10RsIoY6ikzAqJTc9Xjl9C1/waHom/J86ziAQ==", - "dev": true - }, "node_modules/trim-newlines": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-3.0.1.tgz", @@ -13257,16 +12654,6 @@ "node": ">=8" } }, - "node_modules/trim-trailing-lines": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/trim-trailing-lines/-/trim-trailing-lines-1.1.4.tgz", - "integrity": "sha512-rjUWSqnfTNrjbB9NQWfPMH/xRK1deHeGsHoVfpxJ++XeYXE0d6B1En37AHfw3jtfTU7dzMzZL2jjpe8Qb5gLIQ==", - "dev": true, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, "node_modules/trough": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/trough/-/trough-1.0.5.tgz", @@ -13433,20 +12820,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/unherit": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/unherit/-/unherit-1.1.3.tgz", - "integrity": "sha512-Ft16BJcnapDKp0+J/rqFC3Rrk6Y/Ng4nzsC028k2jdDII/rdZ7Wd3pPT/6+vIIxRagwRc9K0IUX0Ra4fKvw+WQ==", - "dev": true, - "dependencies": { - "inherits": "^2.0.0", - "xtend": "^4.0.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, "node_modules/unified": { "version": "9.2.0", "resolved": "https://registry.npmjs.org/unified/-/unified-9.2.0.tgz", @@ -13465,116 +12838,6 @@ "url": "https://opencollective.com/unified" } }, - "node_modules/unified-lint-rule": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/unified-lint-rule/-/unified-lint-rule-2.1.1.tgz", - "integrity": "sha512-vsLHyLZFstqtGse2gvrGwasOmH8M2y+r2kQMoDSWzSqUkQx2MjHjvZuGSv5FUaiv4RQO1bHRajy7lSGp7XWq5A==", - "dev": true, - "dependencies": { - "@types/unist": "^2.0.0", - "trough": "^2.0.0", - "unified": "^10.0.0", - "vfile": "^5.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/unified-lint-rule/node_modules/bail": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/bail/-/bail-2.0.2.tgz", - "integrity": "sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==", - "dev": true, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/unified-lint-rule/node_modules/is-plain-obj": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz", - "integrity": "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==", - "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/unified-lint-rule/node_modules/trough": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/trough/-/trough-2.1.0.tgz", - "integrity": "sha512-AqTiAOLcj85xS7vQ8QkAV41hPDIJ71XJB4RCUrzo/1GM2CQwhkJGaf9Hgr7BOugMRpgGUrqRg/DrBDl4H40+8g==", - "dev": true, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/unified-lint-rule/node_modules/unified": { - "version": "10.1.2", - "resolved": "https://registry.npmjs.org/unified/-/unified-10.1.2.tgz", - "integrity": "sha512-pUSWAi/RAnVy1Pif2kAoeWNBa3JVrx0MId2LASj8G+7AiHWoKZNTomq6LG326T68U7/e263X6fTdcXIy7XnF7Q==", - "dev": true, - "dependencies": { - "@types/unist": "^2.0.0", - "bail": "^2.0.0", - "extend": "^3.0.0", - "is-buffer": "^2.0.0", - "is-plain-obj": "^4.0.0", - "trough": "^2.0.0", - "vfile": "^5.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/unified-lint-rule/node_modules/unist-util-stringify-position": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-3.0.3.tgz", - "integrity": "sha512-k5GzIBZ/QatR8N5X2y+drfpWG8IDBzdnVj6OInRNWm1oXrzydiaAT2OQiA8DPRRZyAKb9b6I2a6PxYklZD0gKg==", - "dev": true, - "dependencies": { - "@types/unist": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/unified-lint-rule/node_modules/vfile": { - "version": "5.3.7", - "resolved": "https://registry.npmjs.org/vfile/-/vfile-5.3.7.tgz", - "integrity": "sha512-r7qlzkgErKjobAmyNIkkSpizsFPYiUPuJb5pNW1RB4JcYVZhs4lIbVqk8XPk033CV/1z8ss5pkax8SuhGpcG8g==", - "dev": true, - "dependencies": { - "@types/unist": "^2.0.0", - "is-buffer": "^2.0.0", - "unist-util-stringify-position": "^3.0.0", - "vfile-message": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/unified-lint-rule/node_modules/vfile-message": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-3.1.4.tgz", - "integrity": "sha512-fa0Z6P8HUrQN4BZaX05SIVXic+7kE3b05PWAtPuYP9QLHsLKYR7/AlLW3NtOrpXRLeawpDLMsVkmk5DG0NXgWw==", - "dev": true, - "dependencies": { - "@types/unist": "^2.0.0", - "unist-util-stringify-position": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, "node_modules/unified/node_modules/is-plain-obj": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", @@ -13623,139 +12886,48 @@ "url": "https://opencollective.com/unified" } }, - "node_modules/unist-util-remove-position": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/unist-util-remove-position/-/unist-util-remove-position-2.0.1.tgz", - "integrity": "sha512-fDZsLYIe2uT+oGFnuZmy73K6ZxOPG/Qcm+w7jbEjaFcJgbQ6cqjs/eSPzXhsmGpAsWPkqZM9pYjww5QTn3LHMA==", - "dev": true, - "dependencies": { - "unist-util-visit": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/unist-util-remove-position/node_modules/unist-util-visit": { + "node_modules/unist-util-stringify-position": { "version": "2.0.3", - "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-2.0.3.tgz", - "integrity": "sha512-iJ4/RczbJMkD0712mGktuGpm/U4By4FfDonL7N/9tATGIF4imikjOuagyMY53tnZq3NP6BcmlrHhEKAfGWjh7Q==", + "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-2.0.3.tgz", + "integrity": "sha512-3faScn5I+hy9VleOq/qNbAd6pAx7iH5jYBMS9I1HgQVijz/4mv5Bvw5iw1sC/90CODiKo81G/ps8AJrISn687g==", "dev": true, "dependencies": { - "@types/unist": "^2.0.0", - "unist-util-is": "^4.0.0", - "unist-util-visit-parents": "^3.0.0" + "@types/unist": "^2.0.2" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/unified" } }, - "node_modules/unist-util-remove-position/node_modules/unist-util-visit-parents": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-3.1.1.tgz", - "integrity": "sha512-1KROIZWo6bcMrZEwiH2UrXDyalAa0uqzWCxCJj6lPOvTve2WkfgCytoDTPaMnodXh1WrXOq0haVYHj99ynJlsg==", + "node_modules/universalify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-1.0.0.tgz", + "integrity": "sha512-rb6X1W158d7pRQBg5gkR8uPaSfiids68LTJQYOtEUhoJUWBdaQHsuT/EUduxXYxcrt4r5PJ4fuHW1MHT6p0qug==", "dev": true, - "dependencies": { - "@types/unist": "^2.0.0", - "unist-util-is": "^4.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "engines": { + "node": ">= 10.0.0" } }, - "node_modules/unist-util-stringify-position": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-2.0.3.tgz", - "integrity": "sha512-3faScn5I+hy9VleOq/qNbAd6pAx7iH5jYBMS9I1HgQVijz/4mv5Bvw5iw1sC/90CODiKo81G/ps8AJrISn687g==", + "node_modules/unset-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", + "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", "dev": true, + "peer": true, "dependencies": { - "@types/unist": "^2.0.2" + "has-value": "^0.3.1", + "isobject": "^3.0.0" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "engines": { + "node": ">=0.10.0" } }, - "node_modules/unist-util-visit": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-4.1.2.tgz", - "integrity": "sha512-MSd8OUGISqHdVvfY9TPhyK2VdUrPgxkUtWSuMHF6XAAFuL4LokseigBnZtPnJMu+FbynTkFNnFlyjxpVKujMRg==", + "node_modules/unset-value/node_modules/has-value": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", + "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", "dev": true, - "dependencies": { - "@types/unist": "^2.0.0", - "unist-util-is": "^5.0.0", - "unist-util-visit-parents": "^5.1.1" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/unist-util-visit-parents": { - "version": "5.1.3", - "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-5.1.3.tgz", - "integrity": "sha512-x6+y8g7wWMyQhL1iZfhIPhDAs7Xwbn9nRosDXl7qoPTSCy0yNxnKc+hWokFifWQIDGi154rdUqKvbCa4+1kLhg==", - "dev": true, - "dependencies": { - "@types/unist": "^2.0.0", - "unist-util-is": "^5.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/unist-util-visit-parents/node_modules/unist-util-is": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-5.2.0.tgz", - "integrity": "sha512-Glt17jWwZeyqrFqOK0pF1Ded5U3yzJnFr8CG1GMjCWTp9zDo2p+cmD6pWbZU8AgM5WU3IzRv6+rBwhzsGh6hBQ==", - "dev": true, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/unist-util-visit/node_modules/unist-util-is": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-5.2.0.tgz", - "integrity": "sha512-Glt17jWwZeyqrFqOK0pF1Ded5U3yzJnFr8CG1GMjCWTp9zDo2p+cmD6pWbZU8AgM5WU3IzRv6+rBwhzsGh6hBQ==", - "dev": true, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/universalify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-1.0.0.tgz", - "integrity": "sha512-rb6X1W158d7pRQBg5gkR8uPaSfiids68LTJQYOtEUhoJUWBdaQHsuT/EUduxXYxcrt4r5PJ4fuHW1MHT6p0qug==", - "dev": true, - "engines": { - "node": ">= 10.0.0" - } - }, - "node_modules/unset-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", - "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", - "dev": true, - "peer": true, - "dependencies": { - "has-value": "^0.3.1", - "isobject": "^3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/unset-value/node_modules/has-value": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", - "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", - "dev": true, - "peer": true, + "peer": true, "dependencies": { "get-value": "^2.0.3", "has-values": "^0.1.4", @@ -13803,484 +12975,111 @@ "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=", "deprecated": "Please see https://github.com/lydell/urix#deprecated", "dev": true, - "peer": true - }, - "node_modules/url-regex": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/url-regex/-/url-regex-5.0.0.tgz", - "integrity": "sha512-O08GjTiAFNsSlrUWfqF1jH0H1W3m35ZyadHrGv5krdnmPPoxP27oDTqux/579PtaroiSGm5yma6KT1mHFH6Y/g==", - "dev": true, - "dependencies": { - "ip-regex": "^4.1.0", - "tlds": "^1.203.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/use": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", - "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", - "dev": true, - "peer": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/use-sync-external-store": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.2.0.tgz", - "integrity": "sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA==", - "dev": true, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0" - } - }, - "node_modules/util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", - "dev": true - }, - "node_modules/v8-compile-cache": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz", - "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==", - "dev": true - }, - "node_modules/v8-to-istanbul": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-7.1.2.tgz", - "integrity": "sha512-TxNb7YEUwkLXCQYeudi6lgQ/SZrzNO4kMdlqVxaZPUIUjCv6iSSypUQX70kNBSERpQ8fk48+d61FXk+tgqcWow==", - "dev": true, - "peer": true, - "dependencies": { - "@types/istanbul-lib-coverage": "^2.0.1", - "convert-source-map": "^1.6.0", - "source-map": "^0.7.3" - }, - "engines": { - "node": ">=10.10.0" - } - }, - "node_modules/v8-to-istanbul/node_modules/source-map": { - "version": "0.7.3", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", - "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", - "dev": true, - "peer": true, - "engines": { - "node": ">= 8" - } - }, - "node_modules/validate-npm-package-license": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", - "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", - "dev": true, - "dependencies": { - "spdx-correct": "^3.0.0", - "spdx-expression-parse": "^3.0.0" - } - }, - "node_modules/vfile": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/vfile/-/vfile-4.2.1.tgz", - "integrity": "sha512-O6AE4OskCG5S1emQ/4gl8zK586RqA3srz3nfK/Viy0UPToBc5Trp9BVFb1u0CjsKrAWwnpr4ifM/KBXPWwJbCA==", - "dev": true, - "dependencies": { - "@types/unist": "^2.0.0", - "is-buffer": "^2.0.0", - "unist-util-stringify-position": "^2.0.0", - "vfile-message": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/vfile-location": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/vfile-location/-/vfile-location-3.2.0.tgz", - "integrity": "sha512-aLEIZKv/oxuCDZ8lkJGhuhztf/BW4M+iHdCwglA/eWc+vtuRFJj8EtgceYFX4LRjOhCAAiNHsKGssC6onJ+jbA==", - "dev": true, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/vfile-matter": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/vfile-matter/-/vfile-matter-4.0.1.tgz", - "integrity": "sha512-ZeACdaxCOxhePpoLO4A5y/VgI9EuWBXu+sUk65aQ7lXBZDFg7X0tuOzigLJUtsQzazFt6K2m9SdlDxZdfL5vVg==", - "dev": true, - "dependencies": { - "is-buffer": "^2.0.0", - "vfile": "^5.0.0", - "yaml": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/vfile-matter/node_modules/unist-util-stringify-position": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-3.0.3.tgz", - "integrity": "sha512-k5GzIBZ/QatR8N5X2y+drfpWG8IDBzdnVj6OInRNWm1oXrzydiaAT2OQiA8DPRRZyAKb9b6I2a6PxYklZD0gKg==", - "dev": true, - "dependencies": { - "@types/unist": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/vfile-matter/node_modules/vfile": { - "version": "5.3.7", - "resolved": "https://registry.npmjs.org/vfile/-/vfile-5.3.7.tgz", - "integrity": "sha512-r7qlzkgErKjobAmyNIkkSpizsFPYiUPuJb5pNW1RB4JcYVZhs4lIbVqk8XPk033CV/1z8ss5pkax8SuhGpcG8g==", - "dev": true, - "dependencies": { - "@types/unist": "^2.0.0", - "is-buffer": "^2.0.0", - "unist-util-stringify-position": "^3.0.0", - "vfile-message": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/vfile-matter/node_modules/vfile-message": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-3.1.4.tgz", - "integrity": "sha512-fa0Z6P8HUrQN4BZaX05SIVXic+7kE3b05PWAtPuYP9QLHsLKYR7/AlLW3NtOrpXRLeawpDLMsVkmk5DG0NXgWw==", - "dev": true, - "dependencies": { - "@types/unist": "^2.0.0", - "unist-util-stringify-position": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/vfile-matter/node_modules/yaml": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.2.1.tgz", - "integrity": "sha512-e0WHiYql7+9wr4cWMx3TVQrNwejKaEe7/rHNmQmqRjazfOP5W8PB6Jpebb5o6fIapbz9o9+2ipcaTM2ZwDI6lw==", - "dev": true, - "engines": { - "node": ">= 14" - } - }, - "node_modules/vfile-message": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-2.0.4.tgz", - "integrity": "sha512-DjssxRGkMvifUOJre00juHoP9DPWuzjxKuMDrhNbk2TdaYYBNMStsNhEOt3idrtI12VQYM/1+iM0KOzXi4pxwQ==", - "dev": true, - "dependencies": { - "@types/unist": "^2.0.0", - "unist-util-stringify-position": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/vfile-reporter": { - "version": "7.0.5", - "resolved": "https://registry.npmjs.org/vfile-reporter/-/vfile-reporter-7.0.5.tgz", - "integrity": "sha512-NdWWXkv6gcd7AZMvDomlQbK3MqFWL1RlGzMn++/O2TI+68+nqxCPTvLugdOtfSzXmjh+xUyhp07HhlrbJjT+mw==", - "dev": true, - "dependencies": { - "@types/supports-color": "^8.0.0", - "string-width": "^5.0.0", - "supports-color": "^9.0.0", - "unist-util-stringify-position": "^3.0.0", - "vfile": "^5.0.0", - "vfile-message": "^3.0.0", - "vfile-sort": "^3.0.0", - "vfile-statistics": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/vfile-reporter-json": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/vfile-reporter-json/-/vfile-reporter-json-3.3.0.tgz", - "integrity": "sha512-/zgRtjxQ2UGJn+HViiZ7+nIXtUzkkXFQum3BmaS/bSyr10P0X41ETRqqwMJ95RtbKUah3m7pKb6oS1eZeXXHzQ==", - "dev": true, - "dependencies": { - "vfile": "^5.0.0", - "vfile-message": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/vfile-reporter-json/node_modules/unist-util-stringify-position": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-3.0.3.tgz", - "integrity": "sha512-k5GzIBZ/QatR8N5X2y+drfpWG8IDBzdnVj6OInRNWm1oXrzydiaAT2OQiA8DPRRZyAKb9b6I2a6PxYklZD0gKg==", - "dev": true, - "dependencies": { - "@types/unist": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/vfile-reporter-json/node_modules/vfile": { - "version": "5.3.7", - "resolved": "https://registry.npmjs.org/vfile/-/vfile-5.3.7.tgz", - "integrity": "sha512-r7qlzkgErKjobAmyNIkkSpizsFPYiUPuJb5pNW1RB4JcYVZhs4lIbVqk8XPk033CV/1z8ss5pkax8SuhGpcG8g==", - "dev": true, - "dependencies": { - "@types/unist": "^2.0.0", - "is-buffer": "^2.0.0", - "unist-util-stringify-position": "^3.0.0", - "vfile-message": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/vfile-reporter-json/node_modules/vfile-message": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-3.1.4.tgz", - "integrity": "sha512-fa0Z6P8HUrQN4BZaX05SIVXic+7kE3b05PWAtPuYP9QLHsLKYR7/AlLW3NtOrpXRLeawpDLMsVkmk5DG0NXgWw==", - "dev": true, - "dependencies": { - "@types/unist": "^2.0.0", - "unist-util-stringify-position": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/vfile-reporter/node_modules/ansi-regex": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", - "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", - "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-regex?sponsor=1" - } - }, - "node_modules/vfile-reporter/node_modules/emoji-regex": { - "version": "9.2.2", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", - "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", - "dev": true - }, - "node_modules/vfile-reporter/node_modules/string-width": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", - "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", - "dev": true, - "dependencies": { - "eastasianwidth": "^0.2.0", - "emoji-regex": "^9.2.2", - "strip-ansi": "^7.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/vfile-reporter/node_modules/strip-ansi": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.0.1.tgz", - "integrity": "sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw==", - "dev": true, - "dependencies": { - "ansi-regex": "^6.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" - } - }, - "node_modules/vfile-reporter/node_modules/supports-color": { - "version": "9.3.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-9.3.1.tgz", - "integrity": "sha512-knBY82pjmnIzK3NifMo3RxEIRD9E0kIzV4BKcyTZ9+9kWgLMxd4PrsTSMoFQUabgRBbF8KOLRDCyKgNV+iK44Q==", - "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" - } - }, - "node_modules/vfile-reporter/node_modules/unist-util-stringify-position": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-3.0.3.tgz", - "integrity": "sha512-k5GzIBZ/QatR8N5X2y+drfpWG8IDBzdnVj6OInRNWm1oXrzydiaAT2OQiA8DPRRZyAKb9b6I2a6PxYklZD0gKg==", - "dev": true, - "dependencies": { - "@types/unist": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/vfile-reporter/node_modules/vfile": { - "version": "5.3.7", - "resolved": "https://registry.npmjs.org/vfile/-/vfile-5.3.7.tgz", - "integrity": "sha512-r7qlzkgErKjobAmyNIkkSpizsFPYiUPuJb5pNW1RB4JcYVZhs4lIbVqk8XPk033CV/1z8ss5pkax8SuhGpcG8g==", - "dev": true, - "dependencies": { - "@types/unist": "^2.0.0", - "is-buffer": "^2.0.0", - "unist-util-stringify-position": "^3.0.0", - "vfile-message": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/vfile-reporter/node_modules/vfile-message": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-3.1.4.tgz", - "integrity": "sha512-fa0Z6P8HUrQN4BZaX05SIVXic+7kE3b05PWAtPuYP9QLHsLKYR7/AlLW3NtOrpXRLeawpDLMsVkmk5DG0NXgWw==", - "dev": true, - "dependencies": { - "@types/unist": "^2.0.0", - "unist-util-stringify-position": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } + "peer": true }, - "node_modules/vfile-sort": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/vfile-sort/-/vfile-sort-3.0.1.tgz", - "integrity": "sha512-1os1733XY6y0D5x0ugqSeaVJm9lYgj0j5qdcZQFyxlZOSy1jYarL77lLyb5gK4Wqr1d5OxmuyflSO3zKyFnTFw==", + "node_modules/url-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/url-regex/-/url-regex-5.0.0.tgz", + "integrity": "sha512-O08GjTiAFNsSlrUWfqF1jH0H1W3m35ZyadHrGv5krdnmPPoxP27oDTqux/579PtaroiSGm5yma6KT1mHFH6Y/g==", "dev": true, "dependencies": { - "vfile": "^5.0.0", - "vfile-message": "^3.0.0" + "ip-regex": "^4.1.0", + "tlds": "^1.203.0" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "engines": { + "node": ">=8" } }, - "node_modules/vfile-sort/node_modules/unist-util-stringify-position": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-3.0.3.tgz", - "integrity": "sha512-k5GzIBZ/QatR8N5X2y+drfpWG8IDBzdnVj6OInRNWm1oXrzydiaAT2OQiA8DPRRZyAKb9b6I2a6PxYklZD0gKg==", + "node_modules/use": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", + "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", "dev": true, - "dependencies": { - "@types/unist": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "peer": true, + "engines": { + "node": ">=0.10.0" } }, - "node_modules/vfile-sort/node_modules/vfile": { - "version": "5.3.7", - "resolved": "https://registry.npmjs.org/vfile/-/vfile-5.3.7.tgz", - "integrity": "sha512-r7qlzkgErKjobAmyNIkkSpizsFPYiUPuJb5pNW1RB4JcYVZhs4lIbVqk8XPk033CV/1z8ss5pkax8SuhGpcG8g==", + "node_modules/use-sync-external-store": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.2.0.tgz", + "integrity": "sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA==", "dev": true, - "dependencies": { - "@types/unist": "^2.0.0", - "is-buffer": "^2.0.0", - "unist-util-stringify-position": "^3.0.0", - "vfile-message": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" } }, - "node_modules/vfile-sort/node_modules/vfile-message": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-3.1.4.tgz", - "integrity": "sha512-fa0Z6P8HUrQN4BZaX05SIVXic+7kE3b05PWAtPuYP9QLHsLKYR7/AlLW3NtOrpXRLeawpDLMsVkmk5DG0NXgWw==", + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", + "dev": true + }, + "node_modules/v8-compile-cache": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz", + "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==", + "dev": true + }, + "node_modules/v8-to-istanbul": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-7.1.2.tgz", + "integrity": "sha512-TxNb7YEUwkLXCQYeudi6lgQ/SZrzNO4kMdlqVxaZPUIUjCv6iSSypUQX70kNBSERpQ8fk48+d61FXk+tgqcWow==", "dev": true, + "peer": true, "dependencies": { - "@types/unist": "^2.0.0", - "unist-util-stringify-position": "^3.0.0" + "@types/istanbul-lib-coverage": "^2.0.1", + "convert-source-map": "^1.6.0", + "source-map": "^0.7.3" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "engines": { + "node": ">=10.10.0" } }, - "node_modules/vfile-statistics": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/vfile-statistics/-/vfile-statistics-2.0.1.tgz", - "integrity": "sha512-W6dkECZmP32EG/l+dp2jCLdYzmnDBIw6jwiLZSER81oR5AHRcVqL+k3Z+pfH1R73le6ayDkJRMk0sutj1bMVeg==", + "node_modules/v8-to-istanbul/node_modules/source-map": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", + "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", "dev": true, - "dependencies": { - "vfile": "^5.0.0", - "vfile-message": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "peer": true, + "engines": { + "node": ">= 8" } }, - "node_modules/vfile-statistics/node_modules/unist-util-stringify-position": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-3.0.3.tgz", - "integrity": "sha512-k5GzIBZ/QatR8N5X2y+drfpWG8IDBzdnVj6OInRNWm1oXrzydiaAT2OQiA8DPRRZyAKb9b6I2a6PxYklZD0gKg==", + "node_modules/validate-npm-package-license": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", "dev": true, "dependencies": { - "@types/unist": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" } }, - "node_modules/vfile-statistics/node_modules/vfile": { - "version": "5.3.7", - "resolved": "https://registry.npmjs.org/vfile/-/vfile-5.3.7.tgz", - "integrity": "sha512-r7qlzkgErKjobAmyNIkkSpizsFPYiUPuJb5pNW1RB4JcYVZhs4lIbVqk8XPk033CV/1z8ss5pkax8SuhGpcG8g==", + "node_modules/vfile": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/vfile/-/vfile-4.2.1.tgz", + "integrity": "sha512-O6AE4OskCG5S1emQ/4gl8zK586RqA3srz3nfK/Viy0UPToBc5Trp9BVFb1u0CjsKrAWwnpr4ifM/KBXPWwJbCA==", "dev": true, "dependencies": { "@types/unist": "^2.0.0", "is-buffer": "^2.0.0", - "unist-util-stringify-position": "^3.0.0", - "vfile-message": "^3.0.0" + "unist-util-stringify-position": "^2.0.0", + "vfile-message": "^2.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/unified" } }, - "node_modules/vfile-statistics/node_modules/vfile-message": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-3.1.4.tgz", - "integrity": "sha512-fa0Z6P8HUrQN4BZaX05SIVXic+7kE3b05PWAtPuYP9QLHsLKYR7/AlLW3NtOrpXRLeawpDLMsVkmk5DG0NXgWw==", + "node_modules/vfile-message": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-2.0.4.tgz", + "integrity": "sha512-DjssxRGkMvifUOJre00juHoP9DPWuzjxKuMDrhNbk2TdaYYBNMStsNhEOt3idrtI12VQYM/1+iM0KOzXi4pxwQ==", "dev": true, "dependencies": { "@types/unist": "^2.0.0", - "unist-util-stringify-position": "^3.0.0" + "unist-util-stringify-position": "^2.0.0" }, "funding": { "type": "opencollective", @@ -14474,15 +13273,6 @@ "dev": true, "peer": true }, - "node_modules/xtend": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", - "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", - "dev": true, - "engines": { - "node": ">=0.4" - } - }, "node_modules/y18n": { "version": "4.0.3", "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", @@ -14629,15 +13419,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/zod": { - "version": "3.20.6", - "resolved": "https://registry.npmjs.org/zod/-/zod-3.20.6.tgz", - "integrity": "sha512-oyu0m54SGCtzh6EClBVqDDlAYRz4jrVtKwQ7ZnsEmMI9HnzuZFj8QFwAY1M5uniIYACdGvv0PBWPF2kO0aNofA==", - "dev": true, - "funding": { - "url": "https://github.com/sponsors/colinhacks" - } - }, "node_modules/zwitch": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/zwitch/-/zwitch-1.0.5.tgz", @@ -14766,10 +13547,11 @@ } }, "@babel/helper-plugin-utils": { - "version": "7.20.2", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.20.2.tgz", - "integrity": "sha512-8RvlJG2mj4huQ4pZ+rU9lqKi9ZKiRmuvGuM2HlWmkmgOhbs6zEAw6IEiJ5cQqGbDzGZOhwuOQNtZMi/ENLjZoQ==", - "dev": true + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.14.5.tgz", + "integrity": "sha512-/37qQCE3K0vvZKwoK4XU/irIJQdIfCJuhU5eKnNxpFDsOkgFaUAwbv+RYw6eYgsC0E4hS7r5KqGULUogqui0fQ==", + "dev": true, + "peer": true }, "@babel/helper-replace-supers": { "version": "7.14.4", @@ -14887,17 +13669,6 @@ "integrity": "sha512-vqUSBLP8dQHFPdPi9bc5GK9vRkYHJ49fsZdtoJ8EQ8ibpwk5rPKfvNIwChB0KVXcIjcepEBBd2VHC5r9Gy8ueg==", "dev": true }, - "@babel/plugin-proposal-object-rest-spread": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.12.1.tgz", - "integrity": "sha512-s6SowJIjzlhx8o7lsFx5zmY4At6CTtDvgNQDdPzkBQucle58A6b/TTeEBYtyDgmcXjUTM+vE8YOGHZzzbc/ioA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/plugin-syntax-object-rest-spread": "^7.8.0", - "@babel/plugin-transform-parameters": "^7.12.1" - } - }, "@babel/plugin-syntax-async-generators": { "version": "7.8.4", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", @@ -14948,15 +13719,6 @@ "@babel/helper-plugin-utils": "^7.8.0" } }, - "@babel/plugin-syntax-jsx": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.12.1.tgz", - "integrity": "sha512-1yRi7yAtB0ETgxdY9ti/p2TivUxJkTdhu/ZbF9MshVGqOx1TdB3b7xCXs49Fupgg50N45KcAsRP/ZqWjs9SRjg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, "@babel/plugin-syntax-logical-assignment-operators": { "version": "7.10.4", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", @@ -14992,6 +13754,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", "dev": true, + "peer": true, "requires": { "@babel/helper-plugin-utils": "^7.8.0" } @@ -15026,15 +13789,6 @@ "@babel/helper-plugin-utils": "^7.14.5" } }, - "@babel/plugin-transform-parameters": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.20.7.tgz", - "integrity": "sha512-WiWBIkeHKVOSYPO0pWkxGPfKeWrCJyD3NJ53+Lrp/QMSZbsVPovrVl2aWZ19D/LTVnaDv5Ap7GJ/B2CTOZdrfA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.20.2" - } - }, "@babel/runtime": { "version": "7.20.7", "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.20.7.tgz", @@ -15149,9 +13903,9 @@ } }, "@hashicorp/platform-cli": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/@hashicorp/platform-cli/-/platform-cli-2.6.0.tgz", - "integrity": "sha512-nMO7Uiy/A5CT/BCE9RyQt6/Uci7bxwTesxCNWkXlciyqlIrz9WmBa9hr710IiMoDzrzQ1tL6AgFIeTbXs4RTqA==", + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@hashicorp/platform-cli/-/platform-cli-2.5.1.tgz", + "integrity": "sha512-kW9bxaYB/Tt3Djl75Kh+u/jRAe7MuX6mdcw+amPaBUnO9ZnNXQXe73fv7nYm7CueZZd2y5PWfx5LPaxWQzhM4g==", "dev": true, "requires": { "@hashicorp/platform-cms": "0.3.0", @@ -15211,242 +13965,6 @@ "rivet-graphql": "0.3.1" } }, - "@hashicorp/platform-content-conformance": { - "version": "0.0.10", - "resolved": "https://registry.npmjs.org/@hashicorp/platform-content-conformance/-/platform-content-conformance-0.0.10.tgz", - "integrity": "sha512-vXLbd2w9phS4JfFyh17jCiyu+LXVonTfb7WEUK2eMlOL/wxe2umyJvEQaJNzD5bwyYC8LuXGA5JkbnPXnU5ZQg==", - "dev": true, - "requires": { - "find-up": "^6.3.0", - "flat": "^5.0.2", - "globby": "^13.1.2", - "mdast-util-to-string": "^3.1.0", - "remark": "12.0.1", - "remark-mdx": "^1.6.22", - "unified-lint-rule": "^2.1.1", - "unist-util-stringify-position": "^3.0.2", - "unist-util-visit": "^4.1.1", - "vfile": "^5.3.6", - "vfile-matter": "^4.0.0", - "vfile-reporter": "^7.0.4", - "vfile-reporter-json": "^3.2.0", - "vfile-statistics": "^2.0.0", - "yaml": "^2.1.3", - "yargs": "^17.4.1", - "zod": "^3.19.1" - }, - "dependencies": { - "cliui": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", - "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", - "dev": true, - "requires": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.1", - "wrap-ansi": "^7.0.0" - } - }, - "find-up": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-6.3.0.tgz", - "integrity": "sha512-v2ZsoEuVHYy8ZIlYqwPe/39Cy+cFDzp4dXPaxNvkEuouymu+2Jbz0PxpKarJHYJTmv2HWT3O382qY8l4jMWthw==", - "dev": true, - "requires": { - "locate-path": "^7.1.0", - "path-exists": "^5.0.0" - } - }, - "globby": { - "version": "13.1.3", - "resolved": "https://registry.npmjs.org/globby/-/globby-13.1.3.tgz", - "integrity": "sha512-8krCNHXvlCgHDpegPzleMq07yMYTO2sXKASmZmquEYWEmCx6J5UTRbp5RwMJkTJGtcQ44YpiUYUiN0b9mzy8Bw==", - "dev": true, - "requires": { - "dir-glob": "^3.0.1", - "fast-glob": "^3.2.11", - "ignore": "^5.2.0", - "merge2": "^1.4.1", - "slash": "^4.0.0" - } - }, - "locate-path": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-7.2.0.tgz", - "integrity": "sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA==", - "dev": true, - "requires": { - "p-locate": "^6.0.0" - } - }, - "mdast-util-to-string": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-3.1.1.tgz", - "integrity": "sha512-tGvhT94e+cVnQt8JWE9/b3cUQZWS732TJxXHktvP+BYo62PpYD53Ls/6cC60rW21dW+txxiM4zMdc6abASvZKA==", - "dev": true, - "requires": { - "@types/mdast": "^3.0.0" - } - }, - "p-limit": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-4.0.0.tgz", - "integrity": "sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==", - "dev": true, - "requires": { - "yocto-queue": "^1.0.0" - } - }, - "p-locate": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-6.0.0.tgz", - "integrity": "sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw==", - "dev": true, - "requires": { - "p-limit": "^4.0.0" - } - }, - "path-exists": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-5.0.0.tgz", - "integrity": "sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==", - "dev": true - }, - "remark": { - "version": "12.0.1", - "resolved": "https://registry.npmjs.org/remark/-/remark-12.0.1.tgz", - "integrity": "sha512-gS7HDonkdIaHmmP/+shCPejCEEW+liMp/t/QwmF0Xt47Rpuhl32lLtDV1uKWvGoq+kxr5jSgg5oAIpGuyULjUw==", - "dev": true, - "requires": { - "remark-parse": "^8.0.0", - "remark-stringify": "^8.0.0", - "unified": "^9.0.0" - } - }, - "remark-parse": { - "version": "8.0.3", - "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-8.0.3.tgz", - "integrity": "sha512-E1K9+QLGgggHxCQtLt++uXltxEprmWzNfg+MxpfHsZlrddKzZ/hZyWHDbK3/Ap8HJQqYJRXP+jHczdL6q6i85Q==", - "dev": true, - "requires": { - "ccount": "^1.0.0", - "collapse-white-space": "^1.0.2", - "is-alphabetical": "^1.0.0", - "is-decimal": "^1.0.0", - "is-whitespace-character": "^1.0.0", - "is-word-character": "^1.0.0", - "markdown-escapes": "^1.0.0", - "parse-entities": "^2.0.0", - "repeat-string": "^1.5.4", - "state-toggle": "^1.0.0", - "trim": "0.0.1", - "trim-trailing-lines": "^1.0.0", - "unherit": "^1.0.4", - "unist-util-remove-position": "^2.0.0", - "vfile-location": "^3.0.0", - "xtend": "^4.0.1" - } - }, - "remark-stringify": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/remark-stringify/-/remark-stringify-8.1.1.tgz", - "integrity": "sha512-q4EyPZT3PcA3Eq7vPpT6bIdokXzFGp9i85igjmhRyXWmPs0Y6/d2FYwUNotKAWyLch7g0ASZJn/KHHcHZQ163A==", - "dev": true, - "requires": { - "ccount": "^1.0.0", - "is-alphanumeric": "^1.0.0", - "is-decimal": "^1.0.0", - "is-whitespace-character": "^1.0.0", - "longest-streak": "^2.0.1", - "markdown-escapes": "^1.0.0", - "markdown-table": "^2.0.0", - "mdast-util-compact": "^2.0.0", - "parse-entities": "^2.0.0", - "repeat-string": "^1.5.4", - "state-toggle": "^1.0.0", - "stringify-entities": "^3.0.0", - "unherit": "^1.0.4", - "xtend": "^4.0.1" - } - }, - "slash": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz", - "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==", - "dev": true - }, - "unist-util-stringify-position": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-3.0.3.tgz", - "integrity": "sha512-k5GzIBZ/QatR8N5X2y+drfpWG8IDBzdnVj6OInRNWm1oXrzydiaAT2OQiA8DPRRZyAKb9b6I2a6PxYklZD0gKg==", - "dev": true, - "requires": { - "@types/unist": "^2.0.0" - } - }, - "vfile": { - "version": "5.3.7", - "resolved": "https://registry.npmjs.org/vfile/-/vfile-5.3.7.tgz", - "integrity": "sha512-r7qlzkgErKjobAmyNIkkSpizsFPYiUPuJb5pNW1RB4JcYVZhs4lIbVqk8XPk033CV/1z8ss5pkax8SuhGpcG8g==", - "dev": true, - "requires": { - "@types/unist": "^2.0.0", - "is-buffer": "^2.0.0", - "unist-util-stringify-position": "^3.0.0", - "vfile-message": "^3.0.0" - } - }, - "vfile-message": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-3.1.4.tgz", - "integrity": "sha512-fa0Z6P8HUrQN4BZaX05SIVXic+7kE3b05PWAtPuYP9QLHsLKYR7/AlLW3NtOrpXRLeawpDLMsVkmk5DG0NXgWw==", - "dev": true, - "requires": { - "@types/unist": "^2.0.0", - "unist-util-stringify-position": "^3.0.0" - } - }, - "y18n": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", - "dev": true - }, - "yaml": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.2.1.tgz", - "integrity": "sha512-e0WHiYql7+9wr4cWMx3TVQrNwejKaEe7/rHNmQmqRjazfOP5W8PB6Jpebb5o6fIapbz9o9+2ipcaTM2ZwDI6lw==", - "dev": true - }, - "yargs": { - "version": "17.7.1", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.1.tgz", - "integrity": "sha512-cwiTb08Xuv5fqF4AovYacTFNxk62th7LKJ6BL9IGUpTJrWoU7/7WdQGTP2SjKf1dUNBGzDd28p/Yfs/GI6JrLw==", - "dev": true, - "requires": { - "cliui": "^8.0.1", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.3", - "y18n": "^5.0.5", - "yargs-parser": "^21.1.1" - } - }, - "yargs-parser": { - "version": "21.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", - "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", - "dev": true - }, - "yocto-queue": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.0.0.tgz", - "integrity": "sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==", - "dev": true - } - } - }, "@humanwhocodes/config-array": { "version": "0.11.8", "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.8.tgz", @@ -15789,12 +14307,6 @@ "chalk": "^4.0.0" } }, - "@mdx-js/util": { - "version": "1.6.22", - "resolved": "https://registry.npmjs.org/@mdx-js/util/-/util-1.6.22.tgz", - "integrity": "sha512-H1rQc1ZOHANWBvPcW+JpGwr+juXSxM8Q8YCkm3GhZd8REu1fHR3z99CErO1p9pkcfcxZnMdIZdIsXkOHY0NilA==", - "dev": true - }, "@next/env": { "version": "12.3.1", "resolved": "https://registry.npmjs.org/@next/env/-/env-12.3.1.tgz", @@ -16173,12 +14685,6 @@ "dev": true, "peer": true }, - "@types/supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/@types/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-dPWnWsf+kzIG140B8z2w3fr5D03TLWbOAFQl45xUpI3vcizeXriNR5VYkWZ+WTMsUHqZ9Xlt3hrxGNANFyNQfw==", - "dev": true - }, "@types/unist": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.3.tgz", @@ -17004,12 +15510,6 @@ "rsvp": "^4.8.4" } }, - "ccount": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/ccount/-/ccount-1.1.0.tgz", - "integrity": "sha512-vlNK021QdI7PNeiUh/lKkC/mNHHfV0m/Ad5JoI0TYtlBnJAslM/JIkm/tGC88bkLIwO6OQ5uV6ztS6kVAtCDlg==", - "dev": true - }, "chalk": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", @@ -17033,12 +15533,6 @@ "integrity": "sha512-iBMyeEHxfVnIakwOuDXpVkc54HijNgCyQB2w0VfGQThle6NXn50zU6V/u+LDhxHcDUPojn6Kpga3PTAD8W1bQw==", "dev": true }, - "character-entities-html4": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/character-entities-html4/-/character-entities-html4-1.1.4.tgz", - "integrity": "sha512-HRcDxZuZqMx3/a+qrzxdBKBPUpxWEq9xw2OPZ3a/174ihfrQKVsFhqtthBInFy1zZ9GgZyFXOatNujm8M+El3g==", - "dev": true - }, "character-entities-legacy": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-1.1.4.tgz", @@ -17246,12 +15740,6 @@ "dev": true, "peer": true }, - "collapse-white-space": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/collapse-white-space/-/collapse-white-space-1.0.6.tgz", - "integrity": "sha512-jEovNnrhMuqyCcjfEJA56v0Xq8SkIoPKDyaHahwo3POf4qcSXqMYuwNcOTzp74vTsR9Tn08z4MxWqAhcekogkQ==", - "dev": true - }, "collect-v8-coverage": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz", @@ -17680,12 +16168,6 @@ "domelementtype": "1" } }, - "eastasianwidth": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", - "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", - "dev": true - }, "ejs": { "version": "3.1.5", "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.5.tgz", @@ -18787,12 +17269,6 @@ "semver-regex": "^3.1.2" } }, - "flat": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", - "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==", - "dev": true - }, "flat-cache": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", @@ -18906,7 +17382,8 @@ "version": "2.0.5", "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", - "dev": true + "dev": true, + "peer": true }, "get-intrinsic": { "version": "1.1.3", @@ -19532,12 +18009,6 @@ "integrity": "sha512-DwzsA04LQ10FHTZuL0/grVDk4rFoVH1pjAToYwBrHSxcrBIGQuXrQMtD5U1b0U2XVgKZCTLLP8u2Qxqhy3l2Vg==", "dev": true }, - "is-alphanumeric": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-alphanumeric/-/is-alphanumeric-1.0.0.tgz", - "integrity": "sha512-ZmRL7++ZkcMOfDuWZuMJyIVLr2keE1o/DeNWh1EmgqGhUcV+9BIVsx0BcSBOHTZqzjs4+dISzr2KAeBEWGgXeA==", - "dev": true - }, "is-alphanumerical": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-1.0.4.tgz", @@ -19882,13 +18353,7 @@ "requires": { "call-bind": "^1.0.2", "get-intrinsic": "^1.1.1" - } - }, - "is-whitespace-character": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-whitespace-character/-/is-whitespace-character-1.0.4.tgz", - "integrity": "sha512-SDweEzfIZM0SJV0EUga669UTKlmL0Pq8Lno0QDQsPnvECB3IM2aP0gdx5TrU0A01MAPfViaZiI2V1QMZLaKK5w==", - "dev": true + } }, "is-windows": { "version": "1.0.2", @@ -19897,12 +18362,6 @@ "dev": true, "peer": true }, - "is-word-character": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-word-character/-/is-word-character-1.0.4.tgz", - "integrity": "sha512-5SMO8RVennx3nZrqtKwCGyyetPE9VDba5ugvKLaD4KopPG5kR4mQ7tNt/r7feL5yt5h3lpuBbIUmCOG2eSzXHA==", - "dev": true - }, "is-wsl": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", @@ -21057,59 +19516,12 @@ "object-visit": "^1.0.0" } }, - "markdown-escapes": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/markdown-escapes/-/markdown-escapes-1.0.4.tgz", - "integrity": "sha512-8z4efJYk43E0upd0NbVXwgSTQs6cT3T06etieCMEg7dRbzCbxUCK/GHlX8mhHRDcp+OLlHkPKsvqQTCvsRl2cg==", - "dev": true - }, - "markdown-table": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/markdown-table/-/markdown-table-2.0.0.tgz", - "integrity": "sha512-Ezda85ToJUBhM6WGaG6veasyym+Tbs3cMAw/ZhOPqXiYsr0jgocBV3j3nx+4lk47plLlIqjwuTm/ywVI+zjJ/A==", - "dev": true, - "requires": { - "repeat-string": "^1.0.0" - } - }, "mathml-tag-names": { "version": "2.1.3", "resolved": "https://registry.npmjs.org/mathml-tag-names/-/mathml-tag-names-2.1.3.tgz", "integrity": "sha512-APMBEanjybaPzUrfqU0IMU5I0AswKMH7k8OTLs0vvV4KZpExkTkY87nR/zpbuTPj+gARop7aGUbl11pnDfW6xg==", "dev": true }, - "mdast-util-compact": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/mdast-util-compact/-/mdast-util-compact-2.0.1.tgz", - "integrity": "sha512-7GlnT24gEwDrdAwEHrU4Vv5lLWrEer4KOkAiKT9nYstsTad7Oc1TwqT2zIMKRdZF7cTuaf+GA1E4Kv7jJh8mPA==", - "dev": true, - "requires": { - "unist-util-visit": "^2.0.0" - }, - "dependencies": { - "unist-util-visit": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-2.0.3.tgz", - "integrity": "sha512-iJ4/RczbJMkD0712mGktuGpm/U4By4FfDonL7N/9tATGIF4imikjOuagyMY53tnZq3NP6BcmlrHhEKAfGWjh7Q==", - "dev": true, - "requires": { - "@types/unist": "^2.0.0", - "unist-util-is": "^4.0.0", - "unist-util-visit-parents": "^3.0.0" - } - }, - "unist-util-visit-parents": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-3.1.1.tgz", - "integrity": "sha512-1KROIZWo6bcMrZEwiH2UrXDyalAa0uqzWCxCJj6lPOvTve2WkfgCytoDTPaMnodXh1WrXOq0haVYHj99ynJlsg==", - "dev": true, - "requires": { - "@types/unist": "^2.0.0", - "unist-util-is": "^4.0.0" - } - } - } - }, "mdast-util-from-markdown": { "version": "0.8.5", "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-0.8.5.tgz", @@ -22834,54 +21246,6 @@ "unified": "^9.1.0" } }, - "remark-mdx": { - "version": "1.6.22", - "resolved": "https://registry.npmjs.org/remark-mdx/-/remark-mdx-1.6.22.tgz", - "integrity": "sha512-phMHBJgeV76uyFkH4rvzCftLfKCr2RZuF+/gmVcaKrpsihyzmhXjA0BEMDaPTXG5y8qZOKPVo83NAOX01LPnOQ==", - "dev": true, - "requires": { - "@babel/core": "7.12.9", - "@babel/helper-plugin-utils": "7.10.4", - "@babel/plugin-proposal-object-rest-spread": "7.12.1", - "@babel/plugin-syntax-jsx": "7.12.1", - "@mdx-js/util": "1.6.22", - "is-alphabetical": "1.0.4", - "remark-parse": "8.0.3", - "unified": "9.2.0" - }, - "dependencies": { - "@babel/helper-plugin-utils": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz", - "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==", - "dev": true - }, - "remark-parse": { - "version": "8.0.3", - "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-8.0.3.tgz", - "integrity": "sha512-E1K9+QLGgggHxCQtLt++uXltxEprmWzNfg+MxpfHsZlrddKzZ/hZyWHDbK3/Ap8HJQqYJRXP+jHczdL6q6i85Q==", - "dev": true, - "requires": { - "ccount": "^1.0.0", - "collapse-white-space": "^1.0.2", - "is-alphabetical": "^1.0.0", - "is-decimal": "^1.0.0", - "is-whitespace-character": "^1.0.0", - "is-word-character": "^1.0.0", - "markdown-escapes": "^1.0.0", - "parse-entities": "^2.0.0", - "repeat-string": "^1.5.4", - "state-toggle": "^1.0.0", - "trim": "0.0.1", - "trim-trailing-lines": "^1.0.0", - "unherit": "^1.0.4", - "unist-util-remove-position": "^2.0.0", - "vfile-location": "^3.0.0", - "xtend": "^4.0.1" - } - } - } - }, "remark-parse": { "version": "9.0.0", "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-9.0.0.tgz", @@ -22924,7 +21288,8 @@ "version": "2.1.1", "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", - "dev": true + "dev": true, + "peer": true }, "require-from-string": { "version": "2.0.2", @@ -23865,12 +22230,6 @@ } } }, - "state-toggle": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/state-toggle/-/state-toggle-1.0.3.tgz", - "integrity": "sha512-d/5Z4/2iiCnHw6Xzghyhb+GcmF89bxwgXG60wjIiZaxnymbyOmI8Hk4VqHXiVVp6u2ysaskFfXg3ekCj4WNftQ==", - "dev": true - }, "static-extend": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", @@ -24056,17 +22415,6 @@ "es-abstract": "^1.20.4" } }, - "stringify-entities": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/stringify-entities/-/stringify-entities-3.1.0.tgz", - "integrity": "sha512-3FP+jGMmMV/ffZs86MoghGqAoqXAdxLrJP4GUdrDN1aIScYih5tuIO3eF4To5AJZ79KDZ8Fpdy7QJnK8SsL1Vg==", - "dev": true, - "requires": { - "character-entities-html4": "^1.0.0", - "character-entities-legacy": "^1.0.0", - "xtend": "^4.0.0" - } - }, "stringify-object": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/stringify-object/-/stringify-object-3.3.0.tgz", @@ -24771,24 +23119,12 @@ } } }, - "trim": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/trim/-/trim-0.0.1.tgz", - "integrity": "sha512-YzQV+TZg4AxpKxaTHK3c3D+kRDCGVEE7LemdlQZoQXn0iennk10RsIoY6ikzAqJTc9Xjl9C1/waHom/J86ziAQ==", - "dev": true - }, "trim-newlines": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-3.0.1.tgz", "integrity": "sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==", "dev": true }, - "trim-trailing-lines": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/trim-trailing-lines/-/trim-trailing-lines-1.1.4.tgz", - "integrity": "sha512-rjUWSqnfTNrjbB9NQWfPMH/xRK1deHeGsHoVfpxJ++XeYXE0d6B1En37AHfw3jtfTU7dzMzZL2jjpe8Qb5gLIQ==", - "dev": true - }, "trough": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/trough/-/trough-1.0.5.tgz", @@ -24912,16 +23248,6 @@ "which-boxed-primitive": "^1.0.2" } }, - "unherit": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/unherit/-/unherit-1.1.3.tgz", - "integrity": "sha512-Ft16BJcnapDKp0+J/rqFC3Rrk6Y/Ng4nzsC028k2jdDII/rdZ7Wd3pPT/6+vIIxRagwRc9K0IUX0Ra4fKvw+WQ==", - "dev": true, - "requires": { - "inherits": "^2.0.0", - "xtend": "^4.0.0" - } - }, "unified": { "version": "9.2.0", "resolved": "https://registry.npmjs.org/unified/-/unified-9.2.0.tgz", @@ -24944,84 +23270,6 @@ } } }, - "unified-lint-rule": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/unified-lint-rule/-/unified-lint-rule-2.1.1.tgz", - "integrity": "sha512-vsLHyLZFstqtGse2gvrGwasOmH8M2y+r2kQMoDSWzSqUkQx2MjHjvZuGSv5FUaiv4RQO1bHRajy7lSGp7XWq5A==", - "dev": true, - "requires": { - "@types/unist": "^2.0.0", - "trough": "^2.0.0", - "unified": "^10.0.0", - "vfile": "^5.0.0" - }, - "dependencies": { - "bail": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/bail/-/bail-2.0.2.tgz", - "integrity": "sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==", - "dev": true - }, - "is-plain-obj": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz", - "integrity": "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==", - "dev": true - }, - "trough": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/trough/-/trough-2.1.0.tgz", - "integrity": "sha512-AqTiAOLcj85xS7vQ8QkAV41hPDIJ71XJB4RCUrzo/1GM2CQwhkJGaf9Hgr7BOugMRpgGUrqRg/DrBDl4H40+8g==", - "dev": true - }, - "unified": { - "version": "10.1.2", - "resolved": "https://registry.npmjs.org/unified/-/unified-10.1.2.tgz", - "integrity": "sha512-pUSWAi/RAnVy1Pif2kAoeWNBa3JVrx0MId2LASj8G+7AiHWoKZNTomq6LG326T68U7/e263X6fTdcXIy7XnF7Q==", - "dev": true, - "requires": { - "@types/unist": "^2.0.0", - "bail": "^2.0.0", - "extend": "^3.0.0", - "is-buffer": "^2.0.0", - "is-plain-obj": "^4.0.0", - "trough": "^2.0.0", - "vfile": "^5.0.0" - } - }, - "unist-util-stringify-position": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-3.0.3.tgz", - "integrity": "sha512-k5GzIBZ/QatR8N5X2y+drfpWG8IDBzdnVj6OInRNWm1oXrzydiaAT2OQiA8DPRRZyAKb9b6I2a6PxYklZD0gKg==", - "dev": true, - "requires": { - "@types/unist": "^2.0.0" - } - }, - "vfile": { - "version": "5.3.7", - "resolved": "https://registry.npmjs.org/vfile/-/vfile-5.3.7.tgz", - "integrity": "sha512-r7qlzkgErKjobAmyNIkkSpizsFPYiUPuJb5pNW1RB4JcYVZhs4lIbVqk8XPk033CV/1z8ss5pkax8SuhGpcG8g==", - "dev": true, - "requires": { - "@types/unist": "^2.0.0", - "is-buffer": "^2.0.0", - "unist-util-stringify-position": "^3.0.0", - "vfile-message": "^3.0.0" - } - }, - "vfile-message": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-3.1.4.tgz", - "integrity": "sha512-fa0Z6P8HUrQN4BZaX05SIVXic+7kE3b05PWAtPuYP9QLHsLKYR7/AlLW3NtOrpXRLeawpDLMsVkmk5DG0NXgWw==", - "dev": true, - "requires": { - "@types/unist": "^2.0.0", - "unist-util-stringify-position": "^3.0.0" - } - } - } - }, "union-value": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", @@ -25050,38 +23298,6 @@ "integrity": "sha512-ZOQSsnce92GrxSqlnEEseX0gi7GH9zTJZ0p9dtu87WRb/37mMPO2Ilx1s/t9vBHrFhbgweUwb+t7cIn5dxPhZg==", "dev": true }, - "unist-util-remove-position": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/unist-util-remove-position/-/unist-util-remove-position-2.0.1.tgz", - "integrity": "sha512-fDZsLYIe2uT+oGFnuZmy73K6ZxOPG/Qcm+w7jbEjaFcJgbQ6cqjs/eSPzXhsmGpAsWPkqZM9pYjww5QTn3LHMA==", - "dev": true, - "requires": { - "unist-util-visit": "^2.0.0" - }, - "dependencies": { - "unist-util-visit": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-2.0.3.tgz", - "integrity": "sha512-iJ4/RczbJMkD0712mGktuGpm/U4By4FfDonL7N/9tATGIF4imikjOuagyMY53tnZq3NP6BcmlrHhEKAfGWjh7Q==", - "dev": true, - "requires": { - "@types/unist": "^2.0.0", - "unist-util-is": "^4.0.0", - "unist-util-visit-parents": "^3.0.0" - } - }, - "unist-util-visit-parents": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-3.1.1.tgz", - "integrity": "sha512-1KROIZWo6bcMrZEwiH2UrXDyalAa0uqzWCxCJj6lPOvTve2WkfgCytoDTPaMnodXh1WrXOq0haVYHj99ynJlsg==", - "dev": true, - "requires": { - "@types/unist": "^2.0.0", - "unist-util-is": "^4.0.0" - } - } - } - }, "unist-util-stringify-position": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-2.0.3.tgz", @@ -25091,43 +23307,6 @@ "@types/unist": "^2.0.2" } }, - "unist-util-visit": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-4.1.2.tgz", - "integrity": "sha512-MSd8OUGISqHdVvfY9TPhyK2VdUrPgxkUtWSuMHF6XAAFuL4LokseigBnZtPnJMu+FbynTkFNnFlyjxpVKujMRg==", - "dev": true, - "requires": { - "@types/unist": "^2.0.0", - "unist-util-is": "^5.0.0", - "unist-util-visit-parents": "^5.1.1" - }, - "dependencies": { - "unist-util-is": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-5.2.0.tgz", - "integrity": "sha512-Glt17jWwZeyqrFqOK0pF1Ded5U3yzJnFr8CG1GMjCWTp9zDo2p+cmD6pWbZU8AgM5WU3IzRv6+rBwhzsGh6hBQ==", - "dev": true - } - } - }, - "unist-util-visit-parents": { - "version": "5.1.3", - "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-5.1.3.tgz", - "integrity": "sha512-x6+y8g7wWMyQhL1iZfhIPhDAs7Xwbn9nRosDXl7qoPTSCy0yNxnKc+hWokFifWQIDGi154rdUqKvbCa4+1kLhg==", - "dev": true, - "requires": { - "@types/unist": "^2.0.0", - "unist-util-is": "^5.0.0" - }, - "dependencies": { - "unist-util-is": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-5.2.0.tgz", - "integrity": "sha512-Glt17jWwZeyqrFqOK0pF1Ded5U3yzJnFr8CG1GMjCWTp9zDo2p+cmD6pWbZU8AgM5WU3IzRv6+rBwhzsGh6hBQ==", - "dev": true - } - } - }, "universalify": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/universalify/-/universalify-1.0.0.tgz", @@ -25273,62 +23452,6 @@ "vfile-message": "^2.0.0" } }, - "vfile-location": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/vfile-location/-/vfile-location-3.2.0.tgz", - "integrity": "sha512-aLEIZKv/oxuCDZ8lkJGhuhztf/BW4M+iHdCwglA/eWc+vtuRFJj8EtgceYFX4LRjOhCAAiNHsKGssC6onJ+jbA==", - "dev": true - }, - "vfile-matter": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/vfile-matter/-/vfile-matter-4.0.1.tgz", - "integrity": "sha512-ZeACdaxCOxhePpoLO4A5y/VgI9EuWBXu+sUk65aQ7lXBZDFg7X0tuOzigLJUtsQzazFt6K2m9SdlDxZdfL5vVg==", - "dev": true, - "requires": { - "is-buffer": "^2.0.0", - "vfile": "^5.0.0", - "yaml": "^2.0.0" - }, - "dependencies": { - "unist-util-stringify-position": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-3.0.3.tgz", - "integrity": "sha512-k5GzIBZ/QatR8N5X2y+drfpWG8IDBzdnVj6OInRNWm1oXrzydiaAT2OQiA8DPRRZyAKb9b6I2a6PxYklZD0gKg==", - "dev": true, - "requires": { - "@types/unist": "^2.0.0" - } - }, - "vfile": { - "version": "5.3.7", - "resolved": "https://registry.npmjs.org/vfile/-/vfile-5.3.7.tgz", - "integrity": "sha512-r7qlzkgErKjobAmyNIkkSpizsFPYiUPuJb5pNW1RB4JcYVZhs4lIbVqk8XPk033CV/1z8ss5pkax8SuhGpcG8g==", - "dev": true, - "requires": { - "@types/unist": "^2.0.0", - "is-buffer": "^2.0.0", - "unist-util-stringify-position": "^3.0.0", - "vfile-message": "^3.0.0" - } - }, - "vfile-message": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-3.1.4.tgz", - "integrity": "sha512-fa0Z6P8HUrQN4BZaX05SIVXic+7kE3b05PWAtPuYP9QLHsLKYR7/AlLW3NtOrpXRLeawpDLMsVkmk5DG0NXgWw==", - "dev": true, - "requires": { - "@types/unist": "^2.0.0", - "unist-util-stringify-position": "^3.0.0" - } - }, - "yaml": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.2.1.tgz", - "integrity": "sha512-e0WHiYql7+9wr4cWMx3TVQrNwejKaEe7/rHNmQmqRjazfOP5W8PB6Jpebb5o6fIapbz9o9+2ipcaTM2ZwDI6lw==", - "dev": true - } - } - }, "vfile-message": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-2.0.4.tgz", @@ -25339,222 +23462,6 @@ "unist-util-stringify-position": "^2.0.0" } }, - "vfile-reporter": { - "version": "7.0.5", - "resolved": "https://registry.npmjs.org/vfile-reporter/-/vfile-reporter-7.0.5.tgz", - "integrity": "sha512-NdWWXkv6gcd7AZMvDomlQbK3MqFWL1RlGzMn++/O2TI+68+nqxCPTvLugdOtfSzXmjh+xUyhp07HhlrbJjT+mw==", - "dev": true, - "requires": { - "@types/supports-color": "^8.0.0", - "string-width": "^5.0.0", - "supports-color": "^9.0.0", - "unist-util-stringify-position": "^3.0.0", - "vfile": "^5.0.0", - "vfile-message": "^3.0.0", - "vfile-sort": "^3.0.0", - "vfile-statistics": "^2.0.0" - }, - "dependencies": { - "ansi-regex": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", - "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", - "dev": true - }, - "emoji-regex": { - "version": "9.2.2", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", - "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", - "dev": true - }, - "string-width": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", - "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", - "dev": true, - "requires": { - "eastasianwidth": "^0.2.0", - "emoji-regex": "^9.2.2", - "strip-ansi": "^7.0.1" - } - }, - "strip-ansi": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.0.1.tgz", - "integrity": "sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw==", - "dev": true, - "requires": { - "ansi-regex": "^6.0.1" - } - }, - "supports-color": { - "version": "9.3.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-9.3.1.tgz", - "integrity": "sha512-knBY82pjmnIzK3NifMo3RxEIRD9E0kIzV4BKcyTZ9+9kWgLMxd4PrsTSMoFQUabgRBbF8KOLRDCyKgNV+iK44Q==", - "dev": true - }, - "unist-util-stringify-position": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-3.0.3.tgz", - "integrity": "sha512-k5GzIBZ/QatR8N5X2y+drfpWG8IDBzdnVj6OInRNWm1oXrzydiaAT2OQiA8DPRRZyAKb9b6I2a6PxYklZD0gKg==", - "dev": true, - "requires": { - "@types/unist": "^2.0.0" - } - }, - "vfile": { - "version": "5.3.7", - "resolved": "https://registry.npmjs.org/vfile/-/vfile-5.3.7.tgz", - "integrity": "sha512-r7qlzkgErKjobAmyNIkkSpizsFPYiUPuJb5pNW1RB4JcYVZhs4lIbVqk8XPk033CV/1z8ss5pkax8SuhGpcG8g==", - "dev": true, - "requires": { - "@types/unist": "^2.0.0", - "is-buffer": "^2.0.0", - "unist-util-stringify-position": "^3.0.0", - "vfile-message": "^3.0.0" - } - }, - "vfile-message": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-3.1.4.tgz", - "integrity": "sha512-fa0Z6P8HUrQN4BZaX05SIVXic+7kE3b05PWAtPuYP9QLHsLKYR7/AlLW3NtOrpXRLeawpDLMsVkmk5DG0NXgWw==", - "dev": true, - "requires": { - "@types/unist": "^2.0.0", - "unist-util-stringify-position": "^3.0.0" - } - } - } - }, - "vfile-reporter-json": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/vfile-reporter-json/-/vfile-reporter-json-3.3.0.tgz", - "integrity": "sha512-/zgRtjxQ2UGJn+HViiZ7+nIXtUzkkXFQum3BmaS/bSyr10P0X41ETRqqwMJ95RtbKUah3m7pKb6oS1eZeXXHzQ==", - "dev": true, - "requires": { - "vfile": "^5.0.0", - "vfile-message": "^3.0.0" - }, - "dependencies": { - "unist-util-stringify-position": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-3.0.3.tgz", - "integrity": "sha512-k5GzIBZ/QatR8N5X2y+drfpWG8IDBzdnVj6OInRNWm1oXrzydiaAT2OQiA8DPRRZyAKb9b6I2a6PxYklZD0gKg==", - "dev": true, - "requires": { - "@types/unist": "^2.0.0" - } - }, - "vfile": { - "version": "5.3.7", - "resolved": "https://registry.npmjs.org/vfile/-/vfile-5.3.7.tgz", - "integrity": "sha512-r7qlzkgErKjobAmyNIkkSpizsFPYiUPuJb5pNW1RB4JcYVZhs4lIbVqk8XPk033CV/1z8ss5pkax8SuhGpcG8g==", - "dev": true, - "requires": { - "@types/unist": "^2.0.0", - "is-buffer": "^2.0.0", - "unist-util-stringify-position": "^3.0.0", - "vfile-message": "^3.0.0" - } - }, - "vfile-message": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-3.1.4.tgz", - "integrity": "sha512-fa0Z6P8HUrQN4BZaX05SIVXic+7kE3b05PWAtPuYP9QLHsLKYR7/AlLW3NtOrpXRLeawpDLMsVkmk5DG0NXgWw==", - "dev": true, - "requires": { - "@types/unist": "^2.0.0", - "unist-util-stringify-position": "^3.0.0" - } - } - } - }, - "vfile-sort": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/vfile-sort/-/vfile-sort-3.0.1.tgz", - "integrity": "sha512-1os1733XY6y0D5x0ugqSeaVJm9lYgj0j5qdcZQFyxlZOSy1jYarL77lLyb5gK4Wqr1d5OxmuyflSO3zKyFnTFw==", - "dev": true, - "requires": { - "vfile": "^5.0.0", - "vfile-message": "^3.0.0" - }, - "dependencies": { - "unist-util-stringify-position": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-3.0.3.tgz", - "integrity": "sha512-k5GzIBZ/QatR8N5X2y+drfpWG8IDBzdnVj6OInRNWm1oXrzydiaAT2OQiA8DPRRZyAKb9b6I2a6PxYklZD0gKg==", - "dev": true, - "requires": { - "@types/unist": "^2.0.0" - } - }, - "vfile": { - "version": "5.3.7", - "resolved": "https://registry.npmjs.org/vfile/-/vfile-5.3.7.tgz", - "integrity": "sha512-r7qlzkgErKjobAmyNIkkSpizsFPYiUPuJb5pNW1RB4JcYVZhs4lIbVqk8XPk033CV/1z8ss5pkax8SuhGpcG8g==", - "dev": true, - "requires": { - "@types/unist": "^2.0.0", - "is-buffer": "^2.0.0", - "unist-util-stringify-position": "^3.0.0", - "vfile-message": "^3.0.0" - } - }, - "vfile-message": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-3.1.4.tgz", - "integrity": "sha512-fa0Z6P8HUrQN4BZaX05SIVXic+7kE3b05PWAtPuYP9QLHsLKYR7/AlLW3NtOrpXRLeawpDLMsVkmk5DG0NXgWw==", - "dev": true, - "requires": { - "@types/unist": "^2.0.0", - "unist-util-stringify-position": "^3.0.0" - } - } - } - }, - "vfile-statistics": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/vfile-statistics/-/vfile-statistics-2.0.1.tgz", - "integrity": "sha512-W6dkECZmP32EG/l+dp2jCLdYzmnDBIw6jwiLZSER81oR5AHRcVqL+k3Z+pfH1R73le6ayDkJRMk0sutj1bMVeg==", - "dev": true, - "requires": { - "vfile": "^5.0.0", - "vfile-message": "^3.0.0" - }, - "dependencies": { - "unist-util-stringify-position": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-3.0.3.tgz", - "integrity": "sha512-k5GzIBZ/QatR8N5X2y+drfpWG8IDBzdnVj6OInRNWm1oXrzydiaAT2OQiA8DPRRZyAKb9b6I2a6PxYklZD0gKg==", - "dev": true, - "requires": { - "@types/unist": "^2.0.0" - } - }, - "vfile": { - "version": "5.3.7", - "resolved": "https://registry.npmjs.org/vfile/-/vfile-5.3.7.tgz", - "integrity": "sha512-r7qlzkgErKjobAmyNIkkSpizsFPYiUPuJb5pNW1RB4JcYVZhs4lIbVqk8XPk033CV/1z8ss5pkax8SuhGpcG8g==", - "dev": true, - "requires": { - "@types/unist": "^2.0.0", - "is-buffer": "^2.0.0", - "unist-util-stringify-position": "^3.0.0", - "vfile-message": "^3.0.0" - } - }, - "vfile-message": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-3.1.4.tgz", - "integrity": "sha512-fa0Z6P8HUrQN4BZaX05SIVXic+7kE3b05PWAtPuYP9QLHsLKYR7/AlLW3NtOrpXRLeawpDLMsVkmk5DG0NXgWw==", - "dev": true, - "requires": { - "@types/unist": "^2.0.0", - "unist-util-stringify-position": "^3.0.0" - } - } - } - }, "w3c-hr-time": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz", @@ -25712,12 +23619,6 @@ "dev": true, "peer": true }, - "xtend": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", - "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", - "dev": true - }, "y18n": { "version": "4.0.3", "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", @@ -25830,12 +23731,6 @@ "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", "dev": true }, - "zod": { - "version": "3.20.6", - "resolved": "https://registry.npmjs.org/zod/-/zod-3.20.6.tgz", - "integrity": "sha512-oyu0m54SGCtzh6EClBVqDDlAYRz4jrVtKwQ7ZnsEmMI9HnzuZFj8QFwAY1M5uniIYACdGvv0PBWPF2kO0aNofA==", - "dev": true - }, "zwitch": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/zwitch/-/zwitch-1.0.5.tgz", diff --git a/website/package.json b/website/package.json index caacb3c5976c4..676e5b1e9ea28 100644 --- a/website/package.json +++ b/website/package.json @@ -4,8 +4,7 @@ "version": "0.0.1", "author": "HashiCorp", "devDependencies": { - "@hashicorp/platform-cli": "^2.6.0", - "@hashicorp/platform-content-conformance": "^0.0.10", + "@hashicorp/platform-cli": "^2.5.1", "dart-linkcheck": "2.0.15", "husky": "4.3.8", "next": "^12.3.1", @@ -24,8 +23,7 @@ "generate:readme": "next-hashicorp markdown-blocks README.md", "lint": "next-hashicorp lint", "start": "./scripts/website-start.sh", - "linkcheck": "linkcheck https://consul.io", - "content-check": "hc-content --config base-docs" + "linkcheck": "linkcheck https://consul.io" }, "engines": { "npm": ">=7.0.0"