ghupdate

package
v0.0.0-...-2a98d46 Latest Latest
Warning

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

Go to latest
Published: Mar 12, 2024 License: MIT Imports: 17 Imported by: 0

Documentation

Overview

Package ghupdate implements a new command to selfupdate the current PocketBase executable with the latest GitHub release.

Example usage:

ghupdate.MustRegister(app, app.RootCmd, ghupdate.Config{})

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func MustRegister

func MustRegister(app core.App, rootCmd *cobra.Command, config Config)

MustRegister registers the ghupdate plugin to the provided app instance and panic if it fails.

func Register

func Register(app core.App, rootCmd *cobra.Command, config Config) error

Register registers the ghupdate plugin to the provided app instance.

Types

type Config

type Config struct {
	// Owner specifies the account owner of the repository (default to "pocketbase").
	Owner string

	// Repo specifies the name of the repository (default to "pocketbase").
	Repo string

	// ArchiveExecutable specifies the name of the executable file in the release archive
	// (default to "pocketbase"; an additional ".exe" check is also performed as a fallback).
	ArchiveExecutable string

	// Optional context to use when fetching and downloading the latest release.
	Context context.Context

	// The HTTP client to use when fetching and downloading the latest release.
	// Defaults to `http.DefaultClient`.
	HttpClient HttpClient
}

Config defines the config options of the ghupdate plugin.

NB! This plugin is considered experimental and its config options may change in the future.

type HttpClient

type HttpClient interface {
	Do(req *http.Request) (*http.Response, error)
}

HttpClient is a base HTTP client interface (usually used for test purposes).

Jump to

Keyboard shortcuts

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