client

package
v0.4.0 Latest Latest
Warning

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

Go to latest
Published: Sep 11, 2026 License: Apache-2.0 Imports: 11 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func BuildCreatePayload

func BuildCreatePayload(imagesCreateBody string) (*images.CreateImagePayload, error)

BuildCreatePayload builds the payload for the images create endpoint from CLI flags.

func CreateImagesPath

func CreateImagesPath() string

CreateImagesPath returns the URL path to the images service create HTTP endpoint.

func DecodeCreateResponse

func DecodeCreateResponse(decoder func(*http.Response) goahttp.Decoder, restoreBody bool) func(*http.Response) (any, error)

DecodeCreateResponse returns a decoder for responses returned by the images create endpoint. restoreBody controls whether the response body should be restored after having been read. DecodeCreateResponse may return the following errors:

  • "already_exists" (type images.AlreadyExists): http.StatusConflict
  • "invalid" (type images.Invalid): http.StatusBadRequest
  • error: internal error

func DecodeListResponse

func DecodeListResponse(decoder func(*http.Response) goahttp.Decoder, restoreBody bool) func(*http.Response) (any, error)

DecodeListResponse returns a decoder for responses returned by the images list endpoint. restoreBody controls whether the response body should be restored after having been read.

func EncodeCreateRequest

func EncodeCreateRequest(encoder func(*http.Request) goahttp.Encoder) func(*http.Request, any) error

EncodeCreateRequest returns an encoder for requests sent to the images create server.

func ListImagesPath

func ListImagesPath() string

ListImagesPath returns the URL path to the images service list HTTP endpoint.

func NewCreateAlreadyExists

func NewCreateAlreadyExists(body string) images.AlreadyExists

NewCreateAlreadyExists builds a images service create endpoint already_exists error.

func NewCreateImageCreated

func NewCreateImageCreated(body *CreateResponseBody) *imagesviews.ImageView

NewCreateImageCreated builds a "images" service "create" endpoint result from a HTTP "Created" response.

func NewCreateInvalid

func NewCreateInvalid(body string) images.Invalid

NewCreateInvalid builds a images service create endpoint invalid error.

func NewListImageOK

func NewListImageOK(body []*ImageResponse) []*images.Image

NewListImageOK builds a "images" service "list" endpoint result from a HTTP "OK" response.

func ValidateImageEnvVarResponse

func ValidateImageEnvVarResponse(body *ImageEnvVarResponse) (err error)

ValidateImageEnvVarResponse runs the validations defined on ImageEnvVarResponse

func ValidateImageEnvVarResponseBody

func ValidateImageEnvVarResponseBody(body *ImageEnvVarResponseBody) (err error)

ValidateImageEnvVarResponseBody runs the validations defined on ImageEnvVarResponseBody

func ValidateImageLinkResponse

func ValidateImageLinkResponse(body *ImageLinkResponse) (err error)

ValidateImageLinkResponse runs the validations defined on ImageLinkResponse

func ValidateImageLinkResponseBody

func ValidateImageLinkResponseBody(body *ImageLinkResponseBody) (err error)

ValidateImageLinkResponseBody runs the validations defined on ImageLinkResponseBody

func ValidateImageResponse

func ValidateImageResponse(body *ImageResponse) (err error)

ValidateImageResponse runs the validations defined on ImageResponse

Types

type Client

type Client struct {
	// List Doer is the HTTP client used to make requests to the list endpoint.
	ListDoer goahttp.Doer

	// Create Doer is the HTTP client used to make requests to the create endpoint.
	CreateDoer goahttp.Doer

	// RestoreResponseBody controls whether the response bodies are reset after
	// decoding so they can be read again.
	RestoreResponseBody bool
	// contains filtered or unexported fields
}

Client lists the images service endpoint HTTP clients.

func NewClient

func NewClient(
	scheme string,
	host string,
	doer goahttp.Doer,
	enc func(*http.Request) goahttp.Encoder,
	dec func(*http.Response) goahttp.Decoder,
	restoreBody bool,
) *Client

NewClient instantiates HTTP clients for all the images service servers.

func (*Client) BuildCreateRequest

