apiVersion: appgroup.diktyo.x-k8s.io/v1alpha1
kind: AppGroup
metadata:
  name: online-boutique
spec:
  numMembers: 11
  topologySortingAlgorithm: AlternateKahn
  workloads:
    - workload:
        kind: Deployment
        name: frontend-deployment
        selector: frontend
        apiVersion: apps/v1
        namespace: default
      dependencies:
        - workload:
            kind: Deployment
            name: cartservice-deployment
            selector: cartservice
            apiVersion: apps/v1
            namespace: default
          minBandwidth: "100Mi"
          maxNetworkCost: 80
        - workload:
            kind: Deployment
            name: productcatalogservice-deployment
            selector: productcatalogservice
            apiVersion: apps/v1
            namespace: default
          minBandwidth: "100Mi"
          maxNetworkCost: 80
        - workload:
            kind: Deployment
            name: currencyservice-deployment
            selector: currencyservice
            apiVersion: apps/v1
            namespace: default
          minBandwidth: "100Mi"
          maxNetworkCost: 80
        - workload:
            kind: Deployment
            name: shippingservice-deployment
            selector: shippingservice
            apiVersion: apps/v1
            namespace: default
          minBandwidth: "100Mi"
          maxNetworkCost: 80
        - workload:
            kind: Deployment
            name: checkoutservice-deployment
            selector: checkoutservice
            apiVersion: apps/v1
            namespace: default
          minBandwidth: "100Mi"
          maxNetworkCost: 80
        - workload:
            kind: Deployment
            name: adservice-deployment
            selector: adservice
            apiVersion: apps/v1
            namespace: default
          minBandwidth: "100Mi"
          maxNetworkCost: 80
    - workload:
        kind: Deployment
        name: cartservice-deployment
        selector: cartservice
        apiVersion: apps/v1
        namespace: default
      dependencies:
        - workload:
            kind: Deployment
            name: frontend-deployment
            selector: frontend
            apiVersion: apps/v1
            namespace: default
          minBandwidth: "100Mi"
          maxNetworkCost: 80
        - workload: redis-cart
            kind: Deployment
            name: redis-cart-deployment
            selector: redis-cart
            apiVersion: apps/v1
            namespace: default
          minBandwidth: "100Mi"
          maxNetworkCost: 80
    - workload:
        kind: Deployment
        name: productcatalogservice-deployment
        selector: productcatalogservice
        apiVersion: apps/v1
        namespace: default
      dependencies:
        - workload:
            kind: Deployment
            name: frontend-deployment
            selector: frontend
            apiVersion: apps/v1
            namespace: default
          minBandwidth: "100Mi"
          maxNetworkCost: 80
        - workload:
            kind: Deployment
            name: checkoutservice-deployment
            selector: checkoutservice
            apiVersion: apps/v1
            namespace: default
          minBandwidth: "100Mi"
          maxNetworkCost: 80
        - workload:
            kind: Deployment
            name: recommendationservice-deployment
            selector: recommendationservice
            apiVersion: apps/v1
            namespace: default
          minBandwidth: "100Mi"
          maxNetworkCost: 80
    - workload:
        kind: Deployment
        name: currencyservice-deployment
        selector: currencyservice
        apiVersion: apps/v1
        namespace: default
      dependencies:
        - workload:
            kind: Deployment
            name: frontend-deployment
            selector: frontend
            apiVersion: apps/v1
            namespace: default
          minBandwidth: "100Mi"
          maxNetworkCost: 80
        - workload:
            kind: Deployment
            name: checkoutservice-deployment
            selector: checkoutservice
            apiVersion: apps/v1
            namespace: default
          minBandwidth: "100Mi"
          maxNetworkCost: 80
    - workload:
        kind: Deployment
        name: paymentservice-deployment
        selector: paymentservice
        apiVersion: apps/v1
        namespace: default
      dependencies:
        - workload:
            kind: Deployment
            name: checkoutservice-deployment
            selector: checkoutservice
            apiVersion: apps/v1
            namespace: default
          minBandwidth: "100Mi"
          maxNetworkCost: 80
    - workload:
        kind: Deployment
        name: shippingservice-deployment
        selector: shippingservice
        apiVersion: apps/v1
        namespace: default
      dependencies:
        - workload:
            kind: Deployment
            name: frontend-deployment
            selector: frontend
            apiVersion: apps/v1
            namespace: default
          minBandwidth: "100Mi"
          maxNetworkCost: 80
        - workload:
            kind: Deployment
            name: checkoutservice-deployment
            selector: checkoutservice
            apiVersion: apps/v1
            namespace: default
          minBandwidth: "100Mi"
          maxNetworkCost: 80
    - workload:
        kind: Deployment
        name: emailservice-deployment
        selector: emailservice
        apiVersion: apps/v1
        namespace: default
      dependencies:
        - workload:
            kind: Deployment
            name: checkoutservice-deployment
            selector: checkoutservice
            apiVersion: apps/v1
            namespace: default
          minBandwidth: "100Mi"
          maxNetworkCost: 80
    - workload:
        kind: Deployment
        name: checkoutservice-deployment
        selector: checkoutservice
        apiVersion: apps/v1
        namespace: default
      dependencies:
        - workload:
            kind: Deployment
            name: frontend-deployment
            selector: frontend
            apiVersion: apps/v1
            namespace: default
          minBandwidth: "100Mi"
          maxNetworkCost: 80
        - workload:
            kind: Deployment
            name: cartservice-deployment
            selector: cartservice
            apiVersion: apps/v1
            namespace: default
          minBandwidth: "100Mi"
          maxNetworkCost: 80
        - workload:
            kind: Deployment
            name: productcatalogservice-deployment
            selector: productcatalogservice
            apiVersion: apps/v1
            namespace: default
          minBandwidth: "100Mi"
          maxNetworkCost: 80
        - workload:
            kind: Deployment
            name: currencyservice-deployment
            selector: currencyservice
            apiVersion: apps/v1
            namespace: default
          minBandwidth: "100Mi"
          maxNetworkCost: 80
        - workload:
            kind: Deployment
            name: paymentservice-deployment
            selector: paymentservice
            apiVersion: apps/v1
            namespace: default
          minBandwidth: "100Mi"
          maxNetworkCost: 80
        - workload:
            kind: Deployment
            name: shippingservice-deployment
            selector: shippingservice
            apiVersion: apps/v1
            namespace: default
          minBandwidth: "100Mi"
          maxNetworkCost: 80
        - workload:
            kind: Deployment
            name: emailservice-deployment
            selector: emailservice
            apiVersion: apps/v1
            namespace: default
          minBandwidth: "100Mi"
          maxNetworkCost: 80
    - workload:
        kind: Deployment
        name: recommendationservice-deployment
        selector: recommendationservice
        apiVersion: apps/v1
        namespace: default
      dependencies:
        - workload:
            kind: Deployment
            name: frontend-deployment
            selector: frontend
            apiVersion: apps/v1
            namespace: default
          minBandwidth: "100Mi"
          maxNetworkCost: 80
        - workload:
            kind: Deployment
            name: productcatalogservice-deployment
            selector: productcatalogservice
            apiVersion: apps/v1
            namespace: default
          minBandwidth: "100Mi"
          maxNetworkCost: 80
    - workload:
        kind: Deployment
        name: adservice-deployment
        selector: adservice
        apiVersion: apps/v1
        namespace: default
      dependencies:
        - workload:
            kind: Deployment
            name: frontend-deployment
            selector: frontend
            apiVersion: apps/v1
            namespace: default
          minBandwidth: "100Mi"
          maxNetworkCost: 80
    - workload:
        kind: Deployment
        name: redis-cart-deployment
        selector: redis-cart
        apiVersion: apps/v1
        namespace: default
      dependencies:
        - workload:
            kind: Deployment
            name: cartservice-deployment
            selector: cartservice
            apiVersion: apps/v1
            namespace: default
          minBandwidth: "100Mi"
          maxNetworkCost: 80
