github.com/mendersoftware/go-lib-micro@v0.0.0-20240304135804-e8e39c59b148/addons/addons.go (about)

     1  // Copyright 2023 Northern.tech AS
     2  //
     3  //	Licensed under the Apache License, Version 2.0 (the "License");
     4  //	you may not use this file except in compliance with the License.
     5  //	You may obtain a copy of the License at
     6  //
     7  //	    http://www.apache.org/licenses/LICENSE-2.0
     8  //
     9  //	Unless required by applicable law or agreed to in writing, software
    10  //	distributed under the License is distributed on an "AS IS" BASIS,
    11  //	WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    12  //	See the License for the specific language governing permissions and
    13  //	limitations under the License.
    14  package addons
    15  
    16  const (
    17  	MenderTroubleshoot = "troubleshoot"
    18  	MenderConfigure    = "configure"
    19  	MenderMonitor      = "monitor"
    20  )
    21  
    22  var (
    23  	KnownAddons = []string{
    24  		MenderTroubleshoot,
    25  		MenderConfigure,
    26  		MenderMonitor,
    27  	}
    28  
    29  	AllAddonsDisabled = []Addon{
    30  		{
    31  			Name:    MenderConfigure,
    32  			Enabled: false,
    33  		},
    34  		{
    35  			Name:    MenderTroubleshoot,
    36  			Enabled: false,
    37  		},
    38  		{
    39  			Name:    MenderMonitor,
    40  			Enabled: false,
    41  		},
    42  	}
    43  	AllAddonsEnabled = []Addon{
    44  		{
    45  			Name:    MenderConfigure,
    46  			Enabled: true,
    47  		},
    48  		{
    49  			Name:    MenderTroubleshoot,
    50  			Enabled: true,
    51  		},
    52  		{
    53  			Name:    MenderMonitor,
    54  			Enabled: true,
    55  		},
    56  	}
    57  	TrialAddons = AllAddonsEnabled
    58  )
    59  
    60  type Addon struct {
    61  	Name    string `json:"name" bson:"name"`
    62  	Enabled bool   `json:"enabled" bson:"enabled"`
    63  }