Browse Source

Removing unneeded files. Making compatible FailingMiddleware & Healthchecks

features/migration-dotnet3
eiximenis 5 years ago
parent
commit
0df81ff5d2
14 changed files with 108 additions and 1338 deletions
  1. +0
    -29
      k8s/basket-data.yaml
  2. +0
    -923
      k8s/deployments.yaml
  3. +0
    -5
      k8s/eshop-namespace.yaml
  4. +0
    -59
      k8s/ingress.yaml
  5. +0
    -29
      k8s/keystore-data.yaml
  6. +42
    -0
      k8s/linkerd/basket-api-sp.yaml
  7. +47
    -0
      k8s/linkerd/catalog-api-sp.yaml
  8. +0
    -30
      k8s/nosql-data.yaml
  9. +0
    -30
      k8s/rabbitmq.yaml
  10. +0
    -195
      k8s/services.yaml
  11. +0
    -35
      k8s/sql-data.yaml
  12. +13
    -2
      src/Services/Basket/Basket.API/Infrastructure/Middlewares/FailingMiddleware.cs
  13. +2
    -0
      src/Services/Basket/Basket.API/Infrastructure/Middlewares/FailingOptions.cs
  14. +4
    -1
      src/Services/Basket/Basket.API/Program.cs

+ 0
- 29
k8s/basket-data.yaml View File

@ -1,29 +0,0 @@
apiVersion: v1
kind: Service
metadata:
labels:
app: eshop
component: basket-data
name: basket-data
spec:
ports:
- port: 6379
selector:
app: eshop
component: basket-data
---
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: basket-data
spec:
template:
metadata:
labels:
app: eshop
component: basket-data
spec:
containers:
- name: basket-data
image: redis

+ 0
- 923
k8s/deployments.yaml View File

