command

package
v14.35.0 Latest Latest
Warning

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

Go to latest
Published: Apr 11, 2024 License: MIT Imports: 8 Imported by: 0

README


stage: Create group: Source Code info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments

Overview

This package consists of a set of packages that are responsible for executing a particular command/feature/operation. The full list of features can be viewed here. The commands implement the common interface:

type Command interface {
	Execute(ctx context.Context) error
}

A command is executed by running the Execute method. The execution logic mostly shares the common pattern:

  • Parse the arguments and validate them.
  • Communicate with GitLab Rails using gitlabnet package. For example, it can be checking whether a client is authorized to execute this particular command or asking for a personal access token in order to return it to the client.
  • If a command is related to Git operations, establish a connection with Gitaly using handler and gitaly packages and provide two-way communication between Gitaly and the client.
  • Return results to the client.

This package is being used to build a particular command based on the passed arguments in the following files that are under cmd directory:

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func CheckForVersionFlag added in v14.24.0

func CheckForVersionFlag(osArgs []string, version, buildTime string)

func Setup

func Setup(serviceName string, config *config.Config) (context.Context, func())

Setup() initializes tracing from the configuration file and generates a background context from which all other contexts in the process should derive from, as it has a service name and initial correlation ID set.

Types

type Command

type Command interface {
	Execute(ctx context.Context) (context.Context, error)
}

type LogData added in v14.27.0

type LogData struct {
	Username     string      `json:"username"`
	WrittenBytes int64       `json:"written_bytes"`
	Meta         LogMetadata `json:"meta"`
}

func NewLogData added in v14.27.0

func NewLogData(project, username string) LogData

type LogMetadata added in v14.24.0

type LogMetadata struct {
	Project       string `json:"project,omitempty"`
	RootNamespace string `json:"root_namespace,omitempty"`
}

Directories

Path Synopsis
Package lfstransfer wraps https://github.com/charmbracelet/git-lfs-transfer logic
Package lfstransfer wraps https://github.com/charmbracelet/git-lfs-transfer logic
shared
Package twofactorrecover defines logic for 2FA codes recovery
Package twofactorrecover defines logic for 2FA codes recovery

Jump to

Keyboard shortcuts

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