func (c *Client) BuildCreateRequest(ctx context.Context, v any) (*http.Request, error)

BuildCreateRequest instantiates a HTTP request object with method and path set to call the "images" service "create" endpoint

func (*Client) BuildListRequest

func (c *Client) BuildListRequest(ctx context.Context, v any) (*http.Request, error)

BuildListRequest instantiates a HTTP request object with method and path set to call the "images" service "list" endpoint

func (*Client) Create

func (c *Client) Create() goa.Endpoint

Create returns an endpoint that makes HTTP requests to the images service create server.

func (*Client) List

func (c *Client) List() goa.Endpoint

List returns an endpoint that makes HTTP requests to the images service list server.

type CreateRequestBody

type CreateRequestBody struct {
	// Display name
	Name string `form:"name" json:"name" xml:"name"`
	// Container image reference
	Image string `form:"image" json:"image" xml:"image"`
	// Description of the image
	Description *string `form:"description,omitempty" json:"description,omitempty" xml:"description,omitempty"`
	// Category for grouping (e.g. Desktop, IDE, Tool, Game)
	Category *string `form:"category,omitempty" json:"category,omitempty" xml:"category,omitempty"`
	// Tags for filtering/searching images
	Tags []string `form:"tags,omitempty" json:"tags,omitempty" xml:"tags,omitempty"`
	// Default container port
	DefaultPort int `form:"default_port" json:"default_port" xml:"default_port"`
	// Default URL path for connecting
	DefaultPath *string `form:"default_path,omitempty" json:"default_path,omitempty" xml:"default_path,omitempty"`
	// Icon identifier
	Icon *string `form:"icon,omitempty" json:"icon,omitempty" xml:"icon,omitempty"`
	// Default command-line args
	DefaultArgs []string `form:"default_args,omitempty" json:"default_args,omitempty" xml:"default_args,omitempty"`
	// Default environment variables
	DefaultEnv []*ImageEnvVarRequestBody `form:"default_env,omitempty" json:"default_env,omitempty" xml:"default_env,omitempty"`
	// Run container in privileged mode
	Privileged bool `form:"privileged" json:"privileged" xml:"privileged"`
	// Project homepage or documentation URL
	HomepageURL *string `form:"homepage_url,omitempty" json:"homepage_url,omitempty" xml:"homepage_url,omitempty"`
	// Source code repository URL
	SourceURL *string `form:"source_url,omitempty" json:"source_url,omitempty" xml:"source_url,omitempty"`
	// Container image registry page (e.g. Docker Hub)
	ImageHomepageURL *string `form:"image_homepage_url,omitempty" json:"image_homepage_url,omitempty" xml:"image_homepage_url,omitempty"`
	// Default user for this image
	DefaultUser *string `form:"default_user,omitempty" json:"default_user,omitempty" xml:"default_user,omitempty"`
	// Known default password for DefaultUser. Only set when the image has a known
	// default password; leave unset when the guest uses no password
	DefaultPassword *string `form:"default_password,omitempty" json:"default_password,omitempty" xml:"default_password,omitempty"`
	// Set to true when the image has cloud-init baked in, allowing user-data (e.g.
	// a user/password) to be seeded into the guest at first boot
	DefaultCloudInit *bool `form:"default_cloud_init,omitempty" json:"default_cloud_init,omitempty" xml:"default_cloud_init,omitempty"`
	// Reserved user-data for the guest (cloud-init). Empty by default; later used
	// to seed first-boot configuration when cloud-init is supported. Not yet
	// consumed
	DefaultUserData *string `form:"default_user_data,omitempty" json:"default_user_data,omitempty" xml:"default_user_data,omitempty"`
	// Default home directory for the default user
	DefaultHomedir *string `form:"default_homedir,omitempty" json:"default_homedir,omitempty" xml:"default_homedir,omitempty"`
	// Default shell for exec/console sessions (e.g. /bin/bash)
	DefaultShell *string `form:"default_shell,omitempty" json:"default_shell,omitempty" xml:"default_shell,omitempty"`
	// Additional relevant URLs for this image
	Links []*ImageLinkRequestBody `form:"links,omitempty" json:"links,omitempty" xml:"links,omitempty"`
	// Default login credentials for this image
	DefaultCredentials *ImageCredentialsRequestBody `form:"default_credentials,omitempty" json:"default_credentials,omitempty" xml:"default_credentials,omitempty"`
	// Proxy behavior configuration
	ProxyConfig *ImageProxyConfigRequestBody `form:"proxy_config,omitempty" json:"proxy_config,omitempty" xml:"proxy_config,omitempty"`
	// UID that the main container runs as (sets runAsUser and fsGroup)
	DefaultUID *int64 `form:"default_uid,omitempty" json:"default_uid,omitempty" xml:"default_uid,omitempty"`
	// Automatically mount /dev/shm as emptyDir with medium=Memory (required for
	// Selkies streaming, Chrome, ML frameworks)
	DefaultSharedMemory *bool `form:"default_shared_memory,omitempty" json:"default_shared_memory,omitempty" xml:"default_shared_memory,omitempty"`
	// Workspace types this image supports (container, vm, scratch). Empty means
	// container-only
	WorkspaceTypes []string `form:"workspace_types,omitempty" json:"workspace_types,omitempty" xml:"workspace_types,omitempty"`
}