@ -1,923 +0,0 @@
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: basket
spec:
paused: true
template:
metadata:
labels:
app: eshop
component: basket
spec:
containers:
- name: basket
image: eshop/basket.api
imagePullPolicy: Always
env:
- name: PATH_BASE
value: /basket-api
- name: ConnectionString
valueFrom:
configMapKeyRef:
name: externalcfg
key: basket__ConnectionString
- name: EventBusConnection
valueFrom:
configMapKeyRef:
name: externalcfg
key: all__EventBusConnection
- name: AzureServiceBusEnabled
valueFrom:
configMapKeyRef:
name: externalcfg
key: all__UseAzureServiceBus
- name: ApplicationInsights__InstrumentationKey
valueFrom:
configMapKeyRef:
name: externalcfg
key: all__InstrumentationKey
- name: IdentityUrl
valueFrom:
configMapKeyRef:
name: urls
key: identity_e
- name: UseLoadTest
valueFrom:
configMapKeyRef:
name: externalcfg
key: all__EnableLoadTest
- name: OrchestratorType
value: 'K8S'
ports:
- containerPort: 80
imagePullSecrets:
- name: registry-key
---
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: catalog
spec:
paused: true
template:
metadata:
labels:
app: eshop
component: catalog
spec:
containers:
- name: catalog
image: eshop/catalog.api
imagePullPolicy: Always
env:
- name: PATH_BASE
value: /catalog-api
- name: ConnectionString
valueFrom:
configMapKeyRef:
name: externalcfg
key: catalog__ConnectionString
- name: PicBaseUrl
valueFrom:
configMapKeyRef:
name: urls
key: PicBaseUrl
- name: AzureStorageEnabled
valueFrom:
configMapKeyRef:
name: externalcfg
key: catalog__AzureStorageEnabled
- name: EventBusConnection
valueFrom:
configMapKeyRef:
name: externalcfg
key: all__EventBusConnection
- name: ApplicationInsights__InstrumentationKey
valueFrom:
configMapKeyRef:
name: externalcfg
key: all__InstrumentationKey
- name: OrchestratorType
value: 'K8S'
ports:
- containerPort: 80
imagePullSecrets:
- name: registry-key
---
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: identity
spec:
paused: true
template:
metadata:
labels:
app: eshop
component: identity
spec:
containers:
- name: identity
image: eshop/identity.api
imagePullPolicy: Always
env:
- name: PATH_BASE
value: /identity
- name: ConnectionString
valueFrom:
configMapKeyRef:
name: externalcfg
key: identity__ConnectionString
- name: DPConnectionString
valueFrom:
configMapKeyRef:
name: externalcfg
key: keystore
- name: IsClusterEnv
value: 'True'
- name: MvcClient
valueFrom:
configMapKeyRef:
name: urls
key: mvc_e
- name: SpaClient
valueFrom:
configMapKeyRef:
name: urls
key: spa_e
- name: LocationApiClient
valueFrom:
configMapKeyRef:
name: urls
key: locations_e
- name: MarketingApiClient
valueFrom:
configMapKeyRef:
name: urls
key: marketing_e
- name: BasketApiClient
valueFrom:
configMapKeyRef:
name: urls
key: basket_e
- name: OrderingApiClient
valueFrom:
configMapKeyRef:
name: urls
key: ordering_e
- name: MobileShoppingAggClient
valueFrom:
configMapKeyRef:
name: urls
key: mobileshoppingagg_e
- name: WebShoppingAggClient
valueFrom:
configMapKeyRef:
name: urls
key: webshoppingagg_e
- name: XamarinCallback
valueFrom:
configMapKeyRef:
name: urls
key: xamarin_callback_e
- name: ApplicationInsights__InstrumentationKey
valueFrom:
configMapKeyRef:
name: externalcfg
key: all__InstrumentationKey
- name: OrchestratorType
value: 'K8S'
ports:
- containerPort: 80
imagePullSecrets:
- name: registry-key
---
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: ordering
spec:
paused: true
template:
metadata:
labels:
app: eshop
component: ordering
spec:
containers:
- name: ordering
image: eshop/ordering.api
imagePullPolicy: Always
env:
- name: PATH_BASE
value: /ordering-api
- name: ConnectionString
valueFrom:
configMapKeyRef:
name: externalcfg
key: ordering__ConnectionString
- name: EventBusConnection
valueFrom:
configMapKeyRef:
name: externalcfg
key: all__EventBusConnection
- name: AzureServiceBusEnabled
valueFrom:
configMapKeyRef:
name: externalcfg
key: all__UseAzureServiceBus
- name: IdentityUrl
valueFrom:
configMapKeyRef:
name: urls
key: identity_e
- name: CheckUpdateTime
valueFrom:
configMapKeyRef:
name: externalcfg
key: GracePeriodManager__CheckUpdateTime
- name: GracePeriodTime
valueFrom:
configMapKeyRef:
name: externalcfg
key: GracePeriodManager__GracePeriodTime
- name: ApplicationInsights__InstrumentationKey
valueFrom:
configMapKeyRef:
name: externalcfg
key: all__InstrumentationKey
- name: UseLoadTest
valueFrom:
configMapKeyRef:
name: externalcfg
key: all__EnableLoadTest
- name: OrchestratorType
value: 'K8S'
ports:
- containerPort: 80
imagePullSecrets:
- name: registry-key
---
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: ordering-backgroundtasks
spec:
paused: true
template:
metadata:
labels:
app: eshop
component: ordering-backgroundtasks
spec:
containers:
- name: ordering-backgroundtasks
image: eshop/ordering.backgroundtasks
imagePullPolicy: Always
env:
- name: ConnectionString
valueFrom:
configMapKeyRef:
name: externalcfg
key: ordering__ConnectionString
- name: EventBusConnection
valueFrom:
configMapKeyRef:
name: externalcfg
key: all__EventBusConnection
- name: AzureServiceBusEnabled
valueFrom:
configMapKeyRef:
name: externalcfg
key: all__UseAzureServiceBus
- name: CheckUpdateTime
valueFrom:
configMapKeyRef:
name: externalcfg
key: GracePeriodManager__CheckUpdateTime
- name: GracePeriodTime
valueFrom:
configMapKeyRef:
name: externalcfg
key: GracePeriodManager__GracePeriodTime
- name: ApplicationInsights__InstrumentationKey
valueFrom:
configMapKeyRef:
name: externalcfg
key: all__InstrumentationKey
- name: UseLoadTest
valueFrom:
configMapKeyRef:
name: externalcfg
key: all__EnableLoadTest
- name: OrchestratorType
value: 'K8S'
ports:
- containerPort: 80
imagePullSecrets:
- name: registry-key
---
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: ordering-signalrhub
spec:
paused: true
template:
metadata:
labels:
app: eshop
component: ordering-signalrhub
spec:
containers:
- name: ordering-signalrhub
image: eshop/ordering.signalrhub
imagePullPolicy: Always
env:
- name: EventBusConnection
valueFrom:
configMapKeyRef:
name: externalcfg
key: all__EventBusConnection
- name: IdentityUrl
valueFrom:
configMapKeyRef:
name: urls
key: identity_e
- name: AzureServiceBusEnabled
valueFrom:
configMapKeyRef:
name: externalcfg
key: all__UseAzureServiceBus
- name: ApplicationInsights__InstrumentationKey
valueFrom:
configMapKeyRef:
name: externalcfg
key: all__InstrumentationKey
- name: OrchestratorType
value: 'K8S'
- name: IsClusterEnv
value: 'True'
- name: SignalrStoreConnectionString
valueFrom:
configMapKeyRef:
name: externalcfg
key: keystore
ports:
- containerPort: 80
imagePullSecrets:
- name: registry-key
---
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: locations
spec:
paused: true
template:
metadata:
labels:
app: eshop
component: locations
spec:
containers:
- name: locations
image: eshop/locations.api
imagePullPolicy: Always
env:
- name: PATH_BASE
value: /locations-api
- name: ConnectionString
valueFrom:
configMapKeyRef:
name: externalcfg
key: locations__ConnectionString
- name: Database
valueFrom:
configMapKeyRef:
name: externalcfg
key: locations__Database
- name: AzureServiceBusEnabled
valueFrom:
configMapKeyRef:
name: externalcfg
key: all__UseAzureServiceBus
- name: EventBusConnection
valueFrom:
configMapKeyRef:
name: externalcfg
key: all__EventBusConnection
- name: IdentityUrl
valueFrom:
configMapKeyRef:
name: internalurls
key: identity
- name: IdentityUrlExternal
valueFrom:
configMapKeyRef:
name: urls
key: identity_e
- name: ApplicationInsights__InstrumentationKey
valueFrom:
configMapKeyRef:
name: externalcfg
key: all__InstrumentationKey
- name: UseLoadTest
valueFrom:
configMapKeyRef:
name: externalcfg
key: all__EnableLoadTest
- name: OrchestratorType
value: 'K8S'
ports:
- containerPort: 80
imagePullSecrets:
- name: registry-key
---
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: marketing
spec:
paused: true
template:
metadata:
labels:
app: eshop
component: marketing
spec:
containers:
- name: marketing
image: eshop/marketing.api
imagePullPolicy: Always
env:
- name: PATH_BASE
value: /marketing-api
- name: ConnectionString
valueFrom:
configMapKeyRef:
name: externalcfg
key: marketing__ConnectionString
- name: MongoConnectionString
valueFrom:
configMapKeyRef:
name: externalcfg
key: marketing__MongoConnectionString
- name: MongoDatabase
valueFrom:
configMapKeyRef:
name: externalcfg
key: marketing__MongoDatabase
- name: AzureServiceBusEnabled
valueFrom:
configMapKeyRef:
name: externalcfg
key: all__UseAzureServiceBus
- name: EventBusConnection
valueFrom:
configMapKeyRef:
name: externalcfg
key: all__EventBusConnection
- name: IdentityUrl
valueFrom:
configMapKeyRef:
name: internalurls
key: identity
- name: IdentityUrlExternal
valueFrom:
configMapKeyRef:
name: urls
key: identity_e
- name: PicBaseUrl
valueFrom:
configMapKeyRef:
name: urls
key: Marketing_PicBaseUrl
- name: ApplicationInsights__InstrumentationKey
valueFrom:
configMapKeyRef:
name: externalcfg
key: all__InstrumentationKey
- name: UseLoadTest
valueFrom:
configMapKeyRef:
name: externalcfg
key: all__EnableLoadTest
- name: OrchestratorType
value: 'K8S'
ports:
- containerPort: 80
imagePullSecrets:
- name: registry-key
---
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: payment
spec:
paused: true
template:
metadata:
labels:
app: eshop
component: payment
spec:
containers:
- name: payment
image: eshop/payment.api
imagePullPolicy: Always
env:
- name: PATH_BASE
value: /payment-api
- name: AzureServiceBusEnabled
valueFrom:
configMapKeyRef:
name: externalcfg
key: all__UseAzureServiceBus
- name: EventBusConnection
valueFrom:
configMapKeyRef:
name: externalcfg
key: all__EventBusConnection
- name: ApplicationInsights__InstrumentationKey
valueFrom:
configMapKeyRef:
name: externalcfg
key: all__InstrumentationKey
- name: OrchestratorType
value: 'K8S'
ports:
- containerPort: 80
imagePullSecrets:
- name: registry-key
---
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: webmvc
spec:
paused: true
template:
metadata:
labels:
app: eshop
component: webmvc
spec:
containers:
- name: webmvc
image: eshop/webmvc
imagePullPolicy: Always
env:
- name: PATH_BASE
value: /webmvc
- name: DPConnectionString
valueFrom:
configMapKeyRef:
name: externalcfg
key: keystore
- name: IsClusterEnv
value: 'True'
- name: PurchaseUrl
valueFrom:
configMapKeyRef:
name: internalurls
key: apigwws
- name: ExternalPurchaseUrl
valueFrom:
configMapKeyRef:
name: urls
key: webshoppingapigw_e
- name: CallBackUrl
valueFrom:
configMapKeyRef:
name: urls
key: mvc_e
- name: IdentityUrl
valueFrom:
configMapKeyRef:
name: urls
key: identity_e
- name: MarketingUrl
valueFrom:
configMapKeyRef:
name: internalurls
key: apigwwm
- name: BasketUrlHC
valueFrom:
configMapKeyRef:
name: internalurls
key: basket__hc
- name: CatalogUrlHC
valueFrom:
configMapKeyRef:
name: internalurls
key: catalog__hc
- name: IdentityUrlHC
valueFrom:
configMapKeyRef:
name: internalurls
key: identity__hc
- name: OrderingUrlHC
valueFrom:
configMapKeyRef:
name: internalurls
key: ordering__hc
- name: MarketingUrlHC
valueFrom:
configMapKeyRef:
name: internalurls
key: marketing__hc
- name: PaymentUrlHC
valueFrom:
configMapKeyRef:
name: internalurls
key: payment__hc
- name: ApplicationInsights__InstrumentationKey
valueFrom:
configMapKeyRef:
name: externalcfg
key: all__InstrumentationKey
- name: UseLoadTest
valueFrom:
configMapKeyRef:
name: externalcfg
key: all__EnableLoadTest
- name: OrchestratorType
value: 'K8S'
- name: SignalrHubUrl
valueFrom:
configMapKeyRef:
name: urls
key: webshoppingapigw_e
ports:
- containerPort: 80
imagePullSecrets:
- name: registry-key
---
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: webstatus
spec:
paused: true
template:
metadata:
labels:
app: eshop
component: webstatus
spec:
containers:
- name: webstatus
image: eshop/webstatus
imagePullPolicy: Always
env:
- name: PATH_BASE
value: /webstatus
- name: BasketUrl
valueFrom:
configMapKeyRef:
name: internalurls
key: basket__hc
- name: CatalogUrl
valueFrom:
configMapKeyRef:
name: internalurls
key: catalog__hc
- name: IdentityUrl
valueFrom:
configMapKeyRef:
name: internalurls
key: identity__hc
- name: OrderingUrl
valueFrom:
configMapKeyRef:
name: internalurls
key: ordering__hc
- name: LocationsUrl
valueFrom:
configMapKeyRef:
name: internalurls
key: locations__hc
- name: MarketingUrl
valueFrom:
configMapKeyRef:
name: internalurls
key: marketing__hc
- name: mvc
valueFrom:
configMapKeyRef:
name: internalurls
key: mvc__hc
- name: spa
valueFrom:
configMapKeyRef:
name: internalurls
key: spa__hc
- name: PaymentUrl
valueFrom:
configMapKeyRef:
name: internalurls
key: payment__hc
- name: ApplicationInsights__InstrumentationKey
valueFrom:
configMapKeyRef:
name: externalcfg
key: all__InstrumentationKey
- name: OrchestratorType
value: 'K8S'
ports:
- containerPort: 80
imagePullSecrets:
- name: registry-key
---
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: webspa
spec:
paused: true
template:
metadata:
labels:
app: eshop
component: webspa
spec:
containers:
- name: webspa
image: eshop/webspa
imagePullPolicy: Always
env:
- name: ASPNETCORE_URLS
value: http://0.0.0.0:80
- name: DPConnectionString
valueFrom:
configMapKeyRef:
name: externalcfg
key: keystore
- name: IsClusterEnv
value: 'True'
- name: PurchaseUrl
valueFrom:
configMapKeyRef:
name: urls
key: webshoppingapigw_e
- name: CallBackUrl
valueFrom:
configMapKeyRef:
name: urls
key: spa_e
- name: IdentityUrl
valueFrom:
configMapKeyRef:
name: urls
key: identity_e
- name: MarketingUrl
valueFrom:
configMapKeyRef:
name: urls
key: marketingapigw_e
- name: BasketUrlHC
valueFrom:
configMapKeyRef:
name: internalurls
key: basket__hc
- name: CatalogUrlHC
valueFrom:
configMapKeyRef:
name: internalurls
key: catalog__hc
- name: IdentityUrlHC
valueFrom:
configMapKeyRef:
name: internalurls
key: identity__hc
- name: OrderingUrlHC
valueFrom:
configMapKeyRef:
name: internalurls
key: ordering__hc
- name: MarketingUrlHC
valueFrom:
configMapKeyRef:
name: internalurls
key: marketing__hc
- name: PaymentUrlHC
valueFrom:
configMapKeyRef:
name: internalurls
key: payment__hc
- name: ApplicationInsights__InstrumentationKey
valueFrom:
configMapKeyRef:
name: externalcfg
key: all__InstrumentationKey
- name: OrchestratorType
value: 'K8S'
- name: SignalrHubUrl
valueFrom:
configMapKeyRef:
name: urls
key: webshoppingapigw_e
ports:
- containerPort: 80
imagePullSecrets:
- name: registry-key
---
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: webshoppingagg
spec:
paused: true
template:
metadata:
labels:
app: eshop
component: webshoppingagg
spec:
containers:
- name: webshoppingagg
image: eshop/webshoppingagg
imagePullPolicy: Always
env:
- name: ASPNETCORE_URLS
value: http://0.0.0.0:80
- name: urls__basket
valueFrom:
configMapKeyRef:
name: internalurls
key: basket
- name: urls__catalog
valueFrom:
configMapKeyRef:
name: internalurls
key: catalog
- name: urls__orders
valueFrom:
configMapKeyRef:
name: internalurls
key: ordering
- name: urls__identity
valueFrom:
configMapKeyRef:
name: internalurls
key: identity
ports:
- containerPort: 80
imagePullSecrets:
- name: registry-key
---
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: mobileshoppingagg
spec:
paused: true
template:
metadata:
labels:
app: eshop
component: mobileshoppingagg
spec:
containers:
- name: mobileshoppingagg
image: eshop/mobileshoppingagg
imagePullPolicy: Always
env:
- name: ASPNETCORE_URLS
value: http://0.0.0.0:80
- name: urls__basket
valueFrom:
configMapKeyRef:
name: internalurls
key: basket
- name: urls__catalog
valueFrom:
configMapKeyRef:
name: internalurls
key: catalog
- name: urls__orders
valueFrom:
configMapKeyRef:
name: internalurls
key: ordering
- name: urls__identity
valueFrom:
configMapKeyRef:
name: internalurls
key: identity
ports:
- containerPort: 80
imagePullSecrets:
- name: registry-key
---

