operator

package
v0.0.0-...-148f7bc Latest Latest
Warning

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

Go to latest
Published: May 17, 2025 License: AGPL-3.0 Imports: 37 Imported by: 0

Documentation

Overview

Copyright (C) 2025 Ben Fiola

This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.

You should have received a copy of the GNU Affero General Public License along with this program. If not, see <http://www.gnu.org/licenses/>.

This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.

You should have received a copy of the GNU Affero General Public License along with this program. If not, see <http://www.gnu.org/licenses/>.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NewOperator

func NewOperator(o *OperatorOpts) (*operator, error)

Creates a new operator with the provided OperatorOpts.

Types

type Main

type Main struct {
	Operator Operator
}

Main holds the components of the application

func New

func New(o *Opts) (*Main, error)

Creates a new instance of Main with the provided Opts.

func (*Main) Run

func (m *Main) Run(ctx context.Context) error

Runs the application. Blocks until one of the components fail with an error

type Operator

type Operator interface {
	Health() error
	Run(ctx context.Context) error
}

Operator is the public interface for the operator implementation

type OperatorOpts

type OperatorOpts struct {
	KubeConfig   string
	Logger       *slog.Logger
	SyncInterval time.Duration
}

OperatorOpts defines the options used to construct a new operator

type Opts

type Opts struct {
	Logger     *slog.Logger
	KubeConfig string
}

Opts define the options used to create a new instance of Main

Jump to

Keyboard shortcuts

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