| 123456789101112131415161718192021222324252627282930313233343536373839404142 |
- // package Сервис -- главный тип пакера
- package service
- import (
- "fmt"
- "log"
- "os"
- "gitp78su.ipnodns.ru/svi/packer/internal/packer"
- )
- // Сервис -- главный тип пакера
- type Сервис struct {
- пакер *packer.Пакер
- }
- // НовСервис -- возвращает новый сервис
- func НовСервис() (*Сервис, error) {
- log.Printf("НовСервис()\n")
- сам := &Сервис{}
- сам.пакер = packer.НовПакер()
- return сам, nil
- }
- // Пуск -- запускает сервис в работу
- func (sf *Сервис) Пуск() error {
- log.Printf("Сервис.Пуск()\n")
- cmd := os.Getenv("PACKER_CMD")
- if cmd == "" {
- return fmt.Errorf("Сервис.Пуск(): env PACKER_CMD not set")
- }
- switch cmd {
- case "pack":
- err := sf.пакер.Пуск()
- if err != nil {
- return fmt.Errorf("Сервис.Пуск(): in Пуск IPacker, err=\n\t%w", err)
- }
- default:
- return fmt.Errorf("Сервис.Пуск(): unknown env PACKER_CMD(%q)", cmd)
- }
- return nil
- }
|