+ 0
- 5
k8s/eshop-namespace.yaml View File

@ -1,5 +0,0 @@
apiVersion: v1
kind: Namespace
metadata:
name: eshop

+ 0
- 59
k8s/ingress.yaml View File

@ -1,59 +0,0 @@
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
labels:
app: eshop
component: frontend
name: eshop-ingress
annotations:
ingress.kubernetes.io/ssl-redirect: "false"
spec:
rules:
- http:
paths:
- path: /identity
backend:
serviceName: identity
servicePort: 80
- path: /webmvc
backend:
serviceName: webmvc
servicePort: 80
- path: /webstatus
backend:
serviceName: webstatus
servicePort: 80
- path: /webshoppingapigw
backend:
serviceName: ocelotapigw-ws
servicePort: 80
- path: /webmarketingapigw
backend:
serviceName: ocelotapigw-wm
servicePort: 80
- path: /mobilemarketingapigw
backend:
serviceName: ocelotapigw-mm
servicePort: 80
- path: /mobileshoppingapigw
backend:
serviceName: ocelotapigw-ms
servicePort: 80
- path: /webshoppingagg
backend:
serviceName: webshoppingagg
servicePort: 80
- path: /mobileshoppingagg
backend:
serviceName: mobileshoppingagg
servicePort: 80
- path: /payment-api
backend:
serviceName: payment
servicePort: 80
- path: /
backend:
serviceName: webspa
servicePort: 80

