Help us shape the future of Go! Take the 2026 Go Developer Survey

ghupdate

package
v0.900.9 Latest Latest
Warning

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

Go to latest
Published: Feb 27, 2024 License: MIT Imports: 17 Imported by: 1

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