command

package
v14.30.1 Latest Latest
Warning

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

Go to latest
Published: Nov 10, 2023 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"`
}

Jump to

Keyboard shortcuts

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