+ 0
- 29
k8s/keystore-data.yaml View File

@ -1,29 +0,0 @@
apiVersion: v1
kind: Service
metadata:
labels:
app: eshop
component: keystore-data
name: keystore-data
spec:
ports:
- port: 6379
selector:
app: eshop
component: keystore-data
---
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: keystore-data
spec:
template:
metadata:
labels:
app: eshop
component: keystore-data
spec:
containers:
- name: keystore-data
image: redis

+ 42
- 0
k8s/linkerd/basket-api-sp.yaml View File

@ -0,0 +1,42 @@
apiVersion: linkerd.io/v1alpha2
kind: ServiceProfile
metadata:
creationTimestamp: null
name: basket-api.default.svc.cluster.local
namespace: default
spec:
routes:
- condition:
method: GET
pathRegex: /basket-api/api/v1/basket/[^/]*
name: GET Basket {id}
isRetryable: true
- condition:
method: GET
pathRegex: /hc
name: GET /hc
isRetryable: false
- condition:
method: GET
pathRegex: /liveness
name: GET /liveness
isRetryable: false
- condition:
method: POST
pathRegex: /BasketApi\.Basket/GetBasketById
name: POST /BasketApi.Basket/GetBasketById
isRetryable: true
- condition:
method: POST
pathRegex: /BasketApi\.Basket/UpdateBasket
name: POST /BasketApi.Basket/UpdateBasket
isRetryable: true
- condition:
method: POST
pathRegex: /basket-api/api/v1/basket/checkout
name: POST /v1/basket/checkout
isRetryable: true
retryBudget:
retryRatio: 0.2
minRetriesPerSecond: 10
ttl: 10s

