{{! Copyright (c) HashiCorp, Inc. SPDX-License-Identifier: BUSL-1.1 }} {{#if (eq loader.error.status "404")}} 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. {{else}} Warning! An error was returned whilst loading this data, refresh to try again. {{/if}} {{#let loader.data loader.data.firstObject route.model.dc as |items item dc|}} {{#if item.IsOrigin}} {{! currently we use the discovery chain endpoint to understand whether }} {{! connect is enabled/disabled. We get a 500 error when its disabled }} {{! and use this to set MeshEnabled on the Datacenter }} {{! if once chain is set, i.e. we've checked this dc we remove the DataSource }} {{! which will mark it for closure, which possibly could be reopened if }} {{! the user clicks the routing/disco-chain tab}} {{#if (not chain)}} {{/if}} {{did-insert (set this 'chain' undefined) route.params.dc}} {{/if}} {{#let (hash topology=(and dc.MeshEnabled item.IsMeshOrigin (or (gt proxies.length 0) (eq item.Service.Kind 'ingress-gateway') (eq item.Service.Kind 'api-gateway')) (not item.Service.PeerName)) services=(and (eq item.Service.Kind 'terminating-gateway') (not item.Service.PeerName)) upstreams=(and (eq item.Service.Kind 'ingress-gateway') (not item.Service.PeerName)) instances=true intentions=(and (not-eq item.Service.Kind 'terminating-gateway') (can 'read intention for service' item=item.Service) (not item.Service.PeerName)) routing=(and dc.MeshEnabled item.IsOrigin (not item.Service.PeerName)) tags=true ) as |tabs|}}
  1. All Services

{{#if (not-eq item.Service.Kind 'mesh-gateway')}} {{/if}} {{#if config.data.dashboard_url_templates.service}} Open dashboard {{/if}} {{! if its not an origin service we don't care as to whether connect }} {{! is enabled or not (we figure that out using the chain var) }} {{#if (or (not item.IsOrigin) chain)}} {{outlet}} {{/if}}
{{/let}} {{/let}}