Documentation ¶
Overview ¶
Package accessverifier provides functionality for verifying access to GitLab resources
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Client ¶
type Client struct {
// contains filtered or unexported fields
}
Client is a client for accessing resources
func (*Client) Verify ¶
func (c *Client) Verify(ctx context.Context, args *commandargs.Shell, action commandargs.CommandType, repo string) (*Response, error)
Verify verifies access to a GitLab resource
type CustomPayload ¶
type CustomPayload struct { Action string `json:"action"` Data CustomPayloadData `json:"data"` }
CustomPayload represents a custom payload
type CustomPayloadData ¶
type CustomPayloadData struct { APIEndpoints []string `json:"api_endpoints"` Username string `json:"gl_username"` PrimaryRepo string `json:"primary_repo"` UserID string `json:"gl_id,omitempty"` RequestHeaders map[string]string `json:"request_headers"` GeoProxyDirectToPrimary bool `json:"geo_proxy_direct_to_primary"` GeoProxyFetchDirectToPrimary bool `json:"geo_proxy_fetch_direct_to_primary"` GeoProxyFetchDirectToPrimaryWithOptions bool `json:"geo_proxy_fetch_direct_to_primary_with_options"` GeoProxyFetchSSHDirectToPrimary bool `json:"geo_proxy_fetch_ssh_direct_to_primary"` GeoProxyPushSSHDirectToPrimary bool `json:"geo_proxy_push_ssh_direct_to_primary"` }
CustomPayloadData represents custom payload data
type Gitaly ¶
type Gitaly struct { Repo pb.Repository `json:"repository"` Address string `json:"address"` Token string `json:"token"` Features map[string]string `json:"features"` }
Gitaly represents Gitaly server information
type Request ¶
type Request struct { Action commandargs.CommandType `json:"action"` Repo string `json:"project"` Changes string `json:"changes"` Protocol string `json:"protocol"` KeyID string `json:"key_id,omitempty"` Username string `json:"username,omitempty"` Krb5Principal string `json:"krb5principal,omitempty"` CheckIP string `json:"check_ip,omitempty"` // NamespacePath is the full path of the namespace in which the authenticated // user is allowed to perform operation. NamespacePath string `json:"namespace_path,omitempty"` }
Request represents a request for accessing resources
type Response ¶
type Response struct { Success bool `json:"status"` Message string `json:"message"` Repo string `json:"gl_repository"` UserID string `json:"gl_id"` KeyType string `json:"gl_key_type"` KeyID int `json:"gl_key_id"` ProjectID int `json:"gl_project_id"` RootNamespaceID int `json:"gl_root_namespace_id"` Username string `json:"gl_username"` GitConfigOptions []string `json:"git_config_options"` Gitaly Gitaly `json:"gitaly"` GitProtocol string `json:"git_protocol"` Payload CustomPayload `json:"payload"` ConsoleMessages []string `json:"gl_console_messages"` Who string StatusCode int // NeedAudit indicates whether git event should be audited to rails. NeedAudit bool `json:"need_audit"` }
Response represents a response from GitLab
func (*Response) IsCustomAction ¶
IsCustomAction checks if the response indicates a custom action
Click to show internal directories.
Click to hide internal directories.