+ 47
- 0
k8s/linkerd/catalog-api-sp.yaml View File

@ -0,0 +1,47 @@
apiVersion: linkerd.io/v1alpha2
kind: ServiceProfile
metadata:
creationTimestamp: null
name: catalog-api.default.svc.cluster.local
namespace: default
spec:
routes:
- condition:
method: GET
pathRegex: /catalog-api/api/v1/catalog/catalogbrands
name: GET /v1/catalog/catalogbrands
isRetryable: true
- condition:
method: GET
pathRegex: /catalog-api/api/v1/catalog/catalogtypes
name: GET /v1/catalog/catalogtypes
isRetryable: true
- condition:
method: GET
pathRegex: /catalog-api/api/v1/catalog/items
name: GET /v1/catalog/items
isRetryable: true
- condition:
method: GET
pathRegex: /api/v1/catalog/items/[^/]*/pic/
name: GET /v1/catalog/items/{id}/pic/
isRetryable: false
- condition:
method: GET
pathRegex: /hc
name: GET /hc
isRetryable: false
- condition:
method: GET
pathRegex: /liveness
isRetryable: false
name: GET /liveness
- condition:
method: POST
pathRegex: /CatalogApi\.Catalog/GetItemsByIds
name: POST /CatalogApi.Catalog/GetItemsByIds
isRetryable: true
retryBudget:
retryRatio: 0.2
minRetriesPerSecond: 10
ttl: 10s

