| 170 | } |
| 171 | |
| 172 | func NewIngesterWithConfigFile(name string, store RingStore, address, configFile string, flags map[string]string, image string) *CortexService { |
| 173 | if configFile != "" { |
| 174 | flags["-config.file"] = filepath.Join(e2e.ContainerSharedDir, configFile) |
| 175 | } |
| 176 | |
| 177 | // Configure the ingesters ring backend |
| 178 | flags["-ring.store"] = string(store) |
| 179 | switch store { |
| 180 | case RingStoreConsul: |
| 181 | flags["-consul.hostname"] = address |
| 182 | case RingStoreEtcd: |
| 183 | flags["-etcd.endpoints"] = address |
| 184 | } |
| 185 | |
| 186 | if image == "" { |
| 187 | image = GetDefaultImage() |
| 188 | } |
| 189 | |
| 190 | return NewCortexService( |
| 191 | name, |
| 192 | image, |
| 193 | e2e.NewCommandWithoutEntrypoint("cortex", e2e.BuildArgs(e2e.MergeFlags(map[string]string{ |
| 194 | "-target": "ingester", |
| 195 | "-log.level": "warn", |
| 196 | "-ingester.final-sleep": "0s", |
| 197 | "-ingester.join-after": "0s", |
| 198 | "-ingester.min-ready-duration": "0s", |
| 199 | "-ingester.num-tokens": "512", |
| 200 | }, flags))...), |
| 201 | e2e.NewHTTPReadinessProbe(httpPort, "/ready", 200, 299), |
| 202 | httpPort, |
| 203 | grpcPort, |
| 204 | ) |
| 205 | } |
| 206 | |
| 207 | func NewParquetConverter(name string, store RingStore, address string, flags map[string]string, image string) *CortexService { |
| 208 | return NewParquetConverterWithConfigFile(name, store, address, "", flags, image) |