istio.io/istio@v0.0.0-20240520182934-d79c90f27776/samples/bookinfo/src/docker-bake.hcl (about)

     1  variable "TAGS" {
     2    default = "latest"
     3  }
     4  
     5  variable "HUB" {
     6    default = "localhost:5000"
     7  }
     8  
     9  variable "PLATFORMS" {
    10    default = "linux/amd64,linux/arm64"
    11  }
    12  
    13  images = [
    14    // Productpage
    15    {
    16      name   = "examples-bookinfo-productpage-v1"
    17      source = "productpage"
    18    },
    19    {
    20      name = "examples-bookinfo-productpage-v-flooding"
    21      args = {
    22        flood_factor = 100
    23      }
    24      source = "productpage"
    25    },
    26  
    27    // Details
    28    {
    29      name = "examples-bookinfo-details-v1"
    30      args = {
    31        service_version = "v1"
    32      }
    33      source = "details"
    34    },
    35    {
    36      name = "examples-bookinfo-details-v2"
    37      args = {
    38        service_version              = "v2"
    39        enable_external_book_service = true
    40      }
    41      source = "details"
    42    },
    43  
    44    // Reviews
    45    {
    46      name = "examples-bookinfo-reviews-v1"
    47      args = {
    48        service_version = "v1"
    49      }
    50      source = "reviews"
    51    },
    52    {
    53      name = "examples-bookinfo-reviews-v2"
    54      args = {
    55        service_version = "v2"
    56        enable_ratings  = true
    57      }
    58      source = "reviews"
    59    },
    60    {
    61      name = "examples-bookinfo-reviews-v3"
    62      args = {
    63        service_version = "v3"
    64        enable_ratings  = true
    65        star_color      = "red"
    66      }
    67      source = "reviews"
    68    },
    69  
    70    // Ratings
    71    {
    72      name = "examples-bookinfo-ratings-v1"
    73      args = {
    74        service_version = "v1"
    75      }
    76      source = "ratings"
    77    },
    78    {
    79      name = "examples-bookinfo-ratings-v2"
    80      args = {
    81        service_version = "v2"
    82      }
    83      source = "ratings"
    84    },
    85    {
    86      name = "examples-bookinfo-ratings-v-faulty"
    87      args = {
    88        service_version = "v-faulty"
    89      }
    90      source = "ratings"
    91    },
    92    {
    93      name = "examples-bookinfo-ratings-v-delayed"
    94      args = {
    95        service_version = "v-delayed"
    96      }
    97      source = "ratings"
    98    },
    99    {
   100      name = "examples-bookinfo-ratings-v-unavailable"
   101      args = {
   102        service_version = "v-unavailable"
   103      }
   104      source = "ratings"
   105    },
   106    {
   107      name = "examples-bookinfo-ratings-v-unhealthy"
   108      args = {
   109        service_version = "v-unhealthy"
   110      }
   111      source = "ratings"
   112    },
   113  
   114    // mysql
   115    {
   116      name   = "examples-bookinfo-mysqldb"
   117      source = "mysql"
   118    },
   119  
   120    // mongo
   121    {
   122      name   = "examples-bookinfo-mongodb"
   123      source = "mongodb"
   124    }
   125  ]
   126  
   127  target "default" {
   128    matrix = {
   129      item = images
   130    }
   131    name    = item.name
   132    context = "./samples/bookinfo/src/${item.source}"
   133    tags    = [
   134      for x in setproduct([HUB], "${split(",", TAGS)}") : join("/${item.name}:", x)
   135    ]
   136    args = lookup(item, "args", {})
   137    platforms = split(",",lookup(item, "platforms", PLATFORMS))
   138  }