+ 0
- 30
k8s/nosql-data.yaml View File

@ -1,30 +0,0 @@
apiVersion: v1
kind: Service
metadata:
labels:
app: eshop
component: nosql-data
name: nosql-data
spec:
ports:
- port: 27017
selector:
app: eshop
component: nosql-data
---
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: nosql-data
spec:
template:
metadata:
labels:
app: eshop
component: nosql-data
spec:
containers:
- name: nosql-data
image: mongo
ports:
- containerPort: 27017

+ 0
- 30
k8s/rabbitmq.yaml View File

@ -1,30 +0,0 @@
apiVersion: v1
kind: Service
metadata:
labels:
app: eshop
component: rabbitmq
name: rabbitmq
spec:
ports:
- port: 5672
selector:
app: eshop
component: rabbitmq
---
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: rabbitmq
spec:
template:
metadata:
labels:
app: eshop
component: rabbitmq
spec:
containers:
- name: rabbitmq
image: rabbitmq:3-management
ports:
- containerPort: 5672

+ 0
- 195
k8s/services.yaml View File

@ -1,195 +0,0 @@
apiVersion: v1
kind: Service
metadata:
labels:
app: eshop
component: basket
name: basket
spec:
ports:
- port: 80
selector:
app: eshop
component: basket
---
apiVersion: v1
kind: Service
metadata:
labels:
app: eshop
component: catalog
name: catalog
spec:
ports:
- port: 80
selector:
app: eshop
component: catalog
---
apiVersion: v1
kind: Service
metadata:
labels:
app: eshop
component: identity
name: identity
spec:
ports:
- port: 80
selector:
app: eshop
component: identity
---
apiVersion: v1
kind: Service
metadata:
labels:
app: eshop
component: ordering
name: ordering
spec:
ports:
- port: 80
selector:
app: eshop
component: ordering
---
apiVersion: v1
kind: Service
metadata:
labels:
app: eshop
component: ordering-backgroundtasks
name: ordering-background
spec:
ports:
- port: 80
selector:
app: eshop
component: ordering-backgroundtasks
---
apiVersion: v1
kind: Service
metadata:
labels:
app: eshop
component: ordering-signalrhub
name: ordering-signalrhub
spec:
ports:
- port: 80
selector:
app: eshop
component: ordering-signalrhub
---
apiVersion: v1
kind: Service
metadata:
labels:
app: eshop
component: locations
name: locations
spec:
ports:
- port: 80
selector:
app: eshop
component: locations
---
apiVersion: v1
kind: Service
metadata:
labels:
app: eshop
component: payment
name: payment
spec:
ports:
- port: 80
selector:
app: eshop
component: payment
---
apiVersion: v1
kind: Service
metadata:
labels:
app: eshop
component: marketing
name: marketing
spec:
ports:
- port: 80
selector:
app: eshop
component: marketing
---
apiVersion: v1
kind: Service
metadata:
labels:
app: eshop
component: webshoppingagg
name: webshoppingagg
spec:
ports:
- port: 80
selector:
app: eshop
component: webshoppingagg
---
apiVersion: v1
kind: Service
metadata:
labels:
app: eshop
component: mobileshoppingagg
name: mobileshoppingagg
spec:
ports:
- port: 80
selector:
app: eshop
component: mobileshoppingagg
---
apiVersion: v1
kind: Service
metadata:
labels:
app: eshop
component: webmvc
name: webmvc
spec:
ports:
- port: 80
selector:
app: eshop
component: webmvc
---
apiVersion: v1
kind: Service
metadata:
labels:
app: eshop
component: webstatus
name: webstatus
spec:
ports:
- port: 80
selector:
app: eshop
component: webstatus
---
apiVersion: v1
kind: Service
metadata:
labels:
app: eshop
component: webspa
name: webspa
spec:
ports:
- port: 80
selector:
app: eshop
component: webspa