CreateRequestBody is the type of the "images" service "create" endpoint HTTP request body.

func NewCreateRequestBody

func NewCreateRequestBody(p *images.CreateImagePayload) *CreateRequestBody

NewCreateRequestBody builds the HTTP request body from the payload of the "create" endpoint of the "images" service.

type CreateResponseBody

type CreateResponseBody struct {
	// Kubernetes resource name (metadata.name)
	CrName *string `form:"cr_name,omitempty" json:"cr_name,omitempty" xml:"cr_name,omitempty"`
	// Display name
	Name *string `form:"name,omitempty" json:"name,omitempty" xml:"name,omitempty"`
	// Full image reference
	Image *string `form:"image,omitempty" json:"image,omitempty" xml:"image,omitempty"`
	// Description of the image
	Description *string `form:"description,omitempty" json:"description,omitempty" xml:"description,omitempty"`
	// Category for grouping (e.g. Desktop, IDE, Tool, Game)
	Category *string `form:"category,omitempty" json:"category,omitempty" xml:"category,omitempty"`
	// Tags for filtering/searching images
	Tags []string `form:"tags,omitempty" json:"tags,omitempty" xml:"tags,omitempty"`
	// Default container port
	DefaultPort *int `form:"default_port,omitempty" json:"default_port,omitempty" xml:"default_port,omitempty"`
	// Default URL path for connecting (e.g. /vnc.html?resize=remote)
	DefaultPath *string `form:"default_path,omitempty" json:"default_path,omitempty" xml:"default_path,omitempty"`
	// Proxy behavior configuration for this image
	ProxyConfig *ImageProxyConfigResponseBody `form:"proxy_config,omitempty" json:"proxy_config,omitempty" xml:"proxy_config,omitempty"`
	// Icon identifier
	Icon *string `form:"icon,omitempty" json:"icon,omitempty" xml:"icon,omitempty"`
	// Default command-line args injected at workspace creation
	DefaultArgs []string `form:"default_args,omitempty" json:"default_args,omitempty" xml:"default_args,omitempty"`
	// Default environment variables injected at workspace creation
	DefaultEnv []*ImageEnvVarResponseBody `form:"default_env,omitempty" json:"default_env,omitempty" xml:"default_env,omitempty"`
	// UID that the main container runs as (sets runAsUser and fsGroup)
	DefaultUID *int64 `form:"default_uid,omitempty" json:"default_uid,omitempty" xml:"default_uid,omitempty"`
	// Automatically mount /dev/shm as emptyDir with medium=Memory (required for
	// Selkies streaming, Chrome, ML frameworks)
	DefaultSharedMemory *bool `form:"default_shared_memory,omitempty" json:"default_shared_memory,omitempty" xml:"default_shared_memory,omitempty"`
	// Run container in privileged mode
	Privileged *bool `form:"privileged,omitempty" json:"privileged,omitempty" xml:"privileged,omitempty"`
	// Project homepage or documentation URL
	HomepageURL *string `form:"homepage_url,omitempty" json:"homepage_url,omitempty" xml:"homepage_url,omitempty"`
	// Source code repository URL
	SourceURL *string `form:"source_url,omitempty" json:"source_url,omitempty" xml:"source_url,omitempty"`
	// Container image registry page (e.g. Docker Hub)
	ImageHomepageURL *string `form:"image_homepage_url,omitempty" json:"image_homepage_url,omitempty" xml:"image_homepage_url,omitempty"`
	// Default user for this image
	DefaultUser *string `form:"default_user,omitempty" json:"default_user,omitempty" xml:"default_user,omitempty"`
	// Known default password for DefaultUser. Only set when the image has a known
	// default password; leave unset when the guest uses no password
	DefaultPassword *string `form:"default_password,omitempty" json:"default_password,omitempty" xml:"default_password,omitempty"`
	// Set to true when the image has cloud-init baked in, allowing user-data (e.g.
	// a user/password) to be seeded into the guest at first boot
	DefaultCloudInit *bool `form:"default_cloud_init,omitempty" json:"default_cloud_init,omitempty" xml:"default_cloud_init,omitempty"`
	// Reserved user-data for the guest (cloud-init). Empty by default; later used
	// to seed first-boot configuration when cloud-init is supported. Not yet
	// consumed
	DefaultUserData *string `form:"default_user_data,omitempty" json:"default_user_data,omitempty" xml:"default_user_data,omitempty"`
	// Default home directory for the default user
	DefaultHomedir *string `form:"default_homedir,omitempty" json:"default_homedir,omitempty" xml:"default_homedir,omitempty"`
	// Default shell for exec/console sessions (e.g. /bin/bash)
	DefaultShell *string `form:"default_shell,omitempty" json:"default_shell,omitempty" xml:"default_shell,omitempty"`
	// Additional relevant URLs for this image
	Links []*ImageLinkResponseBody `form:"links,omitempty" json:"links,omitempty" xml:"links,omitempty"`
	// Default login credentials for this image
	DefaultCredentials *ImageCredentialsResponseBody `form:"default_credentials,omitempty" json:"default_credentials,omitempty" xml:"default_credentials,omitempty"`
	// Workspace types this image supports (container, vm, scratch). Empty means
	// container-only
	WorkspaceTypes []string `form:"workspace_types,omitempty" json:"workspace_types,omitempty" xml:"workspace_types,omitempty"`
}

