types

package
v0.59.0 Latest Latest
Warning

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

Go to latest
Published: Sep 12, 2023 License: MIT Imports: 3 Imported by: 2

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type App

type App struct {
	ID           string
	Name         string
	Scheduler    string
	Slug         string
	IsFoundation bool
}

type AppAndChannels

type AppAndChannels struct {
	App      *App
	Channels []Channel
}

type AppRelease added in v0.54.0

type AppRelease struct {
	Config               string                `json:"config,omitempty"`
	CreatedAt            time.Time             `json:"createdAt,omitempty"`
	Editable             bool                  `json:"editable,omitempty"`
	EditedAt             time.Time             `json:"editedAt,omitempty"`
	Sequence             int64                 `json:"sequence,omitempty"`
	Charts               []Chart               `json:"charts,omitempty"`
	CompatibilityResults []CompatibilityResult `json:"compatibilityResults,omitempty"`
	IsHelmOnly           bool                  `json:"isHelmOnly,omitempty"`
}

type Channel

type Channel struct {
	ID          string `json:"id"`
	Name        string `json:"name"`
	Description string `json:"description"`
	Slug        string `json:"channelSlug"`

	ReleaseSequence int64  `json:"releaseSequence"`
	ReleaseLabel    string `json:"releaseLabel"`

	IsArchived bool `json:"isArchived"`
	IsHelmOnly bool `json:"isHelmOnly"`
}

type ChannelRelease added in v0.37.0

type ChannelRelease struct {
	AirgapBuildError  string    `json:"airgapBuildError,omitempty"`
	AirgapBuildStatus string    `json:"airgapBuildStatus,omitempty"`
	ChannelIcon       string    `json:"channelIcon,omitempty"`
	ChannelId         string    `json:"channelId,omitempty"`
	ChannelName       string    `json:"channelName,omitempty"`
	ChannelSequence   int32     `json:"channelSequence,omitempty"`
	Created           time.Time `json:"created,omitempty"`
	RegistrySecret    string    `json:"registrySecret,omitempty"`
	ReleaseNotes      string    `json:"releaseNotes,omitempty"`
	ReleasedAt        time.Time `json:"releasedAt,omitempty"`
	Semver            string    `json:"semver,omitempty"`
	Sequence          int32     `json:"sequence,omitempty"`
	Updated           time.Time `json:"updated,omitempty"`
}

type Chart added in v0.53.1

type Chart struct {
	Name      string      `json:"name"`
	Version   string      `json:"version"`
	Status    ChartStatus `json:"status"`
	Error     string      `json:"error,omitempty"`
	UpdatedAt *time.Time  `json:"updatedAt,omitempty"`
}

type ChartRelease added in v0.52.0

type ChartRelease struct {
	Name             string `json:"name"`
	Version          string `json:"version"`
	Weight           int    `json:"weight"`
	Error            string `json:"error"`
	HasPreflightSpec bool   `json:"hasPreflightSpec"`
}

type ChartStatus added in v0.53.1

type ChartStatus string
var (
	ChartStatusUnknown ChartStatus = "unknown"
	ChartStatusPushing ChartStatus = "pushing"
	ChartStatusPushed  ChartStatus = "pushed"
	ChartStatusError   ChartStatus = "error"
)

type Cluster added in v0.44.0

type Cluster struct {
	ID                     string `json:"id"`
	Name                   string `json:"name"`
	KubernetesDistribution string `json:"kubernetes_distribution"`
	KubernetesVersion      string `json:"kubernetes_version"`
	NodeCount              int    `json:"node_count"`
	DiskGiB                int64  `json:"disk_gib"`

	Status    ClusterStatus `json:"status"`
	CreatedAt time.Time     `json:"created_at"`
	ExpiresAt time.Time     `json:"expires_at"`
}

type ClusterStatus added in v0.55.0

