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 }