CreateResponseBody is the type of the "images" service "create" endpoint HTTP response body.

type ImageCredentialsRequestBody

type ImageCredentialsRequestBody struct {
	// Default username
	Username *string `form:"username,omitempty" json:"username,omitempty" xml:"username,omitempty"`
	// Default password
	Password *string `form:"password,omitempty" json:"password,omitempty" xml:"password,omitempty"`
}

ImageCredentialsRequestBody is used to define fields on request body types.

type ImageCredentialsResponse

type ImageCredentialsResponse struct {
	// Default username
	Username *string `form:"username,omitempty" json:"username,omitempty" xml:"username,omitempty"`
	// Default password
	Password *string `form:"password,omitempty" json:"password,omitempty" xml:"password,omitempty"`
}

ImageCredentialsResponse is used to define fields on response body types.

type ImageCredentialsResponseBody

type ImageCredentialsResponseBody struct {
	// Default username
	Username *string `form:"username,omitempty" json:"username,omitempty" xml:"username,omitempty"`
	// Default password
	Password *string `form:"password,omitempty" json:"password,omitempty" xml:"password,omitempty"`
}

ImageCredentialsResponseBody is used to define fields on response body types.

type ImageEnvVarRequestBody

type ImageEnvVarRequestBody struct {
	// Name of the environment variable
	Name string `form:"name" json:"name" xml:"name"`
	// Value (supports {{namespace}} and {{name}} placeholders)
	Value string `form:"value" json:"value" xml:"value"`
}

ImageEnvVarRequestBody is used to define fields on request body types.

type ImageEnvVarResponse