type ClusterStatus string
const (
	ClusterStatusQueued       ClusterStatus = "queued"        // Not assigned to a runner yet
	ClusterStatusAssigned     ClusterStatus = "assigned"      // Assigned to a runner, but have not heard back from the runner
	ClusterStatusPreparing    ClusterStatus = "preparing"     // The runner sets this when is receives the request
	ClusterStatusProvisioning ClusterStatus = "provisioning"  // The runner sets this when it starts provisioning
	ClusterStatusRunning      ClusterStatus = "running"       // The runner sets this when it is done provisioning or upgrading and available
	ClusterStatusTerminated   ClusterStatus = "terminated"    // This is set when the cluster expires or is deleted
	ClusterStatusError        ClusterStatus = "error"         // Something unexpected
	ClusterStatusUpgrading    ClusterStatus = "upgrading"     // The runner sets this when it starts upgrading
	ClusterStatusUpgradeError ClusterStatus = "upgrade_error" // Something unexpected during an upgrade
	ClusterStatusDeleted      ClusterStatus = "deleted"
)

type ClusterVersion added in v0.50.0

type ClusterVersion struct {
	Name          string   `json:"short_name"`
	Versions      []string `json:"versions"`
	InstanceTypes []string `json:"instance_types"`
}

type CollectorInfo added in v0.12.0

type CollectorInfo struct {
	ActiveChannels []Channel
	AppID          string
	CreatedAt      time.Time
	EditedAt       time.Time
	Name           string
	SpecID         string
	Config         string
}

type CompatibilityResult added in v0.57.0

type CompatibilityResult struct {
	Distribution string     `json:"distribution"`
	Version      string     `json:"version"`
	SuccessAt    *time.Time `json:"successAt,omitempty"`
	SuccessNotes string     `json:"successNotes,omitempty"`
	FailureAt    *time.Time `json:"failureAt,omitempty"`
	FailureNotes string     `json:"failureNotes,omitempty"`
}

type CreateChannelRequest added in v0.37.0

type CreateChannelRequest struct {
	// Description of the channel that is to be created.
	Description string `json:"description,omitempty"`
	// Enterprise Partner Channel Id to be added to channel.
	EnterprisePartnerChannelID string `json:"enterprisePartnerChannelID,omitempty"`
	Name                       string `json:"name"`
}

type CreateInstallerRequest added in v0.37.0

type CreateInstallerRequest struct {
	Yaml string `json:"yaml"`
}

type CustomHostNameOverrides added in v0.52.0

type CustomHostNameOverrides struct {
	Registry struct {
		Hostname string `json:"hostname"`
	} `json:"registry"`

	Proxy struct {
		Hostname string `json:"hostname"`
	} `json:"proxy"`

	DownloadPortal struct {
		Hostname string `json:"hostname"`
	} `json:"downloadPortal"`

	ReplicatedApp struct {
		Hostname string `json:"hostname"`
	} `json:"replicatedApp"`
}

type CustomHostname added in v0.52.0

type CustomHostname struct {
	TeamID                     string    `json:"team_id"`
	OriginServer               string    `json:"origin_server"`
	Hostname                   string    `json:"hostname"`
	CreatedAt                  time.Time `json:"created_at"`
	UpdatedAt                  time.Time `json:"updated_at"`
	DomainVerificationType     string    `json:"domain_verification_type"`
	DomainVerificationStatus   string    `json:"domain_verification_status"`
	DomainTxtRecordName        string    `json:"domain_txt_record_name"`
	DomainTxtRecordValue       string    `json:"domain_txt_record_value"`
	TLSVerificationType        string    `json:"tls_verification_type"`
	TLSVerificationStatus      string    `json:"tls_verification_status"`
	TLSTxtRecordName           string    `json:"tls_txt_record_name"`
	TLSTxtRecordValue          string    `json:"tls_txt_record_value"`
	CloudflareCustomHostnameID string    `json:"cloudflare_custom_hostname_id"`
	CloudflareWorkerRouteID    string    `json:"cloudflare_worker_route_id,omitempty"`
	VerificationErrors         []string  `json:"verification_errors"`
	FailureCount               int       `json:"failure_count"`
	FailureReason              string    `json:"failure_reason"`
}