+ 0
- 35
k8s/sql-data.yaml View File

@ -1,35 +0,0 @@
apiVersion: v1
kind: Service
metadata:
labels:
app: eshop
component: sql-data
name: sql-data
spec:
ports:
- port: 1433
selector:
app: eshop
component: sql-data
---
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: sql-data
spec:
template:
metadata:
labels:
app: eshop
component: sql-data
spec:
containers:
- name: sql-data
image: microsoft/mssql-server-linux:2017-latest
env:
- name: ACCEPT_EULA
value: "Y"
- name: MSSQL_PID
value: Developer
- name: MSSQL_SA_PASSWORD
value: Pass@word

+ 13
- 2
src/Services/Basket/Basket.API/Infrastructure/Middlewares/FailingMiddleware.cs View File

@ -1,4 +1,5 @@
using Microsoft.AspNetCore.Http;
using Microsoft.Extensions.Logging;
using System;
using System.Linq;
using System.Threading.Tasks;
@ -10,11 +11,13 @@ namespace Basket.API.Infrastructure.Middlewares
private readonly RequestDelegate _next;
private bool _mustFail;
private readonly FailingOptions _options;
public FailingMiddleware(RequestDelegate next, FailingOptions options)
private readonly ILogger _logger;
public FailingMiddleware(RequestDelegate next, ILogger<FailingMiddleware> logger, FailingOptions options)
{
_next = next;
_options = options;
_mustFail = false;
_logger = logger;
}
public async Task Invoke(HttpContext context)
{
@ -27,6 +30,7 @@ namespace Basket.API.Infrastructure.Middlewares
if (MustFail(context))
{
_logger.LogInformation($"Response for path {path} will fail.");
context.Response.StatusCode = (int)System.Net.HttpStatusCode.InternalServerError;
context.Response.ContentType = "text/plain";
await context.Response.WriteAsync("Failed due to FailingMiddleware enabled.");
@ -74,8 +78,15 @@ namespace Basket.API.Infrastructure.Middlewares
private bool MustFail(HttpContext context)
{
var rpath = context.Request.Path.Value;
if (_options.NotFilteredPaths.Any(p => p.Equals(rpath, StringComparison.InvariantCultureIgnoreCase)))
{
return false;
}
return _mustFail &&
(_options.EndpointPaths.Any(x => x == context.Request.Path.Value)
(_options.EndpointPaths.Any(x => x == rpath)
|| _options.EndpointPaths.Count == 0);
}
}


+ 2
- 0
src/Services/Basket/Basket.API/Infrastructure/Middlewares/FailingOptions.cs View File

@ -6,5 +6,7 @@ namespace Basket.API.Infrastructure.Middlewares
{
public string ConfigPath = "/Failing";
public List<string> EndpointPaths { get; set; } = new List<string>();
public List<string> NotFilteredPaths {get; set;} = new List<string>();
}
}

+ 4
- 1
src/Services/Basket/Basket.API/Program.cs View File

@ -60,7 +60,10 @@ namespace Microsoft.eShopOnContainers.Services.Basket.API
});
})
.UseFailing(options => options.ConfigPath = "/Failing")
.UseFailing(options => {
options.ConfigPath = "/Failing";
options.NotFilteredPaths.AddRange(new[] {"/hc","/liveness"});
})
.UseStartup<Startup>()
.UseApplicationInsights()
.UseContentRoot(Directory.GetCurrentDirectory())


Loading…
Cancel
Save