core/internal/common/service: delete

This is the old service abstraction that we've replaced with supervisor,
but forgot to remove.

Test Plan: Refactor (removal of old code), covered by existing tests.

X-Origin-Diff: phab/D641
GitOrigin-RevId: b5771fc295bed61bb93dd14c12b67684670a0aad
diff --git a/core/internal/common/service/BUILD.bazel b/core/internal/common/service/BUILD.bazel
deleted file mode 100644
index a06ca83..0000000
--- a/core/internal/common/service/BUILD.bazel
+++ /dev/null
@@ -1,9 +0,0 @@
-load("@io_bazel_rules_go//go:def.bzl", "go_library")
-
-go_library(
-    name = "go_default_library",
-    srcs = ["service.go"],
-    importpath = "git.monogon.dev/source/nexantic.git/core/internal/common/service",
-    visibility = ["//:__subpackages__"],
-    deps = ["@org_uber_go_zap//:go_default_library"],
-)
diff --git a/core/internal/common/service/service.go b/core/internal/common/service/service.go
deleted file mode 100644
index 1cbedbe..0000000
--- a/core/internal/common/service/service.go
+++ /dev/null
@@ -1,137 +0,0 @@
-// Copyright 2020 The Monogon Project Authors.
-//
-// SPDX-License-Identifier: Apache-2.0
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-package service
-
-import (
-	"context"
-	"errors"
-	"sync"
-
-	"go.uber.org/zap"
-)
-
-var (
-	ErrAlreadyRunning = errors.New("service is already running")
-	ErrNotRunning     = errors.New("service is not running")
-)
-
-type (
-	// Service represents a subsystem of an application that can be used with a BaseService.
-	Service interface {
-		OnStart() error
-		OnStop() error
-	}
-
-	// BaseService implements utility functionality around a service.
-	BaseService struct {
-		impl Service
-		name string
-
-		Logger *zap.Logger
-
-		mutex   sync.Mutex
-		running bool
-
-		// A context that represents the lifecycle of a service.
-		// It is created right before impl.OnStart, and canceled
-		// right after impl.OnStop is.
-		// This is a transition mechanism from moving from OnStart/OnStop
-		// based lifecycle management of services to a context-based supervision
-		// tree.
-		// Service implementations should access this via .Context()
-		ctx  *context.Context
-		ctxC *context.CancelFunc
-	}
-)
-
-func NewBaseService(name string, logger *zap.Logger, impl Service) *BaseService {
-	return &BaseService{
-		Logger: logger,
-		name:   name,
-		impl:   impl,
-		ctx:    nil,
-		ctxC:   nil,
-	}
-}
-
-// Start starts the service. This is an atomic operation and should not be called on an already running service.
-func (b *BaseService) Start() error {
-	b.mutex.Lock()
-	defer b.mutex.Unlock()
-
-	if b.running {
-		return ErrAlreadyRunning
-	}
-
-	ctx, ctxC := context.WithCancel(context.Background())
-	b.ctx = &ctx
-	b.ctxC = &ctxC
-
-	err := b.impl.OnStart()
-	if err != nil {
-		b.Logger.Error("Failed to start service", zap.String("service", b.name), zap.Error(err))
-		return err
-	}
-
-	b.running = true
-	b.Logger.Info("Started service", zap.String("service", b.name))
-	return nil
-}
-
-// Stop stops the service. This is an atomic operation and should only be called on a running service.
-func (b *BaseService) Stop() error {
-	b.mutex.Lock()
-	defer b.mutex.Unlock()
-
-	if !b.running {
-		return ErrNotRunning
-	}
-
-	err := b.impl.OnStop()
-	if err != nil {
-		b.Logger.Error("Failed to stop service", zap.String("service", b.name), zap.Error(err))
-
-		return err
-	}
-
-	b.running = false
-
-	// Kill context
-	(*b.ctxC)()
-	b.ctx = nil
-	b.ctxC = nil
-
-	b.Logger.Info("Stopped service", zap.String("service", b.name))
-	return nil
-}
-
-// IsRunning returns whether the service is currently running.
-func (b *BaseService) IsRunning() bool {
-	b.mutex.Lock()
-	defer b.mutex.Unlock()
-
-	return b.running
-}
-
-// Context returns a context that can be used within OnStart() to create new
-// lightweight subservices that use a context for lifecycle management.
-// This is a transition measure before the Service library is rewritten to use
-// a more advanced context-and-returned-error supervision tree.
-// This context can also be used for blocking operations like IO, etc.
-func (b *BaseService) Context() context.Context {
-	return *b.ctx
-}