CustomHostname represents a custom hostname in cloudflare for a team

type Customer added in v0.18.0

type Customer struct {
	ID             string     `json:"id"`
	Name           string     `json:"name"`
	Email          string     `json:"email"`
	Channels       []Channel  `json:"channels"`
	Type           string     `json:"type"`
	Expires        *util.Time `json:"expiresAt"`
	Instances      []Instance `json:"instances"`
	InstallationID string     `json:"installationId"`
}

func (Customer) WithExpiryTime added in v0.18.0

func (c Customer) WithExpiryTime(expiryTime string) (Customer, error)

type CustomerAdoption added in v0.37.0

type CustomerAdoption struct {
	ChannelId       string  `json:"channelId,omitempty"`
	Count           int32   `json:"count,omitempty"`
	Percent         float32 `json:"percent,omitempty"`
	ReleaseSequence int32   `json:"releaseSequence,omitempty"`
	Semver          string  `json:"semver,omitempty"`
	TotalOnChannel  int64   `json:"totalOnChannel,omitempty"`
}

type EntitlementSpec added in v0.11.0

type EntitlementSpec struct {
	ID        string `json:"id,omitempty"`
	Spec      string `json:"spec,omitempty"`
	Name      string `json:"name,omitempty"`
	CreatedAt string `json:"createdAt,omitempty"`
}

type EntitlementValue added in v0.11.0

type EntitlementValue struct {
	Name  string `json:"name,omitempty"`
	Value string `json:"value,omitempty"`
}

type EntitlementValueResponse added in v0.37.0

type EntitlementValueResponse struct {
	ID         string `json:"id,omitempty"`
	SpecID     string `json:"specId,omitempty"`
	CustomerID string `json:"customerId,omitempty"`
	Key        string `json:"key,omitempty"`
	Value      string `json:"value,omitempty"`
}

type InstallerSpec added in v0.21.0

type InstallerSpec struct {
	AppID           string    `json:"appId"`
	KurlInstallerID string    `json:"kurlInstallerID"`
	Sequence        int64     `json:"sequence"`
	YAML            string    `json:"yaml"`
	ActiveChannels  []Channel `json:"channels"`
	CreatedAt       util.Time `json:"created"`
	CreatedAtString string    `json:"createdAt"`
	Immutable       bool      `json:"isInstallerNotEditable"`
}

type InstallerSpecResponse added in v0.37.0

type InstallerSpecResponse struct {
	Body InstallerSpec `json:"installer"`
}

type Instance added in v0.51.0

type Instance struct {
	LicenseId      string           `json:"licenseId,omitempty"`
	InstanceId     string           `json:"instanceId,omitempty"`
	ClusterId      string           `json:"clusterId,omitempty"`
	CreatedAt      time.Time        `json:"createdAt,omitempty"`
	LastActive     time.Time        `json:"lastActive,omitempty"`
	AppStatus      string           `json:"appStatus,omitempty"`
	Active         bool             `json:"active,omitempty"`
	VersionHistory []VersionHistory `json:"versionHistory,omitempty"`
}

type KotsAppChannel added in v0.37.0

type KotsAppChannel struct {
	Id   string `json:"id,omitempty"`
	Name string `json:"name,omitempty"`
}

type KotsAppCustomHostname added in v0.52.0

type KotsAppCustomHostname struct {
	AppID     string `json:"app_id"`
	IsDefault bool   `json:"is_default"`
	CustomHostname
}

KotsAppCustomHostname represents a custom hostname configured for a kots app

type KotsAppCustomHostnames added in v0.52.0

type KotsAppCustomHostnames struct {
	Registry       []KotsAppCustomHostname `json:"registry"`
	Proxy          []KotsAppCustomHostname `json:"proxy"`
	DownloadPortal []KotsAppCustomHostname `json:"downloadPortal"`
	ReplicatedApp  []KotsAppCustomHostname `json:"replicatedApp"`
}

KotsAppCustomHostnames all custom hostnames configured for a kots app

type KotsAppRelease added in v0.33.2

