Documentation
¶
Index ¶
- Constants
- Variables
- func CryptString(plain string) string
- func EnvCreate(envName string) bool
- func EnvLock(c *LockData, res *WebResponse) bool
- func EnvMaintenance(envName string) bool
- func EnvTerminate(envName string) bool
- func EnvUnlock(envName string) bool
- func ExpireEntity(entity string, expireAt string) bool
- func GetEnvFromHost(hostName string) string
- func GetTimeFromNow(yyyymmdd string) time.Duration
- func HostLock(c *LockData, res *WebResponse) bool
- func HostUnlock(hostName string) bool
- func IsEnvContainsHosts(envName string) bool
- func IsExistingUser(userName string) bool
- func IsHostLocked(hostName string) bool
- func IsValidDate(dateParam string) bool
- func IsValidUser(userName string, userToken string) bool
- func REntityDelete(enType string, enName string) bool
- func RFillJsonStats(r *Stats)
- func RGetHostsInEnv(envName string) []string
- func RGetSingle(key string, field string) any
- func RLockSetter(c *LockData) bool
- func RScanKeys(matchPattern string) []string
- func RSetExpire(key string, expire time.Duration) bool
- func RSetSingle(key string, field string, value any, lastDay time.Duration) bool
- func ServeTLS(r *chi.Mux)
- type LockData
- type RichErrorStatus
- type Stats
- type WebResponse
Constants ¶
const ( DEBUG bool = false C_ADMIN string = "admin" C_ENV_LIST string = "envlist" C_TYPE_ENV string = "env" C_TYPE_HOST string = "host" C_PARENT string = "parent" C_SUCCESS string = "✅" C_FAILED string = "❌" C_STARTED string = "🌐" C_STATE_VALID string = "valid" C_STATE_LOCKED string = "locked" C_STATE_TERMINATED string = "termnd" C_STATE_MAINTENANCE string = "maint" C_RespHeader string = "application/json" C_Secret string = "XXXXXXX" ERR_JsonConvertData string = "ERR: Error converting LockData to JSON." ERR_NoNameSpecified string = "ERR: No 'name' parameter specified." ERR_NoTypeSpecified string = "ERR: No 'type' parameter specified." ERR_NoUserSpecified string = "ERR: No 'user' parameter specified." ERR_NoTokenSpecified string = "ERR: No 'token' parameter specified." ERR_WrongTypeSpecified string = "ERR: Wrong 'type' specified, must be 'env' or 'host'." ERR_IllegalUser string = "ERR: Illegal user." ERR_CannotDeleteUser string = "ERR: User setup failed." ERR_EnvLockFail string = "ERR: Environment lock unsuccesful." ERR_EnvCreationFail string = "ERR: Creating a new enviromnent failed." ERR_EnvUnlockFail string = "ERR: Environment unlock failed." ERR_EnvSetMaintFailFail string = "ERR: Environment maintenance set failed." ERR_EnvSetTermFail string = "ERR: Environment termination failed." ERR_ParentEnvNil string = "ERR: Parent env not defined, admin can add it." ERR_HostLockFail string = "ERR: Host lock unsuccesful." ERR_ParentEnvLockFail string = "ERR: Parent environment is locked, cannot lock host." ERR_HostUnlockFail string = "ERR: Host unlock failed." ERR_InvalidDateSpecified string = "ERR: Invalid 'lastday' specified, format is: YYYYMMDD." ERR_NoAdminPresent string = "ERR: No 'admin' user present, cannot continue." ERR_LockedHostsInEnv string = "ERR: Locked hosts in env, it cannot be locked." ERR_UserExists string = "ERR: User already exists." ERR_UserSetupFailed string = "ERR: Cannot setup user." ERR_LockedByAnotherUser string = "ERR: This entity is locked by another user !!!" OK_UserPurged string = "OK: User purged." OK_EnvCreated string = "OK: Environment created." OK_EnvUnlocked string = "OK: Environment unlocked." OK_EnvLocked string = "OK: Environment locked successfully." OK_EnvSetToMaintenance string = "OK: Environment is in maintenance mode now." OK_EnvSetToTerminate string = "OK: Environment terminated." OK_HostUnlocked string = "OK: Host has been unlocked succesfully." OK_HostLocked string = "OK: Host has been locked succesfully." C_HTTP_OK = 0 // default no-error state C_TLS_ENABLED bool = true // serve TLS with self-signed cert? )
const (
C_CERT_BASEPATH string = "/dev/shm/"
)
Variables ¶
var (
RConn *redis.Client // global Redis connection
)
Functions ¶
func EnvLock ¶
func EnvLock(c *LockData, res *WebResponse) bool
Wants: filled LockData
Returns: `true` if everything went fine
func EnvMaintenance ¶
func EnvTerminate ¶
func ExpireEntity ¶
Wants: `env|host:name` key in Redis, expire date in YYYYMMDD
Returns: `true` on success
func GetEnvFromHost ¶
Wants: hostname
Returns: first tag from full hostname by separator character list
func GetTimeFromNow ¶
Wants: a string containing a date in YYYYMMDD format
Returns: time from now till the last second of YYYYMMMDD specified date
func HostLock ¶
func HostLock(c *LockData, res *WebResponse) bool
Wants: filled LockData
Returns: `true` if everything went fine
func HostUnlock ¶
func IsEnvContainsHosts ¶
func IsHostLocked ¶
func IsValidUser ¶
Wants: username, usertoken
Returns: `true` if user is valid (password is matching)
func REntityDelete ¶
func RFillJsonStats ¶
func RFillJsonStats(r *Stats)
func RGetHostsInEnv ¶
func RGetSingle ¶
func RLockSetter ¶
Do not forget to fill x.LockData before function call!
Returns `true` on successful run.
func RSetExpire ¶
Usually key := 'entityType:entityName'
Types ¶
type LockData ¶
type RichErrorStatus ¶
func EnvLockStatus ¶
func EnvLockStatus(envName string) *RichErrorStatus
Wants: environment name
Returns: Specific RichErrorStatus
func ValidateType ¶
func ValidateType(t string) *RichErrorStatus
Wants: a string which should be C_TYPE_ENV or C_TYPE_HOST
Returns: Specific RichErrorStatus