type ImageEnvVarResponse struct {
	// Name of the environment variable
	Name *string `form:"name,omitempty" json:"name,omitempty" xml:"name,omitempty"`
	// Value (supports {{namespace}} and {{name}} placeholders)
	Value *string `form:"value,omitempty" json:"value,omitempty" xml:"value,omitempty"`
}

ImageEnvVarResponse is used to define fields on response body types.

type ImageEnvVarResponseBody

type ImageEnvVarResponseBody struct {
	// Name of the environment variable
	Name *string `form:"name,omitempty" json:"name,omitempty" xml:"name,omitempty"`
	// Value (supports {{namespace}} and {{name}} placeholders)
	Value *string `form:"value,omitempty" json:"value,omitempty" xml:"value,omitempty"`
}

ImageEnvVarResponseBody is used to define fields on response body types.

type ImageLinkRequestBody

type ImageLinkRequestBody struct {
	// Display label for the link
	Title string `form:"title" json:"title" xml:"title"`
	// Link target URL
	URL string `form:"url" json:"url" xml:"url"`
}

ImageLinkRequestBody is used to define fields on request body types.

type ImageLinkResponse

type ImageLinkResponse struct {
	// Display label for the link
	Title *string `form:"title,omitempty" json:"title,omitempty" xml:"title,omitempty"`
	// Link target URL
	URL *string `form:"url,omitempty" json:"url,omitempty" xml:"url,omitempty"`
}

ImageLinkResponse is used to define fields on response body types.

type ImageLinkResponseBody

type ImageLinkResponseBody struct {
	// Display label for the link
	Title *string `form:"title,omitempty" json:"title,omitempty" xml:"title,omitempty"`
	// Link target URL
	URL *string `form:"url,omitempty" json:"url,omitempty" xml:"url,omitempty"`
}

ImageLinkResponseBody is used to define fields on response body types.

type ImageProxyConfigRequestBody

type ImageProxyConfigRequestBody struct {
	// Serve a no-op ServiceWorker at /sw.js to prevent SW registration errors
	NeedsNoopSw bool `form:"needs_noop_sw" json:"needs_noop_sw" xml:"needs_noop_sw"`
	// Paths that use WebSocket (informational, all paths support WS transparently)
	WebsocketPaths []string `form:"websocket_paths,omitempty" json:"websocket_paths,omitempty" xml:"websocket_paths,omitempty"`
	// Rewrite requests with absolute paths that escape the proxy prefix using
	// Referer header
	RewriteHostAbsolutePaths bool `form:"rewrite_host_absolute_paths" json:"rewrite_host_absolute_paths" xml:"rewrite_host_absolute_paths"`
	// Additional headers to inject into proxied requests
	CustomRequestHeaders map[string]string `form:"custom_request_headers,omitempty" json:"custom_request_headers,omitempty" xml:"custom_request_headers,omitempty"`
	// Inject a <base> tag into HTML responses to fix relative path resolution
	InjectBaseTag bool `form:"inject_base_tag" json:"inject_base_tag" xml:"inject_base_tag"`
	// Connect to backend over HTTPS with skip-verify (for self-signed certs)
	TLSInsecure bool `form:"tls_insecure" json:"tls_insecure" xml:"tls_insecure"`
	// Forward the full proxy path (including /proxy/{ns}/{name}) to the pod
	// instead of stripping it. Required for apps configured with a base URL
	// matching the proxy prefix.
	PreservePathPrefix bool `form:"preserve_path_prefix" json:"preserve_path_prefix" xml:"preserve_path_prefix"`
}

ImageProxyConfigRequestBody is used to define fields on request body types.

type ImageProxyConfigResponse