type KotsAppRelease struct {
	AppID                string                `json:"appId"`
	Sequence             int64                 `json:"sequence"`
	CreatedAt            time.Time             `json:"created"`
	IsArchived           bool                  `json:"isArchived"`
	Spec                 string                `json:"spec"`
	ReleaseNotes         string                `json:"releaseNotes"`
	IsReleaseNotEditable bool                  `json:"isReleaseNotEditable"`
	Channels             []*Channel            `json:"channels"`
	Charts               []Chart               `json:"charts"`
	CompatibilityResults []CompatibilityResult `json:"compatibilityResults"`
	IsHelmOnly           bool                  `json:"isHelmOnly"`
}

type KotsAppWithChannels added in v0.37.0

type KotsAppWithChannels struct {
	Channels     []Channel `json:"channels,omitempty"`
	Created      time.Time `json:"created,omitempty"`
	Description  string    `json:"description,omitempty"`
	Id           string    `json:"id,omitempty"`
	IsArchived   bool      `json:"isArchived,omitempty"`
	IsKotsApp    bool      `json:"isKotsApp,omitempty"`
	IsFoundation bool      `json:"isFoundation,omitempty"`
	Name         string    `json:"name,omitempty"`
	RenamedAt    time.Time `json:"renamedAt,omitempty"`
	Slug         string    `json:"slug,omitempty"`
	TeamId       string    `json:"teamId,omitempty"`
}

type KotsChannel added in v0.37.0

type KotsChannel struct {
	AdoptionRate               []CustomerAdoption            `json:"adoptionRate,omitempty"`
	AppId                      string                        `json:"appId,omitempty"`
	BuildAirgapAutomatically   bool                          `json:"buildAirgapAutomatically,omitempty"`
	ChannelIcon                string                        `json:"channelIcon,omitempty"`
	ChannelSequence            int32                         `json:"channelSequence,omitempty"`
	ChannelSlug                string                        `json:"channelSlug,omitempty"`
	Created                    time.Time                     `json:"created,omitempty"`
	CurrentVersion             string                        `json:"currentVersion,omitempty"`
	Customers                  *TotalActiveInactiveCustomers `json:"customers,omitempty"`
	Description                string                        `json:"description,omitempty"`
	EnterprisePartnerChannelID string                        `json:"enterprisePartnerChannelID,omitempty"`
	Id                         string                        `json:"id,omitempty"`
	IsArchived                 bool                          `json:"isArchived,omitempty"`
	IsDefault                  bool                          `json:"isDefault,omitempty"`
	Name                       string                        `json:"name,omitempty"`
	NumReleases                int32                         `json:"numReleases,omitempty"`
	IsHelmOnly                 bool                          `json:"isHelmOnly,omitempty"`
	ReleaseNotes               string                        `json:"releaseNotes,omitempty"`
	// TODO: set these (see kotsChannelToSchema function)
	ReleaseSequence          int32                   `json:"releaseSequence,omitempty"`
	Releases                 []ChannelRelease        `json:"releases,omitempty"`
	Updated                  time.Time               `json:"updated,omitempty"`
	ReplicatedRegistryDomain string                  `json:"replicatedRegistryDomain"`
	CustomHostNameOverrides  CustomHostNameOverrides `json:"customHostNameOverrides"`
	ChartReleases            []ChartRelease          `json:"chartReleases"`
}

func (*KotsChannel) ToChannel added in v0.55.0

func (c *KotsChannel) ToChannel() *Channel

type KotsCreateReleaseRequest added in v0.36.1

type KotsCreateReleaseRequest struct {
	SpecGzip []byte `json:"spec_gzip"`
}

type KotsGetReleaseResponse added in v0.36.1

type KotsGetReleaseResponse struct {
	Release KotsAppRelease `json:"release"`
}

type KotsListReleasesResponse added in v0.36.1

type KotsListReleasesResponse struct {
	Releases []*KotsAppRelease `json:"releases"`
}

KotsListReleasesResponse contains the JSON releases list

type KotsPromoteReleaseRequest added in v0.37.0

