package constants import "time" // Версия приложения const ( // AppVersion версия приложения AppVersion = "1.0.0" ) // Константы для сервисного режима const ( // DefaultDeniedMessage сообщение по умолчанию при включении сервисного режима DefaultDeniedMessage = "Техническое обслуживание. Попробуйте позже." // DefaultPermissionCode код разрешения для сервисного режима DefaultPermissionCode = "service-mode" // TechnicalMaintenanceMessage сообщение для завершения сессий TechnicalMaintenanceMessage = "Техническое обслуживание" ) // Константы таймаутов const ( // DEFAULT_CONNECTION_TIMEOUT таймаут подключения по умолчанию DEFAULT_CONNECTION_TIMEOUT = 30 * time.Second // DEFAULT_COMMAND_TIMEOUT таймаут выполнения команды по умолчанию DEFAULT_COMMAND_TIMEOUT = 60 * time.Second // DEFAULT_RETRY_COUNT количество попыток повтора по умолчанию DEFAULT_RETRY_COUNT = 3 // DEFAULT_RETRY_DELAY задержка между попытками по умолчанию DEFAULT_RETRY_DELAY = 5 * time.Second ) // Константы для RAC команд const ( // RAC_INFOBASE_UPDATE команда обновления информационной базы RAC_INFOBASE_UPDATE = "infobase" // RAC_SESSION_LIST команда получения списка сессий RAC_SESSION_LIST = "session" // RAC_CLUSTER_LIST команда получения списка кластеров RAC_CLUSTER_LIST = "cluster" ) // Константы состояний сервисного режима const ( // SERVICE_MODE_ON включение сервисного режима SERVICE_MODE_ON = "on" // SERVICE_MODE_OFF выключение сервисного режима SERVICE_MODE_OFF = "off" ) // Константы для CLI параметров const ( // DefaultConfigPath путь к файлу конфигурации по умолчанию DefaultConfigPath = "config.yaml" // DefaultSecretPath путь к файлу секретов по умолчанию DefaultSecretPath = "secret.yaml" // CmdEnable команда включения сервисного режима CmdEnable = "enable" // CmdDisable команда отключения сервисного режима CmdDisable = "disable" // CmdStatus команда проверки статуса CmdStatus = "status" ) // Константы для сообщений ошибок const ( // ErrCommandFailed сообщение об ошибке выполнения команды ErrCommandFailed = "command failed after %d attempts: %w" // ErrFailedToParseCommandTimeout сообщение об ошибке парсинга таймаута команды ErrFailedToParseCommandTimeout = "failed to parse command timeout: %w" // ErrRACCommandFailed сообщение об ошибке RAC команды ErrRACCommandFailed = "RAC command failed: %w, output: %s" // ErrGetClusterList сообщение об ошибке получения списка кластеров ErrGetClusterList = "failed to get cluster list: %w" // ErrClusterUUIDNotFound сообщение об ошибке поиска UUID кластера ErrClusterUUIDNotFound = "cluster UUID not found in output" // ErrGetInfobaseList сообщение об ошибке получения списка информационных баз ErrGetInfobaseList = "failed to get infobase list: %w" // ErrInfobaseUUIDNotFound сообщение об ошибке поиска UUID информационной базы ErrInfobaseUUIDNotFound = "infobase UUID not found for name: %s" // ErrUnknownCommand сообщение об неизвестной команде ErrUnknownCommand = "unknown command: %s" // ErrEnableServiceMode сообщение об ошибке включения сервисного режима ErrEnableServiceMode = "failed to enable service mode: %w" // ErrDisableServiceMode сообщение об ошибке отключения сервисного режима ErrDisableServiceMode = "failed to disable service mode: %w" // ErrGetSessions сообщение об ошибке получения списка сессий ErrGetSessions = "failed to get sessions: %w" // ErrGetSessionList сообщение об ошибке получения списка сессий ErrGetSessionList = "failed to get session list: %w" // ErrTerminateSession сообщение об ошибке завершения сессии ErrTerminateSession = "failed to terminate session %s: %w" // ErrGetInfobaseInfo сообщение об ошибке получения информации о базе ErrGetInfobaseInfo = "failed to get infobase info: %w" // ErrSessionsDenyVerification сообщение об ошибке проверки блокировки сессий ErrSessionsDenyVerification = "sessions-deny verification failed: expected %s, got %s" // ErrScheduledJobsDenyVerification сообщение об ошибке проверки блокировки заданий ErrScheduledJobsDenyVerification = "scheduled-jobs-deny verification failed: expected %s, got %s" // ErrLoadConfig сообщение об ошибке загрузки конфигурации ErrLoadConfig = "failed to load config: %w" // ErrLoadSecret сообщение об ошибке загрузки секретов ErrLoadSecret = "failed to load secret: %w" // ErrConfigValidation сообщение об ошибке валидации конфигурации ErrConfigValidation = "config validation failed: %w" // ErrGetClusterUUID сообщение об ошибке получения UUID кластера ErrGetClusterUUID = "failed to get cluster UUID: %w" // ErrGetInfobaseUUID сообщение об ошибке получения UUID информационной базы ErrGetInfobaseUUID = "failed to get infobase UUID: %w" // ErrDetermineServiceModeStatus сообщение об ошибке определения статуса сервисного режима ErrDetermineServiceModeStatus = "failed to determine service mode status: %w" // ErrReadConfigFile сообщение об ошибке чтения файла конфигурации ErrReadConfigFile = "failed to read config file: %w" // ErrUnmarshalConfig сообщение об ошибке парсинга конфигурации ErrUnmarshalConfig = "failed to unmarshal config: %w" // ErrReadSecretFile сообщение об ошибке чтения файла секретов ErrReadSecretFile = "failed to read secret file: %w" // ErrUnmarshalSecret сообщение об ошибке парсинга секретов ErrUnmarshalSecret = "failed to unmarshal secret: %w" // ErrServerHostRequired сообщение об обязательном поле server_host ErrServerHostRequired = "server_host is required" // ErrRACPathRequired сообщение об обязательном поле rac_path ErrRACPathRequired = "rac_path is required" // ErrBaseNameRequired сообщение об обязательном поле base_name ErrBaseNameRequired = "base_name is required" // ErrClusterAdminRequired сообщение об обязательном поле cluster_admin ErrClusterAdminRequired = "cluster_admin is required" // ErrDBAdminRequired сообщение об обязательном поле db_admin ErrDBAdminRequired = "db_admin is required" ) // Константы для сообщений логгера const ( // LogMsgTerminatingAllSessions сообщение о завершении всех сессий LogMsgTerminatingAllSessions = "Terminating all sessions" // LogMsgNoActiveSessions сообщение об отсутствии активных сессий LogMsgNoActiveSessions = "No active sessions found" // LogMsgFoundActiveSessions сообщение о найденных активных сессиях LogMsgFoundActiveSessions = "Found active sessions" // LogMsgSessionTerminated сообщение о завершении сессии LogMsgSessionTerminated = "Session terminated" // LogMsgAllSessionsTerminated сообщение о завершении всех сессий LogMsgAllSessionsTerminated = "All sessions termination completed" // LogMsgVerifyingServiceMode сообщение о проверке сервисного режима LogMsgVerifyingServiceMode = "Verifying service mode" // LogMsgServiceModeEnabled сообщение об успешном включении сервисного режима LogMsgServiceModeEnabled = "Service mode enabled successfully" // LogMsgServiceModeDisabled сообщение об успешном отключении сервисного режима LogMsgServiceModeDisabled = "Service mode disabled successfully" // LogMsgServiceModeVerificationSuccessful сообщение об успешной проверке сервисного режима LogMsgServiceModeVerificationSuccessful = "Service mode verification successful" // LogMsgExecutingRACCommand сообщение о выполнении RAC команды LogMsgExecutingRACCommand = "Executing RAC command" // LogMsgRACCommandExecutedSuccessfully сообщение об успешном выполнении RAC команды LogMsgRACCommandExecutedSuccessfully = "RAC command executed successfully" // LogMsgRACCommandFailed сообщение об ошибке выполнения RAC команды LogMsgRACCommandFailed = "RAC command failed" // LogMsgFailedToTerminateSession сообщение об ошибке завершения сессии LogMsgFailedToTerminateSession = "Failed to terminate session" // LogMsgCommandExecutionFailed сообщение об ошибке выполнения команды LogMsgCommandExecutionFailed = "Command execution failed" // LogMsgRACCommand сообщение о RAC команде LogMsgRACCommand = "RAC command" // LogMsgEnablingServiceMode сообщение о включении сервисного режима LogMsgEnablingServiceMode = "Enabling service mode" // LogMsgDisablingServiceMode сообщение об отключении сервисного режима LogMsgDisablingServiceMode = "Disabling service mode" // LogMsgFailedToTerminateAllSessions сообщение об ошибке завершения всех сессий LogMsgFailedToTerminateAllSessions = "Failed to terminate all sessions" // LogMsgFailedToParseRetryDelay сообщение об ошибке парсинга задержки повтора LogMsgFailedToParseRetryDelay = "Failed to parse retry delay, using default" // LogMsgRetryingAfterDelay сообщение о повторе после задержки LogMsgRetryingAfterDelay = "Retrying after delay" // LogMsgRACCommandFailedAfterAllRetries сообщение об ошибке RAC команды после всех попыток LogMsgRACCommandFailedAfterAllRetries = "RAC command failed after all retries" // LogMsgGettingClusterUUID сообщение о получении UUID кластера LogMsgGettingClusterUUID = "Getting cluster UUID" // LogMsgFoundClusterUUID сообщение о найденном UUID кластера LogMsgFoundClusterUUID = "Found cluster UUID" // LogMsgGettingInfobaseUUID сообщение о получении UUID информационной базы LogMsgGettingInfobaseUUID = "Getting infobase UUID" // LogMsgFoundInfobaseUUID сообщение о найденном UUID информационной базы LogMsgFoundInfobaseUUID = "Found infobase UUID" ) // Константы для статусных сообщений const ( // StatusServiceModeEnabled статус включенного сервисного режима StatusServiceModeEnabled = "Service mode: ENABLED" // StatusServiceModeDisabled статус отключенного сервисного режима StatusServiceModeDisabled = "Service mode: DISABLED" // MsgErrorLoadingConfig сообщение об ошибке загрузки конфигурации MsgErrorLoadingConfig = "Error loading config: %v\n" // MsgConfigValidationError сообщение об ошибке валидации конфигурации MsgConfigValidationError = "Config validation error: %v\n" // MsgVersionFormat формат вывода версии MsgVersionFormat = "GitOps RAC v%s\n" ) // Константы для magic numbers const ( // UUIDLength длина UUID UUIDLength = 36 // UUIDDashCount количество дефисов в UUID UUIDDashCount = 4 // DefaultRACPort порт RAC по умолчанию DefaultRACPort = 1545 // DefaultMainTimeout таймаут main функции DefaultMainTimeout = 5 ) // Константы для логгера const ( // PasswordMask маска для паролей PasswordMask = "***" // PasswordFlags флаги паролей через запятую для маскирования PasswordFlags = "--cluster-pwd,--infobase-pwd" )