service

package
v0.1.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 21, 2024 License: Apache-2.0 Imports: 32 Imported by: 0

Documentation

Overview

Package service contains all the service handlers

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func AppEventHandler

func AppEventHandler(app core.App) error

func AuditEventHandler

func AuditEventHandler(app core.App) error

func GetMachineUsers

func GetMachineUsers(
	app core.App,
	machine *models.Record,
) (map[string][]string, error)

GetMachineUsers fetches all principals based on a machine

func GetUserMachines

func GetUserMachines(
	app core.App,
	user *models.Record,
) ([]*models.Record, error)

GetUserMachines fetches all machines based on a user

func InstallAgent

func InstallAgent(app core.App, machine *models.Record)

TODO: Check if agent is installed and running, if not try to restart

func KeyCheck

func KeyCheck(app core.App) error

func MachineEventHandler

func MachineEventHandler(app core.App) error

func ManualUpdate

func ManualUpdate(app core.App, machine *models.Record)

ManualUpdate for machines running without an agent

func Restore

func Restore(machine *models.Record)

func Server

func Server() error

func UserEventHandler

func UserEventHandler(app core.App) error

Types

type Group

type Group struct {
	ID          string `json:"id,omitempty"`
	Name        string `json:"name,omitempty"`
	Description string `json:"description,omitempty"`
	Username    string `json:"linux_username,omitempty"`
}

type Machine

type Machine struct {
	ID       string   `json:"id,omitempty"`
	Name     string   `json:"name,omitempty"`
	Host     string   `json:"host,omitempty"`
	Port     int      `json:"port,omitempty"`
	Agent    bool     `json:"agent,omitempty"`
	Error    string   `json:"error,omitempty"`
	Provider string   `json:"provider,omitempty"`
	Tags     []string `json:"tags,omitempty"`
	Users    []string `json:"users,omitempty"`
	Groups   []string `json:"groups,omitempty"`
}

type Permission

type Permission struct {
	ID             string   `json:"id,omitempty"`
	Name           string   `json:"name,omitempty"`
	Description    string   `json:"description,omitempty"`
	CanCreate      bool     `json:"can_create"`
	CanUpdate      bool     `json:"can_update"`
	CanDelete      bool     `json:"can_delete"`
	AccessUsers    bool     `json:"access_users"`
	AccessMachines bool     `json:"access_machines"`
	AccessGroups   bool     `json:"access_groups"`
	IsAdmin        bool     `json:"is_admin"`
	Users          []string `json:"users,omitempty"`
	Groups         []string `json:"groups,omitempty"`
	Machines       []string `json:"machines,omitempty"`
}

type Tag

type Tag struct {
	ID          string `json:"id,omitempty"`
	Name        string `json:"name,omitempty"`
	Description string `json:"description,omitempty"`
}

type User

type User struct {
	ID              string   `json:"id,omitempty"`
	Name            string   `json:"name,omitempty"`
	Username        string   `json:"username,omitempty"`
	Principal       string   `json:"principal,omitempty"`
	Avatar          string   `json:"avatar,omitempty"`
	Email           string   `json:"email,omitempty"`
	EmailVisibility bool     `json:"emailVisibility,omitempty"`
	Verified        bool     `json:"verified,omitempty"`
	Permission      string   `json:"permission,omitempty"`
	Groups          []string `json:"groups,omitempty"`
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL