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: ASPNETCORE_URLS
          value: http://0.0.0.0:80/basket-api
        - name: ConnectionString
          value: basket-data
        - name: EventBusConnection
          value: rabbitmq
        - name: IdentityUrl
          valueFrom:
           configMapKeyRef:
             name: urls
             key: IdentityUrl
        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: ASPNETCORE_URLS
          value: http://0.0.0.0:80/catalog-api
        - name: ConnectionString
          value: "Server=sql-data;Initial Catalog=Microsoft.eShopOnContainers.Services.CatalogDb;User Id=sa;Password=Pass@word"
        - name: EventBusConnection
          value: rabbitmq
        - name: ExternalCatalogBaseUrl
          valueFrom:
           configMapKeyRef:
             name: urls
             key: CatalogUrl
        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: ASPNETCORE_URLS
          value: http://0.0.0.0:80/identity
        - name: ConnectionStrings__DefaultConnection
          value: "Server=sql-data;Initial Catalog=Microsoft.eShopOnContainers.Services.IdentityDb;User Id=sa;Password=Pass@word"
        - name: DPConnectionString
          value: keystore-data
        - name: IsClusterEnv
          value: 'True'
        - name: MvcClient
          valueFrom:
           configMapKeyRef:
             name: urls
             key: MvcClientExternalUrl
        - name: SpaClient
          valueFrom:
           configMapKeyRef:
             name: urls
             key: SpaClientExternalUrl
        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: ASPNETCORE_URLS
          value: http://0.0.0.0:80/ordering-api
        - name: ConnectionString
          value: "Server=sql-data;Database=Microsoft.eShopOnContainers.Services.OrderingDb;User Id=sa;Password=Pass@word;"
        - name: EventBusConnection
          value: rabbitmq
        - name: IdentityUrl
          valueFrom:
           configMapKeyRef:
             name: urls
             key: IdentityUrl
        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: ASPNETCORE_URLS
          value: http://0.0.0.0:80/webmvc
        - name: DPConnectionString
          value: keystore-data
        - name: IsClusterEnv
          value: 'True'
        - name: BasketUrl
          valueFrom:
           configMapKeyRef:
             name: urls
             key: MvcClientBasketUrl
        - name: CallBackUrl
          valueFrom:
           configMapKeyRef:
             name: urls
             key: MvcClientExternalUrl
        - name: CatalogUrl
          valueFrom:
           configMapKeyRef:
             name: urls
             key: MvcClientCatalogUrl
        - name: IdentityUrl
          valueFrom:
           configMapKeyRef:
             name: urls
             key: IdentityUrl
        - name: OrderingUrl
          valueFrom:
           configMapKeyRef:
             name: urls
             key: MvcClientOrderingUrl
        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: ASPNETCORE_URLS
          value: http://0.0.0.0:80/webstatus
        - name: BasketUrl
          valueFrom:
           configMapKeyRef:
             name: urls
             key: BasketHealthCheckUrl
        - name: CatalogUrl
          valueFrom:
           configMapKeyRef:
             name: urls
             key: CatalogHealthCheckUrl
        - name: IdentityUrl
          valueFrom:
           configMapKeyRef:
             name: urls
             key: IdentityHealthCheckUrl
        - name: OrderingUrl
          valueFrom:
           configMapKeyRef:
             name: urls
             key: OrderingHealthCheckUrl
        - name: mvc
          valueFrom:
           configMapKeyRef:
             name: urls
             key: WebMvcHealthCheckUrl
        - name: spa
          valueFrom:
           configMapKeyRef:
             name: urls
             key: WebSpaHealthCheckUrl             
        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
          value: keystore-data
        - name: IsClusterEnv
          value: 'True'
        - name: BasketUrl
          valueFrom:
           configMapKeyRef:
             name: urls
             key: SpaClientBasketExternalUrl
        - name: CallBackUrl
          valueFrom:
           configMapKeyRef:
             name: urls
             key: SpaClientExternalUrl
        - name: CatalogUrl
          valueFrom:
           configMapKeyRef:
             name: urls
             key: SpaClientCatalogExternalUrl
        - name: IdentityUrl
          valueFrom:
           configMapKeyRef:
             name: urls
             key: SpaClientIdentityExternalUrl
        - name: OrderingUrl
          valueFrom:
           configMapKeyRef:
             name: urls
             key: SpaClientOrderingExternalUrl
        - name: BasketUrlHC
          valueFrom:
           configMapKeyRef:
             name: urls
             key: BasketHealthCheckUrl        
        - name: CatalogUrlHC
          valueFrom:
           configMapKeyRef:
             name: urls
             key: CatalogHealthCheckUrl
        - name: IdentityUrlHC
          valueFrom:
           configMapKeyRef:
             name: urls
             key: IdentityHealthCheckUrl
        - name: OrderingUrlHC
          valueFrom:
           configMapKeyRef:
             name: urls
             key: OrderingHealthCheckUrl
        ports:
        - containerPort: 80
      imagePullSecrets:
      - name: registry-key