summaryrefslogtreecommitdiff
path: root/structs.go
blob: 210f10accc740f38458e8e53ddb8e0bc7eeb5a2c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
// Copyright 2017-2025 WIT.COM Inc. All rights reserved.
// Use of this source code is governed by the GPL 3.0

package main

import (
	"time"

	"go.wit.com/gui"
	"go.wit.com/lib/gadgets"
	"go.wit.com/lib/protobuf/argvpb"
	"go.wit.com/lib/protobuf/zoopb"
)

var me *mainType

// this app's variables
type mainType struct {
	argv         *argvpb.Argv           // shell autocomplete
	hostname     string                 // my fqdn dns zookeeper hostname
	pollDelay    time.Duration          // how often to report our status
	dog          *time.Ticker           // the watchdog timer
	dogchan      chan bool              // can kill the watchdog
	distro       string                 // debian,redhat,gentoo,macos,wincrap
	packages     *zoopb.Packages        // installed packages and versions
	machines     *zoopb.Machines        // every machine that has reported itself to the zookeeper
	targets      map[string]string      // what versions the machines should be running
	upgrade      map[string]bool        // use this to trigger builds
	myGui        *argvpb.GuiPrep        // the gui toolkit handle
	machinesWin  *gadgets.GenericWindow // the machines gui window
	machinesBox  *gui.Node              // the machines gui parent box widget
	machinesTB   *zoopb.MachinesTable   // the machines gui table buffer
	zood         *stdTableWin           // the zood version window
	machinesfile string                 // where the machines.pb file should be stored
}