type ImageProxyConfigResponse struct {
	// Serve a no-op ServiceWorker at /sw.js to prevent SW registration errors
	NeedsNoopSw *bool `form:"needs_noop_sw,omitempty" json:"needs_noop_sw,omitempty" xml:"needs_noop_sw,omitempty"`
	// Paths that use WebSocket (informational, all paths support WS transparently)
	WebsocketPaths []string `form:"websocket_paths,omitempty" json:"websocket_paths,omitempty" xml:"websocket_paths,omitempty"`
	// Rewrite requests with absolute paths that escape the proxy prefix using
	// Referer header
	RewriteHostAbsolutePaths *bool `` /* 133-byte string literal not displayed */
	// Additional headers to inject into proxied requests
	CustomRequestHeaders map[string]string `form:"custom_request_headers,omitempty" json:"custom_request_headers,omitempty" xml:"custom_request_headers,omitempty"`
	// Inject a <base> tag into HTML responses to fix relative path resolution
	InjectBaseTag *bool `form:"inject_base_tag,omitempty" json:"inject_base_tag,omitempty" xml:"inject_base_tag,omitempty"`
	// Connect to backend over HTTPS with skip-verify (for self-signed certs)
	TLSInsecure *bool `form:"tls_insecure,omitempty" json:"tls_insecure,omitempty" xml:"tls_insecure,omitempty"`
	// Forward the full proxy path (including /proxy/{ns}/{name}) to the pod
	// instead of stripping it. Required for apps configured with a base URL
	// matching the proxy prefix.
	PreservePathPrefix *bool `form:"preserve_path_prefix,omitempty" json:"preserve_path_prefix,omitempty" xml:"preserve_path_prefix,omitempty"`
}

ImageProxyConfigResponse is used to define fields on response body types.

type ImageProxyConfigResponseBody

type ImageProxyConfigResponseBody struct {
	// Serve a no-op ServiceWorker at /sw.js to prevent SW registration errors
	NeedsNoopSw *bool `form:"needs_noop_sw,omitempty" json:"needs_noop_sw,omitempty" xml:"needs_noop_sw,omitempty"`
	// Paths that use WebSocket (informational, all paths support WS transparently)
	WebsocketPaths []string `form:"websocket_paths,omitempty" json:"websocket_paths,omitempty" xml:"websocket_paths,omitempty"`
	// Rewrite requests with absolute paths that escape the proxy prefix using
	// Referer header
	RewriteHostAbsolutePaths *bool `` /* 133-byte string literal not displayed */
	// Additional headers to inject into proxied requests
	CustomRequestHeaders map[string]string `form:"custom_request_headers,omitempty" json:"custom_request_headers,omitempty" xml:"custom_request_headers,omitempty"`
	// Inject a <base> tag into HTML responses to fix relative path resolution
	InjectBaseTag *bool `form:"inject_base_tag,omitempty" json:"inject_base_tag,omitempty" xml:"inject_base_tag,omitempty"`
	// Connect to backend over HTTPS with skip-verify (for self-signed certs)
	TLSInsecure *bool `form:"tls_insecure,omitempty" json:"tls_insecure,omitempty" xml:"tls_insecure,omitempty"`
	// Forward the full proxy path (including /proxy/{ns}/{name}) to the pod
	// instead of stripping it. Required for apps configured with a base URL
	// matching the proxy prefix.
	PreservePathPrefix *bool `form:"preserve_path_prefix,omitempty" json:"preserve_path_prefix,omitempty" xml:"preserve_path_prefix,omitempty"`
}

ImageProxyConfigResponseBody is used to define fields on response body types.

type ImageResponse