type KotsPromoteReleaseRequest struct {
	ReleaseNotes   string   `json:"releaseNotes"`
	VersionLabel   string   `json:"versionLabel"`
	IsRequired     bool     `json:"isRequired"`
	ChannelIDs     []string `json:"channelIds"`
	IgnoreWarnings bool     `json:"ignoreWarnings"`
}

type KotsTestReleaseResponse added in v0.44.0

type KotsTestReleaseResponse struct {
}

type KotsUpdateReleaseRequest added in v0.36.1

type KotsUpdateReleaseRequest struct {
	SpecGzip []byte `json:"spec_gzip"`
}

type LintLinePosition added in v0.8.0

type LintLinePosition struct {
	Position int64 `json:"position"`
	Line     int64 `json:"line"`
	Column   int64 `json:"column"`
}

type LintMessage added in v0.8.0

type LintMessage struct {
	Rule      string          `json:"rule"`
	Type      string          `json:"type"`
	Path      string          `json:"path"`
	Message   string          `json:"message"`
	Positions []*LintPosition `json:"positions"`
}

type LintPosition added in v0.8.0

type LintPosition struct {
	Path  string           `json:"path"`
	Start LintLinePosition `json:"start"`
	End   LintLinePosition `json:"end"`
}

type ListInstallersResponse added in v0.37.1

type ListInstallersResponse struct {
	Body []InstallerSpec `json:"installers"`
}

type PlatformChannel added in v0.12.0

type PlatformChannel struct {
	ID   string
	Name string
}

type PromoteInstallerRequest added in v0.37.0

type PromoteInstallerRequest struct {
	Sequence     int64  `json:"sequence"`
	VersionLabel string `json:"versionLabel"`
	ChannelID    string `json:"channelId"`
}

type Registry added in v0.40.4

type Registry struct {
	Provider   string     `json:"provider"`
	Endpoint   string     `json:"endpoint"`
	AuthType   string     `json:"authType"`
	Username   string     `json:"username"`
	LastUsedAt *time.Time `json:"lastUsedAt"`
}

type RegistryLog added in v0.40.4

type RegistryLog struct {
	CreatedAt string  `json:"createdAt"`
	Action    string  `json:"action"`
	Status    *int    `json:"statusCode"`
	Success   bool    `json:"isSuccess"`
	Image     *string `json:"image"`
}

type ReleaseInfo

type ReleaseInfo struct {
	ActiveChannels []Channel
	AppID          string
	CreatedAt      time.Time
	EditedAt       time.Time
	Editable       bool
	Sequence       int64
	Version        string
	Charts         []Chart
	IsHelmOnly     bool
}

type TotalActiveInactiveCustomers added in v0.37.0

type TotalActiveInactiveCustomers struct {
	ActiveCustomers   int64 `json:"activeCustomers,omitempty"`
	InactiveCustomers int64 `json:"inactiveCustomers,omitempty"`
	TotalCustomers    int64 `json:"totalCustomers,omitempty"`
}

type UpdateChannelRequest added in v0.38.0

type UpdateChannelRequest struct {
	// Description of the channel that is to be created.
	Name           string `json:"name"`
	SemverRequired bool   `json:"semverRequired,omitempty"`
}

type VersionHistory added in v0.51.0

type VersionHistory struct {
	InstanceId                string    `json:"instanceId,omitempty"`
	ClusterId                 string    `json:"clusterId,omitempty"`
	VersionLabel              string    `json:"versionLabel,omitempty"`
	DownStreamChannelId       string    `json:"downstreamChannelId,omitempty"`
	DownStreamReleaseSequence int32     `json:"downstreamReleaseSequence,omitempty"`
	IntervalStart             time.Time `json:"intervalStart,omitempty"`
	IntervalLast              time.Time `json:"intervallast,omitempty"`
	RepHelmCount              int32     `json:"repHelmCount,omitempty"`
	NativeHelmCount           int32     `json:"nativeHelmCount,omitempty"`
}

Jump to

Keyboard shortcuts

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