MCPcopy Create free account
hub / github.com/dgraph-io/dgraph / getAlpha

Function getAlpha

compose/compose.go:280–378  ·  view source on GitHub ↗
(idx int, raft string)

Source from the content-addressed store, hash-verified

278}
279
280func getAlpha(idx int, raft string) service {
281 basename := "alpha"
282 // internalPort is used for Raft communication between nodes.
283 internalPort := alphaBasePort + opts.PortOffset + getOffset(idx)
284 // grpcPort is the public-facing port for clients. It is offset from the internal port.
285 grpcPort := internalPort + 1000
286 svc := initService(basename, idx, grpcPort)
287
288 if opts.TmpFS {
289 svc.TmpFS = append(svc.TmpFS, fmt.Sprintf("/data/%s/w", svc.name))
290 }
291
292 isMultiZeros := true
293 var isInvalidVersion, err = semverCompare("< 1.2.3 || 20.03.0", opts.Tag)
294 if err != nil || isInvalidVersion {
295 if opts.Tag != "latest" {
296 isMultiZeros = false
297 }
298 }
299
300 maxZeros := 1
301 if isMultiZeros {
302 maxZeros = opts.NumZeros
303 }
304
305 zeroHostAddr := fmt.Sprintf("zero%d:%d", 1, zeroBasePort+opts.PortOffset)
306 zeros := []string{zeroHostAddr}
307 for i := 2; i <= maxZeros; i++ {
308 zeroHostAddr = fmt.Sprintf("zero%d:%d", i, zeroBasePort+opts.PortOffset+getOffset(i))
309 zeros = append(zeros, zeroHostAddr)
310 }
311
312 zerosOpt := strings.Join(zeros, ",")
313
314 offset := getOffset(idx)
315 if (opts.PortOffset + offset) != 0 {
316 svc.Command += fmt.Sprintf(" -o %d", opts.PortOffset+offset)
317 }
318 svc.Command += fmt.Sprintf(" --my=%s:%d", svc.name, internalPort)
319 svc.Command += fmt.Sprintf(" --zero=%s", zerosOpt)
320 svc.Command += fmt.Sprintf(" --logtostderr -v=%d", opts.Verbosity)
321
322 if opts.SnapshotAfter != "" {
323 raft = fmt.Sprintf("%s; %s", raft, opts.SnapshotAfter)
324 }
325 svc.Command += fmt.Sprintf(` --raft "%s"`, raft)
326
327 // Don't assign idx, let it auto-assign.
328 // svc.Command += fmt.Sprintf(" --raft='idx=%d'", idx)
329 if opts.Vmodule != "" {
330 svc.Command += fmt.Sprintf(" --vmodule=%s", opts.Vmodule)
331 }
332 if opts.WhiteList {
333 svc.Command += ` --security "whitelist=0.0.0.0/0;"`
334 }
335 if opts.Acl {
336 svc.Command += ` --acl "secret-file=/secret/hmac;"`
337 svc.Volumes = append(svc.Volumes, volume{

Callers 1

mainFunction · 0.85

Calls 4

initServiceFunction · 0.85
semverCompareFunction · 0.85
getVolumeFunction · 0.85
getOffsetFunction · 0.70

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…