type ImageResponse struct {
	// Kubernetes resource name (metadata.name)
	CrName *string `form:"cr_name,omitempty" json:"cr_name,omitempty" xml:"cr_name,omitempty"`
	// Display name
	Name *string `form:"name,omitempty" json:"name,omitempty" xml:"name,omitempty"`
	// Full image reference
	Image *string `form:"image,omitempty" json:"image,omitempty" xml:"image,omitempty"`
	// Description of the image
	Description *string `form:"description,omitempty" json:"description,omitempty" xml:"description,omitempty"`
	// Category for grouping (e.g. Desktop, IDE, Tool, Game)
	Category *string `form:"category,omitempty" json:"category,omitempty" xml:"category,omitempty"`
	// Tags for filtering/searching images
	Tags []string `form:"tags,omitempty" json:"tags,omitempty" xml:"tags,omitempty"`
	// Default container port
	DefaultPort *int `form:"default_port,omitempty" json:"default_port,omitempty" xml:"default_port,omitempty"`
	// Default URL path for connecting (e.g. /vnc.html?resize=remote)
	DefaultPath *string `form:"default_path,omitempty" json:"default_path,omitempty" xml:"default_path,omitempty"`
	// Proxy behavior configuration for this image
	ProxyConfig *ImageProxyConfigResponse `form:"proxy_config,omitempty" json:"proxy_config,omitempty" xml:"proxy_config,omitempty"`
	// Icon identifier
	Icon *string `form:"icon,omitempty" json:"icon,omitempty" xml:"icon,omitempty"`
	// Default command-line args injected at workspace creation
	DefaultArgs []string `form:"default_args,omitempty" json:"default_args,omitempty" xml:"default_args,omitempty"`
	// Default environment variables injected at workspace creation
	DefaultEnv []*ImageEnvVarResponse `form:"default_env,omitempty" json:"default_env,omitempty" xml:"default_env,omitempty"`
	// UID that the main container runs as (sets runAsUser and fsGroup)
	DefaultUID *int64 `form:"default_uid,omitempty" json:"default_uid,omitempty" xml:"default_uid,omitempty"`
	// Automatically mount /dev/shm as emptyDir with medium=Memory (required for
	// Selkies streaming, Chrome, ML frameworks)
	DefaultSharedMemory *bool `form:"default_shared_memory,omitempty" json:"default_shared_memory,omitempty" xml:"default_shared_memory,omitempty"`
	// Run container in privileged mode
	Privileged *bool `form:"privileged,omitempty" json:"privileged,omitempty" xml:"privileged,omitempty"`
	// Project homepage or documentation URL
	HomepageURL *string `form:"homepage_url,omitempty" json:"homepage_url,omitempty" xml:"homepage_url,omitempty"`
	// Source code repository URL
	SourceURL *string `form:"source_url,omitempty" json:"source_url,omitempty" xml:"source_url,omitempty"`
	// Container image registry page (e.g. Docker Hub)
	ImageHomepageURL *string `form:"image_homepage_url,omitempty" json:"image_homepage_url,omitempty" xml:"image_homepage_url,omitempty"`
	// Default user for this image
	DefaultUser *string `form:"default_user,omitempty" json:"default_user,omitempty" xml:"default_user,omitempty"`
	// Known default password for DefaultUser. Only set when the image has a known
	// default password; leave unset when the guest uses no password
	DefaultPassword *string `form:"default_password,omitempty" json:"default_password,omitempty" xml:"default_password,omitempty"`
	// Set to true when the image has cloud-init baked in, allowing user-data (e.g.
	// a user/password) to be seeded into the guest at first boot
	DefaultCloudInit *bool `form:"default_cloud_init,omitempty" json:"default_cloud_init,omitempty" xml:"default_cloud_init,omitempty"`
	// Reserved user-data for the guest (cloud-init). Empty by default; later used
	// to seed first-boot configuration when cloud-init is supported. Not yet
	// consumed
	DefaultUserData *string `form:"default_user_data,omitempty" json:"default_user_data,omitempty" xml:"default_user_data,omitempty"`
	// Default home directory for the default user
	DefaultHomedir *string `form:"default_homedir,omitempty" json:"default_homedir,omitempty" xml:"default_homedir,omitempty"`
	// Default shell for exec/console sessions (e.g. /bin/bash)
	DefaultShell *string `form:"default_shell,omitempty" json:"default_shell,omitempty" xml:"default_shell,omitempty"`
	// Additional relevant URLs for this image
	Links []*ImageLinkResponse `form:"links,omitempty" json:"links,omitempty" xml:"links,omitempty"`
	// Default login credentials for this image
	DefaultCredentials *ImageCredentialsResponse `form:"default_credentials,omitempty" json:"default_credentials,omitempty" xml:"default_credentials,omitempty"`
	// Workspace types this image supports (container, vm, scratch). Empty means
	// container-only
	WorkspaceTypes []string `form:"workspace_types,omitempty" json:"workspace_types,omitempty" xml:"workspace_types,omitempty"`
}

ImageResponse is used to define fields on response body types.

Jump to

Keyboard shortcuts

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