Documentation
¶
Overview ¶
Package db provides a database access layer for MySQL with support for read/write splitting, connection management, and type-safe SQL operations.
The package uses sqlc (https://sqlc.dev/) to generate type-safe Go code from SQL queries, providing compile-time verification of database operations.
Key features:
- Primary/replica configuration with automatic routing of reads and writes - Support for transactions - Type-safe query methods generated from SQL - Bulk insert operations for improved performance - BulkQuerier interface for type-safe bulk operations
Basic usage:
// Initialize the database with primary and optional read replica
db, err := db.New(db.Config{
PrimaryDSN: "mysql://user:pass@primary:3306/dbname?parseTime=true",
ReadOnlyDSN: "mysql://user:pass@replica:3306/dbname?parseTime=true",
})
if err != nil {
return fmt.Errorf("database initialization failed: %w", err)
}
defer db.Close()
// Execute a read query using the read replica
workspace, err := db.Query.FindWorkspaceByID(ctx, db.RO(), workspaceID)
if err != nil {
return fmt.Errorf("failed to find workspace: %w", err)
}
// Execute a write query using the read/write connection
err = db.Query.InsertKey(ctx, db.RW(), insertKeyParams)
if err != nil {
return fmt.Errorf("failed to insert key: %w", err)
}
// Use bulk operations for efficient batch inserts
err = db.Query.BulkInsertKey(ctx, db.RW(), []db.InsertKeyParams{
insertKeyParams1,
insertKeyParams2,
insertKeyParams3,
})
if err != nil {
return fmt.Errorf("failed to bulk insert keys: %w", err)
}
// Type-safe bulk operations using the BulkQuerier interface
var bulkQuerier db.BulkQuerier = db.Query
err = bulkQuerier.BulkInsertKey(ctx, db.RW(), keyBatch)
if err != nil {
return fmt.Errorf("failed to bulk insert via interface: %w", err)
}
This package relies on the standard Go database/sql package and the go-sql-driver/mysql driver for the actual database communication.
Package db provides database transaction utilities for the Unkey platform. It offers transaction lifecycle management with automatic rollback on errors and proper error wrapping for consistent fault handling across services.
The package is shared across all Unkey services including the API service for atomic key operations, admin service for workspace management, and audit service for logging operations.
Index ¶
- Constants
- func IsConnectionError(err error) bool
- func IsDeadlockError(err error) bool
- func IsDuplicateKeyError(err error) bool
- func IsLockWaitTimeoutError(err error) bool
- func IsNotFound(err error) bool
- func IsTooManyConnectionsError(err error) bool
- func IsTransientError(err error) bool
- func New(config Config) (*database, error)
- func ToMySQL(d Database) mysql.MySQL
- func Tx(ctx context.Context, db *Replica, fn func(context.Context, DBTX) error) error
- func TxRetry(ctx context.Context, db *Replica, fn func(context.Context, DBTX) error) error
- func TxWithResult[T any](ctx context.Context, db *Replica, fn func(context.Context, DBTX) (T, error)) (T, error)
- func TxWithResultRetry[T any](ctx context.Context, db *Replica, fn func(context.Context, DBTX) (T, error)) (T, error)
- func UnmarshalNullableJSONTo[T any](data any) (T, error)
- func WithRetryContext[T any](ctx context.Context, fn func() (T, error)) (T, error)
- type AcmeChallenge
- type AcmeChallengesChallengeType
- type AcmeChallengesStatus
- type AcmeUser
- type Api
- type ApisAuthType
- type App
- type AppBuildSetting
- type AppEnvironmentVariable
- type AppEnvironmentVariablesType
- type AppRegionalSetting
- type AppRuntimeSetting
- type AppRuntimeSettingsShutdownSignal
- type AppRuntimeSettingsUpstreamProtocol
- type AuditLog
- type AuditLogTarget
- type BulkQuerier
- type BulkQueries
- func (q *BulkQueries) InsertAcmeChallenges(ctx context.Context, db DBTX, args []InsertAcmeChallengeParams) error
- func (q *BulkQueries) InsertAcmeUsers(ctx context.Context, db DBTX, args []InsertAcmeUserParams) error
- func (q *BulkQueries) InsertApis(ctx context.Context, db DBTX, args []InsertApiParams) error
- func (q *BulkQueries) InsertAppEnvironmentVariables(ctx context.Context, db DBTX, args []InsertAppEnvironmentVariableParams) error
- func (q *BulkQueries) InsertApps(ctx context.Context, db DBTX, args []InsertAppParams) error
- func (q *BulkQueries) InsertAuditLogTargets(ctx context.Context, db DBTX, args []InsertAuditLogTargetParams) error
- func (q *BulkQueries) InsertAuditLogs(ctx context.Context, db DBTX, args []InsertAuditLogParams) error
- func (q *BulkQueries) InsertCertificates(ctx context.Context, db DBTX, args []InsertCertificateParams) error
- func (q *BulkQueries) InsertCiliumNetworkPolicies(ctx context.Context, db DBTX, args []InsertCiliumNetworkPolicyParams) error
- func (q *BulkQueries) InsertClickhouseOutboxes(ctx context.Context, db DBTX, args []InsertClickhouseOutboxParams) error
- func (q *BulkQueries) InsertClickhouseWorkspaceSettingses(ctx context.Context, db DBTX, args []InsertClickhouseWorkspaceSettingsParams) error
- func (q *BulkQueries) InsertCustomDomains(ctx context.Context, db DBTX, args []InsertCustomDomainParams) error
- func (q *BulkQueries) InsertDeploymentChanges(ctx context.Context, db DBTX, args []InsertDeploymentChangeParams) error
- func (q *BulkQueries) InsertDeploymentSteps(ctx context.Context, db DBTX, args []InsertDeploymentStepParams) error
- func (q *BulkQueries) InsertDeploymentTopologies(ctx context.Context, db DBTX, args []InsertDeploymentTopologyParams) error
- func (q *BulkQueries) InsertDeployments(ctx context.Context, db DBTX, args []InsertDeploymentParams) error
- func (q *BulkQueries) InsertEnvironments(ctx context.Context, db DBTX, args []InsertEnvironmentParams) error
- func (q *BulkQueries) InsertFrontlineRoutes(ctx context.Context, db DBTX, args []InsertFrontlineRouteParams) error
- func (q *BulkQueries) InsertGithubRepoConnections(ctx context.Context, db DBTX, args []InsertGithubRepoConnectionParams) error
- func (q *BulkQueries) InsertIdentities(ctx context.Context, db DBTX, args []InsertIdentityParams) error
- func (q *BulkQueries) InsertIdentityRatelimits(ctx context.Context, db DBTX, args []InsertIdentityRatelimitParams) error
- func (q *BulkQueries) InsertKeyAuths(ctx context.Context, db DBTX, args []InsertKeyAuthParams) error
- func (q *BulkQueries) InsertKeyEncryptions(ctx context.Context, db DBTX, args []InsertKeyEncryptionParams) error
- func (q *BulkQueries) InsertKeyMigrations(ctx context.Context, db DBTX, args []InsertKeyMigrationParams) error
- func (q *BulkQueries) InsertKeyPermissions(ctx context.Context, db DBTX, args []InsertKeyPermissionParams) error
- func (q *BulkQueries) InsertKeyRatelimits(ctx context.Context, db DBTX, args []InsertKeyRatelimitParams) error
- func (q *BulkQueries) InsertKeyRoles(ctx context.Context, db DBTX, args []InsertKeyRoleParams) error
- func (q *BulkQueries) InsertKeySpaces(ctx context.Context, db DBTX, args []InsertKeySpaceParams) error
- func (q *BulkQueries) InsertKeys(ctx context.Context, db DBTX, args []InsertKeyParams) error
- func (q *BulkQueries) InsertPermissions(ctx context.Context, db DBTX, args []InsertPermissionParams) error
- func (q *BulkQueries) InsertPortalConfigs(ctx context.Context, db DBTX, args []InsertPortalConfigParams) error
- func (q *BulkQueries) InsertPortalSessionTokens(ctx context.Context, db DBTX, args []InsertPortalSessionTokenParams) error
- func (q *BulkQueries) InsertPortalSessions(ctx context.Context, db DBTX, args []InsertPortalSessionParams) error
- func (q *BulkQueries) InsertProjects(ctx context.Context, db DBTX, args []InsertProjectParams) error
- func (q *BulkQueries) InsertRatelimitNamespaces(ctx context.Context, db DBTX, args []InsertRatelimitNamespaceParams) error
- func (q *BulkQueries) InsertRatelimitOverrides(ctx context.Context, db DBTX, args []InsertRatelimitOverrideParams) error
- func (q *BulkQueries) InsertRolePermissions(ctx context.Context, db DBTX, args []InsertRolePermissionParams) error
- func (q *BulkQueries) InsertRoles(ctx context.Context, db DBTX, args []InsertRoleParams) error
- func (q *BulkQueries) InsertSentinels(ctx context.Context, db DBTX, args []InsertSentinelParams) error
- func (q *BulkQueries) InsertWorkspaces(ctx context.Context, db DBTX, args []InsertWorkspaceParams) error
- func (q *BulkQueries) UpsertAppBuildSettings(ctx context.Context, db DBTX, args []UpsertAppBuildSettingsParams) error
- func (q *BulkQueries) UpsertAppRegionalSettings(ctx context.Context, db DBTX, args []UpsertAppRegionalSettingsParams) error
- func (q *BulkQueries) UpsertAppRuntimeSettings(ctx context.Context, db DBTX, args []UpsertAppRuntimeSettingsParams) error
- func (q *BulkQueries) UpsertCluster(ctx context.Context, db DBTX, args []UpsertClusterParams) error
- func (q *BulkQueries) UpsertCustomDomain(ctx context.Context, db DBTX, args []UpsertCustomDomainParams) error
- func (q *BulkQueries) UpsertEnvironment(ctx context.Context, db DBTX, args []UpsertEnvironmentParams) error
- func (q *BulkQueries) UpsertIdentity(ctx context.Context, db DBTX, args []UpsertIdentityParams) error
- func (q *BulkQueries) UpsertInstance(ctx context.Context, db DBTX, args []UpsertInstanceParams) error
- func (q *BulkQueries) UpsertKeySpace(ctx context.Context, db DBTX, args []UpsertKeySpaceParams) error
- func (q *BulkQueries) UpsertOpenApiSpec(ctx context.Context, db DBTX, args []UpsertOpenApiSpecParams) error
- func (q *BulkQueries) UpsertPortalBranding(ctx context.Context, db DBTX, args []UpsertPortalBrandingParams) error
- func (q *BulkQueries) UpsertQuota(ctx context.Context, db DBTX, args []UpsertQuotaParams) error
- func (q *BulkQueries) UpsertRegion(ctx context.Context, db DBTX, args []UpsertRegionParams) error
- func (q *BulkQueries) UpsertWorkspace(ctx context.Context, db DBTX, args []UpsertWorkspaceParams) error
- type Certificate
- type CiliumNetworkPolicy
- type ClearAcmeChallengeTokensParams
- type ClickhouseOutbox
- type ClickhouseWorkspaceSetting
- type Cluster
- type CompareAndSwapDeploymentStatusParams
- type Config
- type CustomDomain
- type CustomDomainsChallengeType
- type CustomDomainsVerificationStatus
- type DBTX
- type DBTx
- type Database
- type DeleteDeploymentInstancesParams
- type DeleteDeploymentTopologyByDeploymentRegionParams
- type DeleteIdentityParams
- type DeleteInstanceParams
- type DeleteKeyPermissionByKeyAndPermissionIDParams
- type DeleteManyKeyPermissionByKeyAndPermissionIDsParams
- type DeleteManyKeyRolesByKeyAndRoleIDsParams
- type DeleteManyKeyRolesByKeyIDParams
- type DeleteOldIdentityByExternalIDParams
- type DeleteOldIdentityWithRatelimitsParams
- type DeleteRatelimitNamespaceParams
- type Deployment
- type DeploymentChange
- type DeploymentChangesResourceType
- type DeploymentStep
- type DeploymentStepsStep
- type DeploymentTopology
- type DeploymentTopologyDesiredStatus
- type DeploymentsDesiredState
- type DeploymentsShutdownSignal
- type DeploymentsStatus
- type DeploymentsUpstreamProtocol
- type EncryptedKey
- type EndActiveDeploymentStepsForDeploymentsParams
- type EndActiveDeploymentStepsWithErrorParams
- type EndDeploymentStepParams
- type EnvVarInfo
- type Environment
- type ExchangePortalSessionTokenParams
- type FindAcmeChallengeByTokenParams
- type FindAppBuildSettingByAppEnvParams
- type FindAppByProjectAndSlugParams
- type FindAppByProjectAndSlugRow
- type FindAppByWorkspaceAndSlugsParams
- type FindAppByWorkspaceAndSlugsRow
- type FindAppEnvVarsByAppAndEnvParams
- type FindAppEnvVarsByAppAndEnvRow
- type FindAppRegionalSettingsByAppAndEnvParams
- type FindAppRegionalSettingsByAppAndEnvRow
- type FindAppRuntimeSettingsByAppAndEnvParams
- type FindAppRuntimeSettingsByAppAndEnvRow
- type FindAppWithSettingsParams
- type FindAppWithSettingsRow
- type FindAuditLogTargetByIDRow
- type FindAuditLogTargetsForBackfillRow
- type FindAuditLogsForBackfillParams
- type FindAuditLogsForBackfillRow
- type FindCiliumNetworkPolicyByEnvironmentRegionAndNameParams
- type FindCiliumNetworkPolicyByIDAndRegionParams
- type FindClickhouseOutboxBatchParams
- type FindClickhouseOutboxBatchRow
- type FindClickhouseWorkspaceSettingsByWorkspaceIDRow
- type FindCustomDomainByDomainOrWildcardParams
- type FindCustomDomainByWorkspaceAndDomainParams
- type FindCustomDomainWithCertByDomainRow
- type FindDeploymentTopologyByDeploymentAndRegionParams
- type FindDeploymentTopologyByDeploymentAndRegionRow
- type FindDeploymentTopologyMinReplicasRow
- type FindEnvironmentByAppIdAndSlugParams
- type FindEnvironmentByAppIdAndSlugRow
- type FindEnvironmentByProjectIdAndSlugParams
- type FindFrontlineRouteByDeploymentIDAndStickyParams
- type FindFrontlineRouteForPromotionParams
- type FindFrontlineRouteForPromotionRow
- type FindFrontlineRoutesForRollbackParams
- type FindFrontlineRoutesForRollbackRow
- type FindGithubRepoConnectionByProjectIdRow
- type FindIdentitiesByExternalIdParams
- type FindIdentitiesParams
- type FindIdentityByExternalIDParams
- type FindIdentityByIDParams
- type FindIdentityParams
- type FindIdentityRow
- type FindInstanceByPodNameParams
- type FindInstancesByDeploymentIdAndRegionIDParams
- type FindKeyAuthsByIdsParams
- type FindKeyAuthsByIdsRow
- type FindKeyAuthsByKeyAuthIdsParams
- type FindKeyAuthsByKeyAuthIdsRow
- type FindKeyMigrationByIDParams
- type FindKeyMigrationByIDRow
- type FindKeyRoleByKeyAndRoleIDParams
- type FindKeysByHashRow
- type FindLatestReadyDeploymentByAppAndEnvParams
- type FindLiveApiByIDRow
- type FindLiveKeyByHashRow
- type FindLiveKeyByIDRow
- type FindManyRatelimitNamespacesParams
- type FindManyRatelimitNamespacesRow
- type FindManyRolesByIdOrNameWithPermsParams
- type FindManyRolesByIdOrNameWithPermsRow
- type FindManyRolesByNamesWithPermsParams
- type FindManyRolesByNamesWithPermsRow
- type FindPermissionByIdOrSlugParams
- type FindPermissionByNameAndWorkspaceIDParams
- type FindPermissionBySlugAndWorkspaceIDParams
- type FindPermissionsBySlugsParams
- type FindPortalConfigByWorkspaceAndSlugParams
- type FindProjectByWorkspaceSlugParams
- type FindProjectByWorkspaceSlugRow
- type FindRatelimitNamespace
- type FindRatelimitNamespaceByNameParams
- type FindRatelimitNamespaceLimitOverride
- type FindRatelimitNamespaceParams
- type FindRatelimitNamespaceRow
- type FindRatelimitOverrideByIDParams
- type FindRatelimitOverrideByIdentifierParams
- type FindRegionByPlatformAndNameParams
- type FindRoleByIdOrNameWithPermsParams
- type FindRoleByIdOrNameWithPermsRow
- type FindRoleByNameAndWorkspaceIDParams
- type FindRolePermissionByRoleAndPermissionIDParams
- type FindRolesByNamesParams
- type FindRolesByNamesRow
- type FindSentinelDeployContextByK8sNameRow
- type FindSentinelsByEnvironmentIDRow
- type FindValidPortalSessionParams
- type FindValidPortalSessionTokenParams
- type FindVerifiedCustomDomainByDomainExcludingWorkspaceParams
- type FlipSentinelDeployStatusIfProgressingParams
- type FrontlineRoute
- type FrontlineRoutesSticky
- type GetKeyAuthByIDRow
- type GetWorkspacesForQuotaCheckByIDsRow
- type GithubAppInstallation
- type GithubRepoConnection
- type HasNewerActiveDeploymentParams
- type HorizontalAutoscalingPolicy
- type Identity
- type InsertAcmeChallengeParams
- type InsertAcmeUserParams
- type InsertApiParams
- type InsertAppEnvironmentVariableParams
- type InsertAppParams
- type InsertAuditLogParams
- type InsertAuditLogTargetParams
- type InsertCertificateParams
- type InsertCiliumNetworkPolicyParams
- type InsertClickhouseOutboxParams
- type InsertClickhouseWorkspaceSettingsParams
- type InsertCustomDomainParams
- type InsertDeploymentChangeParams
- type InsertDeploymentParams
- type InsertDeploymentStepParams
- type InsertDeploymentTopologyParams
- type InsertEnvironmentParams
- type InsertFrontlineRouteParams
- type InsertGithubRepoConnectionParams
- type InsertIdentityParams
- type InsertIdentityRatelimitParams
- type InsertKeyAuthParams
- type InsertKeyEncryptionParams
- type InsertKeyMigrationParams
- type InsertKeyParams
- type InsertKeyPermissionParams
- type InsertKeyRatelimitParams
- type InsertKeyRoleParams
- type InsertKeySpaceParams
- type InsertPermissionParams
- type InsertPortalConfigParams
- type InsertPortalSessionParams
- type InsertPortalSessionTokenParams
- type InsertProjectParams
- type InsertRatelimitNamespaceParams
- type InsertRatelimitOverrideParams
- type InsertRoleParams
- type InsertRolePermissionParams
- type InsertSentinelParams
- type InsertWorkspaceParams
- type Instance
- type InstancesStatus
- type Key
- type KeyAuth
- type KeyData
- type KeyMigration
- type KeyMigrationsAlgorithm
- type KeyRow
- type KeysPermission
- type KeysRole
- type ListAllCiliumNetworkPoliciesByRegionParams
- type ListAllDeploymentTopologiesByRegionParams
- type ListAllDeploymentTopologiesByRegionRow
- type ListAllSentinelsByRegionParams
- type ListAppsByProjectRow
- type ListDeploymentChangesByRegionAllParams
- type ListDeploymentsByEnvironmentIdAndStatusParams
- type ListDesiredDeploymentTopologyParams
- type ListDesiredDeploymentTopologyRow
- type ListDesiredNetworkPoliciesParams
- type ListDesiredSentinelsParams
- type ListEnvVarsForRepoConnectionsParams
- type ListEnvVarsForRepoConnectionsRow
- type ListExecutableChallengesRow
- type ListGithubRepoConnectionsParams
- type ListIdentitiesParams
- type ListIdentitiesRow
- type ListKeysByKeySpaceIDParams
- type ListKeysByKeySpaceIDRow
- type ListKeysForRefillParams
- type ListKeysForRefillRow
- type ListLiveKeysByKeySpaceIDParams
- type ListLiveKeysByKeySpaceIDRow
- type ListOlderActiveDeploymentsForDedupParams
- type ListOlderActiveDeploymentsForDedupRow
- type ListPermissionsByKeyIDParams
- type ListPermissionsParams
- type ListPreviewEnvironmentsParams
- type ListRatelimitOverridesByNamespaceIDParams
- type ListRatelimitsByKeyIDRow
- type ListRatelimitsByKeyIDsRow
- type ListRegionsRow
- type ListRepoConnectionDeployContextsParams
- type ListRepoConnectionDeployContextsRow
- type ListRolesByKeyIDRow
- type ListRolesParams
- type ListRolesRow
- type ListRunningSentinelIDsAndImagesParams
- type ListRunningSentinelIDsAndImagesRow
- type ListWorkspacesForQuotaCheckRow
- type ListWorkspacesRow
- type MarkClickhouseOutboxBatchDeletedParams
- type NullAcmeChallengesChallengeType
- type NullAcmeChallengesStatus
- type NullApisAuthType
- type NullAppEnvironmentVariablesType
- type NullAppRuntimeSettingsShutdownSignal
- type NullAppRuntimeSettingsUpstreamProtocol
- type NullCustomDomainsChallengeType
- type NullCustomDomainsVerificationStatus
- type NullDeploymentChangesResourceType
- type NullDeploymentStepsStep
- type NullDeploymentTopologyDesiredStatus
- type NullDeploymentsDesiredState
- type NullDeploymentsShutdownSignal
- type NullDeploymentsStatus
- type NullDeploymentsUpstreamProtocol
- type NullFrontlineRoutesSticky
- type NullInstancesStatus
- type NullKeyMigrationsAlgorithm
- type NullSentinelsDeployStatus
- type NullSentinelsDesiredState
- type NullSentinelsHealth
- type NullVercelBindingsEnvironment
- type NullVercelBindingsResourceType
- type OpenapiSpec
- type Permission
- type PermissionInfo
- type PortalBranding
- type PortalConfiguration
- type PortalSession
- type PortalSessionToken
- type Project
- type Querier
- type Queries
- func (q *Queries) ClearAcmeChallengeTokens(ctx context.Context, db DBTX, arg ClearAcmeChallengeTokensParams) error
- func (q *Queries) CompareAndSwapDeploymentStatus(ctx context.Context, db DBTX, arg CompareAndSwapDeploymentStatusParams) (sql.Result, error)
- func (q *Queries) CountInstancesByAppId(ctx context.Context, db DBTX, appID string) (int64, error)
- func (q *Queries) CountSentinelsByAppId(ctx context.Context, db DBTX, appID string) (int64, error)
- func (q *Queries) CountSentinelsByProjectId(ctx context.Context, db DBTX, projectID string) (int64, error)
- func (q *Queries) DeleteAcmeChallengeByDomainID(ctx context.Context, db DBTX, domainID string) error
- func (q *Queries) DeleteAllKeyPermissionsByKeyID(ctx context.Context, db DBTX, keyID string) error
- func (q *Queries) DeleteAllKeyRolesByKeyID(ctx context.Context, db DBTX, keyID string) error
- func (q *Queries) DeleteAppBuildSettingsByEnvironmentId(ctx context.Context, db DBTX, environmentID string) error
- func (q *Queries) DeleteAppById(ctx context.Context, db DBTX, id string) error
- func (q *Queries) DeleteAppEnvVarsByEnvironmentId(ctx context.Context, db DBTX, environmentID string) error
- func (q *Queries) DeleteAppRegionalSettingsByEnvironmentId(ctx context.Context, db DBTX, environmentID string) error
- func (q *Queries) DeleteAppRuntimeSettingsByEnvironmentId(ctx context.Context, db DBTX, environmentID string) error
- func (q *Queries) DeleteCiliumNetworkPoliciesByEnvironmentId(ctx context.Context, db DBTX, environmentID string) error
- func (q *Queries) DeleteCustomDomainByID(ctx context.Context, db DBTX, id string) error
- func (q *Queries) DeleteCustomDomainsByEnvironmentId(ctx context.Context, db DBTX, environmentID string) error
- func (q *Queries) DeleteCustomDomainsByProjectId(ctx context.Context, db DBTX, projectID string) error
- func (q *Queries) DeleteDeploymentChangesBefore(ctx context.Context, db DBTX, before int64) error
- func (q *Queries) DeleteDeploymentInstances(ctx context.Context, db DBTX, arg DeleteDeploymentInstancesParams) error
- func (q *Queries) DeleteDeploymentStepsByEnvironmentId(ctx context.Context, db DBTX, environmentID string) error
- func (q *Queries) DeleteDeploymentTopologiesByEnvironmentId(ctx context.Context, db DBTX, environmentID string) error
- func (q *Queries) DeleteDeploymentTopologyByDeploymentId(ctx context.Context, db DBTX, deploymentID string) error
- func (q *Queries) DeleteDeploymentTopologyByDeploymentRegion(ctx context.Context, db DBTX, ...) error
- func (q *Queries) DeleteDeploymentsByEnvironmentId(ctx context.Context, db DBTX, environmentID string) error
- func (q *Queries) DeleteEnvironmentById(ctx context.Context, db DBTX, id string) error
- func (q *Queries) DeleteFrontlineRouteByFQDN(ctx context.Context, db DBTX, fqdn string) error
- func (q *Queries) DeleteFrontlineRoutesByEnvironmentId(ctx context.Context, db DBTX, environmentID string) error
- func (q *Queries) DeleteFrontlineRoutesByProjectId(ctx context.Context, db DBTX, projectID string) error
- func (q *Queries) DeleteGithubRepoConnectionsByAppId(ctx context.Context, db DBTX, appID string) error
- func (q *Queries) DeleteGithubRepoConnectionsByProjectId(ctx context.Context, db DBTX, projectID string) error
- func (q *Queries) DeleteIdentity(ctx context.Context, db DBTX, arg DeleteIdentityParams) error
- func (q *Queries) DeleteInstance(ctx context.Context, db DBTX, arg DeleteInstanceParams) error
- func (q *Queries) DeleteKeyByID(ctx context.Context, db DBTX, id string) error
- func (q *Queries) DeleteKeyPermissionByKeyAndPermissionID(ctx context.Context, db DBTX, ...) error
- func (q *Queries) DeleteManyKeyPermissionByKeyAndPermissionIDs(ctx context.Context, db DBTX, ...) error
- func (q *Queries) DeleteManyKeyPermissionsByPermissionID(ctx context.Context, db DBTX, permissionID string) error
- func (q *Queries) DeleteManyKeyRolesByKeyAndRoleIDs(ctx context.Context, db DBTX, arg DeleteManyKeyRolesByKeyAndRoleIDsParams) error
- func (q *Queries) DeleteManyKeyRolesByKeyID(ctx context.Context, db DBTX, arg DeleteManyKeyRolesByKeyIDParams) error
- func (q *Queries) DeleteManyKeyRolesByRoleID(ctx context.Context, db DBTX, roleID string) error
- func (q *Queries) DeleteManyRatelimitsByIDs(ctx context.Context, db DBTX, ids []string) error
- func (q *Queries) DeleteManyRatelimitsByIdentityID(ctx context.Context, db DBTX, identityID sql.NullString) error
- func (q *Queries) DeleteManyRolePermissionsByPermissionID(ctx context.Context, db DBTX, permissionID string) error
- func (q *Queries) DeleteManyRolePermissionsByRoleID(ctx context.Context, db DBTX, roleID string) error
- func (q *Queries) DeleteOldIdentityByExternalID(ctx context.Context, db DBTX, arg DeleteOldIdentityByExternalIDParams) error
- func (q *Queries) DeleteOldIdentityWithRatelimits(ctx context.Context, db DBTX, arg DeleteOldIdentityWithRatelimitsParams) error
- func (q *Queries) DeletePermission(ctx context.Context, db DBTX, permissionID string) error
- func (q *Queries) DeleteProjectById(ctx context.Context, db DBTX, id string) error
- func (q *Queries) DeleteRatelimit(ctx context.Context, db DBTX, id string) error
- func (q *Queries) DeleteRatelimitNamespace(ctx context.Context, db DBTX, arg DeleteRatelimitNamespaceParams) (sql.Result, error)
- func (q *Queries) DeleteRoleByID(ctx context.Context, db DBTX, roleID string) error
- func (q *Queries) DeleteSentinelsByEnvironmentId(ctx context.Context, db DBTX, environmentID string) error
- func (q *Queries) DeleteSentinelsByProjectId(ctx context.Context, db DBTX, projectID string) error
- func (q *Queries) EndActiveDeploymentStepsForDeployments(ctx context.Context, db DBTX, arg EndActiveDeploymentStepsForDeploymentsParams) error
- func (q *Queries) EndActiveDeploymentStepsWithError(ctx context.Context, db DBTX, arg EndActiveDeploymentStepsWithErrorParams) error
- func (q *Queries) EndDeploymentStep(ctx context.Context, db DBTX, arg EndDeploymentStepParams) error
- func (q *Queries) ExchangePortalSessionToken(ctx context.Context, db DBTX, arg ExchangePortalSessionTokenParams) (sql.Result, error)
- func (q *Queries) FindAcmeChallengeByToken(ctx context.Context, db DBTX, arg FindAcmeChallengeByTokenParams) (AcmeChallenge, error)
- func (q *Queries) FindAcmeUserByWorkspaceID(ctx context.Context, db DBTX, workspaceID string) (AcmeUser, error)
- func (q *Queries) FindApiByID(ctx context.Context, db DBTX, id string) (Api, error)
- func (q *Queries) FindAppBuildSettingByAppEnv(ctx context.Context, db DBTX, arg FindAppBuildSettingByAppEnvParams) (AppBuildSetting, error)
- func (q *Queries) FindAppById(ctx context.Context, db DBTX, id string) (App, error)
- func (q *Queries) FindAppByProjectAndSlug(ctx context.Context, db DBTX, arg FindAppByProjectAndSlugParams) (FindAppByProjectAndSlugRow, error)
- func (q *Queries) FindAppByWorkspaceAndSlugs(ctx context.Context, db DBTX, arg FindAppByWorkspaceAndSlugsParams) (FindAppByWorkspaceAndSlugsRow, error)
- func (q *Queries) FindAppEnvVarsByAppAndEnv(ctx context.Context, db DBTX, arg FindAppEnvVarsByAppAndEnvParams) ([]FindAppEnvVarsByAppAndEnvRow, error)
- func (q *Queries) FindAppRegionalSettingsByAppAndEnv(ctx context.Context, db DBTX, arg FindAppRegionalSettingsByAppAndEnvParams) ([]FindAppRegionalSettingsByAppAndEnvRow, error)
- func (q *Queries) FindAppRuntimeSettingsByAppAndEnv(ctx context.Context, db DBTX, arg FindAppRuntimeSettingsByAppAndEnvParams) (FindAppRuntimeSettingsByAppAndEnvRow, error)
- func (q *Queries) FindAppWithSettings(ctx context.Context, db DBTX, arg FindAppWithSettingsParams) (FindAppWithSettingsRow, error)
- func (q *Queries) FindAuditLogMaxPK(ctx context.Context, db DBTX) (int64, error)
- func (q *Queries) FindAuditLogTargetByID(ctx context.Context, db DBTX, id string) ([]FindAuditLogTargetByIDRow, error)
- func (q *Queries) FindAuditLogTargetsForBackfill(ctx context.Context, db DBTX, auditLogIds []string) ([]FindAuditLogTargetsForBackfillRow, error)
- func (q *Queries) FindAuditLogsForBackfill(ctx context.Context, db DBTX, arg FindAuditLogsForBackfillParams) ([]FindAuditLogsForBackfillRow, error)
- func (q *Queries) FindCertificateByHostname(ctx context.Context, db DBTX, hostname string) (Certificate, error)
- func (q *Queries) FindCertificatesByHostnames(ctx context.Context, db DBTX, hostnames []string) ([]Certificate, error)
- func (q *Queries) FindCiliumNetworkPoliciesByDeploymentID(ctx context.Context, db DBTX, deploymentID string) ([]CiliumNetworkPolicy, error)
- func (q *Queries) FindCiliumNetworkPoliciesByEnvironmentID(ctx context.Context, db DBTX, environmentID string) ([]CiliumNetworkPolicy, error)
- func (q *Queries) FindCiliumNetworkPolicyByEnvironmentRegionAndName(ctx context.Context, db DBTX, ...) (CiliumNetworkPolicy, error)
- func (q *Queries) FindCiliumNetworkPolicyByIDAndRegion(ctx context.Context, db DBTX, arg FindCiliumNetworkPolicyByIDAndRegionParams) (CiliumNetworkPolicy, error)
- func (q *Queries) FindClickhouseOutboxBatch(ctx context.Context, db DBTX, arg FindClickhouseOutboxBatchParams) ([]FindClickhouseOutboxBatchRow, error)
- func (q *Queries) FindClickhouseWorkspaceSettingsByWorkspaceID(ctx context.Context, db DBTX, workspaceID string) (FindClickhouseWorkspaceSettingsByWorkspaceIDRow, error)
- func (q *Queries) FindCustomDomainByDomain(ctx context.Context, db DBTX, domain string) (CustomDomain, error)
- func (q *Queries) FindCustomDomainByDomainOrWildcard(ctx context.Context, db DBTX, arg FindCustomDomainByDomainOrWildcardParams) (CustomDomain, error)
- func (q *Queries) FindCustomDomainById(ctx context.Context, db DBTX, id string) (CustomDomain, error)
- func (q *Queries) FindCustomDomainByWorkspaceAndDomain(ctx context.Context, db DBTX, arg FindCustomDomainByWorkspaceAndDomainParams) (CustomDomain, error)
- func (q *Queries) FindCustomDomainWithCertByDomain(ctx context.Context, db DBTX, domain string) (FindCustomDomainWithCertByDomainRow, error)
- func (q *Queries) FindDeploymentById(ctx context.Context, db DBTX, id string) (Deployment, error)
- func (q *Queries) FindDeploymentByK8sName(ctx context.Context, db DBTX, k8sName string) (Deployment, error)
- func (q *Queries) FindDeploymentRegions(ctx context.Context, db DBTX, deploymentID string) ([]Region, error)
- func (q *Queries) FindDeploymentTopologyByDeploymentAndRegion(ctx context.Context, db DBTX, ...) (FindDeploymentTopologyByDeploymentAndRegionRow, error)
- func (q *Queries) FindDeploymentTopologyMinReplicas(ctx context.Context, db DBTX, deploymentID string) ([]FindDeploymentTopologyMinReplicasRow, error)
- func (q *Queries) FindEnvironmentByAppIdAndSlug(ctx context.Context, db DBTX, arg FindEnvironmentByAppIdAndSlugParams) (FindEnvironmentByAppIdAndSlugRow, error)
- func (q *Queries) FindEnvironmentById(ctx context.Context, db DBTX, id string) (Environment, error)
- func (q *Queries) FindEnvironmentByProjectIdAndSlug(ctx context.Context, db DBTX, arg FindEnvironmentByProjectIdAndSlugParams) (Environment, error)
- func (q *Queries) FindFrontlineRouteByDeploymentIDAndSticky(ctx context.Context, db DBTX, ...) (FrontlineRoute, error)
- func (q *Queries) FindFrontlineRouteByFQDN(ctx context.Context, db DBTX, fullyQualifiedDomainName string) (FrontlineRoute, error)
- func (q *Queries) FindFrontlineRouteForPromotion(ctx context.Context, db DBTX, arg FindFrontlineRouteForPromotionParams) ([]FindFrontlineRouteForPromotionRow, error)
- func (q *Queries) FindFrontlineRoutesByDeploymentID(ctx context.Context, db DBTX, deploymentID string) ([]FrontlineRoute, error)
- func (q *Queries) FindFrontlineRoutesForRollback(ctx context.Context, db DBTX, arg FindFrontlineRoutesForRollbackParams) ([]FindFrontlineRoutesForRollbackRow, error)
- func (q *Queries) FindGithubRepoConnectionByAppId(ctx context.Context, db DBTX, appID string) (GithubRepoConnection, error)
- func (q *Queries) FindGithubRepoConnectionByProjectId(ctx context.Context, db DBTX, projectID string) (FindGithubRepoConnectionByProjectIdRow, error)
- func (q *Queries) FindIdentities(ctx context.Context, db DBTX, arg FindIdentitiesParams) ([]Identity, error)
- func (q *Queries) FindIdentitiesByExternalId(ctx context.Context, db DBTX, arg FindIdentitiesByExternalIdParams) ([]Identity, error)
- func (q *Queries) FindIdentity(ctx context.Context, db DBTX, arg FindIdentityParams) (FindIdentityRow, error)
- func (q *Queries) FindIdentityByExternalID(ctx context.Context, db DBTX, arg FindIdentityByExternalIDParams) (Identity, error)
- func (q *Queries) FindIdentityByID(ctx context.Context, db DBTX, arg FindIdentityByIDParams) (Identity, error)
- func (q *Queries) FindInstanceByPodName(ctx context.Context, db DBTX, arg FindInstanceByPodNameParams) (Instance, error)
- func (q *Queries) FindInstancesByDeploymentId(ctx context.Context, db DBTX, deploymentid string) ([]Instance, error)
- func (q *Queries) FindInstancesByDeploymentIdAndRegionID(ctx context.Context, db DBTX, arg FindInstancesByDeploymentIdAndRegionIDParams) ([]Instance, error)
- func (q *Queries) FindKeyAuthsByIds(ctx context.Context, db DBTX, arg FindKeyAuthsByIdsParams) ([]FindKeyAuthsByIdsRow, error)
- func (q *Queries) FindKeyAuthsByKeyAuthIds(ctx context.Context, db DBTX, arg FindKeyAuthsByKeyAuthIdsParams) ([]FindKeyAuthsByKeyAuthIdsRow, error)
- func (q *Queries) FindKeyByID(ctx context.Context, db DBTX, id string) (Key, error)
- func (q *Queries) FindKeyCredits(ctx context.Context, db DBTX, id string) (sql.NullInt64, error)
- func (q *Queries) FindKeyEncryptionByKeyID(ctx context.Context, db DBTX, keyID string) (EncryptedKey, error)
- func (q *Queries) FindKeyIDByHash(ctx context.Context, db DBTX, hash string) (string, error)
- func (q *Queries) FindKeyMigrationByID(ctx context.Context, db DBTX, arg FindKeyMigrationByIDParams) (FindKeyMigrationByIDRow, error)
- func (q *Queries) FindKeyRoleByKeyAndRoleID(ctx context.Context, db DBTX, arg FindKeyRoleByKeyAndRoleIDParams) ([]KeysRole, error)
- func (q *Queries) FindKeySpaceByID(ctx context.Context, db DBTX, id string) (KeyAuth, error)
- func (q *Queries) FindKeysByHash(ctx context.Context, db DBTX, hashes []string) ([]FindKeysByHashRow, error)
- func (q *Queries) FindLatestReadyDeploymentByAppAndEnv(ctx context.Context, db DBTX, arg FindLatestReadyDeploymentByAppAndEnvParams) (string, error)
- func (q *Queries) FindLiveApiByID(ctx context.Context, db DBTX, id string) (FindLiveApiByIDRow, error)
- func (q *Queries) FindLiveKeyByHash(ctx context.Context, db DBTX, hash string) (FindLiveKeyByHashRow, error)
- func (q *Queries) FindLiveKeyByID(ctx context.Context, db DBTX, id string) (FindLiveKeyByIDRow, error)
- func (q *Queries) FindManyRatelimitNamespaces(ctx context.Context, db DBTX, arg FindManyRatelimitNamespacesParams) ([]FindManyRatelimitNamespacesRow, error)
- func (q *Queries) FindManyRolesByIdOrNameWithPerms(ctx context.Context, db DBTX, arg FindManyRolesByIdOrNameWithPermsParams) ([]FindManyRolesByIdOrNameWithPermsRow, error)
- func (q *Queries) FindManyRolesByNamesWithPerms(ctx context.Context, db DBTX, arg FindManyRolesByNamesWithPermsParams) ([]FindManyRolesByNamesWithPermsRow, error)
- func (q *Queries) FindOpenApiSpecByDeploymentID(ctx context.Context, db DBTX, deploymentID sql.NullString) (OpenapiSpec, error)
- func (q *Queries) FindPermissionByID(ctx context.Context, db DBTX, permissionID string) (Permission, error)
- func (q *Queries) FindPermissionByIdOrSlug(ctx context.Context, db DBTX, arg FindPermissionByIdOrSlugParams) (Permission, error)
- func (q *Queries) FindPermissionByNameAndWorkspaceID(ctx context.Context, db DBTX, arg FindPermissionByNameAndWorkspaceIDParams) (Permission, error)
- func (q *Queries) FindPermissionBySlugAndWorkspaceID(ctx context.Context, db DBTX, arg FindPermissionBySlugAndWorkspaceIDParams) (Permission, error)
- func (q *Queries) FindPermissionsBySlugs(ctx context.Context, db DBTX, arg FindPermissionsBySlugsParams) ([]Permission, error)
- func (q *Queries) FindPortalBrandingByConfigID(ctx context.Context, db DBTX, portalConfigID string) (PortalBranding, error)
- func (q *Queries) FindPortalConfigByWorkspaceAndSlug(ctx context.Context, db DBTX, arg FindPortalConfigByWorkspaceAndSlugParams) (PortalConfiguration, error)
- func (q *Queries) FindProjectById(ctx context.Context, db DBTX, id string) (Project, error)
- func (q *Queries) FindProjectBySlug(ctx context.Context, db DBTX, slug string) (Project, error)
- func (q *Queries) FindProjectByWorkspaceSlug(ctx context.Context, db DBTX, arg FindProjectByWorkspaceSlugParams) (FindProjectByWorkspaceSlugRow, error)
- func (q *Queries) FindQuotaByWorkspaceID(ctx context.Context, db DBTX, workspaceID string) (Quotas, error)
- func (q *Queries) FindRatelimitNamespace(ctx context.Context, db DBTX, arg FindRatelimitNamespaceParams) (FindRatelimitNamespaceRow, error)
- func (q *Queries) FindRatelimitNamespaceByID(ctx context.Context, db DBTX, id string) (RatelimitNamespace, error)
- func (q *Queries) FindRatelimitNamespaceByName(ctx context.Context, db DBTX, arg FindRatelimitNamespaceByNameParams) (RatelimitNamespace, error)
- func (q *Queries) FindRatelimitOverrideByID(ctx context.Context, db DBTX, arg FindRatelimitOverrideByIDParams) (RatelimitOverride, error)
- func (q *Queries) FindRatelimitOverrideByIdentifier(ctx context.Context, db DBTX, arg FindRatelimitOverrideByIdentifierParams) (RatelimitOverride, error)
- func (q *Queries) FindRegionById(ctx context.Context, db DBTX, regionID string) (Region, error)
- func (q *Queries) FindRegionByPlatformAndName(ctx context.Context, db DBTX, arg FindRegionByPlatformAndNameParams) (Region, error)
- func (q *Queries) FindRoleByID(ctx context.Context, db DBTX, roleID string) (Role, error)
- func (q *Queries) FindRoleByIdOrNameWithPerms(ctx context.Context, db DBTX, arg FindRoleByIdOrNameWithPermsParams) (FindRoleByIdOrNameWithPermsRow, error)
- func (q *Queries) FindRoleByNameAndWorkspaceID(ctx context.Context, db DBTX, arg FindRoleByNameAndWorkspaceIDParams) (Role, error)
- func (q *Queries) FindRolePermissionByRoleAndPermissionID(ctx context.Context, db DBTX, ...) ([]RolesPermission, error)
- func (q *Queries) FindRolesByNames(ctx context.Context, db DBTX, arg FindRolesByNamesParams) ([]FindRolesByNamesRow, error)
- func (q *Queries) FindSentinelByID(ctx context.Context, db DBTX, id string) (Sentinel, error)
- func (q *Queries) FindSentinelDeployContextByK8sName(ctx context.Context, db DBTX, k8sName string) (FindSentinelDeployContextByK8sNameRow, error)
- func (q *Queries) FindSentinelsByEnvironmentID(ctx context.Context, db DBTX, environmentID string) ([]FindSentinelsByEnvironmentIDRow, error)
- func (q *Queries) FindValidPortalSession(ctx context.Context, db DBTX, arg FindValidPortalSessionParams) (PortalSession, error)
- func (q *Queries) FindValidPortalSessionToken(ctx context.Context, db DBTX, arg FindValidPortalSessionTokenParams) (PortalSessionToken, error)
- func (q *Queries) FindVerifiedCustomDomainByAppID(ctx context.Context, db DBTX, appID string) (CustomDomain, error)
- func (q *Queries) FindVerifiedCustomDomainByDomainExcludingWorkspace(ctx context.Context, db DBTX, ...) (CustomDomain, error)
- func (q *Queries) FindWorkspaceByID(ctx context.Context, db DBTX, id string) (Workspace, error)
- func (q *Queries) FlipSentinelDeployStatusIfProgressing(ctx context.Context, db DBTX, arg FlipSentinelDeployStatusIfProgressingParams) (int64, error)
- func (q *Queries) GetDeploymentChangesMaxVersion(ctx context.Context, db DBTX, regionID string) (int64, error)
- func (q *Queries) GetKeyAuthByID(ctx context.Context, db DBTX, id string) (GetKeyAuthByIDRow, error)
- func (q *Queries) GetWorkspacesForQuotaCheckByIDs(ctx context.Context, db DBTX, workspaceIds []string) ([]GetWorkspacesForQuotaCheckByIDsRow, error)
- func (q *Queries) HardDeleteWorkspace(ctx context.Context, db DBTX, id string) (sql.Result, error)
- func (q *Queries) HasNewerActiveDeployment(ctx context.Context, db DBTX, arg HasNewerActiveDeploymentParams) (bool, error)
- func (q *Queries) InsertAcmeChallenge(ctx context.Context, db DBTX, arg InsertAcmeChallengeParams) error
- func (q *Queries) InsertAcmeUser(ctx context.Context, db DBTX, arg InsertAcmeUserParams) error
- func (q *Queries) InsertApi(ctx context.Context, db DBTX, arg InsertApiParams) error
- func (q *Queries) InsertApp(ctx context.Context, db DBTX, arg InsertAppParams) error
- func (q *Queries) InsertAppEnvironmentVariable(ctx context.Context, db DBTX, arg InsertAppEnvironmentVariableParams) error
- func (q *Queries) InsertAuditLog(ctx context.Context, db DBTX, arg InsertAuditLogParams) error
- func (q *Queries) InsertAuditLogTarget(ctx context.Context, db DBTX, arg InsertAuditLogTargetParams) error
- func (q *Queries) InsertCertificate(ctx context.Context, db DBTX, arg InsertCertificateParams) error
- func (q *Queries) InsertCiliumNetworkPolicy(ctx context.Context, db DBTX, arg InsertCiliumNetworkPolicyParams) error
- func (q *Queries) InsertClickhouseOutbox(ctx context.Context, db DBTX, arg InsertClickhouseOutboxParams) error
- func (q *Queries) InsertClickhouseWorkspaceSettings(ctx context.Context, db DBTX, arg InsertClickhouseWorkspaceSettingsParams) error
- func (q *Queries) InsertCustomDomain(ctx context.Context, db DBTX, arg InsertCustomDomainParams) error
- func (q *Queries) InsertDeployment(ctx context.Context, db DBTX, arg InsertDeploymentParams) error
- func (q *Queries) InsertDeploymentChange(ctx context.Context, db DBTX, arg InsertDeploymentChangeParams) error
- func (q *Queries) InsertDeploymentStep(ctx context.Context, db DBTX, arg InsertDeploymentStepParams) error
- func (q *Queries) InsertDeploymentTopology(ctx context.Context, db DBTX, arg InsertDeploymentTopologyParams) error
- func (q *Queries) InsertEnvironment(ctx context.Context, db DBTX, arg InsertEnvironmentParams) error
- func (q *Queries) InsertFrontlineRoute(ctx context.Context, db DBTX, arg InsertFrontlineRouteParams) error
- func (q *Queries) InsertGithubRepoConnection(ctx context.Context, db DBTX, arg InsertGithubRepoConnectionParams) error
- func (q *Queries) InsertIdentity(ctx context.Context, db DBTX, arg InsertIdentityParams) error
- func (q *Queries) InsertIdentityRatelimit(ctx context.Context, db DBTX, arg InsertIdentityRatelimitParams) error
- func (q *Queries) InsertKey(ctx context.Context, db DBTX, arg InsertKeyParams) error
- func (q *Queries) InsertKeyAuth(ctx context.Context, db DBTX, arg InsertKeyAuthParams) error
- func (q *Queries) InsertKeyEncryption(ctx context.Context, db DBTX, arg InsertKeyEncryptionParams) error
- func (q *Queries) InsertKeyMigration(ctx context.Context, db DBTX, arg InsertKeyMigrationParams) error
- func (q *Queries) InsertKeyPermission(ctx context.Context, db DBTX, arg InsertKeyPermissionParams) error
- func (q *Queries) InsertKeyRatelimit(ctx context.Context, db DBTX, arg InsertKeyRatelimitParams) error
- func (q *Queries) InsertKeyRole(ctx context.Context, db DBTX, arg InsertKeyRoleParams) error
- func (q *Queries) InsertKeySpace(ctx context.Context, db DBTX, arg InsertKeySpaceParams) error
- func (q *Queries) InsertPermission(ctx context.Context, db DBTX, arg InsertPermissionParams) error
- func (q *Queries) InsertPortalConfig(ctx context.Context, db DBTX, arg InsertPortalConfigParams) error
- func (q *Queries) InsertPortalSession(ctx context.Context, db DBTX, arg InsertPortalSessionParams) error
- func (q *Queries) InsertPortalSessionToken(ctx context.Context, db DBTX, arg InsertPortalSessionTokenParams) error
- func (q *Queries) InsertProject(ctx context.Context, db DBTX, arg InsertProjectParams) error
- func (q *Queries) InsertRatelimitNamespace(ctx context.Context, db DBTX, arg InsertRatelimitNamespaceParams) error
- func (q *Queries) InsertRatelimitOverride(ctx context.Context, db DBTX, arg InsertRatelimitOverrideParams) error
- func (q *Queries) InsertRole(ctx context.Context, db DBTX, arg InsertRoleParams) error
- func (q *Queries) InsertRolePermission(ctx context.Context, db DBTX, arg InsertRolePermissionParams) error
- func (q *Queries) InsertSentinel(ctx context.Context, db DBTX, arg InsertSentinelParams) error
- func (q *Queries) InsertWorkspace(ctx context.Context, db DBTX, arg InsertWorkspaceParams) error
- func (q *Queries) ListAllCiliumNetworkPoliciesByRegion(ctx context.Context, db DBTX, arg ListAllCiliumNetworkPoliciesByRegionParams) ([]CiliumNetworkPolicy, error)
- func (q *Queries) ListAllDeploymentTopologiesByRegion(ctx context.Context, db DBTX, arg ListAllDeploymentTopologiesByRegionParams) ([]ListAllDeploymentTopologiesByRegionRow, error)
- func (q *Queries) ListAllSentinelsByRegion(ctx context.Context, db DBTX, arg ListAllSentinelsByRegionParams) ([]Sentinel, error)
- func (q *Queries) ListAppIdsByProject(ctx context.Context, db DBTX, projectID string) ([]string, error)
- func (q *Queries) ListAppsByProject(ctx context.Context, db DBTX, projectID string) ([]ListAppsByProjectRow, error)
- func (q *Queries) ListCustomDomainsByProjectID(ctx context.Context, db DBTX, projectID string) ([]CustomDomain, error)
- func (q *Queries) ListDeploymentChangesByRegionAll(ctx context.Context, db DBTX, arg ListDeploymentChangesByRegionAllParams) ([]DeploymentChange, error)
- func (q *Queries) ListDeploymentsByEnvironmentIdAndStatus(ctx context.Context, db DBTX, ...) ([]Deployment, error)
- func (q *Queries) ListDesiredDeploymentTopology(ctx context.Context, db DBTX, arg ListDesiredDeploymentTopologyParams) ([]ListDesiredDeploymentTopologyRow, error)
- func (q *Queries) ListDesiredNetworkPolicies(ctx context.Context, db DBTX, arg ListDesiredNetworkPoliciesParams) ([]CiliumNetworkPolicy, error)
- func (q *Queries) ListDesiredSentinels(ctx context.Context, db DBTX, arg ListDesiredSentinelsParams) ([]Sentinel, error)
- func (q *Queries) ListDirectPermissionsByKeyID(ctx context.Context, db DBTX, keyID string) ([]Permission, error)
- func (q *Queries) ListEnvVarsForRepoConnections(ctx context.Context, db DBTX, arg ListEnvVarsForRepoConnectionsParams) ([]ListEnvVarsForRepoConnectionsRow, error)
- func (q *Queries) ListEnvironmentIdsByApp(ctx context.Context, db DBTX, appID string) ([]string, error)
- func (q *Queries) ListExecutableChallenges(ctx context.Context, db DBTX, verificationTypes []AcmeChallengesChallengeType) ([]ListExecutableChallengesRow, error)
- func (q *Queries) ListGithubRepoConnections(ctx context.Context, db DBTX, arg ListGithubRepoConnectionsParams) ([]GithubRepoConnection, error)
- func (q *Queries) ListIdentities(ctx context.Context, db DBTX, arg ListIdentitiesParams) ([]ListIdentitiesRow, error)
- func (q *Queries) ListIdentityRatelimits(ctx context.Context, db DBTX, identityID sql.NullString) ([]Ratelimit, error)
- func (q *Queries) ListIdentityRatelimitsByID(ctx context.Context, db DBTX, identityID sql.NullString) ([]Ratelimit, error)
- func (q *Queries) ListIdentityRatelimitsByIDs(ctx context.Context, db DBTX, ids []sql.NullString) ([]Ratelimit, error)
- func (q *Queries) ListKeysByKeySpaceID(ctx context.Context, db DBTX, arg ListKeysByKeySpaceIDParams) ([]ListKeysByKeySpaceIDRow, error)
- func (q *Queries) ListKeysForRefill(ctx context.Context, db DBTX, arg ListKeysForRefillParams) ([]ListKeysForRefillRow, error)
- func (q *Queries) ListLiveKeysByKeySpaceID(ctx context.Context, db DBTX, arg ListLiveKeysByKeySpaceIDParams) ([]ListLiveKeysByKeySpaceIDRow, error)
- func (q *Queries) ListOlderActiveDeploymentsForDedup(ctx context.Context, db DBTX, arg ListOlderActiveDeploymentsForDedupParams) ([]ListOlderActiveDeploymentsForDedupRow, error)
- func (q *Queries) ListPermissions(ctx context.Context, db DBTX, arg ListPermissionsParams) ([]Permission, error)
- func (q *Queries) ListPermissionsByKeyID(ctx context.Context, db DBTX, arg ListPermissionsByKeyIDParams) ([]string, error)
- func (q *Queries) ListPermissionsByRoleID(ctx context.Context, db DBTX, roleID string) ([]Permission, error)
- func (q *Queries) ListPreviewEnvironments(ctx context.Context, db DBTX, arg ListPreviewEnvironmentsParams) ([]Environment, error)
- func (q *Queries) ListRatelimitOverridesByNamespaceID(ctx context.Context, db DBTX, arg ListRatelimitOverridesByNamespaceIDParams) ([]RatelimitOverride, error)
- func (q *Queries) ListRatelimitsByKeyID(ctx context.Context, db DBTX, keyID sql.NullString) ([]ListRatelimitsByKeyIDRow, error)
- func (q *Queries) ListRatelimitsByKeyIDs(ctx context.Context, db DBTX, keyIds []sql.NullString) ([]ListRatelimitsByKeyIDsRow, error)
- func (q *Queries) ListRegions(ctx context.Context, db DBTX) ([]ListRegionsRow, error)
- func (q *Queries) ListRepoConnectionDeployContexts(ctx context.Context, db DBTX, arg ListRepoConnectionDeployContextsParams) ([]ListRepoConnectionDeployContextsRow, error)
- func (q *Queries) ListRoles(ctx context.Context, db DBTX, arg ListRolesParams) ([]ListRolesRow, error)
- func (q *Queries) ListRolesByKeyID(ctx context.Context, db DBTX, keyID string) ([]ListRolesByKeyIDRow, error)
- func (q *Queries) ListRunningSentinelIDsAndImages(ctx context.Context, db DBTX, arg ListRunningSentinelIDsAndImagesParams) ([]ListRunningSentinelIDsAndImagesRow, error)
- func (q *Queries) ListWorkspaces(ctx context.Context, db DBTX, cursor string) ([]ListWorkspacesRow, error)
- func (q *Queries) ListWorkspacesForQuotaCheck(ctx context.Context, db DBTX, cursor string) ([]ListWorkspacesForQuotaCheckRow, error)
- func (q *Queries) LockIdentityForUpdate(ctx context.Context, db DBTX, id string) (string, error)
- func (q *Queries) LockKeyForUpdate(ctx context.Context, db DBTX, id string) (string, error)
- func (q *Queries) MarkClickhouseOutboxBatchDeleted(ctx context.Context, db DBTX, arg MarkClickhouseOutboxBatchDeletedParams) error
- func (q *Queries) ReassignFrontlineRoute(ctx context.Context, db DBTX, arg ReassignFrontlineRouteParams) error
- func (q *Queries) RecordInstanceCrashLoopBackOff(ctx context.Context, db DBTX, arg RecordInstanceCrashLoopBackOffParams) error
- func (q *Queries) RecordInstanceExit(ctx context.Context, db DBTX, arg RecordInstanceExitParams) error
- func (q *Queries) RefillKeysByIDs(ctx context.Context, db DBTX, arg RefillKeysByIDsParams) error
- func (q *Queries) ResetCustomDomainVerification(ctx context.Context, db DBTX, arg ResetCustomDomainVerificationParams) error
- func (q *Queries) SetWorkspaceK8sNamespace(ctx context.Context, db DBTX, arg SetWorkspaceK8sNamespaceParams) error
- func (q *Queries) SoftDeleteApi(ctx context.Context, db DBTX, arg SoftDeleteApiParams) error
- func (q *Queries) SoftDeleteIdentity(ctx context.Context, db DBTX, arg SoftDeleteIdentityParams) error
- func (q *Queries) SoftDeleteKeyByID(ctx context.Context, db DBTX, arg SoftDeleteKeyByIDParams) error
- func (q *Queries) SoftDeleteManyKeysByKeySpaceID(ctx context.Context, db DBTX, arg SoftDeleteManyKeysByKeySpaceIDParams) error
- func (q *Queries) SoftDeleteRatelimitNamespace(ctx context.Context, db DBTX, arg SoftDeleteRatelimitNamespaceParams) error
- func (q *Queries) SoftDeleteRatelimitOverride(ctx context.Context, db DBTX, arg SoftDeleteRatelimitOverrideParams) error
- func (q *Queries) SoftDeleteWorkspace(ctx context.Context, db DBTX, arg SoftDeleteWorkspaceParams) (sql.Result, error)
- func (q *Queries) StopDeploymentIfNoInstances(ctx context.Context, db DBTX, arg StopDeploymentIfNoInstancesParams) error
- func (q *Queries) SumAllocatedResourcesByWorkspaceID(ctx context.Context, db DBTX, workspaceID string) (SumAllocatedResourcesByWorkspaceIDRow, error)
- func (q *Queries) UpdateAcmeChallengePending(ctx context.Context, db DBTX, arg UpdateAcmeChallengePendingParams) error
- func (q *Queries) UpdateAcmeChallengeStatus(ctx context.Context, db DBTX, arg UpdateAcmeChallengeStatusParams) error
- func (q *Queries) UpdateAcmeChallengeTryClaiming(ctx context.Context, db DBTX, arg UpdateAcmeChallengeTryClaimingParams) error
- func (q *Queries) UpdateAcmeChallengeVerifiedWithExpiry(ctx context.Context, db DBTX, arg UpdateAcmeChallengeVerifiedWithExpiryParams) error
- func (q *Queries) UpdateAcmeUserRegistrationURI(ctx context.Context, db DBTX, arg UpdateAcmeUserRegistrationURIParams) error
- func (q *Queries) UpdateApiDeleteProtection(ctx context.Context, db DBTX, arg UpdateApiDeleteProtectionParams) error
- func (q *Queries) UpdateAppDeployments(ctx context.Context, db DBTX, arg UpdateAppDeploymentsParams) error
- func (q *Queries) UpdateCiliumNetworkPolicyByEnvironmentRegionAndName(ctx context.Context, db DBTX, ...) error
- func (q *Queries) UpdateClickhouseWorkspaceSettingsLimits(ctx context.Context, db DBTX, ...) error
- func (q *Queries) UpdateCustomDomainCheckAttempt(ctx context.Context, db DBTX, arg UpdateCustomDomainCheckAttemptParams) error
- func (q *Queries) UpdateCustomDomainFailed(ctx context.Context, db DBTX, arg UpdateCustomDomainFailedParams) error
- func (q *Queries) UpdateCustomDomainInvocationID(ctx context.Context, db DBTX, arg UpdateCustomDomainInvocationIDParams) error
- func (q *Queries) UpdateCustomDomainOwnership(ctx context.Context, db DBTX, arg UpdateCustomDomainOwnershipParams) error
- func (q *Queries) UpdateCustomDomainVerificationStatus(ctx context.Context, db DBTX, arg UpdateCustomDomainVerificationStatusParams) error
- func (q *Queries) UpdateDeploymentBuildID(ctx context.Context, db DBTX, arg UpdateDeploymentBuildIDParams) error
- func (q *Queries) UpdateDeploymentDesiredState(ctx context.Context, db DBTX, arg UpdateDeploymentDesiredStateParams) error
- func (q *Queries) UpdateDeploymentForkRepository(ctx context.Context, db DBTX, arg UpdateDeploymentForkRepositoryParams) error
- func (q *Queries) UpdateDeploymentGitMetadata(ctx context.Context, db DBTX, arg UpdateDeploymentGitMetadataParams) error
- func (q *Queries) UpdateDeploymentGithubDeploymentId(ctx context.Context, db DBTX, arg UpdateDeploymentGithubDeploymentIdParams) error
- func (q *Queries) UpdateDeploymentImage(ctx context.Context, db DBTX, arg UpdateDeploymentImageParams) error
- func (q *Queries) UpdateDeploymentInvocationID(ctx context.Context, db DBTX, arg UpdateDeploymentInvocationIDParams) error
- func (q *Queries) UpdateDeploymentStatus(ctx context.Context, db DBTX, arg UpdateDeploymentStatusParams) error
- func (q *Queries) UpdateDeploymentStatusBatch(ctx context.Context, db DBTX, arg UpdateDeploymentStatusBatchParams) error
- func (q *Queries) UpdateDeploymentStatusIfActive(ctx context.Context, db DBTX, arg UpdateDeploymentStatusIfActiveParams) error
- func (q *Queries) UpdateDeploymentTopologyDesiredStatus(ctx context.Context, db DBTX, arg UpdateDeploymentTopologyDesiredStatusParams) error
- func (q *Queries) UpdateFrontlineRouteDeploymentId(ctx context.Context, db DBTX, arg UpdateFrontlineRouteDeploymentIdParams) error
- func (q *Queries) UpdateIdentity(ctx context.Context, db DBTX, arg UpdateIdentityParams) error
- func (q *Queries) UpdateKey(ctx context.Context, db DBTX, arg UpdateKeyParams) error
- func (q *Queries) UpdateKeyCreditsDecrement(ctx context.Context, db DBTX, arg UpdateKeyCreditsDecrementParams) error
- func (q *Queries) UpdateKeyCreditsIncrement(ctx context.Context, db DBTX, arg UpdateKeyCreditsIncrementParams) error
- func (q *Queries) UpdateKeyCreditsRefill(ctx context.Context, db DBTX, arg UpdateKeyCreditsRefillParams) error
- func (q *Queries) UpdateKeyCreditsSet(ctx context.Context, db DBTX, arg UpdateKeyCreditsSetParams) error
- func (q *Queries) UpdateKeySpaceKeyEncryption(ctx context.Context, db DBTX, arg UpdateKeySpaceKeyEncryptionParams) error
- func (q *Queries) UpdateKeysLastUsed(ctx context.Context, db DBTX, arg UpdateKeysLastUsedParams) error
- func (q *Queries) UpdateProjectDepotID(ctx context.Context, db DBTX, arg UpdateProjectDepotIDParams) error
- func (q *Queries) UpdateRatelimit(ctx context.Context, db DBTX, arg UpdateRatelimitParams) error
- func (q *Queries) UpdateRatelimitOverride(ctx context.Context, db DBTX, arg UpdateRatelimitOverrideParams) (sql.Result, error)
- func (q *Queries) UpdateSentinelConfig(ctx context.Context, db DBTX, arg UpdateSentinelConfigParams) error
- func (q *Queries) UpdateSentinelDeployStatus(ctx context.Context, db DBTX, arg UpdateSentinelDeployStatusParams) error
- func (q *Queries) UpdateSentinelObservedState(ctx context.Context, db DBTX, arg UpdateSentinelObservedStateParams) error
- func (q *Queries) UpdateWorkspaceEnabled(ctx context.Context, db DBTX, arg UpdateWorkspaceEnabledParams) (sql.Result, error)
- func (q *Queries) UpsertAppBuildSettings(ctx context.Context, db DBTX, arg UpsertAppBuildSettingsParams) error
- func (q *Queries) UpsertAppRegionalSettings(ctx context.Context, db DBTX, arg UpsertAppRegionalSettingsParams) error
- func (q *Queries) UpsertAppRuntimeSettings(ctx context.Context, db DBTX, arg UpsertAppRuntimeSettingsParams) error
- func (q *Queries) UpsertCluster(ctx context.Context, db DBTX, arg UpsertClusterParams) error
- func (q *Queries) UpsertCustomDomain(ctx context.Context, db DBTX, arg UpsertCustomDomainParams) error
- func (q *Queries) UpsertEnvironment(ctx context.Context, db DBTX, arg UpsertEnvironmentParams) error
- func (q *Queries) UpsertIdentity(ctx context.Context, db DBTX, arg UpsertIdentityParams) error
- func (q *Queries) UpsertInstance(ctx context.Context, db DBTX, arg UpsertInstanceParams) error
- func (q *Queries) UpsertKeySpace(ctx context.Context, db DBTX, arg UpsertKeySpaceParams) error
- func (q *Queries) UpsertOpenApiSpec(ctx context.Context, db DBTX, arg UpsertOpenApiSpecParams) error
- func (q *Queries) UpsertPortalBranding(ctx context.Context, db DBTX, arg UpsertPortalBrandingParams) error
- func (q *Queries) UpsertQuota(ctx context.Context, db DBTX, arg UpsertQuotaParams) error
- func (q *Queries) UpsertRegion(ctx context.Context, db DBTX, arg UpsertRegionParams) error
- func (q *Queries) UpsertWorkspace(ctx context.Context, db DBTX, arg UpsertWorkspaceParams) error
- type Quotas
- type Ratelimit
- type RatelimitBlocklist
- type RatelimitInfo
- type RatelimitNamespace
- type RatelimitOverride
- type ReassignFrontlineRouteParams
- type RecordInstanceCrashLoopBackOffParams
- type RecordInstanceExitParams
- type RefillKeysByIDsParams
- type Region
- type Replica
- func (r *Replica) Begin(ctx context.Context) (DBTx, error)
- func (r *Replica) ExecContext(ctx context.Context, query string, args ...any) (sql.Result, error)
- func (r *Replica) PingContext(ctx context.Context) error
- func (r *Replica) PrepareContext(ctx context.Context, query string) (*sql.Stmt, error)
- func (r *Replica) QueryContext(ctx context.Context, query string, args ...any) (*sql.Rows, error)
- func (r *Replica) QueryRowContext(ctx context.Context, query string, args ...any) *sql.Row
- type ResetCustomDomainVerificationParams
- type Role
- type RoleInfo
- type RolesPermission
- type Sentinel
- type SentinelsDeployStatus
- type SentinelsDesiredState
- type SentinelsHealth
- type SetWorkspaceK8sNamespaceParams
- type SoftDeleteApiParams
- type SoftDeleteIdentityParams
- type SoftDeleteKeyByIDParams
- type SoftDeleteManyKeysByKeySpaceIDParams
- type SoftDeleteRatelimitNamespaceParams
- type SoftDeleteRatelimitOverrideParams
- type SoftDeleteWorkspaceParams
- type StopDeploymentIfNoInstancesParams
- type SumAllocatedResourcesByWorkspaceIDRow
- type TracedTx
- func (t *TracedTx) Commit() error
- func (t *TracedTx) ExecContext(ctx context.Context, query string, args ...any) (sql.Result, error)
- func (t *TracedTx) PrepareContext(ctx context.Context, query string) (*sql.Stmt, error)
- func (t *TracedTx) QueryContext(ctx context.Context, query string, args ...any) (*sql.Rows, error)
- func (t *TracedTx) QueryRowContext(ctx context.Context, query string, args ...any) *sql.Row
- func (t *TracedTx) Rollback() error
- type UpdateAcmeChallengePendingParams
- type UpdateAcmeChallengeStatusParams
- type UpdateAcmeChallengeTryClaimingParams
- type UpdateAcmeChallengeVerifiedWithExpiryParams
- type UpdateAcmeUserRegistrationURIParams
- type UpdateApiDeleteProtectionParams
- type UpdateAppDeploymentsParams
- type UpdateCiliumNetworkPolicyByEnvironmentRegionAndNameParams
- type UpdateClickhouseWorkspaceSettingsLimitsParams
- type UpdateCustomDomainCheckAttemptParams
- type UpdateCustomDomainFailedParams
- type UpdateCustomDomainInvocationIDParams
- type UpdateCustomDomainOwnershipParams
- type UpdateCustomDomainVerificationStatusParams
- type UpdateDeploymentBuildIDParams
- type UpdateDeploymentDesiredStateParams
- type UpdateDeploymentForkRepositoryParams
- type UpdateDeploymentGitMetadataParams
- type UpdateDeploymentGithubDeploymentIdParams
- type UpdateDeploymentImageParams
- type UpdateDeploymentInvocationIDParams
- type UpdateDeploymentStatusBatchParams
- type UpdateDeploymentStatusIfActiveParams
- type UpdateDeploymentStatusParams
- type UpdateDeploymentTopologyDesiredStatusParams
- type UpdateFrontlineRouteDeploymentIdParams
- type UpdateIdentityParams
- type UpdateKeyCreditsDecrementParams
- type UpdateKeyCreditsIncrementParams
- type UpdateKeyCreditsRefillParams
- type UpdateKeyCreditsSetParams
- type UpdateKeyParams
- type UpdateKeySpaceKeyEncryptionParams
- type UpdateKeysLastUsedParams
- type UpdateProjectDepotIDParams
- type UpdateRatelimitOverrideParams
- type UpdateRatelimitParams
- type UpdateSentinelConfigParams
- type UpdateSentinelDeployStatusParams
- type UpdateSentinelObservedStateParams
- type UpdateWorkspaceEnabledParams
- type UpsertAppBuildSettingsParams
- type UpsertAppRegionalSettingsParams
- type UpsertAppRuntimeSettingsParams
- type UpsertClusterParams
- type UpsertCustomDomainParams
- type UpsertEnvironmentParams
- type UpsertIdentityParams
- type UpsertInstanceParams
- type UpsertKeySpaceParams
- type UpsertOpenApiSpecParams
- type UpsertPortalBrandingParams
- type UpsertQuotaParams
- type UpsertRegionParams
- type UpsertWorkspaceParams
- type VercelBinding
- type VercelBindingsEnvironment
- type VercelBindingsResourceType
- type VercelIntegration
- type Workspace
Constants ¶
const ( // DefaultBackoff is the base duration for exponential backoff in database retries DefaultBackoff = 50 * time.Millisecond // DefaultAttempts is the maximum number of retry attempts for database operations DefaultAttempts = 3 )
Variables ¶
This section is empty.
Functions ¶
func IsConnectionError ¶
IsConnectionError returns true if the error indicates a connection problem. This includes server gone (2006), server lost (2013), and network errors. These are transient errors that may resolve on retry with a new connection.
func IsDeadlockError ¶
IsDeadlockError returns true if the error is a MySQL deadlock error (1213). Deadlocks cause InnoDB to roll back the entire transaction. The entire transaction should be retried.
func IsDuplicateKeyError ¶
func IsLockWaitTimeoutError ¶
IsLockWaitTimeoutError returns true if the error is a MySQL lock wait timeout error (1205). By default, only the current statement is rolled back (not the entire transaction). See: https://dev.mysql.com/doc/refman/8.0/en/innodb-error-handling.html
func IsNotFound ¶
IsNotFound returns true if the error is sql.ErrNoRows. Use this for consistent not-found handling across the codebase.
func IsTooManyConnectionsError ¶
IsTooManyConnectionsError returns true if the error is a MySQL too many connections error (1040). This is a transient error that may resolve when other connections are closed.
func IsTransientError ¶
IsTransientError returns true if the error is a transient MySQL error that should be retried. This includes deadlocks, lock wait timeouts, connection errors, and too many connections.
func New ¶
New creates a new database instance with the provided configuration. It establishes connections to the primary database and optionally to a read-only replica. Returns an error if connections cannot be established or if DSNs are misconfigured.
func ToMySQL ¶
ToMySQL converts a Database into a [mysql.MySQL] by wrapping the underlying *sql.DB connections as mysql replicas. This is a temporary bridge while callers migrate from pkg/db to pkg/mysql. Remove this alongside mysql.NewReplicaFromDB and mysql.NewFromReplicas once all callers create databases via pkg/mysql.New directly.
func Tx ¶
Tx executes fn within a database transaction without returning a result. It is a convenience wrapper around TxWithResult for operations that only need error handling.
Tx begins a transaction on db, executes fn with the transaction context, and commits on success or rolls back on failure. All database errors are wrapped with ServiceUnavailable fault codes.
The ctx parameter provides cancellation and timeout control. The db parameter must be a valid Replica instance. The fn parameter receives the transaction context and a DBTX interface for database operations.
Tx returns nil on successful commit, or an error if any step fails. Error handling follows the same patterns as TxWithResult.
Use Tx for operations that don't need to return values, such as:
- Deleting records with audit logging
- Updating configuration settings
- Batch cleanup operations
- State changes that only need success/failure indication
Example batch deletion with audit:
err := db.Tx(ctx, database.RW(), func(ctx context.Context, tx db.DBTX) error {
// Delete expired keys
deletedCount, err := db.Query.DeleteExpiredKeys(ctx, tx, time.Now())
if err != nil {
return fmt.Errorf("failed to delete expired keys: %w", err)
}
// Log the cleanup operation
err = db.Query.InsertAuditLog(ctx, tx, db.InsertAuditLogParams{
Action: "cleanup_expired_keys",
Details: fmt.Sprintf("deleted %d expired keys", deletedCount),
})
if err != nil {
return fmt.Errorf("failed to log cleanup: %w", err)
}
return nil
})
if err != nil {
return fmt.Errorf("cleanup transaction failed: %w", err)
}
See TxWithResult for detailed transaction behavior and DBTX for available database operations.
func TxRetry ¶
TxRetry executes a transaction with automatic retry on transient errors like deadlocks. It is a convenience wrapper around TxWithResultRetry for operations that don't return a value.
Usage:
err := db.TxRetry(ctx, database.RW(), func(ctx context.Context, tx db.DBTX) error {
// Perform transactional operations
return nil
})
func TxWithResult ¶
func TxWithResult[T any](ctx context.Context, db *Replica, fn func(context.Context, DBTX) (T, error)) (T, error)
TxWithResult executes fn within a database transaction and returns the result. It begins a transaction on db, executes fn with the transaction context, and commits on success or rolls back on failure.
The function automatically handles the complete transaction lifecycle: begin, execute, and commit/rollback. All database errors are wrapped with ServiceUnavailable fault codes for consistent error handling.
TxWithResult is generic and preserves type safety for return values. The ctx parameter provides cancellation and timeout control for the entire transaction. The db parameter must be a valid Replica instance, typically from [Database.RW] for write operations.
The fn parameter receives the transaction context and a DBTX interface for database operations. It should perform all required operations and return the result with any error.
TxWithResult returns the function result on successful commit, or an error if any step fails. Transaction begin errors return ServiceUnavailable. Rollback errors during error handling also return ServiceUnavailable, except for sql.ErrTxDone which indicates the transaction was already completed. Commit errors return ServiceUnavailable.
Context cancellation triggers automatic rollback. The function is safe for concurrent use but callers must avoid operations that could deadlock with other concurrent transactions.
Common usage scenarios include:
- Creating API keys with associated permissions atomically
- Updating workspace settings with audit trail creation
- Batch operations that must succeed or fail as a unit
- Complex queries requiring consistency guarantees
Edge cases and limitations:
- If fn returns an error, rollback is attempted even if the transaction is already in a failed state, which may produce additional errors
- Database connection issues during commit may leave the transaction in an undefined state on the server side
- Context cancellation after fn execution causes rollback instead of commit
Anti-patterns to avoid:
- Long-running operations within fn that could timeout
- Nesting calls to TxWithResult (creates nested transactions)
- Ignoring the returned error from fn
- Accessing the DBTX parameter outside of the fn callback
Use context.WithTimeout to prevent indefinite blocking. For operations that may conflict, implement retry logic with exponential backoff at the caller level.
Example atomic key creation with permissions:
result, err := db.TxWithResult(ctx, database.RW(), func(ctx context.Context, tx db.DBTX) (*models.Key, error) {
key, err := db.Query.InsertKey(ctx, tx, db.InsertKeyParams{
ID: keyID,
KeyAuthID: keyAuthID,
Hash: hashedKey,
})
if err != nil {
return nil, fmt.Errorf("failed to insert key: %w", err)
}
for _, permissionID := range permissionIDs {
err = db.Query.InsertKeyPermission(ctx, tx, db.InsertKeyPermissionParams{
KeyID: key.ID,
PermissionID: permissionID,
})
if err != nil {
return nil, fmt.Errorf("failed to add permission: %w", err)
}
}
return &key, nil
})
if err != nil {
return fmt.Errorf("key creation transaction failed: %w", err)
}
Example with timeout handling:
ctx, cancel := context.WithTimeout(ctx, 30*time.Second)
defer cancel()
result, err := db.TxWithResult(ctx, database.RW(), func(ctx context.Context, tx db.DBTX) (*SomeResult, error) {
// Context cancellation is automatically handled
// Perform database operations...
return &SomeResult{}, nil
})
if err != nil {
return fmt.Errorf("transaction failed: %w", err)
}
See Replica.Begin for transaction initiation and DBTX for available operations within transactions. For read-only operations that don't require transactions, use query methods directly on [Database.RO].
func TxWithResultRetry ¶
func TxWithResultRetry[T any](ctx context.Context, db *Replica, fn func(context.Context, DBTX) (T, error)) (T, error)
TxWithResultRetry executes a transaction with automatic retry on transient errors. It wraps TxWithResult with retry logic, retrying the entire transaction (begin -> fn -> commit) on retryable errors.
This is useful for transactions that may encounter transient errors due to concurrent access patterns or temporary resource constraints. When such errors occur, MySQL rolls back the transaction, so we retry from the beginning.
Configuration:
- 3 attempts maximum
- Exponential backoff: 50ms, 100ms, 200ms
Retries on transient errors:
- Deadlocks (MySQL error 1213)
- Lock wait timeouts (MySQL error 1205)
- Connection errors (MySQL errors 2006, 2013, network errors)
- Too many connections (MySQL error 1040)
Does NOT retry on permanent errors:
- Not found errors
- Duplicate key errors (MySQL error 1062)
Usage:
result, err := db.TxWithResultRetry(ctx, database.RW(), func(ctx context.Context, tx db.DBTX) (*Result, error) {
// Perform transactional operations
return &Result{}, nil
})
func UnmarshalNullableJSONTo ¶
UnmarshalNullableJSONTo unmarshals JSON data from database columns into Go types. It handles the common pattern where database queries return JSON as []byte that needs to be deserialized into structs, slices, or maps.
The function accepts 'any' type because database drivers return interface{} for JSON columns, even though the underlying value is typically []byte.
Returns:
- (T, nil) on successful unmarshal
- (zero, nil) if data is nil or empty []byte (these are valid null/empty states)
- (zero, error) if type assertion fails or JSON unmarshal fails
Example usage:
roles, err := UnmarshalNullableJSONTo[[]RoleInfo](row.Roles)
if err != nil {
logger.Error("failed to unmarshal roles", "error", err)
return err
}
func WithRetryContext ¶
WithRetryContext executes a database operation with optimized retry configuration while respecting context cancellation and deadlines. It retries transient errors with exponential backoff but skips non-retryable errors like "not found" or "duplicate key" to avoid unnecessary delays.
Context behavior:
- Returns immediately if context is already cancelled or deadline exceeded
- Detects context cancellation during backoff sleep without waiting for full duration
- Returns context.Canceled or context.DeadlineExceeded on context errors
Configuration:
- 3 attempts maximum
- Exponential backoff: 50ms, 100ms, 200ms
- Skips retries for "not found" and "duplicate key" errors
Usage:
result, err := db.WithRetryContext(ctx, func() (SomeType, error) {
return db.Query.SomeOperation(ctx, db.RO(), params)
})
Types ¶
type AcmeChallenge ¶
type AcmeChallenge struct {
Pk uint64 `db:"pk"`
DomainID string `db:"domain_id"`
WorkspaceID string `db:"workspace_id"`
Token string `db:"token"`
ChallengeType AcmeChallengesChallengeType `db:"challenge_type"`
Authorization string `db:"authorization"`
Status AcmeChallengesStatus `db:"status"`
ExpiresAt int64 `db:"expires_at"`
CreatedAt int64 `db:"created_at"`
UpdatedAt sql.NullInt64 `db:"updated_at"`
}
type AcmeChallengesChallengeType ¶
type AcmeChallengesChallengeType string
const ( AcmeChallengesChallengeTypeHTTP01 AcmeChallengesChallengeType = "HTTP-01" AcmeChallengesChallengeTypeDNS01 AcmeChallengesChallengeType = "DNS-01" )
func (*AcmeChallengesChallengeType) Scan ¶
func (e *AcmeChallengesChallengeType) Scan(src interface{}) error
type AcmeChallengesStatus ¶
type AcmeChallengesStatus string
const ( AcmeChallengesStatusWaiting AcmeChallengesStatus = "waiting" AcmeChallengesStatusPending AcmeChallengesStatus = "pending" AcmeChallengesStatusVerified AcmeChallengesStatus = "verified" AcmeChallengesStatusFailed AcmeChallengesStatus = "failed" )
func (*AcmeChallengesStatus) Scan ¶
func (e *AcmeChallengesStatus) Scan(src interface{}) error
type Api ¶
type Api struct {
Pk uint64 `db:"pk"`
ID string `db:"id"`
Name string `db:"name"`
WorkspaceID string `db:"workspace_id"`
IpWhitelist sql.NullString `db:"ip_whitelist"`
AuthType NullApisAuthType `db:"auth_type"`
KeyAuthID sql.NullString `db:"key_auth_id"`
CreatedAtM int64 `db:"created_at_m"`
UpdatedAtM sql.NullInt64 `db:"updated_at_m"`
DeletedAtM sql.NullInt64 `db:"deleted_at_m"`
DeleteProtection sql.NullBool `db:"delete_protection"`
}
type ApisAuthType ¶
type ApisAuthType string
const ( ApisAuthTypeKey ApisAuthType = "key" ApisAuthTypeJwt ApisAuthType = "jwt" )
func (*ApisAuthType) Scan ¶
func (e *ApisAuthType) Scan(src interface{}) error
type App ¶
type App struct {
Pk uint64 `db:"pk"`
ID string `db:"id"`
WorkspaceID string `db:"workspace_id"`
ProjectID string `db:"project_id"`
Name string `db:"name"`
Slug string `db:"slug"`
DefaultBranch string `db:"default_branch"`
CurrentDeploymentID sql.NullString `db:"current_deployment_id"`
IsRolledBack bool `db:"is_rolled_back"`
DeleteProtection sql.NullBool `db:"delete_protection"`
CreatedAt int64 `db:"created_at"`
UpdatedAt sql.NullInt64 `db:"updated_at"`
}
type AppBuildSetting ¶
type AppBuildSetting struct {
Pk uint64 `db:"pk"`
WorkspaceID string `db:"workspace_id"`
AppID string `db:"app_id"`
EnvironmentID string `db:"environment_id"`
Dockerfile string `db:"dockerfile"`
DockerContext string `db:"docker_context"`
WatchPaths dbtype.StringSlice `db:"watch_paths"`
AutoDeploy bool `db:"auto_deploy"`
CreatedAt int64 `db:"created_at"`
UpdatedAt sql.NullInt64 `db:"updated_at"`
}
type AppEnvironmentVariable ¶
type AppEnvironmentVariable struct {
Pk uint64 `db:"pk"`
ID string `db:"id"`
WorkspaceID string `db:"workspace_id"`
AppID string `db:"app_id"`
EnvironmentID string `db:"environment_id"`
Key string `db:"key"`
Value string `db:"value"`
Type AppEnvironmentVariablesType `db:"type"`
Description sql.NullString `db:"description"`
DeleteProtection sql.NullBool `db:"delete_protection"`
CreatedAt int64 `db:"created_at"`
UpdatedAt sql.NullInt64 `db:"updated_at"`
}
type AppEnvironmentVariablesType ¶
type AppEnvironmentVariablesType string
const ( AppEnvironmentVariablesTypeRecoverable AppEnvironmentVariablesType = "recoverable" AppEnvironmentVariablesTypeWriteonly AppEnvironmentVariablesType = "writeonly" )
func (*AppEnvironmentVariablesType) Scan ¶
func (e *AppEnvironmentVariablesType) Scan(src interface{}) error
type AppRegionalSetting ¶
type AppRegionalSetting struct {
Pk uint64 `db:"pk"`
WorkspaceID string `db:"workspace_id"`
AppID string `db:"app_id"`
EnvironmentID string `db:"environment_id"`
RegionID string `db:"region_id"`
Replicas int32 `db:"replicas"`
HorizontalAutoscalingPolicyID sql.NullString `db:"horizontal_autoscaling_policy_id"`
CreatedAt int64 `db:"created_at"`
UpdatedAt sql.NullInt64 `db:"updated_at"`
}
type AppRuntimeSetting ¶
type AppRuntimeSetting struct {
Pk uint64 `db:"pk"`
WorkspaceID string `db:"workspace_id"`
AppID string `db:"app_id"`
EnvironmentID string `db:"environment_id"`
Port int32 `db:"port"`
CpuMillicores int32 `db:"cpu_millicores"`
MemoryMib int32 `db:"memory_mib"`
StorageMib uint32 `db:"storage_mib"`
Command dbtype.StringSlice `db:"command"`
Healthcheck dbtype.NullHealthcheck `db:"healthcheck"`
ShutdownSignal AppRuntimeSettingsShutdownSignal `db:"shutdown_signal"`
UpstreamProtocol AppRuntimeSettingsUpstreamProtocol `db:"upstream_protocol"`
SentinelConfig []byte `db:"sentinel_config"`
OpenapiSpecPath sql.NullString `db:"openapi_spec_path"`
CreatedAt int64 `db:"created_at"`
UpdatedAt sql.NullInt64 `db:"updated_at"`
}
type AppRuntimeSettingsShutdownSignal ¶
type AppRuntimeSettingsShutdownSignal string
const ( AppRuntimeSettingsShutdownSignalSIGTERM AppRuntimeSettingsShutdownSignal = "SIGTERM" AppRuntimeSettingsShutdownSignalSIGINT AppRuntimeSettingsShutdownSignal = "SIGINT" AppRuntimeSettingsShutdownSignalSIGQUIT AppRuntimeSettingsShutdownSignal = "SIGQUIT" AppRuntimeSettingsShutdownSignalSIGKILL AppRuntimeSettingsShutdownSignal = "SIGKILL" )
func (*AppRuntimeSettingsShutdownSignal) Scan ¶
func (e *AppRuntimeSettingsShutdownSignal) Scan(src interface{}) error
type AppRuntimeSettingsUpstreamProtocol ¶
type AppRuntimeSettingsUpstreamProtocol string
const ( AppRuntimeSettingsUpstreamProtocolHttp1 AppRuntimeSettingsUpstreamProtocol = "http1" AppRuntimeSettingsUpstreamProtocolH2c AppRuntimeSettingsUpstreamProtocol = "h2c" )
func (*AppRuntimeSettingsUpstreamProtocol) Scan ¶
func (e *AppRuntimeSettingsUpstreamProtocol) Scan(src interface{}) error
type AuditLog ¶
type AuditLog struct {
Pk uint64 `db:"pk"`
ID string `db:"id"`
WorkspaceID string `db:"workspace_id"`
Bucket string `db:"bucket"`
BucketID string `db:"bucket_id"`
Event string `db:"event"`
Time int64 `db:"time"`
Display string `db:"display"`
RemoteIp sql.NullString `db:"remote_ip"`
UserAgent sql.NullString `db:"user_agent"`
ActorType string `db:"actor_type"`
ActorID string `db:"actor_id"`
ActorName sql.NullString `db:"actor_name"`
ActorMeta []byte `db:"actor_meta"`
CreatedAt int64 `db:"created_at"`
UpdatedAt sql.NullInt64 `db:"updated_at"`
}
type AuditLogTarget ¶
type AuditLogTarget struct {
Pk uint64 `db:"pk"`
WorkspaceID string `db:"workspace_id"`
BucketID string `db:"bucket_id"`
Bucket string `db:"bucket"`
AuditLogID string `db:"audit_log_id"`
DisplayName string `db:"display_name"`
Type string `db:"type"`
ID string `db:"id"`
Name sql.NullString `db:"name"`
Meta []byte `db:"meta"`
CreatedAt int64 `db:"created_at"`
UpdatedAt sql.NullInt64 `db:"updated_at"`
}
type BulkQuerier ¶
type BulkQuerier interface {
InsertAcmeChallenges(ctx context.Context, db DBTX, args []InsertAcmeChallengeParams) error
InsertAcmeUsers(ctx context.Context, db DBTX, args []InsertAcmeUserParams) error
InsertApis(ctx context.Context, db DBTX, args []InsertApiParams) error
UpsertAppBuildSettings(ctx context.Context, db DBTX, args []UpsertAppBuildSettingsParams) error
InsertAppEnvironmentVariables(ctx context.Context, db DBTX, args []InsertAppEnvironmentVariableParams) error
InsertApps(ctx context.Context, db DBTX, args []InsertAppParams) error
UpsertAppRegionalSettings(ctx context.Context, db DBTX, args []UpsertAppRegionalSettingsParams) error
UpsertAppRuntimeSettings(ctx context.Context, db DBTX, args []UpsertAppRuntimeSettingsParams) error
InsertAuditLogs(ctx context.Context, db DBTX, args []InsertAuditLogParams) error
InsertAuditLogTargets(ctx context.Context, db DBTX, args []InsertAuditLogTargetParams) error
InsertCertificates(ctx context.Context, db DBTX, args []InsertCertificateParams) error
InsertCiliumNetworkPolicies(ctx context.Context, db DBTX, args []InsertCiliumNetworkPolicyParams) error
InsertClickhouseOutboxes(ctx context.Context, db DBTX, args []InsertClickhouseOutboxParams) error
InsertClickhouseWorkspaceSettingses(ctx context.Context, db DBTX, args []InsertClickhouseWorkspaceSettingsParams) error
UpsertRegion(ctx context.Context, db DBTX, args []UpsertRegionParams) error
UpsertCluster(ctx context.Context, db DBTX, args []UpsertClusterParams) error
InsertCustomDomains(ctx context.Context, db DBTX, args []InsertCustomDomainParams) error
UpsertCustomDomain(ctx context.Context, db DBTX, args []UpsertCustomDomainParams) error
InsertDeploymentChanges(ctx context.Context, db DBTX, args []InsertDeploymentChangeParams) error
InsertDeployments(ctx context.Context, db DBTX, args []InsertDeploymentParams) error
InsertDeploymentSteps(ctx context.Context, db DBTX, args []InsertDeploymentStepParams) error
InsertDeploymentTopologies(ctx context.Context, db DBTX, args []InsertDeploymentTopologyParams) error
InsertEnvironments(ctx context.Context, db DBTX, args []InsertEnvironmentParams) error
UpsertEnvironment(ctx context.Context, db DBTX, args []UpsertEnvironmentParams) error
InsertGithubRepoConnections(ctx context.Context, db DBTX, args []InsertGithubRepoConnectionParams) error
InsertIdentities(ctx context.Context, db DBTX, args []InsertIdentityParams) error
InsertIdentityRatelimits(ctx context.Context, db DBTX, args []InsertIdentityRatelimitParams) error
UpsertIdentity(ctx context.Context, db DBTX, args []UpsertIdentityParams) error
InsertFrontlineRoutes(ctx context.Context, db DBTX, args []InsertFrontlineRouteParams) error
UpsertInstance(ctx context.Context, db DBTX, args []UpsertInstanceParams) error
InsertKeyAuths(ctx context.Context, db DBTX, args []InsertKeyAuthParams) error
InsertKeyEncryptions(ctx context.Context, db DBTX, args []InsertKeyEncryptionParams) error
InsertKeys(ctx context.Context, db DBTX, args []InsertKeyParams) error
InsertKeyRatelimits(ctx context.Context, db DBTX, args []InsertKeyRatelimitParams) error
InsertKeyMigrations(ctx context.Context, db DBTX, args []InsertKeyMigrationParams) error
InsertKeyPermissions(ctx context.Context, db DBTX, args []InsertKeyPermissionParams) error
InsertKeyRoles(ctx context.Context, db DBTX, args []InsertKeyRoleParams) error
InsertKeySpaces(ctx context.Context, db DBTX, args []InsertKeySpaceParams) error
UpsertKeySpace(ctx context.Context, db DBTX, args []UpsertKeySpaceParams) error
UpsertOpenApiSpec(ctx context.Context, db DBTX, args []UpsertOpenApiSpecParams) error
InsertPermissions(ctx context.Context, db DBTX, args []InsertPermissionParams) error
UpsertPortalBranding(ctx context.Context, db DBTX, args []UpsertPortalBrandingParams) error
InsertPortalConfigs(ctx context.Context, db DBTX, args []InsertPortalConfigParams) error
InsertPortalSessions(ctx context.Context, db DBTX, args []InsertPortalSessionParams) error
InsertPortalSessionTokens(ctx context.Context, db DBTX, args []InsertPortalSessionTokenParams) error
InsertProjects(ctx context.Context, db DBTX, args []InsertProjectParams) error
UpsertQuota(ctx context.Context, db DBTX, args []UpsertQuotaParams) error
InsertRatelimitNamespaces(ctx context.Context, db DBTX, args []InsertRatelimitNamespaceParams) error
InsertRatelimitOverrides(ctx context.Context, db DBTX, args []InsertRatelimitOverrideParams) error
InsertRoles(ctx context.Context, db DBTX, args []InsertRoleParams) error
InsertRolePermissions(ctx context.Context, db DBTX, args []InsertRolePermissionParams) error
InsertSentinels(ctx context.Context, db DBTX, args []InsertSentinelParams) error
InsertWorkspaces(ctx context.Context, db DBTX, args []InsertWorkspaceParams) error
UpsertWorkspace(ctx context.Context, db DBTX, args []UpsertWorkspaceParams) error
}
BulkQuerier contains bulk insert methods.
var BulkQuery BulkQuerier = &BulkQueries{}
type BulkQueries ¶
type BulkQueries struct{}
func (*BulkQueries) InsertAcmeChallenges ¶
func (q *BulkQueries) InsertAcmeChallenges(ctx context.Context, db DBTX, args []InsertAcmeChallengeParams) error
InsertAcmeChallenges performs bulk insert in a single query
func (*BulkQueries) InsertAcmeUsers ¶
func (q *BulkQueries) InsertAcmeUsers(ctx context.Context, db DBTX, args []InsertAcmeUserParams) error
InsertAcmeUsers performs bulk insert in a single query
func (*BulkQueries) InsertApis ¶
func (q *BulkQueries) InsertApis(ctx context.Context, db DBTX, args []InsertApiParams) error
InsertApis performs bulk insert in a single query
func (*BulkQueries) InsertAppEnvironmentVariables ¶
func (q *BulkQueries) InsertAppEnvironmentVariables(ctx context.Context, db DBTX, args []InsertAppEnvironmentVariableParams) error
InsertAppEnvironmentVariables performs bulk insert in a single query
func (*BulkQueries) InsertApps ¶
func (q *BulkQueries) InsertApps(ctx context.Context, db DBTX, args []InsertAppParams) error
InsertApps performs bulk insert in a single query
func (*BulkQueries) InsertAuditLogTargets ¶
func (q *BulkQueries) InsertAuditLogTargets(ctx context.Context, db DBTX, args []InsertAuditLogTargetParams) error
InsertAuditLogTargets performs bulk insert in a single query
func (*BulkQueries) InsertAuditLogs ¶
func (q *BulkQueries) InsertAuditLogs(ctx context.Context, db DBTX, args []InsertAuditLogParams) error
InsertAuditLogs performs bulk insert in a single query
func (*BulkQueries) InsertCertificates ¶
func (q *BulkQueries) InsertCertificates(ctx context.Context, db DBTX, args []InsertCertificateParams) error
InsertCertificates performs bulk insert in a single query
func (*BulkQueries) InsertCiliumNetworkPolicies ¶
func (q *BulkQueries) InsertCiliumNetworkPolicies(ctx context.Context, db DBTX, args []InsertCiliumNetworkPolicyParams) error
InsertCiliumNetworkPolicies performs bulk insert in a single query
func (*BulkQueries) InsertClickhouseOutboxes ¶
func (q *BulkQueries) InsertClickhouseOutboxes(ctx context.Context, db DBTX, args []InsertClickhouseOutboxParams) error
InsertClickhouseOutboxes performs bulk insert in a single query
func (*BulkQueries) InsertClickhouseWorkspaceSettingses ¶
func (q *BulkQueries) InsertClickhouseWorkspaceSettingses(ctx context.Context, db DBTX, args []InsertClickhouseWorkspaceSettingsParams) error
InsertClickhouseWorkspaceSettingses performs bulk insert in a single query
func (*BulkQueries) InsertCustomDomains ¶
func (q *BulkQueries) InsertCustomDomains(ctx context.Context, db DBTX, args []InsertCustomDomainParams) error
InsertCustomDomains performs bulk insert in a single query
func (*BulkQueries) InsertDeploymentChanges ¶
func (q *BulkQueries) InsertDeploymentChanges(ctx context.Context, db DBTX, args []InsertDeploymentChangeParams) error
InsertDeploymentChanges performs bulk insert in a single query
func (*BulkQueries) InsertDeploymentSteps ¶
func (q *BulkQueries) InsertDeploymentSteps(ctx context.Context, db DBTX, args []InsertDeploymentStepParams) error
InsertDeploymentSteps performs bulk insert in a single query
func (*BulkQueries) InsertDeploymentTopologies ¶
func (q *BulkQueries) InsertDeploymentTopologies(ctx context.Context, db DBTX, args []InsertDeploymentTopologyParams) error
InsertDeploymentTopologies performs bulk insert in a single query
func (*BulkQueries) InsertDeployments ¶
func (q *BulkQueries) InsertDeployments(ctx context.Context, db DBTX, args []InsertDeploymentParams) error
InsertDeployments performs bulk insert in a single query
func (*BulkQueries) InsertEnvironments ¶
func (q *BulkQueries) InsertEnvironments(ctx context.Context, db DBTX, args []InsertEnvironmentParams) error
InsertEnvironments performs bulk insert in a single query
func (*BulkQueries) InsertFrontlineRoutes ¶
func (q *BulkQueries) InsertFrontlineRoutes(ctx context.Context, db DBTX, args []InsertFrontlineRouteParams) error
InsertFrontlineRoutes performs bulk insert in a single query
func (*BulkQueries) InsertGithubRepoConnections ¶
func (q *BulkQueries) InsertGithubRepoConnections(ctx context.Context, db DBTX, args []InsertGithubRepoConnectionParams) error
InsertGithubRepoConnections performs bulk insert in a single query
func (*BulkQueries) InsertIdentities ¶
func (q *BulkQueries) InsertIdentities(ctx context.Context, db DBTX, args []InsertIdentityParams) error
InsertIdentities performs bulk insert in a single query
func (*BulkQueries) InsertIdentityRatelimits ¶
func (q *BulkQueries) InsertIdentityRatelimits(ctx context.Context, db DBTX, args []InsertIdentityRatelimitParams) error
InsertIdentityRatelimits performs bulk insert in a single query
func (*BulkQueries) InsertKeyAuths ¶
func (q *BulkQueries) InsertKeyAuths(ctx context.Context, db DBTX, args []InsertKeyAuthParams) error
InsertKeyAuths performs bulk insert in a single query
func (*BulkQueries) InsertKeyEncryptions ¶
func (q *BulkQueries) InsertKeyEncryptions(ctx context.Context, db DBTX, args []InsertKeyEncryptionParams) error
InsertKeyEncryptions performs bulk insert in a single query
func (*BulkQueries) InsertKeyMigrations ¶
func (q *BulkQueries) InsertKeyMigrations(ctx context.Context, db DBTX, args []InsertKeyMigrationParams) error
InsertKeyMigrations performs bulk insert in a single query
func (*BulkQueries) InsertKeyPermissions ¶
func (q *BulkQueries) InsertKeyPermissions(ctx context.Context, db DBTX, args []InsertKeyPermissionParams) error
InsertKeyPermissions performs bulk insert in a single query
func (*BulkQueries) InsertKeyRatelimits ¶
func (q *BulkQueries) InsertKeyRatelimits(ctx context.Context, db DBTX, args []InsertKeyRatelimitParams) error
InsertKeyRatelimits performs bulk insert in a single query
func (*BulkQueries) InsertKeyRoles ¶
func (q *BulkQueries) InsertKeyRoles(ctx context.Context, db DBTX, args []InsertKeyRoleParams) error
InsertKeyRoles performs bulk insert in a single query
func (*BulkQueries) InsertKeySpaces ¶
func (q *BulkQueries) InsertKeySpaces(ctx context.Context, db DBTX, args []InsertKeySpaceParams) error
InsertKeySpaces performs bulk insert in a single query
func (*BulkQueries) InsertKeys ¶
func (q *BulkQueries) InsertKeys(ctx context.Context, db DBTX, args []InsertKeyParams) error
InsertKeys performs bulk insert in a single query
func (*BulkQueries) InsertPermissions ¶
func (q *BulkQueries) InsertPermissions(ctx context.Context, db DBTX, args []InsertPermissionParams) error
InsertPermissions performs bulk insert in a single query
func (*BulkQueries) InsertPortalConfigs ¶
func (q *BulkQueries) InsertPortalConfigs(ctx context.Context, db DBTX, args []InsertPortalConfigParams) error
InsertPortalConfigs performs bulk insert in a single query
func (*BulkQueries) InsertPortalSessionTokens ¶
func (q *BulkQueries) InsertPortalSessionTokens(ctx context.Context, db DBTX, args []InsertPortalSessionTokenParams) error
InsertPortalSessionTokens performs bulk insert in a single query
func (*BulkQueries) InsertPortalSessions ¶
func (q *BulkQueries) InsertPortalSessions(ctx context.Context, db DBTX, args []InsertPortalSessionParams) error
InsertPortalSessions performs bulk insert in a single query
func (*BulkQueries) InsertProjects ¶
func (q *BulkQueries) InsertProjects(ctx context.Context, db DBTX, args []InsertProjectParams) error
InsertProjects performs bulk insert in a single query
func (*BulkQueries) InsertRatelimitNamespaces ¶
func (q *BulkQueries) InsertRatelimitNamespaces(ctx context.Context, db DBTX, args []InsertRatelimitNamespaceParams) error
InsertRatelimitNamespaces performs bulk insert in a single query
func (*BulkQueries) InsertRatelimitOverrides ¶
func (q *BulkQueries) InsertRatelimitOverrides(ctx context.Context, db DBTX, args []InsertRatelimitOverrideParams) error
InsertRatelimitOverrides performs bulk insert in a single query
func (*BulkQueries) InsertRolePermissions ¶
func (q *BulkQueries) InsertRolePermissions(ctx context.Context, db DBTX, args []InsertRolePermissionParams) error
InsertRolePermissions performs bulk insert in a single query
func (*BulkQueries) InsertRoles ¶
func (q *BulkQueries) InsertRoles(ctx context.Context, db DBTX, args []InsertRoleParams) error
InsertRoles performs bulk insert in a single query
func (*BulkQueries) InsertSentinels ¶
func (q *BulkQueries) InsertSentinels(ctx context.Context, db DBTX, args []InsertSentinelParams) error
InsertSentinels performs bulk insert in a single query
func (*BulkQueries) InsertWorkspaces ¶
func (q *BulkQueries) InsertWorkspaces(ctx context.Context, db DBTX, args []InsertWorkspaceParams) error
InsertWorkspaces performs bulk insert in a single query
func (*BulkQueries) UpsertAppBuildSettings ¶
func (q *BulkQueries) UpsertAppBuildSettings(ctx context.Context, db DBTX, args []UpsertAppBuildSettingsParams) error
UpsertAppBuildSettings performs bulk insert in a single query
func (*BulkQueries) UpsertAppRegionalSettings ¶
func (q *BulkQueries) UpsertAppRegionalSettings(ctx context.Context, db DBTX, args []UpsertAppRegionalSettingsParams) error
UpsertAppRegionalSettings performs bulk insert in a single query
func (*BulkQueries) UpsertAppRuntimeSettings ¶
func (q *BulkQueries) UpsertAppRuntimeSettings(ctx context.Context, db DBTX, args []UpsertAppRuntimeSettingsParams) error
UpsertAppRuntimeSettings performs bulk insert in a single query
func (*BulkQueries) UpsertCluster ¶
func (q *BulkQueries) UpsertCluster(ctx context.Context, db DBTX, args []UpsertClusterParams) error
UpsertCluster performs bulk insert in a single query
func (*BulkQueries) UpsertCustomDomain ¶
func (q *BulkQueries) UpsertCustomDomain(ctx context.Context, db DBTX, args []UpsertCustomDomainParams) error
UpsertCustomDomain performs bulk insert in a single query
func (*BulkQueries) UpsertEnvironment ¶
func (q *BulkQueries) UpsertEnvironment(ctx context.Context, db DBTX, args []UpsertEnvironmentParams) error
UpsertEnvironment performs bulk insert in a single query
func (*BulkQueries) UpsertIdentity ¶
func (q *BulkQueries) UpsertIdentity(ctx context.Context, db DBTX, args []UpsertIdentityParams) error
UpsertIdentity performs bulk insert in a single query
func (*BulkQueries) UpsertInstance ¶
func (q *BulkQueries) UpsertInstance(ctx context.Context, db DBTX, args []UpsertInstanceParams) error
UpsertInstance performs bulk insert in a single query
func (*BulkQueries) UpsertKeySpace ¶
func (q *BulkQueries) UpsertKeySpace(ctx context.Context, db DBTX, args []UpsertKeySpaceParams) error
UpsertKeySpace performs bulk insert in a single query
func (*BulkQueries) UpsertOpenApiSpec ¶
func (q *BulkQueries) UpsertOpenApiSpec(ctx context.Context, db DBTX, args []UpsertOpenApiSpecParams) error
UpsertOpenApiSpec performs bulk insert in a single query
func (*BulkQueries) UpsertPortalBranding ¶
func (q *BulkQueries) UpsertPortalBranding(ctx context.Context, db DBTX, args []UpsertPortalBrandingParams) error
UpsertPortalBranding performs bulk insert in a single query
func (*BulkQueries) UpsertQuota ¶
func (q *BulkQueries) UpsertQuota(ctx context.Context, db DBTX, args []UpsertQuotaParams) error
UpsertQuota performs bulk insert in a single query
func (*BulkQueries) UpsertRegion ¶
func (q *BulkQueries) UpsertRegion(ctx context.Context, db DBTX, args []UpsertRegionParams) error
UpsertRegion performs bulk insert in a single query
func (*BulkQueries) UpsertWorkspace ¶
func (q *BulkQueries) UpsertWorkspace(ctx context.Context, db DBTX, args []UpsertWorkspaceParams) error
UpsertWorkspace performs bulk insert in a single query
type Certificate ¶
type Certificate struct {
Pk uint64 `db:"pk"`
ID string `db:"id"`
WorkspaceID string `db:"workspace_id"`
Hostname string `db:"hostname"`
Certificate string `db:"certificate"`
EncryptedPrivateKey string `db:"encrypted_private_key"`
CreatedAt int64 `db:"created_at"`
UpdatedAt sql.NullInt64 `db:"updated_at"`
}
type CiliumNetworkPolicy ¶
type CiliumNetworkPolicy struct {
Pk uint64 `db:"pk"`
ID string `db:"id"`
WorkspaceID string `db:"workspace_id"`
ProjectID string `db:"project_id"`
AppID string `db:"app_id"`
EnvironmentID string `db:"environment_id"`
DeploymentID string `db:"deployment_id"`
K8sName string `db:"k8s_name"`
K8sNamespace string `db:"k8s_namespace"`
RegionID string `db:"region_id"`
Policy json.RawMessage `db:"policy"`
CreatedAt int64 `db:"created_at"`
UpdatedAt sql.NullInt64 `db:"updated_at"`
}
type ClickhouseOutbox ¶
type ClickhouseWorkspaceSetting ¶
type ClickhouseWorkspaceSetting struct {
Pk uint64 `db:"pk"`
WorkspaceID string `db:"workspace_id"`
Username string `db:"username"`
PasswordEncrypted string `db:"password_encrypted"`
QuotaDurationSeconds int32 `db:"quota_duration_seconds"`
MaxQueriesPerWindow int32 `db:"max_queries_per_window"`
MaxExecutionTimePerWindow int32 `db:"max_execution_time_per_window"`
MaxQueryExecutionTime int32 `db:"max_query_execution_time"`
MaxQueryMemoryBytes int64 `db:"max_query_memory_bytes"`
MaxQueryResultRows int32 `db:"max_query_result_rows"`
CreatedAt int64 `db:"created_at"`
UpdatedAt sql.NullInt64 `db:"updated_at"`
}
type CompareAndSwapDeploymentStatusParams ¶
type CompareAndSwapDeploymentStatusParams struct {
NewStatus DeploymentsStatus `db:"new_status"`
UpdatedAt sql.NullInt64 `db:"updated_at"`
ID string `db:"id"`
ExpectedStatus DeploymentsStatus `db:"expected_status"`
}
type Config ¶
type Config struct {
// The primary DSN for your database. This must support both reads and writes.
PrimaryDSN string
// The readonly replica will be used for most read queries.
// If omitted, the primary is used.
ReadOnlyDSN string
}
Config defines the parameters needed to establish database connections. It supports separate connections for read and write operations to allow for primary/replica setups.
type CustomDomain ¶
type CustomDomain struct {
Pk uint64 `db:"pk"`
ID string `db:"id"`
WorkspaceID string `db:"workspace_id"`
ProjectID string `db:"project_id"`
AppID string `db:"app_id"`
EnvironmentID string `db:"environment_id"`
Domain string `db:"domain"`
ChallengeType CustomDomainsChallengeType `db:"challenge_type"`
VerificationStatus CustomDomainsVerificationStatus `db:"verification_status"`
VerificationToken string `db:"verification_token"`
OwnershipVerified bool `db:"ownership_verified"`
CnameVerified bool `db:"cname_verified"`
TargetCname string `db:"target_cname"`
LastCheckedAt sql.NullInt64 `db:"last_checked_at"`
CheckAttempts int32 `db:"check_attempts"`
VerificationError sql.NullString `db:"verification_error"`
DomainConnectProvider sql.NullString `db:"domain_connect_provider"`
DomainConnectUrl sql.NullString `db:"domain_connect_url"`
InvocationID sql.NullString `db:"invocation_id"`
CreatedAt int64 `db:"created_at"`
UpdatedAt sql.NullInt64 `db:"updated_at"`
}
type CustomDomainsChallengeType ¶
type CustomDomainsChallengeType string
const ( CustomDomainsChallengeTypeHTTP01 CustomDomainsChallengeType = "HTTP-01" CustomDomainsChallengeTypeDNS01 CustomDomainsChallengeType = "DNS-01" )
func (*CustomDomainsChallengeType) Scan ¶
func (e *CustomDomainsChallengeType) Scan(src interface{}) error
type CustomDomainsVerificationStatus ¶
type CustomDomainsVerificationStatus string
const ( CustomDomainsVerificationStatusPending CustomDomainsVerificationStatus = "pending" CustomDomainsVerificationStatusVerifying CustomDomainsVerificationStatus = "verifying" CustomDomainsVerificationStatusVerified CustomDomainsVerificationStatus = "verified" CustomDomainsVerificationStatusFailed CustomDomainsVerificationStatus = "failed" )
func (*CustomDomainsVerificationStatus) Scan ¶
func (e *CustomDomainsVerificationStatus) Scan(src interface{}) error
type DBTX ¶
type DBTX interface {
ExecContext(context.Context, string, ...interface{}) (sql.Result, error)
PrepareContext(context.Context, string) (*sql.Stmt, error)
QueryContext(context.Context, string, ...interface{}) (*sql.Rows, error)
QueryRowContext(context.Context, string, ...interface{}) *sql.Row
}
DBTX is an interface that abstracts database operations for both direct connections and transactions. It allows query methods to work with either a database or transaction, making transaction handling more flexible.
This interface is implemented by both sql.DB and sql.Tx, as well as the custom Replica type in this package.
type DBTx ¶
DBTx represents a database transaction with commit and rollback capabilities. It extends DBTX with transaction-specific methods.
type Database ¶
type Database interface {
// RW returns the write (primary) replica for write operations
RW() *Replica
// RO returns the read replica for read operations
// If no read replica is configured, it returns the write replica
RO() *Replica
// Close properly terminates all database connections
Close() error
}
Database defines the interface for database operations, providing access to read and write replicas and the ability to close connections.
type DeleteIdentityParams ¶
type DeleteInstanceParams ¶
type Deployment ¶
type Deployment struct {
Pk uint64 `db:"pk"`
ID string `db:"id"`
K8sName string `db:"k8s_name"`
WorkspaceID string `db:"workspace_id"`
ProjectID string `db:"project_id"`
EnvironmentID string `db:"environment_id"`
AppID string `db:"app_id"`
Image sql.NullString `db:"image"`
BuildID sql.NullString `db:"build_id"`
GitCommitSha sql.NullString `db:"git_commit_sha"`
GitBranch sql.NullString `db:"git_branch"`
GitCommitMessage sql.NullString `db:"git_commit_message"`
GitCommitAuthorHandle sql.NullString `db:"git_commit_author_handle"`
GitCommitAuthorAvatarUrl sql.NullString `db:"git_commit_author_avatar_url"`
GitCommitTimestamp sql.NullInt64 `db:"git_commit_timestamp"`
SentinelConfig []byte `db:"sentinel_config"`
CpuMillicores int32 `db:"cpu_millicores"`
MemoryMib int32 `db:"memory_mib"`
StorageMib uint32 `db:"storage_mib"`
DesiredState DeploymentsDesiredState `db:"desired_state"`
EncryptedEnvironmentVariables []byte `db:"encrypted_environment_variables"`
Command dbtype.StringSlice `db:"command"`
Port int32 `db:"port"`
ShutdownSignal DeploymentsShutdownSignal `db:"shutdown_signal"`
UpstreamProtocol DeploymentsUpstreamProtocol `db:"upstream_protocol"`
Healthcheck dbtype.NullHealthcheck `db:"healthcheck"`
PrNumber sql.NullInt64 `db:"pr_number"`
ForkRepositoryFullName sql.NullString `db:"fork_repository_full_name"`
GithubDeploymentID sql.NullInt64 `db:"github_deployment_id"`
InvocationID sql.NullString `db:"invocation_id"`
Status DeploymentsStatus `db:"status"`
CreatedAt int64 `db:"created_at"`
UpdatedAt sql.NullInt64 `db:"updated_at"`
}
type DeploymentChange ¶
type DeploymentChange struct {
Pk uint64 `db:"pk"`
ResourceType DeploymentChangesResourceType `db:"resource_type"`
ResourceID string `db:"resource_id"`
RegionID string `db:"region_id"`
CreatedAt int64 `db:"created_at"`
}
type DeploymentChangesResourceType ¶
type DeploymentChangesResourceType string
const ( DeploymentChangesResourceTypeDeploymentTopology DeploymentChangesResourceType = "deployment_topology" DeploymentChangesResourceTypeSentinel DeploymentChangesResourceType = "sentinel" DeploymentChangesResourceTypeCiliumNetworkPolicy DeploymentChangesResourceType = "cilium_network_policy" )
func (*DeploymentChangesResourceType) Scan ¶
func (e *DeploymentChangesResourceType) Scan(src interface{}) error
type DeploymentStep ¶
type DeploymentStep struct {
Pk uint64 `db:"pk"`
WorkspaceID string `db:"workspace_id"`
ProjectID string `db:"project_id"`
EnvironmentID string `db:"environment_id"`
DeploymentID string `db:"deployment_id"`
AppID string `db:"app_id"`
Step DeploymentStepsStep `db:"step"`
StartedAt uint64 `db:"started_at"`
EndedAt sql.NullInt64 `db:"ended_at"`
Error sql.NullString `db:"error"`
}
type DeploymentStepsStep ¶
type DeploymentStepsStep string
const ( DeploymentStepsStepQueued DeploymentStepsStep = "queued" DeploymentStepsStepStarting DeploymentStepsStep = "starting" DeploymentStepsStepBuilding DeploymentStepsStep = "building" DeploymentStepsStepDeploying DeploymentStepsStep = "deploying" DeploymentStepsStepNetwork DeploymentStepsStep = "network" DeploymentStepsStepFinalizing DeploymentStepsStep = "finalizing" )
func (*DeploymentStepsStep) Scan ¶
func (e *DeploymentStepsStep) Scan(src interface{}) error
type DeploymentTopology ¶
type DeploymentTopology struct {
Pk uint64 `db:"pk"`
WorkspaceID string `db:"workspace_id"`
DeploymentID string `db:"deployment_id"`
RegionID string `db:"region_id"`
AutoscalingReplicasMin uint32 `db:"autoscaling_replicas_min"`
AutoscalingReplicasMax uint32 `db:"autoscaling_replicas_max"`
AutoscalingThresholdCpu sql.NullInt16 `db:"autoscaling_threshold_cpu"`
AutoscalingThresholdMemory sql.NullInt16 `db:"autoscaling_threshold_memory"`
DesiredStatus DeploymentTopologyDesiredStatus `db:"desired_status"`
CreatedAt int64 `db:"created_at"`
UpdatedAt sql.NullInt64 `db:"updated_at"`
}
type DeploymentTopologyDesiredStatus ¶
type DeploymentTopologyDesiredStatus string
const ( DeploymentTopologyDesiredStatusStopped DeploymentTopologyDesiredStatus = "stopped" DeploymentTopologyDesiredStatusRunning DeploymentTopologyDesiredStatus = "running" )
func (*DeploymentTopologyDesiredStatus) Scan ¶
func (e *DeploymentTopologyDesiredStatus) Scan(src interface{}) error
type DeploymentsDesiredState ¶
type DeploymentsDesiredState string
const ( DeploymentsDesiredStateRunning DeploymentsDesiredState = "running" DeploymentsDesiredStateStandby DeploymentsDesiredState = "standby" DeploymentsDesiredStateArchived DeploymentsDesiredState = "archived" )
func (*DeploymentsDesiredState) Scan ¶
func (e *DeploymentsDesiredState) Scan(src interface{}) error
type DeploymentsShutdownSignal ¶
type DeploymentsShutdownSignal string
const ( DeploymentsShutdownSignalSIGTERM DeploymentsShutdownSignal = "SIGTERM" DeploymentsShutdownSignalSIGINT DeploymentsShutdownSignal = "SIGINT" DeploymentsShutdownSignalSIGQUIT DeploymentsShutdownSignal = "SIGQUIT" DeploymentsShutdownSignalSIGKILL DeploymentsShutdownSignal = "SIGKILL" )
func (*DeploymentsShutdownSignal) Scan ¶
func (e *DeploymentsShutdownSignal) Scan(src interface{}) error
type DeploymentsStatus ¶
type DeploymentsStatus string
const ( DeploymentsStatusPending DeploymentsStatus = "pending" DeploymentsStatusStarting DeploymentsStatus = "starting" DeploymentsStatusBuilding DeploymentsStatus = "building" DeploymentsStatusDeploying DeploymentsStatus = "deploying" DeploymentsStatusNetwork DeploymentsStatus = "network" DeploymentsStatusFinalizing DeploymentsStatus = "finalizing" DeploymentsStatusReady DeploymentsStatus = "ready" DeploymentsStatusFailed DeploymentsStatus = "failed" DeploymentsStatusSkipped DeploymentsStatus = "skipped" DeploymentsStatusAwaitingApproval DeploymentsStatus = "awaiting_approval" DeploymentsStatusStopped DeploymentsStatus = "stopped" DeploymentsStatusSuperseded DeploymentsStatus = "superseded" DeploymentsStatusCancelled DeploymentsStatus = "cancelled" )
func (*DeploymentsStatus) Scan ¶
func (e *DeploymentsStatus) Scan(src interface{}) error
type DeploymentsUpstreamProtocol ¶
type DeploymentsUpstreamProtocol string
const ( DeploymentsUpstreamProtocolHttp1 DeploymentsUpstreamProtocol = "http1" DeploymentsUpstreamProtocolH2c DeploymentsUpstreamProtocol = "h2c" )
func (*DeploymentsUpstreamProtocol) Scan ¶
func (e *DeploymentsUpstreamProtocol) Scan(src interface{}) error
type EncryptedKey ¶
type EndActiveDeploymentStepsForDeploymentsParams ¶
type EndActiveDeploymentStepsForDeploymentsParams struct {
EndedAt sql.NullInt64 `db:"ended_at"`
Error sql.NullString `db:"error"`
DeploymentIds []string `db:"deployment_ids"`
}
type EndActiveDeploymentStepsWithErrorParams ¶
type EndActiveDeploymentStepsWithErrorParams struct {
EndedAt sql.NullInt64 `db:"ended_at"`
Error sql.NullString `db:"error"`
DeploymentID string `db:"deployment_id"`
}
type EndDeploymentStepParams ¶
type EndDeploymentStepParams struct {
EndedAt sql.NullInt64 `db:"ended_at"`
Error sql.NullString `db:"error"`
DeploymentID string `db:"deployment_id"`
Step DeploymentStepsStep `db:"step"`
}
type EnvVarInfo ¶
type Environment ¶
type Environment struct {
Pk uint64 `db:"pk"`
ID string `db:"id"`
WorkspaceID string `db:"workspace_id"`
ProjectID string `db:"project_id"`
AppID string `db:"app_id"`
Slug string `db:"slug"`
Description string `db:"description"`
DeleteProtection sql.NullBool `db:"delete_protection"`
CreatedAt int64 `db:"created_at"`
UpdatedAt sql.NullInt64 `db:"updated_at"`
}
type FindAppByProjectAndSlugRow ¶
type FindAppByProjectAndSlugRow struct {
App App `db:"app"`
}
type FindAppRegionalSettingsByAppAndEnvRow ¶
type FindAppRegionalSettingsByAppAndEnvRow struct {
RegionID string `db:"region_id"`
RegionName string `db:"region_name"`
Replicas int32 `db:"replicas"`
RegionCanSchedule bool `db:"region_can_schedule"`
AutoscalingReplicasMin sql.NullInt32 `db:"autoscaling_replicas_min"`
AutoscalingReplicasMax sql.NullInt32 `db:"autoscaling_replicas_max"`
AutoscalingThresholdCpu sql.NullInt16 `db:"autoscaling_threshold_cpu"`
AutoscalingThresholdMemory sql.NullInt16 `db:"autoscaling_threshold_memory"`
}
type FindAppRuntimeSettingsByAppAndEnvRow ¶
type FindAppRuntimeSettingsByAppAndEnvRow struct {
AppRuntimeSetting AppRuntimeSetting `db:"app_runtime_setting"`
}
type FindAppWithSettingsRow ¶
type FindAppWithSettingsRow struct {
App App `db:"app"`
AppBuildSetting AppBuildSetting `db:"app_build_setting"`
AppRuntimeSetting AppRuntimeSetting `db:"app_runtime_setting"`
}
type FindAuditLogTargetByIDRow ¶
type FindAuditLogTargetByIDRow struct {
AuditLogTarget AuditLogTarget `db:"audit_log_target"`
AuditLog AuditLog `db:"audit_log"`
}
type FindAuditLogsForBackfillRow ¶
type FindAuditLogsForBackfillRow struct {
Pk uint64 `db:"pk"`
ID string `db:"id"`
WorkspaceID string `db:"workspace_id"`
Bucket string `db:"bucket"`
Event string `db:"event"`
Time int64 `db:"time"`
Display string `db:"display"`
RemoteIp sql.NullString `db:"remote_ip"`
UserAgent sql.NullString `db:"user_agent"`
ActorType string `db:"actor_type"`
ActorID string `db:"actor_id"`
ActorName sql.NullString `db:"actor_name"`
ActorMeta []byte `db:"actor_meta"`
}
type FindClickhouseWorkspaceSettingsByWorkspaceIDRow ¶
type FindClickhouseWorkspaceSettingsByWorkspaceIDRow struct {
ClickhouseWorkspaceSetting ClickhouseWorkspaceSetting `db:"clickhouse_workspace_setting"`
Quotas Quotas `db:"quotas"`
}
type FindCustomDomainWithCertByDomainRow ¶
type FindCustomDomainWithCertByDomainRow struct {
Pk uint64 `db:"pk"`
ID string `db:"id"`
WorkspaceID string `db:"workspace_id"`
ProjectID string `db:"project_id"`
AppID string `db:"app_id"`
EnvironmentID string `db:"environment_id"`
Domain string `db:"domain"`
ChallengeType CustomDomainsChallengeType `db:"challenge_type"`
VerificationStatus CustomDomainsVerificationStatus `db:"verification_status"`
VerificationToken string `db:"verification_token"`
OwnershipVerified bool `db:"ownership_verified"`
CnameVerified bool `db:"cname_verified"`
TargetCname string `db:"target_cname"`
LastCheckedAt sql.NullInt64 `db:"last_checked_at"`
CheckAttempts int32 `db:"check_attempts"`
VerificationError sql.NullString `db:"verification_error"`
DomainConnectProvider sql.NullString `db:"domain_connect_provider"`
DomainConnectUrl sql.NullString `db:"domain_connect_url"`
InvocationID sql.NullString `db:"invocation_id"`
CreatedAt int64 `db:"created_at"`
UpdatedAt sql.NullInt64 `db:"updated_at"`
CertificateID sql.NullString `db:"certificate_id"`
}
type FindDeploymentTopologyByDeploymentAndRegionRow ¶
type FindDeploymentTopologyByDeploymentAndRegionRow struct {
DeploymentTopology DeploymentTopology `db:"deployment_topology"`
Deployment Deployment `db:"deployment"`
K8sNamespace sql.NullString `db:"k8s_namespace"`
EnvironmentSlug string `db:"environment_slug"`
RegionName string `db:"region_name"`
GitRepo sql.NullString `db:"git_repo"`
}
type FindEnvironmentByAppIdAndSlugRow ¶
type FindEnvironmentByAppIdAndSlugRow struct {
Environment Environment `db:"environment"`
}
type FindFrontlineRouteByDeploymentIDAndStickyParams ¶
type FindFrontlineRouteByDeploymentIDAndStickyParams struct {
DeploymentID string `db:"deployment_id"`
Sticky FrontlineRoutesSticky `db:"sticky"`
}
type FindFrontlineRouteForPromotionParams ¶
type FindFrontlineRouteForPromotionParams struct {
EnvironmentID string `db:"environment_id"`
Sticky []FrontlineRoutesSticky `db:"sticky"`
}
type FindFrontlineRouteForPromotionRow ¶
type FindFrontlineRouteForPromotionRow struct {
ID string `db:"id"`
ProjectID string `db:"project_id"`
EnvironmentID string `db:"environment_id"`
FullyQualifiedDomainName string `db:"fully_qualified_domain_name"`
DeploymentID string `db:"deployment_id"`
Sticky FrontlineRoutesSticky `db:"sticky"`
CreatedAt int64 `db:"created_at"`
UpdatedAt sql.NullInt64 `db:"updated_at"`
}
type FindFrontlineRoutesForRollbackParams ¶
type FindFrontlineRoutesForRollbackParams struct {
EnvironmentID string `db:"environment_id"`
Sticky []FrontlineRoutesSticky `db:"sticky"`
}
type FindFrontlineRoutesForRollbackRow ¶
type FindFrontlineRoutesForRollbackRow struct {
ID string `db:"id"`
ProjectID string `db:"project_id"`
EnvironmentID string `db:"environment_id"`
FullyQualifiedDomainName string `db:"fully_qualified_domain_name"`
DeploymentID string `db:"deployment_id"`
Sticky FrontlineRoutesSticky `db:"sticky"`
CreatedAt int64 `db:"created_at"`
UpdatedAt sql.NullInt64 `db:"updated_at"`
}
type FindGithubRepoConnectionByProjectIdRow ¶
type FindGithubRepoConnectionByProjectIdRow struct {
Pk uint64 `db:"pk"`
WorkspaceID string `db:"workspace_id"`
ProjectID string `db:"project_id"`
InstallationID int64 `db:"installation_id"`
RepositoryID int64 `db:"repository_id"`
RepositoryFullName string `db:"repository_full_name"`
CreatedAt int64 `db:"created_at"`
UpdatedAt sql.NullInt64 `db:"updated_at"`
}
type FindIdentitiesParams ¶
type FindIdentityByIDParams ¶
type FindIdentityParams ¶
type FindIdentityRow ¶
type FindIdentityRow struct {
Pk uint64 `db:"pk"`
ID string `db:"id"`
ExternalID string `db:"external_id"`
WorkspaceID string `db:"workspace_id"`
Environment string `db:"environment"`
Meta []byte `db:"meta"`
Deleted bool `db:"deleted"`
CreatedAt int64 `db:"created_at"`
UpdatedAt sql.NullInt64 `db:"updated_at"`
Ratelimits interface{} `db:"ratelimits"`
}
type FindKeyAuthsByIdsParams ¶
type FindKeyAuthsByIdsRow ¶
type FindKeyMigrationByIDRow ¶
type FindKeyMigrationByIDRow struct {
ID string `db:"id"`
WorkspaceID string `db:"workspace_id"`
Algorithm KeyMigrationsAlgorithm `db:"algorithm"`
}
type FindKeysByHashRow ¶
type FindLiveApiByIDRow ¶
type FindLiveApiByIDRow struct {
Pk uint64 `db:"pk"`
ID string `db:"id"`
Name string `db:"name"`
WorkspaceID string `db:"workspace_id"`
IpWhitelist sql.NullString `db:"ip_whitelist"`
AuthType NullApisAuthType `db:"auth_type"`
KeyAuthID sql.NullString `db:"key_auth_id"`
CreatedAtM int64 `db:"created_at_m"`
UpdatedAtM sql.NullInt64 `db:"updated_at_m"`
DeletedAtM sql.NullInt64 `db:"deleted_at_m"`
DeleteProtection sql.NullBool `db:"delete_protection"`
KeyAuth KeyAuth `db:"key_auth"`
}
type FindLiveKeyByHashRow ¶
type FindLiveKeyByHashRow struct {
Pk uint64 `db:"pk"`
ID string `db:"id"`
KeyAuthID string `db:"key_auth_id"`
Hash string `db:"hash"`
Start string `db:"start"`
WorkspaceID string `db:"workspace_id"`
ForWorkspaceID sql.NullString `db:"for_workspace_id"`
Name sql.NullString `db:"name"`
OwnerID sql.NullString `db:"owner_id"`
IdentityID sql.NullString `db:"identity_id"`
Meta sql.NullString `db:"meta"`
Expires sql.NullTime `db:"expires"`
CreatedAtM int64 `db:"created_at_m"`
UpdatedAtM sql.NullInt64 `db:"updated_at_m"`
DeletedAtM sql.NullInt64 `db:"deleted_at_m"`
RefillDay sql.NullInt16 `db:"refill_day"`
RefillAmount sql.NullInt64 `db:"refill_amount"`
LastRefillAt sql.NullTime `db:"last_refill_at"`
Enabled bool `db:"enabled"`
RemainingRequests sql.NullInt64 `db:"remaining_requests"`
Environment sql.NullString `db:"environment"`
LastUsedAt uint64 `db:"last_used_at"`
PendingMigrationID sql.NullString `db:"pending_migration_id"`
Api Api `db:"api"`
KeyAuth KeyAuth `db:"key_auth"`
Workspace Workspace `db:"workspace"`
IdentityTableID sql.NullString `db:"identity_table_id"`
IdentityExternalID sql.NullString `db:"identity_external_id"`
IdentityMeta []byte `db:"identity_meta"`
EncryptedKey sql.NullString `db:"encrypted_key"`
EncryptionKeyID sql.NullString `db:"encryption_key_id"`
Roles interface{} `db:"roles"`
Permissions interface{} `db:"permissions"`
RolePermissions interface{} `db:"role_permissions"`
Ratelimits interface{} `db:"ratelimits"`
}
type FindLiveKeyByIDRow ¶
type FindLiveKeyByIDRow struct {
Pk uint64 `db:"pk"`
ID string `db:"id"`
KeyAuthID string `db:"key_auth_id"`
Hash string `db:"hash"`
Start string `db:"start"`
WorkspaceID string `db:"workspace_id"`
ForWorkspaceID sql.NullString `db:"for_workspace_id"`
Name sql.NullString `db:"name"`
OwnerID sql.NullString `db:"owner_id"`
IdentityID sql.NullString `db:"identity_id"`
Meta sql.NullString `db:"meta"`
Expires sql.NullTime `db:"expires"`
CreatedAtM int64 `db:"created_at_m"`
UpdatedAtM sql.NullInt64 `db:"updated_at_m"`
DeletedAtM sql.NullInt64 `db:"deleted_at_m"`
RefillDay sql.NullInt16 `db:"refill_day"`
RefillAmount sql.NullInt64 `db:"refill_amount"`
LastRefillAt sql.NullTime `db:"last_refill_at"`
Enabled bool `db:"enabled"`
RemainingRequests sql.NullInt64 `db:"remaining_requests"`
Environment sql.NullString `db:"environment"`
LastUsedAt uint64 `db:"last_used_at"`
PendingMigrationID sql.NullString `db:"pending_migration_id"`
Api Api `db:"api"`
KeyAuth KeyAuth `db:"key_auth"`
Workspace Workspace `db:"workspace"`
IdentityTableID sql.NullString `db:"identity_table_id"`
IdentityExternalID sql.NullString `db:"identity_external_id"`
IdentityMeta []byte `db:"identity_meta"`
EncryptedKey sql.NullString `db:"encrypted_key"`
EncryptionKeyID sql.NullString `db:"encryption_key_id"`
Roles interface{} `db:"roles"`
Permissions interface{} `db:"permissions"`
RolePermissions interface{} `db:"role_permissions"`
Ratelimits interface{} `db:"ratelimits"`
}
type FindManyRatelimitNamespacesRow ¶
type FindManyRatelimitNamespacesRow struct {
Pk uint64 `db:"pk"`
ID string `db:"id"`
WorkspaceID string `db:"workspace_id"`
Name string `db:"name"`
CreatedAtM int64 `db:"created_at_m"`
UpdatedAtM sql.NullInt64 `db:"updated_at_m"`
DeletedAtM sql.NullInt64 `db:"deleted_at_m"`
Overrides interface{} `db:"overrides"`
}
type FindManyRolesByIdOrNameWithPermsRow ¶
type FindManyRolesByIdOrNameWithPermsRow struct {
Pk uint64 `db:"pk"`
ID string `db:"id"`
WorkspaceID string `db:"workspace_id"`
Name string `db:"name"`
Description sql.NullString `db:"description"`
CreatedAtM int64 `db:"created_at_m"`
UpdatedAtM sql.NullInt64 `db:"updated_at_m"`
Permissions interface{} `db:"permissions"`
}
type FindManyRolesByNamesWithPermsRow ¶
type FindManyRolesByNamesWithPermsRow struct {
Pk uint64 `db:"pk"`
ID string `db:"id"`
WorkspaceID string `db:"workspace_id"`
Name string `db:"name"`
Description sql.NullString `db:"description"`
CreatedAtM int64 `db:"created_at_m"`
UpdatedAtM sql.NullInt64 `db:"updated_at_m"`
Permissions interface{} `db:"permissions"`
}
type FindRatelimitNamespace ¶
type FindRatelimitNamespace struct {
ID string `db:"id"`
WorkspaceID string `db:"workspace_id"`
Name string `db:"name"`
CreatedAtM int64 `db:"created_at_m"`
UpdatedAtM sql.NullInt64 `db:"updated_at_m"`
DeletedAtM sql.NullInt64 `db:"deleted_at_m"`
DirectOverrides map[string]FindRatelimitNamespaceLimitOverride `db:"direct_overrides"`
WildcardOverrides []FindRatelimitNamespaceLimitOverride `db:"wildcard_overrides"`
}
type FindRatelimitNamespaceRow ¶
type FindRatelimitNamespaceRow struct {
Pk uint64 `db:"pk"`
ID string `db:"id"`
WorkspaceID string `db:"workspace_id"`
Name string `db:"name"`
CreatedAtM int64 `db:"created_at_m"`
UpdatedAtM sql.NullInt64 `db:"updated_at_m"`
DeletedAtM sql.NullInt64 `db:"deleted_at_m"`
Overrides interface{} `db:"overrides"`
}
type FindRoleByIdOrNameWithPermsRow ¶
type FindRoleByIdOrNameWithPermsRow struct {
Pk uint64 `db:"pk"`
ID string `db:"id"`
WorkspaceID string `db:"workspace_id"`
Name string `db:"name"`
Description sql.NullString `db:"description"`
CreatedAtM int64 `db:"created_at_m"`
UpdatedAtM sql.NullInt64 `db:"updated_at_m"`
Permissions interface{} `db:"permissions"`
}
type FindRolesByNamesParams ¶
type FindRolesByNamesRow ¶
type FindSentinelDeployContextByK8sNameRow ¶
type FindSentinelDeployContextByK8sNameRow struct {
ID string `db:"id"`
DeployStatus SentinelsDeployStatus `db:"deploy_status"`
DesiredImage string `db:"desired_image"`
RunningImage string `db:"running_image"`
DesiredReplicas int32 `db:"desired_replicas"`
}
type FlipSentinelDeployStatusIfProgressingParams ¶
type FlipSentinelDeployStatusIfProgressingParams struct {
DeployStatus SentinelsDeployStatus `db:"deploy_status"`
UpdatedAt sql.NullInt64 `db:"updated_at"`
ID string `db:"id"`
}
type FrontlineRoute ¶
type FrontlineRoute struct {
Pk uint64 `db:"pk"`
ID string `db:"id"`
ProjectID string `db:"project_id"`
AppID string `db:"app_id"`
DeploymentID string `db:"deployment_id"`
EnvironmentID string `db:"environment_id"`
FullyQualifiedDomainName string `db:"fully_qualified_domain_name"`
Sticky FrontlineRoutesSticky `db:"sticky"`
CreatedAt int64 `db:"created_at"`
UpdatedAt sql.NullInt64 `db:"updated_at"`
}
type FrontlineRoutesSticky ¶
type FrontlineRoutesSticky string
const ( FrontlineRoutesStickyNone FrontlineRoutesSticky = "none" FrontlineRoutesStickyBranch FrontlineRoutesSticky = "branch" FrontlineRoutesStickyEnvironment FrontlineRoutesSticky = "environment" FrontlineRoutesStickyLive FrontlineRoutesSticky = "live" FrontlineRoutesStickyDeployment FrontlineRoutesSticky = "deployment" )
func (*FrontlineRoutesSticky) Scan ¶
func (e *FrontlineRoutesSticky) Scan(src interface{}) error
type GetKeyAuthByIDRow ¶
type GetWorkspacesForQuotaCheckByIDsRow ¶
type GetWorkspacesForQuotaCheckByIDsRow struct {
ID string `db:"id"`
OrgID string `db:"org_id"`
Name string `db:"name"`
StripeCustomerID sql.NullString `db:"stripe_customer_id"`
Tier sql.NullString `db:"tier"`
Enabled bool `db:"enabled"`
RequestsPerMonth sql.NullInt64 `db:"requests_per_month"`
}
type GithubAppInstallation ¶
type GithubRepoConnection ¶
type GithubRepoConnection struct {
Pk uint64 `db:"pk"`
WorkspaceID string `db:"workspace_id"`
ProjectID string `db:"project_id"`
AppID string `db:"app_id"`
InstallationID int64 `db:"installation_id"`
RepositoryID int64 `db:"repository_id"`
RepositoryFullName string `db:"repository_full_name"`
CreatedAt int64 `db:"created_at"`
UpdatedAt sql.NullInt64 `db:"updated_at"`
}
type HorizontalAutoscalingPolicy ¶
type HorizontalAutoscalingPolicy struct {
Pk uint64 `db:"pk"`
ID string `db:"id"`
WorkspaceID string `db:"workspace_id"`
ReplicasMin int32 `db:"replicas_min"`
ReplicasMax int32 `db:"replicas_max"`
MemoryThreshold sql.NullInt16 `db:"memory_threshold"`
CpuThreshold sql.NullInt16 `db:"cpu_threshold"`
RpsThreshold sql.NullInt16 `db:"rps_threshold"`
CreatedAt int64 `db:"created_at"`
UpdatedAt sql.NullInt64 `db:"updated_at"`
}
type Identity ¶
type Identity struct {
Pk uint64 `db:"pk"`
ID string `db:"id"`
ExternalID string `db:"external_id"`
WorkspaceID string `db:"workspace_id"`
Environment string `db:"environment"`
Meta []byte `db:"meta"`
Deleted bool `db:"deleted"`
CreatedAt int64 `db:"created_at"`
UpdatedAt sql.NullInt64 `db:"updated_at"`
}
type InsertAcmeChallengeParams ¶
type InsertAcmeChallengeParams struct {
WorkspaceID string `db:"workspace_id"`
DomainID string `db:"domain_id"`
Token string `db:"token"`
Authorization string `db:"authorization"`
Status AcmeChallengesStatus `db:"status"`
ChallengeType AcmeChallengesChallengeType `db:"challenge_type"`
CreatedAt int64 `db:"created_at"`
UpdatedAt sql.NullInt64 `db:"updated_at"`
ExpiresAt int64 `db:"expires_at"`
}
type InsertAcmeUserParams ¶
type InsertApiParams ¶
type InsertApiParams struct {
ID string `db:"id"`
Name string `db:"name"`
WorkspaceID string `db:"workspace_id"`
AuthType NullApisAuthType `db:"auth_type"`
IpWhitelist sql.NullString `db:"ip_whitelist"`
KeyAuthID sql.NullString `db:"key_auth_id"`
CreatedAtM int64 `db:"created_at_m"`
}
type InsertAppParams ¶
type InsertAppParams struct {
ID string `db:"id"`
WorkspaceID string `db:"workspace_id"`
ProjectID string `db:"project_id"`
Name string `db:"name"`
Slug string `db:"slug"`
DefaultBranch string `db:"default_branch"`
DeleteProtection sql.NullBool `db:"delete_protection"`
CreatedAt int64 `db:"created_at"`
UpdatedAt sql.NullInt64 `db:"updated_at"`
}
type InsertAuditLogParams ¶
type InsertAuditLogParams struct {
ID string `db:"id"`
WorkspaceID string `db:"workspace_id"`
BucketID string `db:"bucket_id"`
Bucket string `db:"bucket"`
Event string `db:"event"`
Time int64 `db:"time"`
Display string `db:"display"`
RemoteIp sql.NullString `db:"remote_ip"`
UserAgent sql.NullString `db:"user_agent"`
ActorType string `db:"actor_type"`
ActorID string `db:"actor_id"`
ActorName sql.NullString `db:"actor_name"`
ActorMeta json.RawMessage `db:"actor_meta"`
CreatedAt int64 `db:"created_at"`
}
type InsertAuditLogTargetParams ¶
type InsertAuditLogTargetParams struct {
WorkspaceID string `db:"workspace_id"`
BucketID string `db:"bucket_id"`
Bucket string `db:"bucket"`
AuditLogID string `db:"audit_log_id"`
DisplayName string `db:"display_name"`
Type string `db:"type"`
ID string `db:"id"`
Name sql.NullString `db:"name"`
Meta json.RawMessage `db:"meta"`
CreatedAt int64 `db:"created_at"`
}
type InsertCertificateParams ¶
type InsertCertificateParams struct {
ID string `db:"id"`
WorkspaceID string `db:"workspace_id"`
Hostname string `db:"hostname"`
Certificate string `db:"certificate"`
EncryptedPrivateKey string `db:"encrypted_private_key"`
CreatedAt int64 `db:"created_at"`
UpdatedAt sql.NullInt64 `db:"updated_at"`
}
type InsertCiliumNetworkPolicyParams ¶
type InsertCiliumNetworkPolicyParams struct {
ID string `db:"id"`
WorkspaceID string `db:"workspace_id"`
ProjectID string `db:"project_id"`
AppID string `db:"app_id"`
EnvironmentID string `db:"environment_id"`
DeploymentID string `db:"deployment_id"`
K8sName string `db:"k8s_name"`
K8sNamespace string `db:"k8s_namespace"`
RegionID string `db:"region_id"`
Policy json.RawMessage `db:"policy"`
CreatedAt int64 `db:"created_at"`
}
type InsertClickhouseWorkspaceSettingsParams ¶
type InsertClickhouseWorkspaceSettingsParams struct {
WorkspaceID string `db:"workspace_id"`
Username string `db:"username"`
PasswordEncrypted string `db:"password_encrypted"`
QuotaDurationSeconds int32 `db:"quota_duration_seconds"`
MaxQueriesPerWindow int32 `db:"max_queries_per_window"`
MaxExecutionTimePerWindow int32 `db:"max_execution_time_per_window"`
MaxQueryExecutionTime int32 `db:"max_query_execution_time"`
MaxQueryMemoryBytes int64 `db:"max_query_memory_bytes"`
MaxQueryResultRows int32 `db:"max_query_result_rows"`
CreatedAt int64 `db:"created_at"`
UpdatedAt sql.NullInt64 `db:"updated_at"`
}
type InsertCustomDomainParams ¶
type InsertCustomDomainParams struct {
ID string `db:"id"`
WorkspaceID string `db:"workspace_id"`
ProjectID string `db:"project_id"`
AppID string `db:"app_id"`
EnvironmentID string `db:"environment_id"`
Domain string `db:"domain"`
ChallengeType CustomDomainsChallengeType `db:"challenge_type"`
VerificationStatus CustomDomainsVerificationStatus `db:"verification_status"`
VerificationToken string `db:"verification_token"`
TargetCname string `db:"target_cname"`
DomainConnectProvider sql.NullString `db:"domain_connect_provider"`
DomainConnectUrl sql.NullString `db:"domain_connect_url"`
InvocationID sql.NullString `db:"invocation_id"`
CreatedAt int64 `db:"created_at"`
}
type InsertDeploymentChangeParams ¶
type InsertDeploymentChangeParams struct {
ResourceType DeploymentChangesResourceType `db:"resource_type"`
ResourceID string `db:"resource_id"`
RegionID string `db:"region_id"`
CreatedAt int64 `db:"created_at"`
}
type InsertDeploymentParams ¶
type InsertDeploymentParams struct {
ID string `db:"id"`
K8sName string `db:"k8s_name"`
WorkspaceID string `db:"workspace_id"`
ProjectID string `db:"project_id"`
AppID string `db:"app_id"`
EnvironmentID string `db:"environment_id"`
GitCommitSha sql.NullString `db:"git_commit_sha"`
GitBranch sql.NullString `db:"git_branch"`
SentinelConfig []byte `db:"sentinel_config"`
GitCommitMessage sql.NullString `db:"git_commit_message"`
GitCommitAuthorHandle sql.NullString `db:"git_commit_author_handle"`
GitCommitAuthorAvatarUrl sql.NullString `db:"git_commit_author_avatar_url"`
GitCommitTimestamp sql.NullInt64 `db:"git_commit_timestamp"`
EncryptedEnvironmentVariables []byte `db:"encrypted_environment_variables"`
Command dbtype.StringSlice `db:"command"`
Status DeploymentsStatus `db:"status"`
CpuMillicores int32 `db:"cpu_millicores"`
MemoryMib int32 `db:"memory_mib"`
StorageMib uint32 `db:"storage_mib"`
Port int32 `db:"port"`
ShutdownSignal DeploymentsShutdownSignal `db:"shutdown_signal"`
UpstreamProtocol DeploymentsUpstreamProtocol `db:"upstream_protocol"`
Healthcheck dbtype.NullHealthcheck `db:"healthcheck"`
PrNumber sql.NullInt64 `db:"pr_number"`
ForkRepositoryFullName sql.NullString `db:"fork_repository_full_name"`
CreatedAt int64 `db:"created_at"`
UpdatedAt sql.NullInt64 `db:"updated_at"`
}
type InsertDeploymentTopologyParams ¶
type InsertDeploymentTopologyParams struct {
WorkspaceID string `db:"workspace_id"`
DeploymentID string `db:"deployment_id"`
RegionID string `db:"region_id"`
AutoscalingReplicasMin uint32 `db:"autoscaling_replicas_min"`
AutoscalingReplicasMax uint32 `db:"autoscaling_replicas_max"`
AutoscalingThresholdCpu sql.NullInt16 `db:"autoscaling_threshold_cpu"`
AutoscalingThresholdMemory sql.NullInt16 `db:"autoscaling_threshold_memory"`
DesiredStatus DeploymentTopologyDesiredStatus `db:"desired_status"`
CreatedAt int64 `db:"created_at"`
}
type InsertEnvironmentParams ¶
type InsertFrontlineRouteParams ¶
type InsertFrontlineRouteParams struct {
ID string `db:"id"`
ProjectID string `db:"project_id"`
AppID string `db:"app_id"`
DeploymentID string `db:"deployment_id"`
EnvironmentID string `db:"environment_id"`
FullyQualifiedDomainName string `db:"fully_qualified_domain_name"`
Sticky FrontlineRoutesSticky `db:"sticky"`
CreatedAt int64 `db:"created_at"`
UpdatedAt sql.NullInt64 `db:"updated_at"`
}
type InsertGithubRepoConnectionParams ¶
type InsertGithubRepoConnectionParams struct {
WorkspaceID string `db:"workspace_id"`
ProjectID string `db:"project_id"`
AppID string `db:"app_id"`
InstallationID int64 `db:"installation_id"`
RepositoryID int64 `db:"repository_id"`
RepositoryFullName string `db:"repository_full_name"`
CreatedAt int64 `db:"created_at"`
UpdatedAt sql.NullInt64 `db:"updated_at"`
}
type InsertIdentityParams ¶
type InsertKeyAuthParams ¶
type InsertKeyMigrationParams ¶
type InsertKeyMigrationParams struct {
ID string `db:"id"`
WorkspaceID string `db:"workspace_id"`
Algorithm KeyMigrationsAlgorithm `db:"algorithm"`
}
type InsertKeyParams ¶
type InsertKeyParams struct {
ID string `db:"id"`
KeySpaceID string `db:"key_space_id"`
Hash string `db:"hash"`
Start string `db:"start"`
WorkspaceID string `db:"workspace_id"`
ForWorkspaceID sql.NullString `db:"for_workspace_id"`
Name sql.NullString `db:"name"`
IdentityID sql.NullString `db:"identity_id"`
Meta sql.NullString `db:"meta"`
Expires sql.NullTime `db:"expires"`
CreatedAtM int64 `db:"created_at_m"`
Enabled bool `db:"enabled"`
RemainingRequests sql.NullInt64 `db:"remaining_requests"`
RefillDay sql.NullInt16 `db:"refill_day"`
RefillAmount sql.NullInt64 `db:"refill_amount"`
PendingMigrationID sql.NullString `db:"pending_migration_id"`
}
type InsertKeyRatelimitParams ¶
type InsertKeyRatelimitParams struct {
ID string `db:"id"`
WorkspaceID string `db:"workspace_id"`
KeyID sql.NullString `db:"key_id"`
Name string `db:"name"`
Limit uint64 `db:"limit"`
Duration uint64 `db:"duration"`
AutoApply bool `db:"auto_apply"`
CreatedAt int64 `db:"created_at"`
UpdatedAt sql.NullInt64 `db:"updated_at"`
}
type InsertKeyRoleParams ¶
type InsertKeySpaceParams ¶
type InsertPermissionParams ¶
type InsertPortalConfigParams ¶
type InsertPortalConfigParams struct {
ID string `db:"id"`
WorkspaceID string `db:"workspace_id"`
Slug string `db:"slug"`
AppID sql.NullString `db:"app_id"`
KeyAuthID sql.NullString `db:"key_auth_id"`
Enabled bool `db:"enabled"`
ReturnUrl sql.NullString `db:"return_url"`
CreatedAt int64 `db:"created_at"`
UpdatedAt sql.NullInt64 `db:"updated_at"`
}
type InsertPortalSessionParams ¶
type InsertPortalSessionParams struct {
ID string `db:"id"`
WorkspaceID string `db:"workspace_id"`
PortalConfigID string `db:"portal_config_id"`
ExternalID string `db:"external_id"`
Permissions json.RawMessage `db:"permissions"`
Preview bool `db:"preview"`
ExpiresAt int64 `db:"expires_at"`
CreatedAt int64 `db:"created_at"`
}
type InsertPortalSessionTokenParams ¶
type InsertPortalSessionTokenParams struct {
ID string `db:"id"`
WorkspaceID string `db:"workspace_id"`
PortalConfigID string `db:"portal_config_id"`
ExternalID string `db:"external_id"`
Permissions json.RawMessage `db:"permissions"`
Preview bool `db:"preview"`
ExpiresAt int64 `db:"expires_at"`
CreatedAt int64 `db:"created_at"`
}
type InsertProjectParams ¶
type InsertRatelimitOverrideParams ¶
type InsertRatelimitOverrideParams struct {
ID string `db:"id"`
WorkspaceID string `db:"workspace_id"`
NamespaceID string `db:"namespace_id"`
Identifier string `db:"identifier"`
Limit uint64 `db:"limit"`
Duration uint64 `db:"duration"`
CreatedAt int64 `db:"created_at"`
UpdatedAt sql.NullInt64 `db:"updated_at"`
}
type InsertRoleParams ¶
type InsertSentinelParams ¶
type InsertSentinelParams struct {
ID string `db:"id"`
WorkspaceID string `db:"workspace_id"`
EnvironmentID string `db:"environment_id"`
ProjectID string `db:"project_id"`
K8sAddress string `db:"k8s_address"`
K8sName string `db:"k8s_name"`
RegionID string `db:"region_id"`
Image string `db:"image"`
DesiredReplicas int32 `db:"desired_replicas"`
CpuMillicores int32 `db:"cpu_millicores"`
MemoryMib int32 `db:"memory_mib"`
CreatedAt int64 `db:"created_at"`
}
type InsertWorkspaceParams ¶
type Instance ¶
type Instance struct {
Pk uint64 `db:"pk"`
ID string `db:"id"`
DeploymentID string `db:"deployment_id"`
WorkspaceID string `db:"workspace_id"`
ProjectID string `db:"project_id"`
AppID string `db:"app_id"`
RegionID string `db:"region_id"`
K8sName string `db:"k8s_name"`
Address string `db:"address"`
CpuMillicores int32 `db:"cpu_millicores"`
MemoryMib int32 `db:"memory_mib"`
StorageMib uint32 `db:"storage_mib"`
Status InstancesStatus `db:"status"`
ContainerStatus dbtype.ContainerStatus `db:"container_status"`
}
type InstancesStatus ¶
type InstancesStatus string
const ( InstancesStatusInactive InstancesStatus = "inactive" InstancesStatusPending InstancesStatus = "pending" InstancesStatusRunning InstancesStatus = "running" InstancesStatusFailed InstancesStatus = "failed" )
func (*InstancesStatus) Scan ¶
func (e *InstancesStatus) Scan(src interface{}) error
type Key ¶
type Key struct {
Pk uint64 `db:"pk"`
ID string `db:"id"`
KeyAuthID string `db:"key_auth_id"`
Hash string `db:"hash"`
Start string `db:"start"`
WorkspaceID string `db:"workspace_id"`
ForWorkspaceID sql.NullString `db:"for_workspace_id"`
Name sql.NullString `db:"name"`
OwnerID sql.NullString `db:"owner_id"`
IdentityID sql.NullString `db:"identity_id"`
Meta sql.NullString `db:"meta"`
Expires sql.NullTime `db:"expires"`
CreatedAtM int64 `db:"created_at_m"`
UpdatedAtM sql.NullInt64 `db:"updated_at_m"`
DeletedAtM sql.NullInt64 `db:"deleted_at_m"`
RefillDay sql.NullInt16 `db:"refill_day"`
RefillAmount sql.NullInt64 `db:"refill_amount"`
LastRefillAt sql.NullTime `db:"last_refill_at"`
Enabled bool `db:"enabled"`
RemainingRequests sql.NullInt64 `db:"remaining_requests"`
Environment sql.NullString `db:"environment"`
LastUsedAt uint64 `db:"last_used_at"`
PendingMigrationID sql.NullString `db:"pending_migration_id"`
}
type KeyAuth ¶
type KeyAuth struct {
Pk uint64 `db:"pk"`
ID string `db:"id"`
WorkspaceID string `db:"workspace_id"`
CreatedAtM int64 `db:"created_at_m"`
UpdatedAtM sql.NullInt64 `db:"updated_at_m"`
DeletedAtM sql.NullInt64 `db:"deleted_at_m"`
StoreEncryptedKeys bool `db:"store_encrypted_keys"`
DefaultPrefix sql.NullString `db:"default_prefix"`
DefaultBytes sql.NullInt32 `db:"default_bytes"`
SizeApprox int32 `db:"size_approx"`
SizeLastUpdatedAt int64 `db:"size_last_updated_at"`
}
type KeyData ¶
type KeyData struct {
Key Key
Api Api
KeyAuth KeyAuth
Workspace Workspace
Identity *Identity // Is optional
EncryptedKey sql.NullString
EncryptionKeyID sql.NullString
Roles []RoleInfo
Permissions []PermissionInfo // Direct permissions attached to the key
RolePermissions []PermissionInfo // Permissions inherited from roles
Ratelimits []RatelimitInfo
}
KeyData represents the complete data for a key including all relationships
type KeyMigration ¶
type KeyMigration struct {
Pk uint64 `db:"pk"`
ID string `db:"id"`
WorkspaceID string `db:"workspace_id"`
Algorithm KeyMigrationsAlgorithm `db:"algorithm"`
}
type KeyMigrationsAlgorithm ¶
type KeyMigrationsAlgorithm string
const ( KeyMigrationsAlgorithmSha256 KeyMigrationsAlgorithm = "sha256" KeyMigrationsAlgorithmGithubcomSeamapiPrefixedApiKey KeyMigrationsAlgorithm = "github.com/seamapi/prefixed-api-key" )
func (*KeyMigrationsAlgorithm) Scan ¶
func (e *KeyMigrationsAlgorithm) Scan(src interface{}) error
type KeyRow ¶
type KeyRow interface {
FindLiveKeyByHashRow | FindLiveKeyByIDRow | ListLiveKeysByKeySpaceIDRow
}
KeyRow constraint for types that can be converted to KeyData
type KeysPermission ¶
type ListAllDeploymentTopologiesByRegionRow ¶
type ListAllDeploymentTopologiesByRegionRow struct {
DeploymentTopology DeploymentTopology `db:"deployment_topology"`
Deployment Deployment `db:"deployment"`
K8sNamespace sql.NullString `db:"k8s_namespace"`
EnvironmentSlug string `db:"environment_slug"`
RegionName string `db:"region_name"`
GitRepo sql.NullString `db:"git_repo"`
}
type ListAppsByProjectRow ¶
type ListAppsByProjectRow struct {
App App `db:"app"`
}
type ListDeploymentsByEnvironmentIdAndStatusParams ¶
type ListDeploymentsByEnvironmentIdAndStatusParams struct {
EnvironmentID string `db:"environment_id"`
Status DeploymentsStatus `db:"status"`
CreatedBefore int64 `db:"created_before"`
UpdatedBefore sql.NullInt64 `db:"updated_before"`
}
type ListDesiredDeploymentTopologyParams ¶
type ListDesiredDeploymentTopologyParams struct {
Region string `db:"region"`
DesiredState DeploymentsDesiredState `db:"desired_state"`
PaginationCursor string `db:"pagination_cursor"`
Limit int32 `db:"limit"`
}
type ListDesiredDeploymentTopologyRow ¶
type ListDesiredDeploymentTopologyRow struct {
DeploymentTopology DeploymentTopology `db:"deployment_topology"`
Deployment Deployment `db:"deployment"`
K8sNamespace sql.NullString `db:"k8s_namespace"`
}
type ListDesiredSentinelsParams ¶
type ListDesiredSentinelsParams struct {
RegionID string `db:"region_id"`
DesiredState SentinelsDesiredState `db:"desired_state"`
PaginationCursor string `db:"pagination_cursor"`
Limit int32 `db:"limit"`
}
type ListExecutableChallengesRow ¶
type ListExecutableChallengesRow struct {
WorkspaceID string `db:"workspace_id"`
ChallengeType AcmeChallengesChallengeType `db:"challenge_type"`
Domain string `db:"domain"`
}
type ListIdentitiesParams ¶
type ListIdentitiesRow ¶
type ListIdentitiesRow struct {
ID string `db:"id"`
ExternalID string `db:"external_id"`
WorkspaceID string `db:"workspace_id"`
Environment string `db:"environment"`
Meta []byte `db:"meta"`
Deleted bool `db:"deleted"`
CreatedAt int64 `db:"created_at"`
UpdatedAt sql.NullInt64 `db:"updated_at"`
Ratelimits interface{} `db:"ratelimits"`
}
type ListKeysByKeySpaceIDParams ¶
type ListKeysByKeySpaceIDParams struct {
KeySpaceID string `db:"key_space_id"`
IDCursor string `db:"id_cursor"`
IdentityID sql.NullString `db:"identity_id"`
Limit int32 `db:"limit"`
}
type ListKeysByKeySpaceIDRow ¶
type ListKeysByKeySpaceIDRow struct {
Key Key `db:"key"`
IdentityID sql.NullString `db:"identity_id"`
ExternalID sql.NullString `db:"external_id"`
IdentityMeta []byte `db:"identity_meta"`
EncryptedKey sql.NullString `db:"encrypted_key"`
EncryptionKeyID sql.NullString `db:"encryption_key_id"`
}
type ListKeysForRefillParams ¶
type ListKeysForRefillRow ¶
type ListLiveKeysByKeySpaceIDParams ¶
type ListLiveKeysByKeySpaceIDParams struct {
KeySpaceID string `db:"key_space_id"`
IDCursor string `db:"id_cursor"`
IdentityID sql.NullString `db:"identity_id"`
Limit int32 `db:"limit"`
}
type ListLiveKeysByKeySpaceIDRow ¶
type ListLiveKeysByKeySpaceIDRow struct {
Pk uint64 `db:"pk"`
ID string `db:"id"`
KeyAuthID string `db:"key_auth_id"`
Hash string `db:"hash"`
Start string `db:"start"`
WorkspaceID string `db:"workspace_id"`
ForWorkspaceID sql.NullString `db:"for_workspace_id"`
Name sql.NullString `db:"name"`
OwnerID sql.NullString `db:"owner_id"`
IdentityID sql.NullString `db:"identity_id"`
Meta sql.NullString `db:"meta"`
Expires sql.NullTime `db:"expires"`
CreatedAtM int64 `db:"created_at_m"`
UpdatedAtM sql.NullInt64 `db:"updated_at_m"`
DeletedAtM sql.NullInt64 `db:"deleted_at_m"`
RefillDay sql.NullInt16 `db:"refill_day"`
RefillAmount sql.NullInt64 `db:"refill_amount"`
LastRefillAt sql.NullTime `db:"last_refill_at"`
Enabled bool `db:"enabled"`
RemainingRequests sql.NullInt64 `db:"remaining_requests"`
Environment sql.NullString `db:"environment"`
LastUsedAt uint64 `db:"last_used_at"`
PendingMigrationID sql.NullString `db:"pending_migration_id"`
IdentityTableID sql.NullString `db:"identity_table_id"`
IdentityExternalID sql.NullString `db:"identity_external_id"`
IdentityMeta []byte `db:"identity_meta"`
EncryptedKey sql.NullString `db:"encrypted_key"`
EncryptionKeyID sql.NullString `db:"encryption_key_id"`
Roles interface{} `db:"roles"`
Permissions interface{} `db:"permissions"`
RolePermissions interface{} `db:"role_permissions"`
Ratelimits interface{} `db:"ratelimits"`
}
type ListOlderActiveDeploymentsForDedupRow ¶
type ListOlderActiveDeploymentsForDedupRow struct {
ID string `db:"id"`
InvocationID sql.NullString `db:"invocation_id"`
}
type ListPermissionsByKeyIDParams ¶
type ListPermissionsByKeyIDParams struct {
KeyID string `db:"key_id"`
}
type ListPermissionsParams ¶
type ListRegionsRow ¶
type ListRepoConnectionDeployContextsRow ¶
type ListRepoConnectionDeployContextsRow struct {
GithubRepoConnection GithubRepoConnection `db:"github_repo_connection"`
Project Project `db:"project"`
Environment Environment `db:"environment"`
App App `db:"app"`
AppBuildSetting AppBuildSetting `db:"app_build_setting"`
AppRuntimeSetting AppRuntimeSetting `db:"app_runtime_setting"`
}
type ListRolesByKeyIDRow ¶
type ListRolesByKeyIDRow struct {
Pk uint64 `db:"pk"`
ID string `db:"id"`
WorkspaceID string `db:"workspace_id"`
Name string `db:"name"`
Description sql.NullString `db:"description"`
CreatedAtM int64 `db:"created_at_m"`
UpdatedAtM sql.NullInt64 `db:"updated_at_m"`
Permissions interface{} `db:"permissions"`
}
type ListRolesParams ¶
type ListRolesRow ¶
type ListRolesRow struct {
Pk uint64 `db:"pk"`
ID string `db:"id"`
WorkspaceID string `db:"workspace_id"`
Name string `db:"name"`
Description sql.NullString `db:"description"`
CreatedAtM int64 `db:"created_at_m"`
UpdatedAtM sql.NullInt64 `db:"updated_at_m"`
Permissions interface{} `db:"permissions"`
}
type ListWorkspacesForQuotaCheckRow ¶
type ListWorkspacesForQuotaCheckRow struct {
ID string `db:"id"`
OrgID string `db:"org_id"`
Name string `db:"name"`
StripeCustomerID sql.NullString `db:"stripe_customer_id"`
Tier sql.NullString `db:"tier"`
Enabled bool `db:"enabled"`
RequestsPerMonth sql.NullInt64 `db:"requests_per_month"`
}
type ListWorkspacesRow ¶
type NullAcmeChallengesChallengeType ¶
type NullAcmeChallengesChallengeType struct {
AcmeChallengesChallengeType AcmeChallengesChallengeType
Valid bool // Valid is true if AcmeChallengesChallengeType is not NULL
}
func (*NullAcmeChallengesChallengeType) Scan ¶
func (ns *NullAcmeChallengesChallengeType) Scan(value interface{}) error
Scan implements the Scanner interface.
type NullAcmeChallengesStatus ¶
type NullAcmeChallengesStatus struct {
AcmeChallengesStatus AcmeChallengesStatus
Valid bool // Valid is true if AcmeChallengesStatus is not NULL
}
func (*NullAcmeChallengesStatus) Scan ¶
func (ns *NullAcmeChallengesStatus) Scan(value interface{}) error
Scan implements the Scanner interface.
type NullApisAuthType ¶
type NullApisAuthType struct {
ApisAuthType ApisAuthType
Valid bool // Valid is true if ApisAuthType is not NULL
}
func (*NullApisAuthType) Scan ¶
func (ns *NullApisAuthType) Scan(value interface{}) error
Scan implements the Scanner interface.
type NullAppEnvironmentVariablesType ¶
type NullAppEnvironmentVariablesType struct {
AppEnvironmentVariablesType AppEnvironmentVariablesType
Valid bool // Valid is true if AppEnvironmentVariablesType is not NULL
}
func (*NullAppEnvironmentVariablesType) Scan ¶
func (ns *NullAppEnvironmentVariablesType) Scan(value interface{}) error
Scan implements the Scanner interface.
type NullAppRuntimeSettingsShutdownSignal ¶
type NullAppRuntimeSettingsShutdownSignal struct {
AppRuntimeSettingsShutdownSignal AppRuntimeSettingsShutdownSignal
Valid bool // Valid is true if AppRuntimeSettingsShutdownSignal is not NULL
}
func (*NullAppRuntimeSettingsShutdownSignal) Scan ¶
func (ns *NullAppRuntimeSettingsShutdownSignal) Scan(value interface{}) error
Scan implements the Scanner interface.
type NullAppRuntimeSettingsUpstreamProtocol ¶
type NullAppRuntimeSettingsUpstreamProtocol struct {
AppRuntimeSettingsUpstreamProtocol AppRuntimeSettingsUpstreamProtocol
Valid bool // Valid is true if AppRuntimeSettingsUpstreamProtocol is not NULL
}
func (*NullAppRuntimeSettingsUpstreamProtocol) Scan ¶
func (ns *NullAppRuntimeSettingsUpstreamProtocol) Scan(value interface{}) error
Scan implements the Scanner interface.
type NullCustomDomainsChallengeType ¶
type NullCustomDomainsChallengeType struct {
CustomDomainsChallengeType CustomDomainsChallengeType
Valid bool // Valid is true if CustomDomainsChallengeType is not NULL
}
func (*NullCustomDomainsChallengeType) Scan ¶
func (ns *NullCustomDomainsChallengeType) Scan(value interface{}) error
Scan implements the Scanner interface.
type NullCustomDomainsVerificationStatus ¶
type NullCustomDomainsVerificationStatus struct {
CustomDomainsVerificationStatus CustomDomainsVerificationStatus
Valid bool // Valid is true if CustomDomainsVerificationStatus is not NULL
}
func (*NullCustomDomainsVerificationStatus) Scan ¶
func (ns *NullCustomDomainsVerificationStatus) Scan(value interface{}) error
Scan implements the Scanner interface.
type NullDeploymentChangesResourceType ¶
type NullDeploymentChangesResourceType struct {
DeploymentChangesResourceType DeploymentChangesResourceType
Valid bool // Valid is true if DeploymentChangesResourceType is not NULL
}
func (*NullDeploymentChangesResourceType) Scan ¶
func (ns *NullDeploymentChangesResourceType) Scan(value interface{}) error
Scan implements the Scanner interface.
type NullDeploymentStepsStep ¶
type NullDeploymentStepsStep struct {
DeploymentStepsStep DeploymentStepsStep
Valid bool // Valid is true if DeploymentStepsStep is not NULL
}
func (*NullDeploymentStepsStep) Scan ¶
func (ns *NullDeploymentStepsStep) Scan(value interface{}) error
Scan implements the Scanner interface.
type NullDeploymentTopologyDesiredStatus ¶
type NullDeploymentTopologyDesiredStatus struct {
DeploymentTopologyDesiredStatus DeploymentTopologyDesiredStatus
Valid bool // Valid is true if DeploymentTopologyDesiredStatus is not NULL
}
func (*NullDeploymentTopologyDesiredStatus) Scan ¶
func (ns *NullDeploymentTopologyDesiredStatus) Scan(value interface{}) error
Scan implements the Scanner interface.
type NullDeploymentsDesiredState ¶
type NullDeploymentsDesiredState struct {
DeploymentsDesiredState DeploymentsDesiredState
Valid bool // Valid is true if DeploymentsDesiredState is not NULL
}
func (*NullDeploymentsDesiredState) Scan ¶
func (ns *NullDeploymentsDesiredState) Scan(value interface{}) error
Scan implements the Scanner interface.
type NullDeploymentsShutdownSignal ¶
type NullDeploymentsShutdownSignal struct {
DeploymentsShutdownSignal DeploymentsShutdownSignal
Valid bool // Valid is true if DeploymentsShutdownSignal is not NULL
}
func (*NullDeploymentsShutdownSignal) Scan ¶
func (ns *NullDeploymentsShutdownSignal) Scan(value interface{}) error
Scan implements the Scanner interface.
type NullDeploymentsStatus ¶
type NullDeploymentsStatus struct {
DeploymentsStatus DeploymentsStatus
Valid bool // Valid is true if DeploymentsStatus is not NULL
}
func (*NullDeploymentsStatus) Scan ¶
func (ns *NullDeploymentsStatus) Scan(value interface{}) error
Scan implements the Scanner interface.
type NullDeploymentsUpstreamProtocol ¶
type NullDeploymentsUpstreamProtocol struct {
DeploymentsUpstreamProtocol DeploymentsUpstreamProtocol
Valid bool // Valid is true if DeploymentsUpstreamProtocol is not NULL
}
func (*NullDeploymentsUpstreamProtocol) Scan ¶
func (ns *NullDeploymentsUpstreamProtocol) Scan(value interface{}) error
Scan implements the Scanner interface.
type NullFrontlineRoutesSticky ¶
type NullFrontlineRoutesSticky struct {
FrontlineRoutesSticky FrontlineRoutesSticky
Valid bool // Valid is true if FrontlineRoutesSticky is not NULL
}
func (*NullFrontlineRoutesSticky) Scan ¶
func (ns *NullFrontlineRoutesSticky) Scan(value interface{}) error
Scan implements the Scanner interface.
type NullInstancesStatus ¶
type NullInstancesStatus struct {
InstancesStatus InstancesStatus
Valid bool // Valid is true if InstancesStatus is not NULL
}
func (*NullInstancesStatus) Scan ¶
func (ns *NullInstancesStatus) Scan(value interface{}) error
Scan implements the Scanner interface.
type NullKeyMigrationsAlgorithm ¶
type NullKeyMigrationsAlgorithm struct {
KeyMigrationsAlgorithm KeyMigrationsAlgorithm
Valid bool // Valid is true if KeyMigrationsAlgorithm is not NULL
}
func (*NullKeyMigrationsAlgorithm) Scan ¶
func (ns *NullKeyMigrationsAlgorithm) Scan(value interface{}) error
Scan implements the Scanner interface.
type NullSentinelsDeployStatus ¶
type NullSentinelsDeployStatus struct {
SentinelsDeployStatus SentinelsDeployStatus
Valid bool // Valid is true if SentinelsDeployStatus is not NULL
}
func (*NullSentinelsDeployStatus) Scan ¶
func (ns *NullSentinelsDeployStatus) Scan(value interface{}) error
Scan implements the Scanner interface.
type NullSentinelsDesiredState ¶
type NullSentinelsDesiredState struct {
SentinelsDesiredState SentinelsDesiredState
Valid bool // Valid is true if SentinelsDesiredState is not NULL
}
func (*NullSentinelsDesiredState) Scan ¶
func (ns *NullSentinelsDesiredState) Scan(value interface{}) error
Scan implements the Scanner interface.
type NullSentinelsHealth ¶
type NullSentinelsHealth struct {
SentinelsHealth SentinelsHealth
Valid bool // Valid is true if SentinelsHealth is not NULL
}
func (*NullSentinelsHealth) Scan ¶
func (ns *NullSentinelsHealth) Scan(value interface{}) error
Scan implements the Scanner interface.
type NullVercelBindingsEnvironment ¶
type NullVercelBindingsEnvironment struct {
VercelBindingsEnvironment VercelBindingsEnvironment
Valid bool // Valid is true if VercelBindingsEnvironment is not NULL
}
func (*NullVercelBindingsEnvironment) Scan ¶
func (ns *NullVercelBindingsEnvironment) Scan(value interface{}) error
Scan implements the Scanner interface.
type NullVercelBindingsResourceType ¶
type NullVercelBindingsResourceType struct {
VercelBindingsResourceType VercelBindingsResourceType
Valid bool // Valid is true if VercelBindingsResourceType is not NULL
}
func (*NullVercelBindingsResourceType) Scan ¶
func (ns *NullVercelBindingsResourceType) Scan(value interface{}) error
Scan implements the Scanner interface.
type OpenapiSpec ¶
type OpenapiSpec struct {
Pk uint64 `db:"pk"`
ID string `db:"id"`
WorkspaceID string `db:"workspace_id"`
DeploymentID sql.NullString `db:"deployment_id"`
PortalConfigID sql.NullString `db:"portal_config_id"`
Content []byte `db:"content"`
CreatedAt int64 `db:"created_at"`
UpdatedAt sql.NullInt64 `db:"updated_at"`
}
type Permission ¶
type PermissionInfo ¶
type PermissionInfo struct {
ID string `json:"id"`
Name string `json:"name"`
Slug string `json:"slug"`
Description dbtype.NullString `json:"description"`
}
type PortalBranding ¶
type PortalBranding struct {
Pk uint64 `db:"pk"`
PortalConfigID string `db:"portal_config_id"`
LogoUrl sql.NullString `db:"logo_url"`
PrimaryColor sql.NullString `db:"primary_color"`
CreatedAt int64 `db:"created_at"`
UpdatedAt sql.NullInt64 `db:"updated_at"`
}
type PortalConfiguration ¶
type PortalConfiguration struct {
Pk uint64 `db:"pk"`
ID string `db:"id"`
WorkspaceID string `db:"workspace_id"`
Slug string `db:"slug"`
AppID sql.NullString `db:"app_id"`
KeyAuthID sql.NullString `db:"key_auth_id"`
Enabled bool `db:"enabled"`
ReturnUrl sql.NullString `db:"return_url"`
CreatedAt int64 `db:"created_at"`
UpdatedAt sql.NullInt64 `db:"updated_at"`
}
type PortalSession ¶
type PortalSession struct {
Pk uint64 `db:"pk"`
ID string `db:"id"`
WorkspaceID string `db:"workspace_id"`
PortalConfigID string `db:"portal_config_id"`
ExternalID string `db:"external_id"`
Permissions json.RawMessage `db:"permissions"`
Preview bool `db:"preview"`
ExpiresAt int64 `db:"expires_at"`
CreatedAt int64 `db:"created_at"`
}
type PortalSessionToken ¶
type PortalSessionToken struct {
Pk uint64 `db:"pk"`
ID string `db:"id"`
WorkspaceID string `db:"workspace_id"`
PortalConfigID string `db:"portal_config_id"`
ExternalID string `db:"external_id"`
Permissions json.RawMessage `db:"permissions"`
Preview bool `db:"preview"`
ExchangedAt sql.NullInt64 `db:"exchanged_at"`
ExpiresAt int64 `db:"expires_at"`
CreatedAt int64 `db:"created_at"`
}
type Project ¶
type Project struct {
Pk uint64 `db:"pk"`
ID string `db:"id"`
WorkspaceID string `db:"workspace_id"`
Name string `db:"name"`
Slug string `db:"slug"`
DepotProjectID sql.NullString `db:"depot_project_id"`
DeleteProtection sql.NullBool `db:"delete_protection"`
CreatedAt int64 `db:"created_at"`
UpdatedAt sql.NullInt64 `db:"updated_at"`
}
type Querier ¶
type Querier interface {
//ClearAcmeChallengeTokens
//
// UPDATE acme_challenges
// SET token = ?, authorization = ?, updated_at = ?
// WHERE domain_id = ?
ClearAcmeChallengeTokens(ctx context.Context, db DBTX, arg ClearAcmeChallengeTokensParams) error
//CompareAndSwapDeploymentStatus
//
// UPDATE deployments
// SET status = ?, updated_at = ?
// WHERE id = ?
// AND status = ?
CompareAndSwapDeploymentStatus(ctx context.Context, db DBTX, arg CompareAndSwapDeploymentStatusParams) (sql.Result, error)
//CountInstancesByAppId
//
// SELECT COUNT(*) as count
// FROM instances i
// JOIN deployments d ON i.deployment_id = d.id
// WHERE d.app_id = ?
CountInstancesByAppId(ctx context.Context, db DBTX, appID string) (int64, error)
//CountSentinelsByAppId
//
// SELECT COUNT(*) as count
// FROM sentinels s
// JOIN environments e ON s.environment_id = e.id
// WHERE e.app_id = ?
CountSentinelsByAppId(ctx context.Context, db DBTX, appID string) (int64, error)
//CountSentinelsByProjectId
//
// SELECT COUNT(*) as count FROM sentinels WHERE project_id = ?
CountSentinelsByProjectId(ctx context.Context, db DBTX, projectID string) (int64, error)
//DeleteAcmeChallengeByDomainID
//
// DELETE FROM acme_challenges WHERE domain_id = ?
DeleteAcmeChallengeByDomainID(ctx context.Context, db DBTX, domainID string) error
//DeleteAllKeyPermissionsByKeyID
//
// DELETE FROM keys_permissions
// WHERE key_id = ?
DeleteAllKeyPermissionsByKeyID(ctx context.Context, db DBTX, keyID string) error
//DeleteAllKeyRolesByKeyID
//
// DELETE FROM keys_roles
// WHERE key_id = ?
DeleteAllKeyRolesByKeyID(ctx context.Context, db DBTX, keyID string) error
//DeleteAppBuildSettingsByEnvironmentId
//
// DELETE FROM app_build_settings WHERE environment_id = ?
DeleteAppBuildSettingsByEnvironmentId(ctx context.Context, db DBTX, environmentID string) error
//DeleteAppById
//
// DELETE FROM apps WHERE id = ?
DeleteAppById(ctx context.Context, db DBTX, id string) error
//DeleteAppEnvVarsByEnvironmentId
//
// DELETE FROM app_environment_variables WHERE environment_id = ?
DeleteAppEnvVarsByEnvironmentId(ctx context.Context, db DBTX, environmentID string) error
//DeleteAppRegionalSettingsByEnvironmentId
//
// DELETE FROM app_regional_settings WHERE environment_id = ?
DeleteAppRegionalSettingsByEnvironmentId(ctx context.Context, db DBTX, environmentID string) error
//DeleteAppRuntimeSettingsByEnvironmentId
//
// DELETE FROM app_runtime_settings WHERE environment_id = ?
DeleteAppRuntimeSettingsByEnvironmentId(ctx context.Context, db DBTX, environmentID string) error
//DeleteCiliumNetworkPoliciesByEnvironmentId
//
// DELETE FROM cilium_network_policies WHERE environment_id = ?
DeleteCiliumNetworkPoliciesByEnvironmentId(ctx context.Context, db DBTX, environmentID string) error
//DeleteCustomDomainByID
//
// DELETE FROM custom_domains WHERE id = ?
DeleteCustomDomainByID(ctx context.Context, db DBTX, id string) error
//DeleteCustomDomainsByEnvironmentId
//
// DELETE FROM custom_domains WHERE environment_id = ?
DeleteCustomDomainsByEnvironmentId(ctx context.Context, db DBTX, environmentID string) error
//DeleteCustomDomainsByProjectId
//
// DELETE FROM custom_domains WHERE project_id = ?
DeleteCustomDomainsByProjectId(ctx context.Context, db DBTX, projectID string) error
// DeleteDeploymentChangesBefore removes old deployment_changes entries for TTL-based cleanup.
//
// DELETE FROM `deployment_changes`
// WHERE created_at < ?
// LIMIT 10000
DeleteDeploymentChangesBefore(ctx context.Context, db DBTX, before int64) error
//DeleteDeploymentInstances
//
// DELETE FROM instances
// WHERE deployment_id = ? AND region_id = ?
DeleteDeploymentInstances(ctx context.Context, db DBTX, arg DeleteDeploymentInstancesParams) error
//DeleteDeploymentStepsByEnvironmentId
//
// DELETE ds FROM deployment_steps ds
// JOIN deployments d ON ds.deployment_id = d.id
// WHERE d.environment_id = ?
DeleteDeploymentStepsByEnvironmentId(ctx context.Context, db DBTX, environmentID string) error
//DeleteDeploymentTopologiesByEnvironmentId
//
// DELETE dt FROM deployment_topology dt
// JOIN deployments d ON dt.deployment_id = d.id
// WHERE d.environment_id = ?
DeleteDeploymentTopologiesByEnvironmentId(ctx context.Context, db DBTX, environmentID string) error
//DeleteDeploymentTopologyByDeploymentId
//
// DELETE FROM `deployment_topology`
// WHERE deployment_id = ?
DeleteDeploymentTopologyByDeploymentId(ctx context.Context, db DBTX, deploymentID string) error
//DeleteDeploymentTopologyByDeploymentRegion
//
// DELETE FROM `deployment_topology`
// WHERE deployment_id = ?
// AND region_id = ?
DeleteDeploymentTopologyByDeploymentRegion(ctx context.Context, db DBTX, arg DeleteDeploymentTopologyByDeploymentRegionParams) error
//DeleteDeploymentsByEnvironmentId
//
// DELETE FROM deployments WHERE environment_id = ?
DeleteDeploymentsByEnvironmentId(ctx context.Context, db DBTX, environmentID string) error
//DeleteEnvironmentById
//
// DELETE FROM environments WHERE id = ?
DeleteEnvironmentById(ctx context.Context, db DBTX, id string) error
//DeleteFrontlineRouteByFQDN
//
// DELETE FROM frontline_routes WHERE fully_qualified_domain_name = ?
DeleteFrontlineRouteByFQDN(ctx context.Context, db DBTX, fqdn string) error
//DeleteFrontlineRoutesByEnvironmentId
//
// DELETE FROM frontline_routes WHERE environment_id = ?
DeleteFrontlineRoutesByEnvironmentId(ctx context.Context, db DBTX, environmentID string) error
//DeleteFrontlineRoutesByProjectId
//
// DELETE FROM frontline_routes WHERE project_id = ?
DeleteFrontlineRoutesByProjectId(ctx context.Context, db DBTX, projectID string) error
//DeleteGithubRepoConnectionsByAppId
//
// DELETE FROM github_repo_connections WHERE app_id = ?
DeleteGithubRepoConnectionsByAppId(ctx context.Context, db DBTX, appID string) error
//DeleteGithubRepoConnectionsByProjectId
//
// DELETE FROM github_repo_connections WHERE project_id = ?
DeleteGithubRepoConnectionsByProjectId(ctx context.Context, db DBTX, projectID string) error
//DeleteIdentity
//
// DELETE FROM identities
// WHERE id = ?
// AND workspace_id = ?
DeleteIdentity(ctx context.Context, db DBTX, arg DeleteIdentityParams) error
//DeleteInstance
//
// DELETE FROM instances WHERE k8s_name = ? AND region_id = ?
DeleteInstance(ctx context.Context, db DBTX, arg DeleteInstanceParams) error
//DeleteKeyByID
//
// DELETE k, kp, kr, rl, ek
// FROM `keys` k
// LEFT JOIN keys_permissions kp ON k.id = kp.key_id
// LEFT JOIN keys_roles kr ON k.id = kr.key_id
// LEFT JOIN ratelimits rl ON k.id = rl.key_id
// LEFT JOIN encrypted_keys ek ON k.id = ek.key_id
// WHERE k.id = ?
DeleteKeyByID(ctx context.Context, db DBTX, id string) error
//DeleteKeyPermissionByKeyAndPermissionID
//
// DELETE FROM keys_permissions
// WHERE key_id = ? AND permission_id = ?
DeleteKeyPermissionByKeyAndPermissionID(ctx context.Context, db DBTX, arg DeleteKeyPermissionByKeyAndPermissionIDParams) error
//DeleteManyKeyPermissionByKeyAndPermissionIDs
//
// DELETE FROM keys_permissions
// WHERE key_id = ? AND permission_id IN (/*SLICE:ids*/?)
DeleteManyKeyPermissionByKeyAndPermissionIDs(ctx context.Context, db DBTX, arg DeleteManyKeyPermissionByKeyAndPermissionIDsParams) error
//DeleteManyKeyPermissionsByPermissionID
//
// DELETE FROM keys_permissions
// WHERE permission_id = ?
DeleteManyKeyPermissionsByPermissionID(ctx context.Context, db DBTX, permissionID string) error
//DeleteManyKeyRolesByKeyAndRoleIDs
//
// DELETE FROM keys_roles
// WHERE key_id = ? AND role_id IN(/*SLICE:role_ids*/?)
DeleteManyKeyRolesByKeyAndRoleIDs(ctx context.Context, db DBTX, arg DeleteManyKeyRolesByKeyAndRoleIDsParams) error
//DeleteManyKeyRolesByKeyID
//
// DELETE FROM keys_roles
// WHERE key_id = ? AND role_id = ?
DeleteManyKeyRolesByKeyID(ctx context.Context, db DBTX, arg DeleteManyKeyRolesByKeyIDParams) error
//DeleteManyKeyRolesByRoleID
//
// DELETE FROM keys_roles
// WHERE role_id = ?
DeleteManyKeyRolesByRoleID(ctx context.Context, db DBTX, roleID string) error
//DeleteManyRatelimitsByIDs
//
// DELETE FROM ratelimits WHERE id IN (/*SLICE:ids*/?)
DeleteManyRatelimitsByIDs(ctx context.Context, db DBTX, ids []string) error
//DeleteManyRatelimitsByIdentityID
//
// DELETE FROM ratelimits WHERE identity_id = ?
DeleteManyRatelimitsByIdentityID(ctx context.Context, db DBTX, identityID sql.NullString) error
//DeleteManyRolePermissionsByPermissionID
//
// DELETE FROM roles_permissions
// WHERE permission_id = ?
DeleteManyRolePermissionsByPermissionID(ctx context.Context, db DBTX, permissionID string) error
//DeleteManyRolePermissionsByRoleID
//
// DELETE FROM roles_permissions
// WHERE role_id = ?
DeleteManyRolePermissionsByRoleID(ctx context.Context, db DBTX, roleID string) error
//DeleteOldIdentityByExternalID
//
// DELETE i, rl
// FROM identities i
// LEFT JOIN ratelimits rl ON rl.identity_id = i.id
// WHERE i.workspace_id = ?
// AND i.external_id = ?
// AND i.id != ?
// AND i.deleted = true
DeleteOldIdentityByExternalID(ctx context.Context, db DBTX, arg DeleteOldIdentityByExternalIDParams) error
//DeleteOldIdentityWithRatelimits
//
// DELETE i, rl
// FROM identities i
// LEFT JOIN ratelimits rl ON rl.identity_id = i.id
// WHERE i.workspace_id = ?
// AND (i.id = ? OR i.external_id = ?)
// AND i.deleted = true
DeleteOldIdentityWithRatelimits(ctx context.Context, db DBTX, arg DeleteOldIdentityWithRatelimitsParams) error
//DeletePermission
//
// DELETE FROM permissions
// WHERE id = ?
DeletePermission(ctx context.Context, db DBTX, permissionID string) error
//DeleteProjectById
//
// DELETE FROM projects WHERE id = ?
DeleteProjectById(ctx context.Context, db DBTX, id string) error
//DeleteRatelimit
//
// DELETE FROM `ratelimits` WHERE id = ?
DeleteRatelimit(ctx context.Context, db DBTX, id string) error
//DeleteRatelimitNamespace
//
// UPDATE `ratelimit_namespaces`
// SET deleted_at_m = ?
// WHERE id = ?
DeleteRatelimitNamespace(ctx context.Context, db DBTX, arg DeleteRatelimitNamespaceParams) (sql.Result, error)
//DeleteRoleByID
//
// DELETE FROM roles
// WHERE id = ?
DeleteRoleByID(ctx context.Context, db DBTX, roleID string) error
//DeleteSentinelsByEnvironmentId
//
// DELETE FROM sentinels WHERE environment_id = ?
DeleteSentinelsByEnvironmentId(ctx context.Context, db DBTX, environmentID string) error
//DeleteSentinelsByProjectId
//
// DELETE FROM sentinels WHERE project_id = ?
DeleteSentinelsByProjectId(ctx context.Context, db DBTX, projectID string) error
//EndActiveDeploymentStepsForDeployments
//
// UPDATE `deployment_steps`
// SET ended_at = ?, error = ?
// WHERE deployment_id IN (/*SLICE:deployment_ids*/?) AND ended_at IS NULL
EndActiveDeploymentStepsForDeployments(ctx context.Context, db DBTX, arg EndActiveDeploymentStepsForDeploymentsParams) error
//EndActiveDeploymentStepsWithError
//
// UPDATE `deployment_steps`
// SET ended_at = ?, error = ?
// WHERE deployment_id = ? AND ended_at IS NULL
EndActiveDeploymentStepsWithError(ctx context.Context, db DBTX, arg EndActiveDeploymentStepsWithErrorParams) error
//EndDeploymentStep
//
// UPDATE `deployment_steps`
// SET ended_at = ?, error = ?
// WHERE deployment_id = ? AND step = ? AND ended_at IS NULL
EndDeploymentStep(ctx context.Context, db DBTX, arg EndDeploymentStepParams) error
//ExchangePortalSessionToken
//
// UPDATE portal_session_tokens
// SET exchanged_at = ?
// WHERE id = ?
// AND exchanged_at IS NULL
// AND expires_at > ?
ExchangePortalSessionToken(ctx context.Context, db DBTX, arg ExchangePortalSessionTokenParams) (sql.Result, error)
//FindAcmeChallengeByToken
//
// SELECT pk, domain_id, workspace_id, token, challenge_type, authorization, status, expires_at, created_at, updated_at FROM acme_challenges WHERE workspace_id = ? AND domain_id = ? AND token = ?
FindAcmeChallengeByToken(ctx context.Context, db DBTX, arg FindAcmeChallengeByTokenParams) (AcmeChallenge, error)
//FindAcmeUserByWorkspaceID
//
// SELECT pk, id, workspace_id, encrypted_key, registration_uri, created_at, updated_at FROM acme_users WHERE workspace_id = ? LIMIT 1
FindAcmeUserByWorkspaceID(ctx context.Context, db DBTX, workspaceID string) (AcmeUser, error)
//FindApiByID
//
// SELECT pk, id, name, workspace_id, ip_whitelist, auth_type, key_auth_id, created_at_m, updated_at_m, deleted_at_m, delete_protection FROM apis WHERE id = ?
FindApiByID(ctx context.Context, db DBTX, id string) (Api, error)
//FindAppBuildSettingByAppEnv
//
// SELECT pk, workspace_id, app_id, environment_id, dockerfile, docker_context, watch_paths, auto_deploy, created_at, updated_at
// FROM `app_build_settings`
// WHERE app_id = ?
// AND environment_id = ?
FindAppBuildSettingByAppEnv(ctx context.Context, db DBTX, arg FindAppBuildSettingByAppEnvParams) (AppBuildSetting, error)
//FindAppById
//
// SELECT pk, id, workspace_id, project_id, name, slug, default_branch, current_deployment_id, is_rolled_back, delete_protection, created_at, updated_at
// FROM apps
// WHERE id = ?
FindAppById(ctx context.Context, db DBTX, id string) (App, error)
//FindAppByProjectAndSlug
//
// SELECT apps.pk, apps.id, apps.workspace_id, apps.project_id, apps.name, apps.slug, apps.default_branch, apps.current_deployment_id, apps.is_rolled_back, apps.delete_protection, apps.created_at, apps.updated_at
// FROM apps
// WHERE apps.project_id = ?
// AND apps.slug = ?
FindAppByProjectAndSlug(ctx context.Context, db DBTX, arg FindAppByProjectAndSlugParams) (FindAppByProjectAndSlugRow, error)
//FindAppByWorkspaceAndSlugs
//
// SELECT p.pk, p.id, p.workspace_id, p.name, p.slug, p.depot_project_id, p.delete_protection, p.created_at, p.updated_at, a.pk, a.id, a.workspace_id, a.project_id, a.name, a.slug, a.default_branch, a.current_deployment_id, a.is_rolled_back, a.delete_protection, a.created_at, a.updated_at
// FROM apps a
// INNER JOIN projects p ON p.id = a.project_id
// WHERE p.workspace_id = ?
// AND p.slug = ?
// AND a.slug = ?
FindAppByWorkspaceAndSlugs(ctx context.Context, db DBTX, arg FindAppByWorkspaceAndSlugsParams) (FindAppByWorkspaceAndSlugsRow, error)
//FindAppEnvVarsByAppAndEnv
//
// SELECT `key`, value
// FROM app_environment_variables
// WHERE app_id = ?
// AND environment_id = ?
FindAppEnvVarsByAppAndEnv(ctx context.Context, db DBTX, arg FindAppEnvVarsByAppAndEnvParams) ([]FindAppEnvVarsByAppAndEnvRow, error)
// FindAppRegionalSettingsByAppAndEnv returns per-region deployment settings
// including the autoscaling policy values (if attached) for snapshotting
// into deployment_topology at deploy time.
//
// SELECT
// ars.region_id,
// r.name AS region_name,
// ars.replicas,
// r.can_schedule AS region_can_schedule,
// hap.replicas_min AS autoscaling_replicas_min,
// hap.replicas_max AS autoscaling_replicas_max,
// hap.cpu_threshold AS autoscaling_threshold_cpu,
// hap.memory_threshold AS autoscaling_threshold_memory
// FROM app_regional_settings ars
// JOIN regions r ON r.id = ars.region_id
// LEFT JOIN horizontal_autoscaling_policies hap ON hap.id = ars.horizontal_autoscaling_policy_id
// WHERE ars.app_id = ?
// AND ars.environment_id = ?
FindAppRegionalSettingsByAppAndEnv(ctx context.Context, db DBTX, arg FindAppRegionalSettingsByAppAndEnvParams) ([]FindAppRegionalSettingsByAppAndEnvRow, error)
//FindAppRuntimeSettingsByAppAndEnv
//
// SELECT app_runtime_settings.pk, app_runtime_settings.workspace_id, app_runtime_settings.app_id, app_runtime_settings.environment_id, app_runtime_settings.port, app_runtime_settings.cpu_millicores, app_runtime_settings.memory_mib, app_runtime_settings.storage_mib, app_runtime_settings.command, app_runtime_settings.healthcheck, app_runtime_settings.shutdown_signal, app_runtime_settings.upstream_protocol, app_runtime_settings.sentinel_config, app_runtime_settings.openapi_spec_path, app_runtime_settings.created_at, app_runtime_settings.updated_at
// FROM app_runtime_settings
// WHERE app_id = ?
// AND environment_id = ?
FindAppRuntimeSettingsByAppAndEnv(ctx context.Context, db DBTX, arg FindAppRuntimeSettingsByAppAndEnvParams) (FindAppRuntimeSettingsByAppAndEnvRow, error)
//FindAppWithSettings
//
// SELECT
// a.pk, a.id, a.workspace_id, a.project_id, a.name, a.slug, a.default_branch, a.current_deployment_id, a.is_rolled_back, a.delete_protection, a.created_at, a.updated_at,
// abs.pk, abs.workspace_id, abs.app_id, abs.environment_id, abs.dockerfile, abs.docker_context, abs.watch_paths, abs.auto_deploy, abs.created_at, abs.updated_at,
// ars.pk, ars.workspace_id, ars.app_id, ars.environment_id, ars.port, ars.cpu_millicores, ars.memory_mib, ars.storage_mib, ars.command, ars.healthcheck, ars.shutdown_signal, ars.upstream_protocol, ars.sentinel_config, ars.openapi_spec_path, ars.created_at, ars.updated_at
// FROM apps a
// INNER JOIN app_build_settings abs ON abs.app_id = a.id AND abs.environment_id = ?
// INNER JOIN app_runtime_settings ars ON ars.app_id = a.id AND ars.environment_id = ?
// WHERE a.id = ?
FindAppWithSettings(ctx context.Context, db DBTX, arg FindAppWithSettingsParams) (FindAppWithSettingsRow, error)
// FindAuditLogMaxPK returns MAX(pk) of the legacy audit_log table, used
// by the backfill VO to snapshot the cutoff on first invocation. Returns
// 0 when the table is empty (COALESCE + CAST keep the call from erroring
// on NULL aggregation and force sqlc to infer the result as uint64
// instead of interface{}).
//
// SELECT CAST(COALESCE(MAX(pk), 0) AS UNSIGNED) AS max_pk
// FROM audit_log
FindAuditLogMaxPK(ctx context.Context, db DBTX) (int64, error)
//FindAuditLogTargetByID
//
// SELECT audit_log_target.pk, audit_log_target.workspace_id, audit_log_target.bucket_id, audit_log_target.bucket, audit_log_target.audit_log_id, audit_log_target.display_name, audit_log_target.type, audit_log_target.id, audit_log_target.name, audit_log_target.meta, audit_log_target.created_at, audit_log_target.updated_at, audit_log.pk, audit_log.id, audit_log.workspace_id, audit_log.bucket, audit_log.bucket_id, audit_log.event, audit_log.time, audit_log.display, audit_log.remote_ip, audit_log.user_agent, audit_log.actor_type, audit_log.actor_id, audit_log.actor_name, audit_log.actor_meta, audit_log.created_at, audit_log.updated_at
// FROM audit_log_target
// JOIN audit_log ON audit_log.id = audit_log_target.audit_log_id
// WHERE audit_log_target.id = ?
FindAuditLogTargetByID(ctx context.Context, db DBTX, id string) ([]FindAuditLogTargetByIDRow, error)
// FindAuditLogTargetsForBackfill fetches every target row attached to a set
// of audit_log_ids in one query. Called by the backfill VO after
// FindAuditLogsForBackfill so we go from "page of N parents" to "page of N
// parents with all their targets" in two MySQL reads, never N+1.
//
// The unique index on (audit_log_id, id) covers the IN-list lookup. Order
// by audit_log_id, pk so the VO's grouping pass sees a deterministic
// per-event target sequence.
//
// SELECT audit_log_id, type, id, name, meta
// FROM audit_log_target
// WHERE audit_log_id IN (/*SLICE:audit_log_ids*/?)
// ORDER BY audit_log_id, pk
FindAuditLogTargetsForBackfill(ctx context.Context, db DBTX, auditLogIds []string) ([]FindAuditLogTargetsForBackfillRow, error)
// FindAuditLogsForBackfill returns one cursor page of legacy audit_log
// rows for the one-shot MySQL -> ClickHouse backfill VO. Ordered by pk so
// the cursor advances monotonically; on a crash mid-page the VO replays
// the same range from its persisted last_pk, and CH's
// non_replicated_deduplication_window collapses the duplicate insert
// block.
//
// The pk <= cutoff bound makes the VO terminate. Rows written after the
// backfill snapshotted the legacy tail are already shipped via the live
// drainer, so the backfill skips them. Without this bound the cursor
// would chase a moving target forever.
//
// The primary key on `pk` makes this a forward range scan; no extra index
// needed. We pull every column the auditlog.Event envelope needs in one
// read so the VO does not have to re-query per row.
//
// SELECT pk, id, workspace_id, bucket, event, time, display,
// remote_ip, user_agent, actor_type, actor_id, actor_name, actor_meta
// FROM audit_log
// WHERE pk > ?
// AND pk <= ?
// ORDER BY pk
// LIMIT ?
FindAuditLogsForBackfill(ctx context.Context, db DBTX, arg FindAuditLogsForBackfillParams) ([]FindAuditLogsForBackfillRow, error)
//FindCertificateByHostname
//
// SELECT pk, id, workspace_id, hostname, certificate, encrypted_private_key, created_at, updated_at FROM certificates WHERE hostname = ?
FindCertificateByHostname(ctx context.Context, db DBTX, hostname string) (Certificate, error)
//FindCertificatesByHostnames
//
// SELECT pk, id, workspace_id, hostname, certificate, encrypted_private_key, created_at, updated_at FROM certificates WHERE hostname IN (/*SLICE:hostnames*/?)
FindCertificatesByHostnames(ctx context.Context, db DBTX, hostnames []string) ([]Certificate, error)
//FindCiliumNetworkPoliciesByDeploymentID
//
// SELECT pk, id, workspace_id, project_id, app_id, environment_id, deployment_id, k8s_name, k8s_namespace, region_id, policy, created_at, updated_at FROM cilium_network_policies WHERE deployment_id = ?
FindCiliumNetworkPoliciesByDeploymentID(ctx context.Context, db DBTX, deploymentID string) ([]CiliumNetworkPolicy, error)
//FindCiliumNetworkPoliciesByEnvironmentID
//
// SELECT pk, id, workspace_id, project_id, app_id, environment_id, deployment_id, k8s_name, k8s_namespace, region_id, policy, created_at, updated_at FROM cilium_network_policies WHERE environment_id = ?
FindCiliumNetworkPoliciesByEnvironmentID(ctx context.Context, db DBTX, environmentID string) ([]CiliumNetworkPolicy, error)
//FindCiliumNetworkPolicyByEnvironmentRegionAndName
//
// SELECT pk, id, workspace_id, project_id, app_id, environment_id, deployment_id, k8s_name, k8s_namespace, region_id, policy, created_at, updated_at
// FROM `cilium_network_policies`
// WHERE environment_id = ? AND region_id = ? AND k8s_name = ?
// LIMIT 1
FindCiliumNetworkPolicyByEnvironmentRegionAndName(ctx context.Context, db DBTX, arg FindCiliumNetworkPolicyByEnvironmentRegionAndNameParams) (CiliumNetworkPolicy, error)
//FindCiliumNetworkPolicyByIDAndRegion
//
// SELECT pk, id, workspace_id, project_id, app_id, environment_id, deployment_id, k8s_name, k8s_namespace, region_id, policy, created_at, updated_at
// FROM `cilium_network_policies`
// WHERE region_id = ? AND id = ?
// LIMIT 1
FindCiliumNetworkPolicyByIDAndRegion(ctx context.Context, db DBTX, arg FindCiliumNetworkPolicyByIDAndRegionParams) (CiliumNetworkPolicy, error)
// FindClickhouseOutboxBatch returns the next batch of unprocessed outbox
// rows for a known set of payload versions. Must be called inside a
// transaction. FOR UPDATE SKIP LOCKED locks the batch so a second cron tick
// (if Restate VO serialization ever fails) silently skips them rather than
// re-processing the same set. The lock is released when the caller commits
// or rolls back. Ordered by pk so retries see a deterministic row set,
// which lets CH's block-level deduplication collapse re-inserts after a
// partial failure.
//
// The version filter means a drainer never reads a payload it can't
// decode. Unknown versions stay in the table until a drainer with the
// matching handler ships.
//
// deleted_at IS NULL skips rows the drainer already shipped. Marked rows
// stay in the table for re-processing (clear deleted_at to re-queue) and
// as an ops audit trail; there's no sweep job today.
//
// SELECT pk, version, workspace_id, event_id, payload, created_at
// FROM clickhouse_outbox
// WHERE version IN (/*SLICE:versions*/?)
// AND deleted_at IS NULL
// ORDER BY pk
// LIMIT ?
// FOR UPDATE SKIP LOCKED
FindClickhouseOutboxBatch(ctx context.Context, db DBTX, arg FindClickhouseOutboxBatchParams) ([]FindClickhouseOutboxBatchRow, error)
//FindClickhouseWorkspaceSettingsByWorkspaceID
//
// SELECT
// c.pk, c.workspace_id, c.username, c.password_encrypted, c.quota_duration_seconds, c.max_queries_per_window, c.max_execution_time_per_window, c.max_query_execution_time, c.max_query_memory_bytes, c.max_query_result_rows, c.created_at, c.updated_at,
// q.pk, q.workspace_id, q.requests_per_month, q.logs_retention_days, q.audit_logs_retention_days, q.team, q.ratelimit_api_limit, q.ratelimit_api_duration, q.allocated_cpu_millicores_total, q.allocated_memory_mib_total, q.allocated_storage_mib_total, q.max_cpu_millicores_per_instance, q.max_memory_mib_per_instance, q.max_storage_mib_per_instance, q.max_concurrent_builds
// FROM `clickhouse_workspace_settings` c
// JOIN `quota` q ON c.workspace_id = q.workspace_id
// WHERE c.workspace_id = ?
FindClickhouseWorkspaceSettingsByWorkspaceID(ctx context.Context, db DBTX, workspaceID string) (FindClickhouseWorkspaceSettingsByWorkspaceIDRow, error)
//FindCustomDomainByDomain
//
// SELECT pk, id, workspace_id, project_id, app_id, environment_id, domain, challenge_type, verification_status, verification_token, ownership_verified, cname_verified, target_cname, last_checked_at, check_attempts, verification_error, domain_connect_provider, domain_connect_url, invocation_id, created_at, updated_at
// FROM custom_domains
// WHERE domain = ?
FindCustomDomainByDomain(ctx context.Context, db DBTX, domain string) (CustomDomain, error)
//FindCustomDomainByDomainOrWildcard
//
// SELECT pk, id, workspace_id, project_id, app_id, environment_id, domain, challenge_type, verification_status, verification_token, ownership_verified, cname_verified, target_cname, last_checked_at, check_attempts, verification_error, domain_connect_provider, domain_connect_url, invocation_id, created_at, updated_at FROM custom_domains
// WHERE domain IN (?, ?)
// ORDER BY
// CASE WHEN domain = ? THEN 0 ELSE 1 END
// LIMIT 1
FindCustomDomainByDomainOrWildcard(ctx context.Context, db DBTX, arg FindCustomDomainByDomainOrWildcardParams) (CustomDomain, error)
//FindCustomDomainById
//
// SELECT pk, id, workspace_id, project_id, app_id, environment_id, domain, challenge_type, verification_status, verification_token, ownership_verified, cname_verified, target_cname, last_checked_at, check_attempts, verification_error, domain_connect_provider, domain_connect_url, invocation_id, created_at, updated_at
// FROM custom_domains
// WHERE id = ?
FindCustomDomainById(ctx context.Context, db DBTX, id string) (CustomDomain, error)
//FindCustomDomainByWorkspaceAndDomain
//
// SELECT pk, id, workspace_id, project_id, app_id, environment_id, domain, challenge_type, verification_status, verification_token, ownership_verified, cname_verified, target_cname, last_checked_at, check_attempts, verification_error, domain_connect_provider, domain_connect_url, invocation_id, created_at, updated_at FROM custom_domains
// WHERE workspace_id = ? AND domain = ?
FindCustomDomainByWorkspaceAndDomain(ctx context.Context, db DBTX, arg FindCustomDomainByWorkspaceAndDomainParams) (CustomDomain, error)
//FindCustomDomainWithCertByDomain
//
// SELECT
// cd.pk, cd.id, cd.workspace_id, cd.project_id, cd.app_id, cd.environment_id, cd.domain, cd.challenge_type, cd.verification_status, cd.verification_token, cd.ownership_verified, cd.cname_verified, cd.target_cname, cd.last_checked_at, cd.check_attempts, cd.verification_error, cd.domain_connect_provider, cd.domain_connect_url, cd.invocation_id, cd.created_at, cd.updated_at,
// c.id AS certificate_id
// FROM custom_domains cd
// LEFT JOIN certificates c ON c.hostname = cd.domain
// WHERE cd.domain = ?
FindCustomDomainWithCertByDomain(ctx context.Context, db DBTX, domain string) (FindCustomDomainWithCertByDomainRow, error)
//FindDeploymentById
//
// SELECT pk, id, k8s_name, workspace_id, project_id, environment_id, app_id, image, build_id, git_commit_sha, git_branch, git_commit_message, git_commit_author_handle, git_commit_author_avatar_url, git_commit_timestamp, sentinel_config, cpu_millicores, memory_mib, storage_mib, desired_state, encrypted_environment_variables, command, port, shutdown_signal, upstream_protocol, healthcheck, pr_number, fork_repository_full_name, github_deployment_id, invocation_id, status, created_at, updated_at FROM `deployments` WHERE id = ?
FindDeploymentById(ctx context.Context, db DBTX, id string) (Deployment, error)
//FindDeploymentByK8sName
//
// SELECT pk, id, k8s_name, workspace_id, project_id, environment_id, app_id, image, build_id, git_commit_sha, git_branch, git_commit_message, git_commit_author_handle, git_commit_author_avatar_url, git_commit_timestamp, sentinel_config, cpu_millicores, memory_mib, storage_mib, desired_state, encrypted_environment_variables, command, port, shutdown_signal, upstream_protocol, healthcheck, pr_number, fork_repository_full_name, github_deployment_id, invocation_id, status, created_at, updated_at FROM `deployments` WHERE k8s_name = ?
FindDeploymentByK8sName(ctx context.Context, db DBTX, k8sName string) (Deployment, error)
// Returns all regions where a deployment is configured.
// Used for fan-out: when a deployment changes, emit state_change to each region.
//
// SELECT r.pk, r.id, r.name, r.platform, r.can_schedule
// FROM `deployment_topology` dt
// INNER JOIN `regions` r ON dt.region_id = r.id
// WHERE dt.deployment_id = ?
FindDeploymentRegions(ctx context.Context, db DBTX, deploymentID string) ([]Region, error)
// FindDeploymentTopologyByDeploymentAndRegion returns a single deployment topology with all
// joined data needed for the Watch stream. Used by the unified WatchDeploymentChanges RPC.
//
// SELECT
// dt.pk, dt.workspace_id, dt.deployment_id, dt.region_id, dt.autoscaling_replicas_min, dt.autoscaling_replicas_max, dt.autoscaling_threshold_cpu, dt.autoscaling_threshold_memory, dt.desired_status, dt.created_at, dt.updated_at,
// d.pk, d.id, d.k8s_name, d.workspace_id, d.project_id, d.environment_id, d.app_id, d.image, d.build_id, d.git_commit_sha, d.git_branch, d.git_commit_message, d.git_commit_author_handle, d.git_commit_author_avatar_url, d.git_commit_timestamp, d.sentinel_config, d.cpu_millicores, d.memory_mib, d.storage_mib, d.desired_state, d.encrypted_environment_variables, d.command, d.port, d.shutdown_signal, d.upstream_protocol, d.healthcheck, d.pr_number, d.fork_repository_full_name, d.github_deployment_id, d.invocation_id, d.status, d.created_at, d.updated_at,
// w.k8s_namespace,
// e.slug AS environment_slug,
// r.name AS region_name,
// grc.repository_full_name AS git_repo
// FROM `deployment_topology` dt
// INNER JOIN `deployments` d ON dt.deployment_id = d.id
// INNER JOIN `workspaces` w ON d.workspace_id = w.id
// INNER JOIN `regions` r ON dt.region_id = r.id
// INNER JOIN `environments` e ON d.environment_id = e.id
// LEFT JOIN `github_repo_connections` grc ON d.app_id = grc.app_id
// WHERE dt.deployment_id = ? AND dt.region_id = ?
// LIMIT 1
FindDeploymentTopologyByDeploymentAndRegion(ctx context.Context, db DBTX, arg FindDeploymentTopologyByDeploymentAndRegionParams) (FindDeploymentTopologyByDeploymentAndRegionRow, error)
// Returns the per-region minimum replica requirement for a deployment.
// Used by ReportDeploymentStatus to compute whether enough regions are
// healthy to call DeployService.NotifyInstancesReady.
//
// SELECT region_id, autoscaling_replicas_min
// FROM deployment_topology
// WHERE deployment_id = ?
FindDeploymentTopologyMinReplicas(ctx context.Context, db DBTX, deploymentID string) ([]FindDeploymentTopologyMinReplicasRow, error)
//FindEnvironmentByAppIdAndSlug
//
// SELECT environments.pk, environments.id, environments.workspace_id, environments.project_id, environments.app_id, environments.slug, environments.description, environments.delete_protection, environments.created_at, environments.updated_at FROM environments
// WHERE app_id = ? AND slug = ?
FindEnvironmentByAppIdAndSlug(ctx context.Context, db DBTX, arg FindEnvironmentByAppIdAndSlugParams) (FindEnvironmentByAppIdAndSlugRow, error)
//FindEnvironmentById
//
// SELECT pk, id, workspace_id, project_id, app_id, slug, description, delete_protection, created_at, updated_at
// FROM environments
// WHERE id = ?
FindEnvironmentById(ctx context.Context, db DBTX, id string) (Environment, error)
//FindEnvironmentByProjectIdAndSlug
//
// SELECT pk, id, workspace_id, project_id, app_id, slug, description, delete_protection, created_at, updated_at
// FROM environments
// WHERE workspace_id = ?
// AND project_id = ?
// AND slug = ?
FindEnvironmentByProjectIdAndSlug(ctx context.Context, db DBTX, arg FindEnvironmentByProjectIdAndSlugParams) (Environment, error)
//FindFrontlineRouteByDeploymentIDAndSticky
//
// SELECT pk, id, project_id, app_id, deployment_id, environment_id, fully_qualified_domain_name, sticky, created_at, updated_at FROM frontline_routes WHERE deployment_id = ? AND sticky = ?
FindFrontlineRouteByDeploymentIDAndSticky(ctx context.Context, db DBTX, arg FindFrontlineRouteByDeploymentIDAndStickyParams) (FrontlineRoute, error)
//FindFrontlineRouteByFQDN
//
// SELECT pk, id, project_id, app_id, deployment_id, environment_id, fully_qualified_domain_name, sticky, created_at, updated_at FROM frontline_routes WHERE fully_qualified_domain_name = ?
FindFrontlineRouteByFQDN(ctx context.Context, db DBTX, fullyQualifiedDomainName string) (FrontlineRoute, error)
//FindFrontlineRouteForPromotion
//
// SELECT
// id,
// project_id,
// environment_id,
// fully_qualified_domain_name,
// deployment_id,
// sticky,
// created_at,
// updated_at
// FROM frontline_routes
// WHERE
// environment_id = ?
// AND sticky IN (/*SLICE:sticky*/?)
// ORDER BY created_at ASC
FindFrontlineRouteForPromotion(ctx context.Context, db DBTX, arg FindFrontlineRouteForPromotionParams) ([]FindFrontlineRouteForPromotionRow, error)
//FindFrontlineRoutesByDeploymentID
//
// SELECT pk, id, project_id, app_id, deployment_id, environment_id, fully_qualified_domain_name, sticky, created_at, updated_at FROM frontline_routes WHERE deployment_id = ?
FindFrontlineRoutesByDeploymentID(ctx context.Context, db DBTX, deploymentID string) ([]FrontlineRoute, error)
//FindFrontlineRoutesForRollback
//
// SELECT
// id,
// project_id,
// environment_id,
// fully_qualified_domain_name,
// deployment_id,
// sticky,
// created_at,
// updated_at
// FROM frontline_routes
// WHERE
// environment_id = ?
// AND sticky IN (/*SLICE:sticky*/?)
// ORDER BY created_at ASC
FindFrontlineRoutesForRollback(ctx context.Context, db DBTX, arg FindFrontlineRoutesForRollbackParams) ([]FindFrontlineRoutesForRollbackRow, error)
//FindGithubRepoConnectionByAppId
//
// SELECT
// pk,
// workspace_id,
// project_id,
// app_id,
// installation_id,
// repository_id,
// repository_full_name,
// created_at,
// updated_at
// FROM github_repo_connections
// WHERE app_id = ?
FindGithubRepoConnectionByAppId(ctx context.Context, db DBTX, appID string) (GithubRepoConnection, error)
//FindGithubRepoConnectionByProjectId
//
// SELECT
// pk,
// workspace_id,
// project_id,
// installation_id,
// repository_id,
// repository_full_name,
// created_at,
// updated_at
// FROM github_repo_connections
// WHERE project_id = ?
FindGithubRepoConnectionByProjectId(ctx context.Context, db DBTX, projectID string) (FindGithubRepoConnectionByProjectIdRow, error)
//FindIdentities
//
// SELECT pk, id, external_id, workspace_id, environment, meta, deleted, created_at, updated_at
// FROM identities
// WHERE workspace_id = ?
// AND deleted = ?
// AND (external_id IN(/*SLICE:identities*/?) OR id IN (/*SLICE:identities*/?))
FindIdentities(ctx context.Context, db DBTX, arg FindIdentitiesParams) ([]Identity, error)
//FindIdentitiesByExternalId
//
// SELECT pk, id, external_id, workspace_id, environment, meta, deleted, created_at, updated_at
// FROM identities
// WHERE workspace_id = ? AND external_id IN (/*SLICE:externalIds*/?) AND deleted = ?
FindIdentitiesByExternalId(ctx context.Context, db DBTX, arg FindIdentitiesByExternalIdParams) ([]Identity, error)
//FindIdentity
//
// SELECT
// i.pk, i.id, i.external_id, i.workspace_id, i.environment, i.meta, i.deleted, i.created_at, i.updated_at,
// COALESCE(
// (SELECT JSON_ARRAYAGG(
// JSON_OBJECT(
// 'id', rl.id,
// 'name', rl.name,
// 'key_id', rl.key_id,
// 'identity_id', rl.identity_id,
// 'limit', rl.`limit`,
// 'duration', rl.duration,
// 'auto_apply', rl.auto_apply = 1
// )
// )
// FROM ratelimits rl WHERE rl.identity_id = i.id),
// JSON_ARRAY()
// ) as ratelimits
// FROM identities i
// JOIN (
// SELECT id1.id FROM identities id1
// WHERE id1.id = ?
// AND id1.workspace_id = ?
// AND id1.deleted = ?
// UNION ALL
// SELECT id2.id FROM identities id2
// WHERE id2.workspace_id = ?
// AND id2.external_id = ?
// AND id2.deleted = ?
// ) AS identity_lookup ON i.id = identity_lookup.id
// LIMIT 1
FindIdentity(ctx context.Context, db DBTX, arg FindIdentityParams) (FindIdentityRow, error)
//FindIdentityByExternalID
//
// SELECT pk, id, external_id, workspace_id, environment, meta, deleted, created_at, updated_at
// FROM identities
// WHERE workspace_id = ?
// AND external_id = ?
// AND deleted = ?
FindIdentityByExternalID(ctx context.Context, db DBTX, arg FindIdentityByExternalIDParams) (Identity, error)
//FindIdentityByID
//
// SELECT pk, id, external_id, workspace_id, environment, meta, deleted, created_at, updated_at
// FROM identities
// WHERE workspace_id = ?
// AND id = ?
// AND deleted = ?
FindIdentityByID(ctx context.Context, db DBTX, arg FindIdentityByIDParams) (Identity, error)
//FindInstanceByPodName
//
// SELECT
// pk, id, deployment_id, workspace_id, project_id, app_id, region_id, k8s_name, address, cpu_millicores, memory_mib, storage_mib, status, container_status
// FROM instances
// WHERE k8s_name = ? AND region_id = ?
FindInstanceByPodName(ctx context.Context, db DBTX, arg FindInstanceByPodNameParams) (Instance, error)
//FindInstancesByDeploymentId
//
// SELECT
// pk, id, deployment_id, workspace_id, project_id, app_id, region_id, k8s_name, address, cpu_millicores, memory_mib, storage_mib, status, container_status
// FROM instances
// WHERE deployment_id = ?
FindInstancesByDeploymentId(ctx context.Context, db DBTX, deploymentid string) ([]Instance, error)
//FindInstancesByDeploymentIdAndRegionID
//
// SELECT
// pk, id, deployment_id, workspace_id, project_id, app_id, region_id, k8s_name, address, cpu_millicores, memory_mib, storage_mib, status, container_status
// FROM instances
// WHERE deployment_id = ? AND region_id = ?
FindInstancesByDeploymentIdAndRegionID(ctx context.Context, db DBTX, arg FindInstancesByDeploymentIdAndRegionIDParams) ([]Instance, error)
//FindKeyAuthsByIds
//
// SELECT ka.id as key_auth_id, a.id as api_id
// FROM apis a
// JOIN key_auth as ka ON ka.id = a.key_auth_id
// WHERE a.workspace_id = ?
// AND a.id IN (/*SLICE:api_ids*/?)
// AND ka.deleted_at_m IS NULL
// AND a.deleted_at_m IS NULL
FindKeyAuthsByIds(ctx context.Context, db DBTX, arg FindKeyAuthsByIdsParams) ([]FindKeyAuthsByIdsRow, error)
//FindKeyAuthsByKeyAuthIds
//
// SELECT ka.id as key_auth_id, a.id as api_id
// FROM key_auth as ka
// JOIN apis a ON a.key_auth_id = ka.id
// WHERE a.workspace_id = ?
// AND ka.id IN (/*SLICE:key_auth_ids*/?)
// AND ka.deleted_at_m IS NULL
// AND a.deleted_at_m IS NULL
FindKeyAuthsByKeyAuthIds(ctx context.Context, db DBTX, arg FindKeyAuthsByKeyAuthIdsParams) ([]FindKeyAuthsByKeyAuthIdsRow, error)
//FindKeyByID
//
// SELECT pk, id, key_auth_id, hash, start, workspace_id, for_workspace_id, name, owner_id, identity_id, meta, expires, created_at_m, updated_at_m, deleted_at_m, refill_day, refill_amount, last_refill_at, enabled, remaining_requests, environment, last_used_at, pending_migration_id FROM `keys` k
// WHERE k.id = ?
FindKeyByID(ctx context.Context, db DBTX, id string) (Key, error)
//FindKeyCredits
//
// SELECT remaining_requests FROM `keys` k WHERE k.id = ?
FindKeyCredits(ctx context.Context, db DBTX, id string) (sql.NullInt64, error)
//FindKeyEncryptionByKeyID
//
// SELECT pk, workspace_id, key_id, created_at, updated_at, encrypted, encryption_key_id FROM encrypted_keys WHERE key_id = ?
FindKeyEncryptionByKeyID(ctx context.Context, db DBTX, keyID string) (EncryptedKey, error)
// FindKeyIDByHash returns just the key ID for a given hash. Use this when
// you only need the ID for a subsequent mutation and do not need the full
// verification payload with roles, permissions, and rate limits.
//
// SELECT id FROM `keys` WHERE hash = ? AND deleted_at_m IS NULL
FindKeyIDByHash(ctx context.Context, db DBTX, hash string) (string, error)
//FindKeyMigrationByID
//
// SELECT
// id,
// workspace_id,
// algorithm
// FROM key_migrations
// WHERE id = ?
// and workspace_id = ?
FindKeyMigrationByID(ctx context.Context, db DBTX, arg FindKeyMigrationByIDParams) (FindKeyMigrationByIDRow, error)
//FindKeyRoleByKeyAndRoleID
//
// SELECT pk, key_id, role_id, workspace_id, created_at_m, updated_at_m
// FROM keys_roles
// WHERE key_id = ?
// AND role_id = ?
FindKeyRoleByKeyAndRoleID(ctx context.Context, db DBTX, arg FindKeyRoleByKeyAndRoleIDParams) ([]KeysRole, error)
//FindKeySpaceByID
//
// SELECT pk, id, workspace_id, created_at_m, updated_at_m, deleted_at_m, store_encrypted_keys, default_prefix, default_bytes, size_approx, size_last_updated_at FROM `key_auth` WHERE id = ?
FindKeySpaceByID(ctx context.Context, db DBTX, id string) (KeyAuth, error)
//FindKeysByHash
//
// SELECT id, hash FROM `keys` WHERE hash IN (/*SLICE:hashes*/?)
FindKeysByHash(ctx context.Context, db DBTX, hashes []string) ([]FindKeysByHashRow, error)
//FindLatestReadyDeploymentByAppAndEnv
//
// SELECT id
// FROM deployments
// WHERE app_id = ?
// AND environment_id = ?
// AND status = 'ready'
// AND id != ?
// ORDER BY created_at DESC
// LIMIT 1
FindLatestReadyDeploymentByAppAndEnv(ctx context.Context, db DBTX, arg FindLatestReadyDeploymentByAppAndEnvParams) (string, error)
//FindLiveApiByID
//
// SELECT apis.pk, apis.id, apis.name, apis.workspace_id, apis.ip_whitelist, apis.auth_type, apis.key_auth_id, apis.created_at_m, apis.updated_at_m, apis.deleted_at_m, apis.delete_protection, ka.pk, ka.id, ka.workspace_id, ka.created_at_m, ka.updated_at_m, ka.deleted_at_m, ka.store_encrypted_keys, ka.default_prefix, ka.default_bytes, ka.size_approx, ka.size_last_updated_at
// FROM apis
// JOIN key_auth as ka ON ka.id = apis.key_auth_id
// WHERE apis.id = ?
// AND ka.deleted_at_m IS NULL
// AND apis.deleted_at_m IS NULL
// LIMIT 1
FindLiveApiByID(ctx context.Context, db DBTX, id string) (FindLiveApiByIDRow, error)
//FindLiveKeyByHash
//
// SELECT
// k.pk, k.id, k.key_auth_id, k.hash, k.start, k.workspace_id, k.for_workspace_id, k.name, k.owner_id, k.identity_id, k.meta, k.expires, k.created_at_m, k.updated_at_m, k.deleted_at_m, k.refill_day, k.refill_amount, k.last_refill_at, k.enabled, k.remaining_requests, k.environment, k.last_used_at, k.pending_migration_id,
// a.pk, a.id, a.name, a.workspace_id, a.ip_whitelist, a.auth_type, a.key_auth_id, a.created_at_m, a.updated_at_m, a.deleted_at_m, a.delete_protection,
// ka.pk, ka.id, ka.workspace_id, ka.created_at_m, ka.updated_at_m, ka.deleted_at_m, ka.store_encrypted_keys, ka.default_prefix, ka.default_bytes, ka.size_approx, ka.size_last_updated_at,
// ws.pk, ws.id, ws.org_id, ws.name, ws.slug, ws.k8s_namespace, ws.tier, ws.stripe_customer_id, ws.stripe_subscription_id, ws.beta_features, ws.subscriptions, ws.enabled, ws.delete_protection, ws.created_at_m, ws.updated_at_m, ws.deleted_at_m,
// i.id as identity_table_id,
// i.external_id as identity_external_id,
// i.meta as identity_meta,
// ek.encrypted as encrypted_key,
// ek.encryption_key_id as encryption_key_id,
//
// -- Roles with both IDs and names
// COALESCE(
// (SELECT JSON_ARRAYAGG(
// JSON_OBJECT(
// 'id', r.id,
// 'name', r.name,
// 'description', r.description
// )
// )
// FROM keys_roles kr
// JOIN roles r ON r.id = kr.role_id
// WHERE kr.key_id = k.id),
// JSON_ARRAY()
// ) as roles,
//
// -- Direct permissions attached to the key
// COALESCE(
// (SELECT JSON_ARRAYAGG(
// JSON_OBJECT(
// 'id', p.id,
// 'name', p.name,
// 'slug', p.slug,
// 'description', p.description
// )
// )
// FROM keys_permissions kp
// JOIN permissions p ON kp.permission_id = p.id
// WHERE kp.key_id = k.id),
// JSON_ARRAY()
// ) as permissions,
//
// -- Permissions from roles
// COALESCE(
// (SELECT JSON_ARRAYAGG(
// JSON_OBJECT(
// 'id', p.id,
// 'name', p.name,
// 'slug', p.slug,
// 'description', p.description
// )
// )
// FROM keys_roles kr
// JOIN roles_permissions rp ON kr.role_id = rp.role_id
// JOIN permissions p ON rp.permission_id = p.id
// WHERE kr.key_id = k.id),
// JSON_ARRAY()
// ) as role_permissions,
//
// -- Rate limits
// COALESCE(
// (SELECT JSON_ARRAYAGG(
// JSON_OBJECT(
// 'id', id,
// 'name', name,
// 'key_id', key_id,
// 'identity_id', identity_id,
// 'limit', `limit`,
// 'duration', duration,
// 'auto_apply', auto_apply = 1
// )
// )
// FROM (
// SELECT rl.id, rl.name, rl.key_id, rl.identity_id, rl.`limit`, rl.duration, rl.auto_apply
// FROM ratelimits rl
// WHERE rl.key_id = k.id
// UNION ALL
// SELECT rl.id, rl.name, rl.key_id, rl.identity_id, rl.`limit`, rl.duration, rl.auto_apply
// FROM ratelimits rl
// WHERE rl.identity_id = i.id
// ) AS combined_rl),
// JSON_ARRAY()
// ) as ratelimits
//
// FROM `keys` k
// JOIN apis a ON a.key_auth_id = k.key_auth_id
// JOIN key_auth ka ON ka.id = k.key_auth_id
// JOIN workspaces ws ON ws.id = k.workspace_id
// LEFT JOIN identities i ON k.identity_id = i.id AND i.deleted = false
// LEFT JOIN encrypted_keys ek ON ek.key_id = k.id
// WHERE k.hash = ?
// AND k.deleted_at_m IS NULL
// AND a.deleted_at_m IS NULL
// AND ka.deleted_at_m IS NULL
// AND ws.deleted_at_m IS NULL
FindLiveKeyByHash(ctx context.Context, db DBTX, hash string) (FindLiveKeyByHashRow, error)
//FindLiveKeyByID
//
// SELECT
// k.pk, k.id, k.key_auth_id, k.hash, k.start, k.workspace_id, k.for_workspace_id, k.name, k.owner_id, k.identity_id, k.meta, k.expires, k.created_at_m, k.updated_at_m, k.deleted_at_m, k.refill_day, k.refill_amount, k.last_refill_at, k.enabled, k.remaining_requests, k.environment, k.last_used_at, k.pending_migration_id,
// a.pk, a.id, a.name, a.workspace_id, a.ip_whitelist, a.auth_type, a.key_auth_id, a.created_at_m, a.updated_at_m, a.deleted_at_m, a.delete_protection,
// ka.pk, ka.id, ka.workspace_id, ka.created_at_m, ka.updated_at_m, ka.deleted_at_m, ka.store_encrypted_keys, ka.default_prefix, ka.default_bytes, ka.size_approx, ka.size_last_updated_at,
// ws.pk, ws.id, ws.org_id, ws.name, ws.slug, ws.k8s_namespace, ws.tier, ws.stripe_customer_id, ws.stripe_subscription_id, ws.beta_features, ws.subscriptions, ws.enabled, ws.delete_protection, ws.created_at_m, ws.updated_at_m, ws.deleted_at_m,
// i.id as identity_table_id,
// i.external_id as identity_external_id,
// i.meta as identity_meta,
// ek.encrypted as encrypted_key,
// ek.encryption_key_id as encryption_key_id,
//
// -- Roles with both IDs and names
// COALESCE(
// (SELECT JSON_ARRAYAGG(
// JSON_OBJECT(
// 'id', r.id,
// 'name', r.name,
// 'description', r.description
// )
// )
// FROM keys_roles kr
// JOIN roles r ON r.id = kr.role_id
// WHERE kr.key_id = k.id),
// JSON_ARRAY()
// ) as roles,
//
// -- Direct permissions attached to the key
// COALESCE(
// (SELECT JSON_ARRAYAGG(
// JSON_OBJECT(
// 'id', p.id,
// 'name', p.name,
// 'slug', p.slug,
// 'description', p.description
// )
// )
// FROM keys_permissions kp
// JOIN permissions p ON kp.permission_id = p.id
// WHERE kp.key_id = k.id),
// JSON_ARRAY()
// ) as permissions,
//
// -- Permissions from roles
// COALESCE(
// (SELECT JSON_ARRAYAGG(
// JSON_OBJECT(
// 'id', p.id,
// 'name', p.name,
// 'slug', p.slug,
// 'description', p.description
// )
// )
// FROM keys_roles kr
// JOIN roles_permissions rp ON kr.role_id = rp.role_id
// JOIN permissions p ON rp.permission_id = p.id
// WHERE kr.key_id = k.id),
// JSON_ARRAY()
// ) as role_permissions,
//
// -- Rate limits
// COALESCE(
// (SELECT JSON_ARRAYAGG(
// JSON_OBJECT(
// 'id', rl.id,
// 'name', rl.name,
// 'key_id', rl.key_id,
// 'identity_id', rl.identity_id,
// 'limit', rl.`limit`,
// 'duration', rl.duration,
// 'auto_apply', rl.auto_apply = 1
// )
// )
// FROM ratelimits rl
// WHERE rl.key_id = k.id
// OR rl.identity_id = i.id),
// JSON_ARRAY()
// ) as ratelimits
//
// FROM `keys` k
// JOIN apis a ON a.key_auth_id = k.key_auth_id
// JOIN key_auth ka ON ka.id = k.key_auth_id
// JOIN workspaces ws ON ws.id = k.workspace_id
// LEFT JOIN identities i ON k.identity_id = i.id AND i.deleted = false
// LEFT JOIN encrypted_keys ek ON ek.key_id = k.id
// WHERE k.id = ?
// AND k.deleted_at_m IS NULL
// AND a.deleted_at_m IS NULL
// AND ka.deleted_at_m IS NULL
// AND ws.deleted_at_m IS NULL
FindLiveKeyByID(ctx context.Context, db DBTX, id string) (FindLiveKeyByIDRow, error)
//FindManyRatelimitNamespaces
//
// SELECT pk, id, workspace_id, name, created_at_m, updated_at_m, deleted_at_m,
// coalesce(
// (select json_arrayagg(
// json_object(
// 'id', ro.id,
// 'identifier', ro.identifier,
// 'limit', ro.limit,
// 'duration', ro.duration
// )
// )
// from ratelimit_overrides ro where ro.namespace_id = ns.id AND ro.deleted_at_m IS NULL),
// json_array()
// ) as overrides
// FROM `ratelimit_namespaces` ns
// WHERE ns.workspace_id = ?
// AND (ns.id IN (/*SLICE:namespaces*/?) OR ns.name IN (/*SLICE:namespaces*/?))
FindManyRatelimitNamespaces(ctx context.Context, db DBTX, arg FindManyRatelimitNamespacesParams) ([]FindManyRatelimitNamespacesRow, error)
//FindManyRolesByIdOrNameWithPerms
//
// SELECT pk, id, workspace_id, name, description, created_at_m, updated_at_m, COALESCE(
// (SELECT JSON_ARRAYAGG(
// json_object(
// 'id', permission.id,
// 'name', permission.name,
// 'slug', permission.slug,
// 'description', permission.description
// )
// )
// FROM (SELECT name, id, slug, description
// FROM roles_permissions rp
// JOIN permissions p ON p.id = rp.permission_id
// WHERE rp.role_id = r.id) as permission),
// JSON_ARRAY()
// ) as permissions
// FROM roles r
// WHERE r.workspace_id = ? AND (
// r.id IN (/*SLICE:search*/?)
// OR r.name IN (/*SLICE:search*/?)
// )
FindManyRolesByIdOrNameWithPerms(ctx context.Context, db DBTX, arg FindManyRolesByIdOrNameWithPermsParams) ([]FindManyRolesByIdOrNameWithPermsRow, error)
//FindManyRolesByNamesWithPerms
//
// SELECT pk, id, workspace_id, name, description, created_at_m, updated_at_m, COALESCE(
// (SELECT JSON_ARRAYAGG(
// json_object(
// 'id', permission.id,
// 'name', permission.name,
// 'slug', permission.slug,
// 'description', permission.description
// )
// )
// FROM (SELECT name, id, slug, description
// FROM roles_permissions rp
// JOIN permissions p ON p.id = rp.permission_id
// WHERE rp.role_id = r.id) as permission),
// JSON_ARRAY()
// ) as permissions
// FROM roles r
// WHERE r.workspace_id = ? AND r.name IN (/*SLICE:names*/?)
FindManyRolesByNamesWithPerms(ctx context.Context, db DBTX, arg FindManyRolesByNamesWithPermsParams) ([]FindManyRolesByNamesWithPermsRow, error)
//FindOpenApiSpecByDeploymentID
//
// SELECT pk, id, workspace_id, deployment_id, portal_config_id, content, created_at, updated_at FROM openapi_specs WHERE deployment_id = ?
FindOpenApiSpecByDeploymentID(ctx context.Context, db DBTX, deploymentID sql.NullString) (OpenapiSpec, error)
// Finds a permission record by its ID
// Returns: The permission record if found
//
// SELECT pk, id, workspace_id, name, slug, description, created_at_m, updated_at_m
// FROM permissions
// WHERE id = ?
// LIMIT 1
FindPermissionByID(ctx context.Context, db DBTX, permissionID string) (Permission, error)
//FindPermissionByIdOrSlug
//
// SELECT pk, id, workspace_id, name, slug, description, created_at_m, updated_at_m
// FROM permissions
// WHERE workspace_id = ? AND (id = ? OR slug = ?)
FindPermissionByIdOrSlug(ctx context.Context, db DBTX, arg FindPermissionByIdOrSlugParams) (Permission, error)
//FindPermissionByNameAndWorkspaceID
//
// SELECT pk, id, workspace_id, name, slug, description, created_at_m, updated_at_m
// FROM permissions
// WHERE name = ?
// AND workspace_id = ?
// LIMIT 1
FindPermissionByNameAndWorkspaceID(ctx context.Context, db DBTX, arg FindPermissionByNameAndWorkspaceIDParams) (Permission, error)
//FindPermissionBySlugAndWorkspaceID
//
// SELECT pk, id, workspace_id, name, slug, description, created_at_m, updated_at_m
// FROM permissions
// WHERE slug = ?
// AND workspace_id = ?
// LIMIT 1
FindPermissionBySlugAndWorkspaceID(ctx context.Context, db DBTX, arg FindPermissionBySlugAndWorkspaceIDParams) (Permission, error)
//FindPermissionsBySlugs
//
// SELECT pk, id, workspace_id, name, slug, description, created_at_m, updated_at_m FROM permissions WHERE workspace_id = ? AND slug IN (/*SLICE:slugs*/?)
FindPermissionsBySlugs(ctx context.Context, db DBTX, arg FindPermissionsBySlugsParams) ([]Permission, error)
//FindPortalBrandingByConfigID
//
// SELECT pk, portal_config_id, logo_url, primary_color, created_at, updated_at FROM portal_branding WHERE portal_config_id = ?
FindPortalBrandingByConfigID(ctx context.Context, db DBTX, portalConfigID string) (PortalBranding, error)
//FindPortalConfigByWorkspaceAndSlug
//
// SELECT pk, id, workspace_id, slug, app_id, key_auth_id, enabled, return_url, created_at, updated_at FROM portal_configurations
// WHERE workspace_id = ? AND slug = ?
FindPortalConfigByWorkspaceAndSlug(ctx context.Context, db DBTX, arg FindPortalConfigByWorkspaceAndSlugParams) (PortalConfiguration, error)
//FindProjectById
//
// SELECT pk, id, workspace_id, name, slug, depot_project_id, delete_protection, created_at, updated_at
// FROM projects
// WHERE id = ?
FindProjectById(ctx context.Context, db DBTX, id string) (Project, error)
//FindProjectBySlug
//
// SELECT pk, id, workspace_id, name, slug, depot_project_id, delete_protection, created_at, updated_at
// FROM projects
// WHERE slug = ?
// LIMIT 1
FindProjectBySlug(ctx context.Context, db DBTX, slug string) (Project, error)
//FindProjectByWorkspaceSlug
//
// SELECT
// id,
// workspace_id,
// name,
// slug,
// delete_protection,
// created_at,
// updated_at
// FROM projects
// WHERE workspace_id = ? AND slug = ?
// LIMIT 1
FindProjectByWorkspaceSlug(ctx context.Context, db DBTX, arg FindProjectByWorkspaceSlugParams) (FindProjectByWorkspaceSlugRow, error)
//FindQuotaByWorkspaceID
//
// SELECT pk, workspace_id, requests_per_month, logs_retention_days, audit_logs_retention_days, team, ratelimit_api_limit, ratelimit_api_duration, allocated_cpu_millicores_total, allocated_memory_mib_total, allocated_storage_mib_total, max_cpu_millicores_per_instance, max_memory_mib_per_instance, max_storage_mib_per_instance, max_concurrent_builds
// FROM `quota`
// WHERE workspace_id = ?
FindQuotaByWorkspaceID(ctx context.Context, db DBTX, workspaceID string) (Quotas, error)
//FindRatelimitNamespace
//
// SELECT pk, id, workspace_id, name, created_at_m, updated_at_m, deleted_at_m,
// coalesce(
// (select json_arrayagg(
// json_object(
// 'id', ro.id,
// 'identifier', ro.identifier,
// 'limit', ro.limit,
// 'duration', ro.duration
// )
// )
// from ratelimit_overrides ro where ro.namespace_id = ns.id AND ro.deleted_at_m IS NULL),
// json_array()
// ) as overrides
// FROM `ratelimit_namespaces` ns
// WHERE ns.workspace_id = ?
// AND (ns.id = ? OR ns.name = ?)
FindRatelimitNamespace(ctx context.Context, db DBTX, arg FindRatelimitNamespaceParams) (FindRatelimitNamespaceRow, error)
//FindRatelimitNamespaceByID
//
// SELECT pk, id, workspace_id, name, created_at_m, updated_at_m, deleted_at_m FROM `ratelimit_namespaces`
// WHERE id = ?
FindRatelimitNamespaceByID(ctx context.Context, db DBTX, id string) (RatelimitNamespace, error)
//FindRatelimitNamespaceByName
//
// SELECT pk, id, workspace_id, name, created_at_m, updated_at_m, deleted_at_m FROM `ratelimit_namespaces`
// WHERE name = ?
// AND workspace_id = ?
FindRatelimitNamespaceByName(ctx context.Context, db DBTX, arg FindRatelimitNamespaceByNameParams) (RatelimitNamespace, error)
//FindRatelimitOverrideByID
//
// SELECT pk, id, workspace_id, namespace_id, identifier, `limit`, duration, created_at_m, updated_at_m, deleted_at_m FROM ratelimit_overrides
// WHERE
// workspace_id = ?
// AND id = ?
FindRatelimitOverrideByID(ctx context.Context, db DBTX, arg FindRatelimitOverrideByIDParams) (RatelimitOverride, error)
//FindRatelimitOverrideByIdentifier
//
// SELECT pk, id, workspace_id, namespace_id, identifier, `limit`, duration, created_at_m, updated_at_m, deleted_at_m FROM ratelimit_overrides
// WHERE
// workspace_id = ?
// AND namespace_id = ?
// AND identifier = ?
FindRatelimitOverrideByIdentifier(ctx context.Context, db DBTX, arg FindRatelimitOverrideByIdentifierParams) (RatelimitOverride, error)
//FindRegionById
//
// SELECT
// pk, id, name, platform, can_schedule
// FROM regions
// WHERE id = ? LIMIT 1
FindRegionById(ctx context.Context, db DBTX, regionID string) (Region, error)
//FindRegionByPlatformAndName
//
// SELECT
// pk, id, name, platform, can_schedule
// FROM regions
// WHERE platform = ? AND name = ? LIMIT 1
FindRegionByPlatformAndName(ctx context.Context, db DBTX, arg FindRegionByPlatformAndNameParams) (Region, error)
// Finds a role record by its ID
// Returns: The role record if found
//
// SELECT pk, id, workspace_id, name, description, created_at_m, updated_at_m
// FROM roles
// WHERE id = ?
// LIMIT 1
FindRoleByID(ctx context.Context, db DBTX, roleID string) (Role, error)
//FindRoleByIdOrNameWithPerms
//
// SELECT pk, id, workspace_id, name, description, created_at_m, updated_at_m, COALESCE(
// (SELECT JSON_ARRAYAGG(
// json_object(
// 'id', permission.id,
// 'name', permission.name,
// 'slug', permission.slug,
// 'description', permission.description
// )
// )
// FROM (SELECT name, id, slug, description
// FROM roles_permissions rp
// JOIN permissions p ON p.id = rp.permission_id
// WHERE rp.role_id = r.id) as permission),
// JSON_ARRAY()
// ) as permissions
// FROM roles r
// WHERE r.workspace_id = ? AND (
// r.id = ?
// OR r.name = ?
// )
FindRoleByIdOrNameWithPerms(ctx context.Context, db DBTX, arg FindRoleByIdOrNameWithPermsParams) (FindRoleByIdOrNameWithPermsRow, error)
// Finds a role record by its name within a specific workspace
// Returns: The role record if found
//
// SELECT pk, id, workspace_id, name, description, created_at_m, updated_at_m
// FROM roles
// WHERE name = ?
// AND workspace_id = ?
// LIMIT 1
FindRoleByNameAndWorkspaceID(ctx context.Context, db DBTX, arg FindRoleByNameAndWorkspaceIDParams) (Role, error)
//FindRolePermissionByRoleAndPermissionID
//
// SELECT pk, role_id, permission_id, workspace_id, created_at_m, updated_at_m
// FROM roles_permissions
// WHERE role_id = ?
// AND permission_id = ?
FindRolePermissionByRoleAndPermissionID(ctx context.Context, db DBTX, arg FindRolePermissionByRoleAndPermissionIDParams) ([]RolesPermission, error)
//FindRolesByNames
//
// SELECT id, name FROM roles WHERE workspace_id = ? AND name IN (/*SLICE:names*/?)
FindRolesByNames(ctx context.Context, db DBTX, arg FindRolesByNamesParams) ([]FindRolesByNamesRow, error)
//FindSentinelByID
//
// SELECT pk, id, workspace_id, project_id, environment_id, k8s_name, k8s_address, region_id, image, running_image, desired_state, health, desired_replicas, available_replicas, deploy_status, cpu_millicores, memory_mib, created_at, updated_at FROM sentinels s
// WHERE id = ? LIMIT 1
FindSentinelByID(ctx context.Context, db DBTX, id string) (Sentinel, error)
// Returns the sentinel fields ReportSentinelStatus needs to decide whether
// a rollout has converged: deploy_status (gates), image comparison, and
// desired replica count.
//
// SELECT
// id,
// deploy_status,
// image AS desired_image,
// running_image,
// desired_replicas
// FROM sentinels
// WHERE k8s_name = ? LIMIT 1
FindSentinelDeployContextByK8sName(ctx context.Context, db DBTX, k8sName string) (FindSentinelDeployContextByK8sNameRow, error)
//FindSentinelsByEnvironmentID
//
// SELECT s.pk, s.id, s.workspace_id, s.project_id, s.environment_id, s.k8s_name, s.k8s_address, s.region_id, s.image, s.running_image, s.desired_state, s.health, s.desired_replicas, s.available_replicas, s.deploy_status, s.cpu_millicores, s.memory_mib, s.created_at, s.updated_at, r.pk, r.id, r.name, r.platform, r.can_schedule FROM sentinels s LEFT JOIN regions r ON s.region_id = r.id WHERE s.environment_id = ?
FindSentinelsByEnvironmentID(ctx context.Context, db DBTX, environmentID string) ([]FindSentinelsByEnvironmentIDRow, error)
//FindValidPortalSession
//
// SELECT pk, id, workspace_id, portal_config_id, external_id, permissions, preview, expires_at, created_at FROM portal_sessions
// WHERE id = ?
// AND expires_at > ?
FindValidPortalSession(ctx context.Context, db DBTX, arg FindValidPortalSessionParams) (PortalSession, error)
//FindValidPortalSessionToken
//
// SELECT pk, id, workspace_id, portal_config_id, external_id, permissions, preview, exchanged_at, expires_at, created_at FROM portal_session_tokens
// WHERE id = ?
// AND exchanged_at IS NULL
// AND expires_at > ?
FindValidPortalSessionToken(ctx context.Context, db DBTX, arg FindValidPortalSessionTokenParams) (PortalSessionToken, error)
//FindVerifiedCustomDomainByAppID
//
// SELECT pk, id, workspace_id, project_id, app_id, environment_id, domain, challenge_type, verification_status, verification_token, ownership_verified, cname_verified, target_cname, last_checked_at, check_attempts, verification_error, domain_connect_provider, domain_connect_url, invocation_id, created_at, updated_at FROM custom_domains
// WHERE app_id = ? AND verification_status = 'verified'
// ORDER BY created_at ASC, id ASC
// LIMIT 1
FindVerifiedCustomDomainByAppID(ctx context.Context, db DBTX, appID string) (CustomDomain, error)
//FindVerifiedCustomDomainByDomainExcludingWorkspace
//
// SELECT pk, id, workspace_id, project_id, app_id, environment_id, domain, challenge_type, verification_status, verification_token, ownership_verified, cname_verified, target_cname, last_checked_at, check_attempts, verification_error, domain_connect_provider, domain_connect_url, invocation_id, created_at, updated_at FROM custom_domains
// WHERE domain = ?
// AND workspace_id != ?
// AND verification_status = 'verified'
// LIMIT 1
FindVerifiedCustomDomainByDomainExcludingWorkspace(ctx context.Context, db DBTX, arg FindVerifiedCustomDomainByDomainExcludingWorkspaceParams) (CustomDomain, error)
//FindWorkspaceByID
//
// SELECT pk, id, org_id, name, slug, k8s_namespace, tier, stripe_customer_id, stripe_subscription_id, beta_features, subscriptions, enabled, delete_protection, created_at_m, updated_at_m, deleted_at_m FROM `workspaces`
// WHERE id = ?
FindWorkspaceByID(ctx context.Context, db DBTX, id string) (Workspace, error)
// FlipSentinelDeployStatusIfProgressing flips deploy_status from progressing
// to the target status, guarding against concurrent writers (e.g. the Deploy
// worker marking failed on timeout) by only updating rows whose current
// status is still 'progressing'. Returns the number of rows affected; the
// caller should treat 0 as "someone else already moved this sentinel out of
// progressing" and skip follow-up side effects (NotifyReady, etc.).
//
// UPDATE sentinels SET
// deploy_status = ?,
// updated_at = ?
// WHERE id = ?
// AND deploy_status = 'progressing'
FlipSentinelDeployStatusIfProgressing(ctx context.Context, db DBTX, arg FlipSentinelDeployStatusIfProgressingParams) (int64, error)
// GetDeploymentChangesMaxVersion returns the current maximum version (pk) for a region.
// Used during full sync to establish the starting version for incremental polling.
//
// SELECT CAST(COALESCE(MAX(pk), 0) AS UNSIGNED) AS max_version
// FROM `deployment_changes`
// WHERE region_id = ?
GetDeploymentChangesMaxVersion(ctx context.Context, db DBTX, regionID string) (int64, error)
//GetKeyAuthByID
//
// SELECT
// id,
// workspace_id,
// created_at_m,
// default_prefix,
// default_bytes,
// store_encrypted_keys
// FROM key_auth
// WHERE id = ?
// AND deleted_at_m IS NULL
GetKeyAuthByID(ctx context.Context, db DBTX, id string) (GetKeyAuthByIDRow, error)
//GetWorkspacesForQuotaCheckByIDs
//
// SELECT
// w.id,
// w.org_id,
// w.name,
// w.stripe_customer_id,
// w.tier,
// w.enabled,
// q.requests_per_month
// FROM `workspaces` w
// LEFT JOIN quota q ON w.id = q.workspace_id
// WHERE w.id IN (/*SLICE:workspace_ids*/?)
GetWorkspacesForQuotaCheckByIDs(ctx context.Context, db DBTX, workspaceIds []string) ([]GetWorkspacesForQuotaCheckByIDsRow, error)
//HardDeleteWorkspace
//
// DELETE FROM `workspaces`
// WHERE id = ?
// AND delete_protection = false
HardDeleteWorkspace(ctx context.Context, db DBTX, id string) (sql.Result, error)
// Check whether a newer deployment exists for the same (app, env, branch) that
// makes building this one pointless. Matches any non-terminal status including
// 'ready' — if a newer commit is already deployed there is no reason to build
// an older one.
//
// SELECT EXISTS (
// SELECT 1 FROM deployments
// WHERE app_id = ?
// AND environment_id = ?
// AND git_branch = ?
// AND status NOT IN ('failed', 'skipped', 'stopped', 'superseded', 'cancelled')
// AND created_at > ?
// AND id != ?
// ) AS has_newer
HasNewerActiveDeployment(ctx context.Context, db DBTX, arg HasNewerActiveDeploymentParams) (bool, error)
//InsertAcmeChallenge
//
// INSERT INTO acme_challenges (
// workspace_id,
// domain_id,
// token,
// authorization,
// status,
// challenge_type,
// created_at,
// updated_at,
// expires_at
// ) VALUES (
// ?,
// ?,
// ?,
// ?,
// ?,
// ?,
// ?,
// ?,
// ?
// )
InsertAcmeChallenge(ctx context.Context, db DBTX, arg InsertAcmeChallengeParams) error
//InsertAcmeUser
//
//
// INSERT INTO acme_users (id, workspace_id, encrypted_key, created_at)
// VALUES (?,?,?,?)
InsertAcmeUser(ctx context.Context, db DBTX, arg InsertAcmeUserParams) error
//InsertApi
//
// INSERT INTO apis (
// id,
// name,
// workspace_id,
// auth_type,
// ip_whitelist,
// key_auth_id,
// created_at_m,
// deleted_at_m
// ) VALUES (
// ?,
// ?,
// ?,
// ?,
// ?,
// ?,
// ?,
// NULL
// )
InsertApi(ctx context.Context, db DBTX, arg InsertApiParams) error
//InsertApp
//
// INSERT INTO apps (
// id,
// workspace_id,
// project_id,
// name,
// slug,
// default_branch,
// delete_protection,
// created_at,
// updated_at
// ) VALUES (
// ?,
// ?,
// ?,
// ?,
// ?,
// ?,
// ?,
// ?,
// ?
// )
InsertApp(ctx context.Context, db DBTX, arg InsertAppParams) error
//InsertAppEnvironmentVariable
//
// INSERT INTO app_environment_variables (id, workspace_id, app_id, environment_id, `key`, value, created_at)
// VALUES (?, ?, ?, ?, ?, ?, ?)
InsertAppEnvironmentVariable(ctx context.Context, db DBTX, arg InsertAppEnvironmentVariableParams) error
//InsertAuditLog
//
// INSERT INTO `audit_log` (
// id,
// workspace_id,
// bucket_id,
// bucket,
// event,
// time,
// display,
// remote_ip,
// user_agent,
// actor_type,
// actor_id,
// actor_name,
// actor_meta,
// created_at
// ) VALUES (
// ?,
// ?,
// ?,
// ?,
// ?,
// ?,
// ?,
// ?,
// ?,
// ?,
// ?,
// ?,
// CAST(? AS JSON),
// ?
// )
InsertAuditLog(ctx context.Context, db DBTX, arg InsertAuditLogParams) error
//InsertAuditLogTarget
//
// INSERT INTO `audit_log_target` (
// workspace_id,
// bucket_id,
// bucket,
// audit_log_id,
// display_name,
// type,
// id,
// name,
// meta,
// created_at
// ) VALUES (
// ?,
// ?,
// ?,
// ?,
// ?,
// ?,
// ?,
// ?,
// CAST(? AS JSON),
// ?
// )
InsertAuditLogTarget(ctx context.Context, db DBTX, arg InsertAuditLogTargetParams) error
//InsertCertificate
//
// INSERT INTO certificates (id, workspace_id, hostname, certificate, encrypted_private_key, created_at)
// VALUES (?, ?, ?, ?, ?, ?) ON DUPLICATE KEY UPDATE
// workspace_id = VALUES(workspace_id),
// hostname = VALUES(hostname),
// certificate = VALUES(certificate),
// encrypted_private_key = VALUES(encrypted_private_key),
// updated_at = ?
InsertCertificate(ctx context.Context, db DBTX, arg InsertCertificateParams) error
//InsertCiliumNetworkPolicy
//
// INSERT INTO cilium_network_policies (
// id,
// workspace_id,
// project_id,
// app_id,
// environment_id,
// deployment_id,
// k8s_name,
// k8s_namespace,
// region_id,
// policy,
// created_at
// ) VALUES (
// ?,
// ?,
// ?,
// ?,
// ?,
// ?,
// ?,
// ?,
// ?,
// ?,
// ?
// )
InsertCiliumNetworkPolicy(ctx context.Context, db DBTX, arg InsertCiliumNetworkPolicyParams) error
// InsertClickhouseOutbox enqueues one event for ClickHouse export. Called
// from the same MySQL transaction as the underlying mutation, so durability
// is exactly the durability of the mutation: if the mutation commits, the
// outbox row commits.
//
// version namespaces the payload schema (e.g. "audit_log.v1"). The drainer
// filters by versions it knows, so writing a new version without a matching
// drainer leaves rows queued safely.
//
// INSERT INTO `clickhouse_outbox` (
// version,
// workspace_id,
// event_id,
// payload,
// created_at
// ) VALUES (
// ?,
// ?,
// ?,
// CAST(? AS JSON),
// ?
// )
InsertClickhouseOutbox(ctx context.Context, db DBTX, arg InsertClickhouseOutboxParams) error
//InsertClickhouseWorkspaceSettings
//
// INSERT INTO `clickhouse_workspace_settings` (
// workspace_id,
// username,
// password_encrypted,
// quota_duration_seconds,
// max_queries_per_window,
// max_execution_time_per_window,
// max_query_execution_time,
// max_query_memory_bytes,
// max_query_result_rows,
// created_at,
// updated_at
// )
// VALUES (
// ?,
// ?,
// ?,
// ?,
// ?,
// ?,
// ?,
// ?,
// ?,
// ?,
// ?
// )
InsertClickhouseWorkspaceSettings(ctx context.Context, db DBTX, arg InsertClickhouseWorkspaceSettingsParams) error
//InsertCustomDomain
//
// INSERT INTO custom_domains (
// id, workspace_id, project_id, app_id, environment_id, domain,
// challenge_type, verification_status, verification_token, target_cname,
// domain_connect_provider, domain_connect_url, invocation_id, created_at
// ) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
InsertCustomDomain(ctx context.Context, db DBTX, arg InsertCustomDomainParams) error
//InsertDeployment
//
// INSERT INTO `deployments` (
// id,
// k8s_name,
// workspace_id,
// project_id,
// app_id,
// environment_id,
// git_commit_sha,
// git_branch,
// sentinel_config,
// git_commit_message,
// git_commit_author_handle,
// git_commit_author_avatar_url,
// git_commit_timestamp,
// encrypted_environment_variables,
// command,
// status,
// cpu_millicores,
// memory_mib,
// storage_mib,
// port,
// shutdown_signal,
// upstream_protocol,
// healthcheck,
// pr_number,
// fork_repository_full_name,
// created_at,
// updated_at
// )
// VALUES (
// ?,
// ?,
// ?,
// ?,
// ?,
// ?,
// ?,
// ?,
// ?,
// ?,
// ?,
// ?,
// ?,
// ?,
// ?,
// ?,
// ?,
// ?,
// ?,
// ?,
// ?,
// ?,
// ?,
// ?,
// ?,
// ?,
// ?
// )
InsertDeployment(ctx context.Context, db DBTX, arg InsertDeploymentParams) error
//InsertDeploymentChange
//
// INSERT INTO `deployment_changes` (
// resource_type,
// resource_id,
// region_id,
// created_at
// ) VALUES (
// ?,
// ?,
// ?,
// ?
// )
InsertDeploymentChange(ctx context.Context, db DBTX, arg InsertDeploymentChangeParams) error
//InsertDeploymentStep
//
// INSERT INTO `deployment_steps` (
// workspace_id,
// project_id,
// app_id,
// environment_id,
// deployment_id,
// step,
// started_at
// )
// VALUES (
// ?,
// ?,
// ?,
// ?,
// ?,
// ?,
// ?
// ) ON DUPLICATE KEY UPDATE
// started_at = VALUES(started_at),
// ended_at = NULL,
// error = NULL
InsertDeploymentStep(ctx context.Context, db DBTX, arg InsertDeploymentStepParams) error
//InsertDeploymentTopology
//
// INSERT INTO `deployment_topology` (
// workspace_id,
// deployment_id,
// region_id,
// autoscaling_replicas_min,
// autoscaling_replicas_max,
// autoscaling_threshold_cpu,
// autoscaling_threshold_memory,
// desired_status,
// created_at
// ) VALUES (
// ?,
// ?,
// ?,
// ?,
// ?,
// ?,
// ?,
// ?,
// ?
// )
InsertDeploymentTopology(ctx context.Context, db DBTX, arg InsertDeploymentTopologyParams) error
//InsertEnvironment
//
// INSERT INTO environments (
// id,
// workspace_id,
// project_id,
// app_id,
// slug,
// description,
// created_at,
// updated_at
// ) VALUES (
// ?, ?, ?, ?, ?, ?, ?, ?
// )
InsertEnvironment(ctx context.Context, db DBTX, arg InsertEnvironmentParams) error
//InsertFrontlineRoute
//
// INSERT INTO frontline_routes (
// id,
// project_id,
// app_id,
// deployment_id,
// environment_id,
// fully_qualified_domain_name,
// sticky,
// created_at,
// updated_at
// )
// VALUES (
// ?,
// ?,
// ?,
// ?,
// ?,
// ?,
// ?,
// ?,
// ?
// )
InsertFrontlineRoute(ctx context.Context, db DBTX, arg InsertFrontlineRouteParams) error
//InsertGithubRepoConnection
//
// INSERT INTO github_repo_connections (
// workspace_id,
// project_id,
// app_id,
// installation_id,
// repository_id,
// repository_full_name,
// created_at,
// updated_at
// )
// VALUES (
// ?,
// ?,
// ?,
// ?,
// ?,
// ?,
// ?,
// ?
// )
InsertGithubRepoConnection(ctx context.Context, db DBTX, arg InsertGithubRepoConnectionParams) error
//InsertIdentity
//
// INSERT INTO `identities` (
// id,
// external_id,
// workspace_id,
// environment,
// created_at,
// meta
// ) VALUES (
// ?,
// ?,
// ?,
// ?,
// ?,
// CAST(? AS JSON)
// )
InsertIdentity(ctx context.Context, db DBTX, arg InsertIdentityParams) error
//InsertIdentityRatelimit
//
// INSERT INTO `ratelimits` (
// id,
// workspace_id,
// identity_id,
// name,
// `limit`,
// duration,
// created_at,
// auto_apply
// ) VALUES (
// ?,
// ?,
// ?,
// ?,
// ?,
// ?,
// ?,
// ?
// ) ON DUPLICATE KEY UPDATE
// name = VALUES(name),
// `limit` = VALUES(`limit`),
// duration = VALUES(duration),
// auto_apply = VALUES(auto_apply),
// updated_at = VALUES(created_at)
InsertIdentityRatelimit(ctx context.Context, db DBTX, arg InsertIdentityRatelimitParams) error
//InsertKey
//
// INSERT INTO `keys` (
// id,
// key_auth_id,
// hash,
// start,
// workspace_id,
// for_workspace_id,
// name,
// owner_id,
// identity_id,
// meta,
// expires,
// created_at_m,
// enabled,
// remaining_requests,
// refill_day,
// refill_amount,
// pending_migration_id
// ) VALUES (
// ?,
// ?,
// ?,
// ?,
// ?,
// ?,
// ?,
// null,
// ?,
// ?,
// ?,
// ?,
// ?,
// ?,
// ?,
// ?,
// ?
// )
InsertKey(ctx context.Context, db DBTX, arg InsertKeyParams) error
//InsertKeyAuth
//
// INSERT INTO key_auth (
// id,
// workspace_id,
// created_at_m,
// default_prefix,
// default_bytes,
// store_encrypted_keys
// ) VALUES (
// ?,
// ?,
// ?,
// ?,
// ?,
// false
// )
InsertKeyAuth(ctx context.Context, db DBTX, arg InsertKeyAuthParams) error
//InsertKeyEncryption
//
// INSERT INTO encrypted_keys
// (workspace_id, key_id, encrypted, encryption_key_id, created_at)
// VALUES (?, ?, ?, ?, ?)
InsertKeyEncryption(ctx context.Context, db DBTX, arg InsertKeyEncryptionParams) error
//InsertKeyMigration
//
// INSERT INTO key_migrations (
// id,
// workspace_id,
// algorithm
// ) VALUES (
// ?,
// ?,
// ?
// )
InsertKeyMigration(ctx context.Context, db DBTX, arg InsertKeyMigrationParams) error
//InsertKeyPermission
//
// INSERT INTO `keys_permissions` (
// key_id,
// permission_id,
// workspace_id,
// created_at_m
// ) VALUES (
// ?,
// ?,
// ?,
// ?
// ) ON DUPLICATE KEY UPDATE updated_at_m = ?
InsertKeyPermission(ctx context.Context, db DBTX, arg InsertKeyPermissionParams) error
//InsertKeyRatelimit
//
// INSERT INTO `ratelimits` (
// id,
// workspace_id,
// key_id,
// name,
// `limit`,
// duration,
// auto_apply,
// created_at
// ) VALUES (
// ?,
// ?,
// ?,
// ?,
// ?,
// ?,
// ?,
// ?
// ) ON DUPLICATE KEY UPDATE
// `limit` = VALUES(`limit`),
// duration = VALUES(duration),
// auto_apply = VALUES(auto_apply),
// updated_at = ?
InsertKeyRatelimit(ctx context.Context, db DBTX, arg InsertKeyRatelimitParams) error
//InsertKeyRole
//
// INSERT INTO keys_roles (
// key_id,
// role_id,
// workspace_id,
// created_at_m
// )
// VALUES (
// ?,
// ?,
// ?,
// ?
// )
InsertKeyRole(ctx context.Context, db DBTX, arg InsertKeyRoleParams) error
//InsertKeySpace
//
// INSERT INTO `key_auth` (
// id,
// workspace_id,
// created_at_m,
// store_encrypted_keys,
// default_prefix,
// default_bytes,
// size_approx,
// size_last_updated_at
// ) VALUES (
// ?,
// ?,
// ?,
// ?,
// ?,
// ?,
// 0,
// 0
// )
InsertKeySpace(ctx context.Context, db DBTX, arg InsertKeySpaceParams) error
//InsertPermission
//
// INSERT INTO permissions (
// id,
// workspace_id,
// name,
// slug,
// description,
// created_at_m
// )
// VALUES (
// ?,
// ?,
// ?,
// ?,
// ?,
// ?
// )
InsertPermission(ctx context.Context, db DBTX, arg InsertPermissionParams) error
//InsertPortalConfig
//
// INSERT INTO portal_configurations (
// id,
// workspace_id,
// slug,
// app_id,
// key_auth_id,
// enabled,
// return_url,
// created_at,
// updated_at
// ) VALUES (
// ?,
// ?,
// ?,
// ?,
// ?,
// ?,
// ?,
// ?,
// ?
// )
InsertPortalConfig(ctx context.Context, db DBTX, arg InsertPortalConfigParams) error
//InsertPortalSession
//
// INSERT INTO portal_sessions (
// id,
// workspace_id,
// portal_config_id,
// external_id,
// permissions,
// preview,
// expires_at,
// created_at
// ) VALUES (
// ?,
// ?,
// ?,
// ?,
// ?,
// ?,
// ?,
// ?
// )
InsertPortalSession(ctx context.Context, db DBTX, arg InsertPortalSessionParams) error
//InsertPortalSessionToken
//
// INSERT INTO portal_session_tokens (
// id,
// workspace_id,
// portal_config_id,
// external_id,
// permissions,
// preview,
// expires_at,
// created_at
// ) VALUES (
// ?,
// ?,
// ?,
// ?,
// ?,
// ?,
// ?,
// ?
// )
InsertPortalSessionToken(ctx context.Context, db DBTX, arg InsertPortalSessionTokenParams) error
//InsertProject
//
// INSERT INTO projects (
// id,
// workspace_id,
// name,
// slug,
// delete_protection,
// created_at,
// updated_at
// ) VALUES (
// ?, ?, ?, ?, ?, ?, ?
// )
InsertProject(ctx context.Context, db DBTX, arg InsertProjectParams) error
//InsertRatelimitNamespace
//
// INSERT INTO
// `ratelimit_namespaces` (
// id,
// workspace_id,
// name,
// created_at_m,
// updated_at_m,
// deleted_at_m
// )
// VALUES
// (
// ?,
// ?,
// ?,
// ?,
// NULL,
// NULL
// )
InsertRatelimitNamespace(ctx context.Context, db DBTX, arg InsertRatelimitNamespaceParams) error
//InsertRatelimitOverride
//
// INSERT INTO ratelimit_overrides (
// id,
// workspace_id,
// namespace_id,
// identifier,
// `limit`,
// duration,
// created_at_m
// )
// VALUES (
// ?,
// ?,
// ?,
// ?,
// ?,
// ?,
// ?
// )
// ON DUPLICATE KEY UPDATE
// `limit` = VALUES(`limit`),
// duration = VALUES(duration),
// updated_at_m = ?
InsertRatelimitOverride(ctx context.Context, db DBTX, arg InsertRatelimitOverrideParams) error
//InsertRole
//
// INSERT INTO roles (
// id,
// workspace_id,
// name,
// description,
// created_at_m
// )
// VALUES (
// ?,
// ?,
// ?,
// ?,
// ?
// )
InsertRole(ctx context.Context, db DBTX, arg InsertRoleParams) error
//InsertRolePermission
//
// INSERT INTO roles_permissions (
// role_id,
// permission_id,
// workspace_id,
// created_at_m
// )
// VALUES (
// ?,
// ?,
// ?,
// ?
// )
InsertRolePermission(ctx context.Context, db DBTX, arg InsertRolePermissionParams) error
//InsertSentinel
//
// INSERT INTO sentinels (
// id,
// workspace_id,
// environment_id,
// project_id,
// k8s_address,
// k8s_name,
// region_id,
// image,
// desired_replicas,
// cpu_millicores,
// memory_mib,
// created_at
// ) VALUES (
// ?,
// ?,
// ?,
// ?,
// ?,
// ?,
// ?,
// ?,
// ?,
// ?,
// ?,
// ?
// )
InsertSentinel(ctx context.Context, db DBTX, arg InsertSentinelParams) error
//InsertWorkspace
//
// INSERT INTO `workspaces` (
// id,
// org_id,
// name,
// slug,
// created_at_m,
// tier,
// beta_features,
// enabled,
// delete_protection,
// k8s_namespace
// )
// VALUES (
// ?,
// ?,
// ?,
// ?,
// ?,
// 'Free',
// '{}',
// true,
// true,
// ?
// )
InsertWorkspace(ctx context.Context, db DBTX, arg InsertWorkspaceParams) error
// ListAllCiliumNetworkPoliciesByRegion returns cilium network policies for a region, paginated by pk.
// Used during full sync (version=0) to bootstrap krane agents with current state.
//
// SELECT pk, id, workspace_id, project_id, app_id, environment_id, deployment_id, k8s_name, k8s_namespace, region_id, policy, created_at, updated_at FROM `cilium_network_policies`
// WHERE region_id = ? AND pk > ?
// ORDER BY pk ASC
// LIMIT ?
ListAllCiliumNetworkPoliciesByRegion(ctx context.Context, db DBTX, arg ListAllCiliumNetworkPoliciesByRegionParams) ([]CiliumNetworkPolicy, error)
// ListAllDeploymentTopologiesByRegion returns running deployment topologies for a region, paginated by pk.
// Used by SyncDesiredState to reconcile krane agents with current desired state.
//
// SELECT
// dt.pk, dt.workspace_id, dt.deployment_id, dt.region_id, dt.autoscaling_replicas_min, dt.autoscaling_replicas_max, dt.autoscaling_threshold_cpu, dt.autoscaling_threshold_memory, dt.desired_status, dt.created_at, dt.updated_at,
// d.pk, d.id, d.k8s_name, d.workspace_id, d.project_id, d.environment_id, d.app_id, d.image, d.build_id, d.git_commit_sha, d.git_branch, d.git_commit_message, d.git_commit_author_handle, d.git_commit_author_avatar_url, d.git_commit_timestamp, d.sentinel_config, d.cpu_millicores, d.memory_mib, d.storage_mib, d.desired_state, d.encrypted_environment_variables, d.command, d.port, d.shutdown_signal, d.upstream_protocol, d.healthcheck, d.pr_number, d.fork_repository_full_name, d.github_deployment_id, d.invocation_id, d.status, d.created_at, d.updated_at,
// w.k8s_namespace,
// e.slug AS environment_slug,
// r.name AS region_name,
// grc.repository_full_name AS git_repo
// FROM `deployment_topology` dt
// INNER JOIN `deployments` d ON dt.deployment_id = d.id
// INNER JOIN `workspaces` w ON d.workspace_id = w.id
// INNER JOIN `regions` r ON dt.region_id = r.id
// INNER JOIN `environments` e ON d.environment_id = e.id
// LEFT JOIN `github_repo_connections` grc ON d.app_id = grc.app_id
// WHERE r.id = ? AND dt.pk > ? AND dt.desired_status = 'running'
// ORDER BY dt.pk ASC
// LIMIT ?
ListAllDeploymentTopologiesByRegion(ctx context.Context, db DBTX, arg ListAllDeploymentTopologiesByRegionParams) ([]ListAllDeploymentTopologiesByRegionRow, error)
// ListAllSentinelsByRegion returns sentinels for a region, paginated by pk.
// Used during full sync (version=0) to bootstrap krane agents with current state.
//
// SELECT pk, id, workspace_id, project_id, environment_id, k8s_name, k8s_address, region_id, image, running_image, desired_state, health, desired_replicas, available_replicas, deploy_status, cpu_millicores, memory_mib, created_at, updated_at FROM `sentinels`
// WHERE region_id = ? AND pk > ?
// ORDER BY pk ASC
// LIMIT ?
ListAllSentinelsByRegion(ctx context.Context, db DBTX, arg ListAllSentinelsByRegionParams) ([]Sentinel, error)
//ListAppIdsByProject
//
// SELECT id FROM apps WHERE project_id = ?
ListAppIdsByProject(ctx context.Context, db DBTX, projectID string) ([]string, error)
//ListAppsByProject
//
// SELECT apps.pk, apps.id, apps.workspace_id, apps.project_id, apps.name, apps.slug, apps.default_branch, apps.current_deployment_id, apps.is_rolled_back, apps.delete_protection, apps.created_at, apps.updated_at
// FROM apps
// WHERE project_id = ?
// ORDER BY created_at ASC
ListAppsByProject(ctx context.Context, db DBTX, projectID string) ([]ListAppsByProjectRow, error)
//ListCustomDomainsByProjectID
//
// SELECT pk, id, workspace_id, project_id, app_id, environment_id, domain, challenge_type, verification_status, verification_token, ownership_verified, cname_verified, target_cname, last_checked_at, check_attempts, verification_error, domain_connect_provider, domain_connect_url, invocation_id, created_at, updated_at
// FROM custom_domains
// WHERE project_id = ?
// ORDER BY created_at DESC
ListCustomDomainsByProjectID(ctx context.Context, db DBTX, projectID string) ([]CustomDomain, error)
// ListDeploymentChangesByRegionAll returns all deployment changes for a region with version > after_version.
// Used by the unified WatchDeploymentChanges stream. Does not filter by resource_type.
//
// SELECT pk, resource_type, resource_id, region_id, created_at
// FROM `deployment_changes`
// WHERE pk > ? AND region_id = ?
// ORDER BY pk ASC
// LIMIT ?
ListDeploymentChangesByRegionAll(ctx context.Context, db DBTX, arg ListDeploymentChangesByRegionAllParams) ([]DeploymentChange, error)
//ListDeploymentsByEnvironmentIdAndStatus
//
// SELECT pk, id, k8s_name, workspace_id, project_id, environment_id, app_id, image, build_id, git_commit_sha, git_branch, git_commit_message, git_commit_author_handle, git_commit_author_avatar_url, git_commit_timestamp, sentinel_config, cpu_millicores, memory_mib, storage_mib, desired_state, encrypted_environment_variables, command, port, shutdown_signal, upstream_protocol, healthcheck, pr_number, fork_repository_full_name, github_deployment_id, invocation_id, status, created_at, updated_at FROM `deployments`
// WHERE environment_id = ?
// AND status = ?
// AND created_at < ?
// AND (updated_at IS null OR updated_at < ? )
ListDeploymentsByEnvironmentIdAndStatus(ctx context.Context, db DBTX, arg ListDeploymentsByEnvironmentIdAndStatusParams) ([]Deployment, error)
// ListDesiredDeploymentTopology returns all deployment topologies matching the desired state for a region.
// Used during bootstrap to stream all running deployments to krane.
//
// SELECT
// dt.pk, dt.workspace_id, dt.deployment_id, dt.region_id, dt.autoscaling_replicas_min, dt.autoscaling_replicas_max, dt.autoscaling_threshold_cpu, dt.autoscaling_threshold_memory, dt.desired_status, dt.created_at, dt.updated_at,
// d.pk, d.id, d.k8s_name, d.workspace_id, d.project_id, d.environment_id, d.app_id, d.image, d.build_id, d.git_commit_sha, d.git_branch, d.git_commit_message, d.git_commit_author_handle, d.git_commit_author_avatar_url, d.git_commit_timestamp, d.sentinel_config, d.cpu_millicores, d.memory_mib, d.storage_mib, d.desired_state, d.encrypted_environment_variables, d.command, d.port, d.shutdown_signal, d.upstream_protocol, d.healthcheck, d.pr_number, d.fork_repository_full_name, d.github_deployment_id, d.invocation_id, d.status, d.created_at, d.updated_at,
// w.k8s_namespace
// FROM `deployment_topology` dt
// INNER JOIN `deployments` d ON dt.deployment_id = d.id
// INNER JOIN `workspaces` w ON d.workspace_id = w.id
// INNER JOIN `regions` r ON dt.region_id = r.id
// WHERE (? = ” OR r.name = ?)
// AND d.desired_state = ?
// AND dt.deployment_id > ?
// ORDER BY dt.deployment_id ASC
// LIMIT ?
ListDesiredDeploymentTopology(ctx context.Context, db DBTX, arg ListDesiredDeploymentTopologyParams) ([]ListDesiredDeploymentTopologyRow, error)
//ListDesiredNetworkPolicies
//
// SELECT pk, id, workspace_id, project_id, app_id, environment_id, deployment_id, k8s_name, k8s_namespace, region_id, policy, created_at, updated_at
// FROM `cilium_network_policies`
// WHERE (? = ” OR region_id = ?) AND id > ?
// ORDER BY id ASC
// LIMIT ?
ListDesiredNetworkPolicies(ctx context.Context, db DBTX, arg ListDesiredNetworkPoliciesParams) ([]CiliumNetworkPolicy, error)
// ListDesiredSentinels returns all sentinels matching the desired state for a region.
// Used during bootstrap to stream all running sentinels to krane.
//
// SELECT pk, id, workspace_id, project_id, environment_id, k8s_name, k8s_address, region_id, image, running_image, desired_state, health, desired_replicas, available_replicas, deploy_status, cpu_millicores, memory_mib, created_at, updated_at
// FROM `sentinels`
// WHERE (? = ” OR region_id = ?)
// AND desired_state = ?
// AND id > ?
// ORDER BY id ASC
// LIMIT ?
ListDesiredSentinels(ctx context.Context, db DBTX, arg ListDesiredSentinelsParams) ([]Sentinel, error)
//ListDirectPermissionsByKeyID
//
// SELECT p.pk, p.id, p.workspace_id, p.name, p.slug, p.description, p.created_at_m, p.updated_at_m
// FROM keys_permissions kp
// JOIN permissions p ON kp.permission_id = p.id
// WHERE kp.key_id = ?
// ORDER BY p.slug
ListDirectPermissionsByKeyID(ctx context.Context, db DBTX, keyID string) ([]Permission, error)
//ListEnvVarsForRepoConnections
//
// SELECT aev.app_id, aev.`key`, aev.value
// FROM app_environment_variables aev
// INNER JOIN apps a ON a.id = aev.app_id
// INNER JOIN environments e ON e.app_id = a.id AND e.id = aev.environment_id
// INNER JOIN github_repo_connections gc ON gc.app_id = a.id
// WHERE gc.installation_id = ?
// AND gc.repository_id = ?
// AND e.slug = CASE
// WHEN CAST(? AS SIGNED) = 1 THEN 'preview'
// WHEN ? = COALESCE(NULLIF(a.default_branch, ”), 'main')
// THEN 'production'
// ELSE 'preview'
// END
ListEnvVarsForRepoConnections(ctx context.Context, db DBTX, arg ListEnvVarsForRepoConnectionsParams) ([]ListEnvVarsForRepoConnectionsRow, error)
//ListEnvironmentIdsByApp
//
// SELECT id FROM environments WHERE app_id = ?
ListEnvironmentIdsByApp(ctx context.Context, db DBTX, appID string) ([]string, error)
//ListExecutableChallenges
//
// SELECT dc.workspace_id, dc.challenge_type, d.domain FROM acme_challenges dc
// JOIN custom_domains d ON dc.domain_id = d.id
// WHERE (dc.status = 'waiting' OR (dc.status = 'verified' AND dc.expires_at <= UNIX_TIMESTAMP(DATE_ADD(NOW(), INTERVAL 30 DAY)) * 1000))
// AND dc.challenge_type IN (/*SLICE:verification_types*/?)
// ORDER BY d.created_at ASC
ListExecutableChallenges(ctx context.Context, db DBTX, verificationTypes []AcmeChallengesChallengeType) ([]ListExecutableChallengesRow, error)
//ListGithubRepoConnections
//
// SELECT
// pk,
// workspace_id,
// project_id,
// app_id,
// installation_id,
// repository_id,
// repository_full_name,
// created_at,
// updated_at
// FROM github_repo_connections
// WHERE installation_id = ?
// AND repository_id = ?
ListGithubRepoConnections(ctx context.Context, db DBTX, arg ListGithubRepoConnectionsParams) ([]GithubRepoConnection, error)
//ListIdentities
//
// SELECT
// i.id,
// i.external_id,
// i.workspace_id,
// i.environment,
// i.meta,
// i.deleted,
// i.created_at,
// i.updated_at,
// COALESCE(
// (SELECT JSON_ARRAYAGG(
// JSON_OBJECT(
// 'id', r.id,
// 'name', r.name,
// 'limit', r.`limit`,
// 'duration', r.duration,
// 'auto_apply', r.auto_apply = 1
// )
// )
// FROM ratelimits r
// WHERE r.identity_id = i.id),
// JSON_ARRAY()
// ) as ratelimits
// FROM identities i
// WHERE i.workspace_id = ?
// AND i.deleted = ?
// AND i.id >= ?
// ORDER BY i.id ASC
// LIMIT ?
ListIdentities(ctx context.Context, db DBTX, arg ListIdentitiesParams) ([]ListIdentitiesRow, error)
//ListIdentityRatelimits
//
// SELECT pk, id, name, workspace_id, created_at, updated_at, key_id, identity_id, `limit`, duration, auto_apply
// FROM ratelimits
// WHERE identity_id = ?
// ORDER BY id ASC
ListIdentityRatelimits(ctx context.Context, db DBTX, identityID sql.NullString) ([]Ratelimit, error)
//ListIdentityRatelimitsByID
//
// SELECT pk, id, name, workspace_id, created_at, updated_at, key_id, identity_id, `limit`, duration, auto_apply FROM ratelimits WHERE identity_id = ?
ListIdentityRatelimitsByID(ctx context.Context, db DBTX, identityID sql.NullString) ([]Ratelimit, error)
//ListIdentityRatelimitsByIDs
//
// SELECT pk, id, name, workspace_id, created_at, updated_at, key_id, identity_id, `limit`, duration, auto_apply FROM ratelimits WHERE identity_id IN (/*SLICE:ids*/?)
ListIdentityRatelimitsByIDs(ctx context.Context, db DBTX, ids []sql.NullString) ([]Ratelimit, error)
//ListKeysByKeySpaceID
//
// SELECT
// k.pk, k.id, k.key_auth_id, k.hash, k.start, k.workspace_id, k.for_workspace_id, k.name, k.owner_id, k.identity_id, k.meta, k.expires, k.created_at_m, k.updated_at_m, k.deleted_at_m, k.refill_day, k.refill_amount, k.last_refill_at, k.enabled, k.remaining_requests, k.environment, k.last_used_at, k.pending_migration_id,
// i.id as identity_id,
// i.external_id as external_id,
// i.meta as identity_meta,
// ek.encrypted as encrypted_key,
// ek.encryption_key_id as encryption_key_id
//
// FROM `keys` k
// LEFT JOIN `identities` i ON k.identity_id = i.id
// LEFT JOIN encrypted_keys ek ON k.id = ek.key_id
// WHERE k.key_auth_id = ?
// AND k.id >= ?
// AND (? IS NULL OR k.identity_id = ?)
// AND k.deleted_at_m IS NULL
// ORDER BY k.id ASC
// LIMIT ?
ListKeysByKeySpaceID(ctx context.Context, db DBTX, arg ListKeysByKeySpaceIDParams) ([]ListKeysByKeySpaceIDRow, error)
// ListKeysForRefill returns keys that need their remaining_requests refilled.
// Uses a deferred join on pk for stable cursor-based pagination that avoids
// OFFSET drift when rows are mutated between batches.
// Keys are selected if:
// - refill_day is NULL (daily refill)
// - refill_day matches today's day of month
// - refill_day > today's day AND today is the last day of month (catch-up for short months)
// Keys are skipped if remaining_requests >= refill_amount (already full).
//
// SELECT k.pk, k.id, k.workspace_id, k.refill_amount, k.remaining_requests, k.name
// FROM `keys` k
// INNER JOIN (
// SELECT ki.pk
// FROM `keys` ki
// WHERE ki.refill_amount IS NOT NULL
// AND ki.deleted_at_m IS NULL
// AND (ki.remaining_requests IS NULL OR ki.refill_amount > ki.remaining_requests)
// AND (
// ki.refill_day IS NULL
// OR ki.refill_day = ?
// OR (? = 1 AND ki.refill_day > ?)
// )
// AND ki.pk > ?
// ORDER BY pk
// LIMIT ?
// ) AS batch ON batch.pk = k.pk
ListKeysForRefill(ctx context.Context, db DBTX, arg ListKeysForRefillParams) ([]ListKeysForRefillRow, error)
//ListLiveKeysByKeySpaceID
//
// SELECT k.pk, k.id, k.key_auth_id, k.hash, k.start, k.workspace_id, k.for_workspace_id, k.name, k.owner_id, k.identity_id, k.meta, k.expires, k.created_at_m, k.updated_at_m, k.deleted_at_m, k.refill_day, k.refill_amount, k.last_refill_at, k.enabled, k.remaining_requests, k.environment, k.last_used_at, k.pending_migration_id,
// i.id as identity_table_id,
// i.external_id as identity_external_id,
// i.meta as identity_meta,
// ek.encrypted as encrypted_key,
// ek.encryption_key_id as encryption_key_id,
// -- Roles with both IDs and names (sorted by name)
// COALESCE(
// (SELECT JSON_ARRAYAGG(
// JSON_OBJECT(
// 'id', r.id,
// 'name', r.name,
// 'description', r.description
// )
// )
// FROM keys_roles kr
// JOIN roles r ON r.id = kr.role_id
// WHERE kr.key_id = k.id
// ORDER BY r.name),
// JSON_ARRAY()
// ) as roles,
// -- Direct permissions attached to the key (sorted by slug)
// COALESCE(
// (SELECT JSON_ARRAYAGG(
// JSON_OBJECT(
// 'id', p.id,
// 'name', p.name,
// 'slug', p.slug,
// 'description', p.description
// )
// )
// FROM keys_permissions kp
// JOIN permissions p ON kp.permission_id = p.id
// WHERE kp.key_id = k.id
// ORDER BY p.slug),
// JSON_ARRAY()
// ) as permissions,
// -- Permissions from roles (sorted by slug)
// COALESCE(
// (SELECT JSON_ARRAYAGG(
// JSON_OBJECT(
// 'id', p.id,
// 'name', p.name,
// 'slug', p.slug,
// 'description', p.description
// )
// )
// FROM keys_roles kr
// JOIN roles_permissions rp ON kr.role_id = rp.role_id
// JOIN permissions p ON rp.permission_id = p.id
// WHERE kr.key_id = k.id
// ORDER BY p.slug),
// JSON_ARRAY()
// ) as role_permissions,
// -- Rate limits
// COALESCE(
// (SELECT JSON_ARRAYAGG(
// JSON_OBJECT(
// 'id', id,
// 'name', name,
// 'key_id', key_id,
// 'identity_id', identity_id,
// 'limit', `limit`,
// 'duration', duration,
// 'auto_apply', auto_apply = 1
// )
// )
// FROM (
// SELECT rl.id, rl.name, rl.key_id, rl.identity_id, rl.`limit`, rl.duration, rl.auto_apply
// FROM ratelimits rl
// WHERE rl.key_id = k.id
// UNION ALL
// SELECT rl.id, rl.name, rl.key_id, rl.identity_id, rl.`limit`, rl.duration, rl.auto_apply
// FROM ratelimits rl
// WHERE rl.identity_id = i.id
// ) AS combined_rl),
// JSON_ARRAY()
// ) AS ratelimits
// FROM `keys` k
// STRAIGHT_JOIN key_auth ka ON ka.id = k.key_auth_id
// LEFT JOIN identities i ON k.identity_id = i.id AND i.deleted = false
// LEFT JOIN encrypted_keys ek ON ek.key_id = k.id
// WHERE k.key_auth_id = ?
// AND k.id >= ?
// AND (? IS NULL OR k.identity_id = ?)
// AND k.deleted_at_m IS NULL
// AND ka.deleted_at_m IS NULL
// ORDER BY k.id ASC
// LIMIT ?
ListLiveKeysByKeySpaceID(ctx context.Context, db DBTX, arg ListLiveKeysByKeySpaceIDParams) ([]ListLiveKeysByKeySpaceIDRow, error)
// Only deployments still in the queue (haven't acquired a build slot yet)
// are eligible for supersession. Once a deployment transitions to `starting`
// (after slot acquisition) it's committed — we don't cancel work that's
// already running.
//
// SELECT id, invocation_id
// FROM deployments
// WHERE app_id = ?
// AND environment_id = ?
// AND git_branch = ?
// AND status IN ('pending', 'awaiting_approval')
// AND created_at < ?
// AND id != ?
// ORDER BY created_at ASC
ListOlderActiveDeploymentsForDedup(ctx context.Context, db DBTX, arg ListOlderActiveDeploymentsForDedupParams) ([]ListOlderActiveDeploymentsForDedupRow, error)
//ListPermissions
//
// SELECT p.pk, p.id, p.workspace_id, p.name, p.slug, p.description, p.created_at_m, p.updated_at_m
// FROM permissions p
// WHERE p.workspace_id = ?
// AND p.id >= ?
// ORDER BY p.id
// LIMIT ?
ListPermissions(ctx context.Context, db DBTX, arg ListPermissionsParams) ([]Permission, error)
//ListPermissionsByKeyID
//
// WITH direct_permissions AS (
// SELECT p.slug as permission_slug
// FROM keys_permissions kp
// JOIN permissions p ON kp.permission_id = p.id
// WHERE kp.key_id = ?
// ),
// role_permissions AS (
// SELECT p.slug as permission_slug
// FROM keys_roles kr
// JOIN roles_permissions rp ON kr.role_id = rp.role_id
// JOIN permissions p ON rp.permission_id = p.id
// WHERE kr.key_id = ?
// )
// SELECT DISTINCT permission_slug
// FROM (
// SELECT permission_slug FROM direct_permissions
// UNION ALL
// SELECT permission_slug FROM role_permissions
// ) all_permissions
ListPermissionsByKeyID(ctx context.Context, db DBTX, arg ListPermissionsByKeyIDParams) ([]string, error)
//ListPermissionsByRoleID
//
// SELECT p.pk, p.id, p.workspace_id, p.name, p.slug, p.description, p.created_at_m, p.updated_at_m
// FROM permissions p
// JOIN roles_permissions rp ON p.id = rp.permission_id
// WHERE rp.role_id = ?
// ORDER BY p.slug
ListPermissionsByRoleID(ctx context.Context, db DBTX, roleID string) ([]Permission, error)
//ListPreviewEnvironments
//
// SELECT pk, id, workspace_id, project_id, app_id, slug, description, delete_protection, created_at, updated_at
// FROM environments
// WHERE slug = 'preview'
// AND pk > ?
// ORDER BY pk ASC
// LIMIT ?
ListPreviewEnvironments(ctx context.Context, db DBTX, arg ListPreviewEnvironmentsParams) ([]Environment, error)
//ListRatelimitOverridesByNamespaceID
//
// SELECT pk, id, workspace_id, namespace_id, identifier, `limit`, duration, created_at_m, updated_at_m, deleted_at_m FROM ratelimit_overrides
// WHERE
// workspace_id = ?
// AND namespace_id = ?
// AND deleted_at_m IS NULL
// AND id >= ?
// ORDER BY id ASC
// LIMIT ?
ListRatelimitOverridesByNamespaceID(ctx context.Context, db DBTX, arg ListRatelimitOverridesByNamespaceIDParams) ([]RatelimitOverride, error)
//ListRatelimitsByKeyID
//
// SELECT
// id,
// name,
// `limit`,
// duration,
// auto_apply
// FROM ratelimits
// WHERE key_id = ?
ListRatelimitsByKeyID(ctx context.Context, db DBTX, keyID sql.NullString) ([]ListRatelimitsByKeyIDRow, error)
//ListRatelimitsByKeyIDs
//
// SELECT
// id,
// key_id,
// name,
// `limit`,
// duration,
// auto_apply
// FROM ratelimits
// WHERE key_id IN (/*SLICE:key_ids*/?)
// ORDER BY key_id, id
ListRatelimitsByKeyIDs(ctx context.Context, db DBTX, keyIds []sql.NullString) ([]ListRatelimitsByKeyIDsRow, error)
//ListRegions
//
// SELECT id, name, platform, can_schedule FROM regions
ListRegions(ctx context.Context, db DBTX) ([]ListRegionsRow, error)
//ListRepoConnectionDeployContexts
//
// SELECT
// gc.pk, gc.workspace_id, gc.project_id, gc.app_id, gc.installation_id, gc.repository_id, gc.repository_full_name, gc.created_at, gc.updated_at,
// p.pk, p.id, p.workspace_id, p.name, p.slug, p.depot_project_id, p.delete_protection, p.created_at, p.updated_at,
// e.pk, e.id, e.workspace_id, e.project_id, e.app_id, e.slug, e.description, e.delete_protection, e.created_at, e.updated_at,
// a.pk, a.id, a.workspace_id, a.project_id, a.name, a.slug, a.default_branch, a.current_deployment_id, a.is_rolled_back, a.delete_protection, a.created_at, a.updated_at,
// abs.pk, abs.workspace_id, abs.app_id, abs.environment_id, abs.dockerfile, abs.docker_context, abs.watch_paths, abs.auto_deploy, abs.created_at, abs.updated_at,
// ars.pk, ars.workspace_id, ars.app_id, ars.environment_id, ars.port, ars.cpu_millicores, ars.memory_mib, ars.storage_mib, ars.command, ars.healthcheck, ars.shutdown_signal, ars.upstream_protocol, ars.sentinel_config, ars.openapi_spec_path, ars.created_at, ars.updated_at
// FROM github_repo_connections gc
// INNER JOIN apps a ON a.id = gc.app_id
// INNER JOIN projects p ON p.id = gc.project_id
// INNER JOIN environments e ON e.app_id = a.id
// AND e.slug = CASE
// WHEN CAST(? AS SIGNED) = 1 THEN 'preview'
// WHEN ? = COALESCE(NULLIF(a.default_branch, ”), 'main')
// THEN 'production'
// ELSE 'preview'
// END
// INNER JOIN app_build_settings abs ON abs.app_id = a.id AND abs.environment_id = e.id
// INNER JOIN app_runtime_settings ars ON ars.app_id = a.id AND ars.environment_id = e.id
// WHERE gc.installation_id = ?
// AND gc.repository_id = ?
ListRepoConnectionDeployContexts(ctx context.Context, db DBTX, arg ListRepoConnectionDeployContextsParams) ([]ListRepoConnectionDeployContextsRow, error)
//ListRoles
//
// SELECT r.pk, r.id, r.workspace_id, r.name, r.description, r.created_at_m, r.updated_at_m, COALESCE(
// (SELECT JSON_ARRAYAGG(
// json_object(
// 'id', permission.id,
// 'name', permission.name,
// 'slug', permission.slug,
// 'description', permission.description
// )
// )
// FROM (SELECT name, id, slug, description
// FROM roles_permissions rp
// JOIN permissions p ON p.id = rp.permission_id
// WHERE rp.role_id = r.id) as permission),
// JSON_ARRAY()
// ) as permissions
// FROM roles r
// WHERE r.workspace_id = ?
// AND r.id >= ?
// ORDER BY r.id
// LIMIT ?
ListRoles(ctx context.Context, db DBTX, arg ListRolesParams) ([]ListRolesRow, error)
//ListRolesByKeyID
//
// SELECT r.pk, r.id, r.workspace_id, r.name, r.description, r.created_at_m, r.updated_at_m, COALESCE(
// (SELECT JSON_ARRAYAGG(
// json_object(
// 'id', permission.id,
// 'name', permission.name,
// 'slug', permission.slug,
// 'description', permission.description
// )
// )
// FROM (SELECT name, id, slug, description
// FROM roles_permissions rp
// JOIN permissions p ON p.id = rp.permission_id
// WHERE rp.role_id = r.id) as permission),
// JSON_ARRAY()
// ) as permissions
// FROM keys_roles kr
// JOIN roles r ON kr.role_id = r.id
// WHERE kr.key_id = ?
// ORDER BY r.name
ListRolesByKeyID(ctx context.Context, db DBTX, keyID string) ([]ListRolesByKeyIDRow, error)
// ListRunningSentinelIDsAndImages returns IDs, images, and regions of all
// running sentinels, paginated by id. Used by the rollout service to plan
// wave assignments without fetching full sentinel rows.
//
// SELECT id, image, region_id
// FROM sentinels
// WHERE desired_state = 'running'
// AND id > ?
// ORDER BY id ASC
// LIMIT ?
ListRunningSentinelIDsAndImages(ctx context.Context, db DBTX, arg ListRunningSentinelIDsAndImagesParams) ([]ListRunningSentinelIDsAndImagesRow, error)
//ListWorkspaces
//
// SELECT
// w.pk, w.id, w.org_id, w.name, w.slug, w.k8s_namespace, w.tier, w.stripe_customer_id, w.stripe_subscription_id, w.beta_features, w.subscriptions, w.enabled, w.delete_protection, w.created_at_m, w.updated_at_m, w.deleted_at_m,
// q.pk, q.workspace_id, q.requests_per_month, q.logs_retention_days, q.audit_logs_retention_days, q.team, q.ratelimit_api_limit, q.ratelimit_api_duration, q.allocated_cpu_millicores_total, q.allocated_memory_mib_total, q.allocated_storage_mib_total, q.max_cpu_millicores_per_instance, q.max_memory_mib_per_instance, q.max_storage_mib_per_instance, q.max_concurrent_builds
// FROM `workspaces` w
// LEFT JOIN quota q ON w.id = q.workspace_id
// WHERE w.id > ?
// ORDER BY w.id ASC
// LIMIT 100
ListWorkspaces(ctx context.Context, db DBTX, cursor string) ([]ListWorkspacesRow, error)
//ListWorkspacesForQuotaCheck
//
// SELECT
// w.id,
// w.org_id,
// w.name,
// w.stripe_customer_id,
// w.tier,
// w.enabled,
// q.requests_per_month
// FROM `workspaces` w
// LEFT JOIN quota q ON w.id = q.workspace_id
// WHERE w.id > ?
// ORDER BY w.id ASC
// LIMIT 100
ListWorkspacesForQuotaCheck(ctx context.Context, db DBTX, cursor string) ([]ListWorkspacesForQuotaCheckRow, error)
// Acquires an exclusive lock on the identity row to prevent concurrent modifications.
// This should be called at the start of a transaction before modifying identity-related data.
//
// SELECT id FROM identities
// WHERE id = ?
// FOR UPDATE
LockIdentityForUpdate(ctx context.Context, db DBTX, id string) (string, error)
// Acquires an exclusive lock on the key row to prevent concurrent modifications.
// This is used to prevent deadlocks when updating key ratelimits concurrently.
//
// SELECT id FROM `keys`
// WHERE id = ?
// FOR UPDATE
LockKeyForUpdate(ctx context.Context, db DBTX, id string) (string, error)
// MarkClickhouseOutboxBatchDeleted soft-deletes a set of pks after their CH
// insert is confirmed. Called inside the same transaction that selected
// them, so the row locks held by FOR UPDATE SKIP LOCKED are released as
// part of commit. A crash between the CH insert and this UPDATE leaves the
// rows with deleted_at IS NULL; the next batch picks them up and CH's
// non_replicated_deduplication_window collapses the identical re-insert
// into a noop.
//
// We mark instead of hard-delete so ops can re-queue events (clear
// deleted_at) without re-reading the original payload from somewhere else,
// and so the table doubles as an audit trail of what was exported. There's
// no sweep job today; the table grows monotonically.
//
// UPDATE clickhouse_outbox
// SET deleted_at = ?
// WHERE pk IN (/*SLICE:pks*/?)
// AND deleted_at IS NULL
MarkClickhouseOutboxBatchDeleted(ctx context.Context, db DBTX, arg MarkClickhouseOutboxBatchDeletedParams) error
//ReassignFrontlineRoute
//
// UPDATE frontline_routes
// SET
// deployment_id = ?,
// updated_at = ?
// WHERE id = ?
ReassignFrontlineRoute(ctx context.Context, db DBTX, arg ReassignFrontlineRouteParams) error
// Records that kubelet has put a container into CrashLoopBackOff by setting
// container_status.waiting.reason. The lastTerminationState carries the
// most recent exit info and is left untouched — the dashboard renders both
// the underlying exit and the "currently throttling" indicator together.
//
// Called once per (pod_uid, container_name, restart_count) when krane sees
// the waiting container reach the BackOff state. The next terminated event
// (or a successful start) will remove $.waiting via RecordInstanceExit.
//
// Out-of-order events are dropped via the restartCount guard: a delayed
// crashloop RPC from an earlier container life cannot flip the waiting
// reason back after RecordInstanceExit has already advanced restartCount
// and removed $.waiting.
//
// UPDATE instances
// SET container_status = JSON_SET(
// container_status,
// '$.waiting', JSON_OBJECT('reason', 'CrashLoopBackOff')
// )
// WHERE k8s_name = ?
// AND region_id = ?
// AND CAST(JSON_VALUE(container_status, '$.restartCount') AS UNSIGNED) <= CAST(? AS UNSIGNED)
RecordInstanceCrashLoopBackOff(ctx context.Context, db DBTX, arg RecordInstanceCrashLoopBackOffParams) error
// Denormalizes the most recent container exit info onto the instances row's
// container_status JSON. Called by ctrl when krane reports an
// event_kind='terminated' event.
//
// The caller computes the full new ContainerStatus value (restartCount,
// lastTerminationState, no waiting) and passes it in one typed param. The
// WHERE clause inspects the row's *existing* container_status to drop
// delayed events; once the guard passes, the new value fully replaces the
// old (including clearing $.waiting, since a fresh exit ends any prior
// crashloop window).
//
// Out-of-order events from krane are dropped via a lexicographic
// (restartCount, finishedAt) tuple comparison: an incoming row only wins
// if its (restartCount, finishedAt) pair is strictly greater than the
// pair already on the row. The previous OR-of-clauses formulation let a
// delayed terminated event from restart_count-1 sneak past via the
// finishedAt branch and regress the row after restart_count had already
// advanced.
//
// UPDATE instances
// SET container_status = ?
// WHERE k8s_name = ?
// AND region_id = ?
// AND (
// CAST(JSON_VALUE(container_status, '$.restartCount') AS UNSIGNED) < CAST(? AS UNSIGNED)
// OR (
// CAST(JSON_VALUE(container_status, '$.restartCount') AS UNSIGNED) = CAST(? AS UNSIGNED)
// AND (
// JSON_VALUE(container_status, '$.lastTerminationState.finishedAt') IS NULL
// OR CAST(JSON_VALUE(container_status, '$.lastTerminationState.finishedAt') AS UNSIGNED) < CAST(? AS UNSIGNED)
// )
// )
// )
RecordInstanceExit(ctx context.Context, db DBTX, arg RecordInstanceExitParams) error
// RefillKeysByIDs sets remaining_requests to refill_amount for the given keys.
// This is a bulk operation to minimize database round trips.
//
// UPDATE `keys`
// SET remaining_requests = refill_amount,
// last_refill_at = NOW(3),
// updated_at_m = ?
// WHERE id IN (/*SLICE:ids*/?)
// AND deleted_at_m IS NULL
RefillKeysByIDs(ctx context.Context, db DBTX, arg RefillKeysByIDsParams) error
//ResetCustomDomainVerification
//
// UPDATE custom_domains
// SET verification_status = ?,
// check_attempts = ?,
// verification_error = NULL,
// last_checked_at = NULL,
// invocation_id = ?,
// updated_at = ?
// WHERE id = ?
ResetCustomDomainVerification(ctx context.Context, db DBTX, arg ResetCustomDomainVerificationParams) error
//SetWorkspaceK8sNamespace
//
// UPDATE `workspaces`
// SET k8s_namespace = ?
// WHERE id = ? AND k8s_namespace IS NULL
SetWorkspaceK8sNamespace(ctx context.Context, db DBTX, arg SetWorkspaceK8sNamespaceParams) error
//SoftDeleteApi
//
// UPDATE apis
// SET deleted_at_m = ?
// WHERE id = ?
SoftDeleteApi(ctx context.Context, db DBTX, arg SoftDeleteApiParams) error
//SoftDeleteIdentity
//
// UPDATE identities
// SET deleted = 1
// WHERE id = ?
// AND workspace_id = ?
SoftDeleteIdentity(ctx context.Context, db DBTX, arg SoftDeleteIdentityParams) error
//SoftDeleteKeyByID
//
// UPDATE `keys` SET deleted_at_m = ? WHERE id = ?
SoftDeleteKeyByID(ctx context.Context, db DBTX, arg SoftDeleteKeyByIDParams) error
//SoftDeleteManyKeysByKeySpaceID
//
// UPDATE `keys`
// SET deleted_at_m = ?
// WHERE key_auth_id = ?
// AND deleted_at_m IS NULL
SoftDeleteManyKeysByKeySpaceID(ctx context.Context, db DBTX, arg SoftDeleteManyKeysByKeySpaceIDParams) error
//SoftDeleteRatelimitNamespace
//
// UPDATE `ratelimit_namespaces`
// SET
// deleted_at_m = ?
// WHERE id = ?
SoftDeleteRatelimitNamespace(ctx context.Context, db DBTX, arg SoftDeleteRatelimitNamespaceParams) error
//SoftDeleteRatelimitOverride
//
// UPDATE `ratelimit_overrides`
// SET
// deleted_at_m = ?
// WHERE id = ?
SoftDeleteRatelimitOverride(ctx context.Context, db DBTX, arg SoftDeleteRatelimitOverrideParams) error
//SoftDeleteWorkspace
//
// UPDATE `workspaces`
// SET deleted_at_m = ?
// WHERE id = ?
// AND delete_protection = false
SoftDeleteWorkspace(ctx context.Context, db DBTX, arg SoftDeleteWorkspaceParams) (sql.Result, error)
//StopDeploymentIfNoInstances
//
// UPDATE deployments d
// LEFT JOIN instances i ON i.deployment_id = d.id
// SET d.status = 'stopped', d.updated_at = ?
// WHERE d.id = ?
// AND d.desired_state IN ('standby', 'archived')
// AND i.deployment_id IS NULL
StopDeploymentIfNoInstances(ctx context.Context, db DBTX, arg StopDeploymentIfNoInstancesParams) error
//SumAllocatedResourcesByWorkspaceID
//
// SELECT
// CAST(COALESCE(SUM(d.`cpu_millicores` * dt.`autoscaling_replicas_max`), 0) AS SIGNED) AS `total_cpu_millicores`,
// CAST(COALESCE(SUM(d.`memory_mib` * dt.`autoscaling_replicas_max`), 0) AS SIGNED) AS `total_memory_mib`,
// CAST(COALESCE(SUM(d.`storage_mib` * dt.`autoscaling_replicas_max`), 0) AS SIGNED) AS `total_storage_mib`
// FROM `deployment_topology` dt
// JOIN `deployments` d ON d.`id` = dt.`deployment_id`
// WHERE dt.`workspace_id` = ?
// AND dt.`desired_status` = 'running'
SumAllocatedResourcesByWorkspaceID(ctx context.Context, db DBTX, workspaceID string) (SumAllocatedResourcesByWorkspaceIDRow, error)
//UpdateAcmeChallengePending
//
// UPDATE acme_challenges
// SET status = ?, token = ?, authorization = ?, updated_at = ?
// WHERE domain_id = ?
UpdateAcmeChallengePending(ctx context.Context, db DBTX, arg UpdateAcmeChallengePendingParams) error
//UpdateAcmeChallengeStatus
//
// UPDATE acme_challenges
// SET status = ?, updated_at = ?
// WHERE domain_id = ?
UpdateAcmeChallengeStatus(ctx context.Context, db DBTX, arg UpdateAcmeChallengeStatusParams) error
//UpdateAcmeChallengeTryClaiming
//
// UPDATE acme_challenges
// SET status = ?, updated_at = ?
// WHERE domain_id = ? AND status = 'waiting'
UpdateAcmeChallengeTryClaiming(ctx context.Context, db DBTX, arg UpdateAcmeChallengeTryClaimingParams) error
//UpdateAcmeChallengeVerifiedWithExpiry
//
// UPDATE acme_challenges
// SET status = ?, expires_at = ?, updated_at = ?
// WHERE domain_id = ?
UpdateAcmeChallengeVerifiedWithExpiry(ctx context.Context, db DBTX, arg UpdateAcmeChallengeVerifiedWithExpiryParams) error
//UpdateAcmeUserRegistrationURI
//
// UPDATE acme_users SET registration_uri = ? WHERE id = ?
UpdateAcmeUserRegistrationURI(ctx context.Context, db DBTX, arg UpdateAcmeUserRegistrationURIParams) error
//UpdateApiDeleteProtection
//
// UPDATE apis
// SET delete_protection = ?
// WHERE id = ?
UpdateApiDeleteProtection(ctx context.Context, db DBTX, arg UpdateApiDeleteProtectionParams) error
//UpdateAppDeployments
//
// UPDATE apps
// SET
// current_deployment_id = ?,
// is_rolled_back = ?,
// updated_at = ?
// WHERE id = ?
UpdateAppDeployments(ctx context.Context, db DBTX, arg UpdateAppDeploymentsParams) error
//UpdateCiliumNetworkPolicyByEnvironmentRegionAndName
//
// UPDATE cilium_network_policies
// SET policy = ?,
// updated_at = ?
// WHERE environment_id = ?
// AND region_id = ?
// AND k8s_name = ?
UpdateCiliumNetworkPolicyByEnvironmentRegionAndName(ctx context.Context, db DBTX, arg UpdateCiliumNetworkPolicyByEnvironmentRegionAndNameParams) error
//UpdateClickhouseWorkspaceSettingsLimits
//
// UPDATE `clickhouse_workspace_settings`
// SET
// quota_duration_seconds = ?,
// max_queries_per_window = ?,
// max_execution_time_per_window = ?,
// max_query_execution_time = ?,
// max_query_memory_bytes = ?,
// max_query_result_rows = ?,
// updated_at = ?
// WHERE workspace_id = ?
UpdateClickhouseWorkspaceSettingsLimits(ctx context.Context, db DBTX, arg UpdateClickhouseWorkspaceSettingsLimitsParams) error
//UpdateCustomDomainCheckAttempt
//
// UPDATE custom_domains
// SET check_attempts = ?,
// last_checked_at = ?,
// updated_at = ?
// WHERE id = ?
UpdateCustomDomainCheckAttempt(ctx context.Context, db DBTX, arg UpdateCustomDomainCheckAttemptParams) error
//UpdateCustomDomainFailed
//
// UPDATE custom_domains
// SET verification_status = ?,
// verification_error = ?,
// updated_at = ?
// WHERE id = ?
UpdateCustomDomainFailed(ctx context.Context, db DBTX, arg UpdateCustomDomainFailedParams) error
//UpdateCustomDomainInvocationID
//
// UPDATE custom_domains
// SET invocation_id = ?,
// updated_at = ?
// WHERE id = ?
UpdateCustomDomainInvocationID(ctx context.Context, db DBTX, arg UpdateCustomDomainInvocationIDParams) error
//UpdateCustomDomainOwnership
//
// UPDATE custom_domains
// SET ownership_verified = ?, cname_verified = ?, updated_at = ?
// WHERE id = ?
UpdateCustomDomainOwnership(ctx context.Context, db DBTX, arg UpdateCustomDomainOwnershipParams) error
//UpdateCustomDomainVerificationStatus
//
// UPDATE custom_domains
// SET verification_status = ?,
// updated_at = ?
// WHERE id = ?
UpdateCustomDomainVerificationStatus(ctx context.Context, db DBTX, arg UpdateCustomDomainVerificationStatusParams) error
//UpdateDeploymentBuildID
//
// UPDATE deployments
// SET build_id = ?, updated_at = ?
// WHERE id = ?
UpdateDeploymentBuildID(ctx context.Context, db DBTX, arg UpdateDeploymentBuildIDParams) error
//UpdateDeploymentDesiredState
//
// UPDATE deployments
// SET desired_state = ?, updated_at = ?
// WHERE id = ?
UpdateDeploymentDesiredState(ctx context.Context, db DBTX, arg UpdateDeploymentDesiredStateParams) error
//UpdateDeploymentForkRepository
//
// UPDATE deployments
// SET fork_repository_full_name = ?, updated_at = ?
// WHERE id = ?
UpdateDeploymentForkRepository(ctx context.Context, db DBTX, arg UpdateDeploymentForkRepositoryParams) error
//UpdateDeploymentGitMetadata
//
// UPDATE deployments
// SET
// git_commit_sha = ?,
// git_branch = ?,
// git_commit_message = ?,
// git_commit_author_handle = ?,
// git_commit_author_avatar_url = ?,
// git_commit_timestamp = ?,
// updated_at = ?
// WHERE id = ?
UpdateDeploymentGitMetadata(ctx context.Context, db DBTX, arg UpdateDeploymentGitMetadataParams) error
//UpdateDeploymentGithubDeploymentId
//
// UPDATE deployments
// SET github_deployment_id = ?, updated_at = ?
// WHERE id = ?
UpdateDeploymentGithubDeploymentId(ctx context.Context, db DBTX, arg UpdateDeploymentGithubDeploymentIdParams) error
//UpdateDeploymentImage
//
// UPDATE deployments
// SET image = ?, updated_at = ?
// WHERE id = ?
UpdateDeploymentImage(ctx context.Context, db DBTX, arg UpdateDeploymentImageParams) error
//UpdateDeploymentInvocationID
//
// UPDATE deployments
// SET invocation_id = ?, updated_at = ?
// WHERE id = ?
UpdateDeploymentInvocationID(ctx context.Context, db DBTX, arg UpdateDeploymentInvocationIDParams) error
//UpdateDeploymentStatus
//
// UPDATE deployments
// SET status = ?, updated_at = ?
// WHERE id = ?
UpdateDeploymentStatus(ctx context.Context, db DBTX, arg UpdateDeploymentStatusParams) error
//UpdateDeploymentStatusBatch
//
// UPDATE deployments
// SET status = ?, updated_at = ?
// WHERE id IN (/*SLICE:ids*/?)
UpdateDeploymentStatusBatch(ctx context.Context, db DBTX, arg UpdateDeploymentStatusBatchParams) error
// Transition a deployment's status only when its current status is still
// "active" (non-terminal). Prevents the Deploy handler's compensation
// stack from overwriting a status that was set intentionally by the dedup
// path (e.g. superseded) or by a successful completion (ready).
//
// UPDATE deployments
// SET status = ?, updated_at = ?
// WHERE id = ?
// AND status NOT IN ('ready', 'failed', 'superseded', 'skipped', 'stopped', 'cancelled')
UpdateDeploymentStatusIfActive(ctx context.Context, db DBTX, arg UpdateDeploymentStatusIfActiveParams) error
// UpdateDeploymentTopologyDesiredStatus updates the desired_status of a topology entry.
//
// UPDATE `deployment_topology`
// SET desired_status = ?, updated_at = ?
// WHERE deployment_id = ? AND region_id = ?
UpdateDeploymentTopologyDesiredStatus(ctx context.Context, db DBTX, arg UpdateDeploymentTopologyDesiredStatusParams) error
//UpdateFrontlineRouteDeploymentId
//
// UPDATE frontline_routes
// SET deployment_id = ?
// WHERE id = ?
UpdateFrontlineRouteDeploymentId(ctx context.Context, db DBTX, arg UpdateFrontlineRouteDeploymentIdParams) error
//UpdateIdentity
//
// UPDATE `identities`
// SET
// meta = CAST(? AS JSON),
// updated_at = NOW()
// WHERE
// id = ?
UpdateIdentity(ctx context.Context, db DBTX, arg UpdateIdentityParams) error
//UpdateKey
//
// UPDATE `keys` k SET
// name = CASE
// WHEN CAST(? AS UNSIGNED) = 1 THEN ?
// ELSE k.name
// END,
// identity_id = CASE
// WHEN CAST(? AS UNSIGNED) = 1 THEN ?
// ELSE k.identity_id
// END,
// enabled = CASE
// WHEN CAST(? AS UNSIGNED) = 1 THEN ?
// ELSE k.enabled
// END,
// meta = CASE
// WHEN CAST(? AS UNSIGNED) = 1 THEN ?
// ELSE k.meta
// END,
// expires = CASE
// WHEN CAST(? AS UNSIGNED) = 1 THEN ?
// ELSE k.expires
// END,
// remaining_requests = CASE
// WHEN CAST(? AS UNSIGNED) = 1 THEN ?
// ELSE k.remaining_requests
// END,
// refill_amount = CASE
// WHEN CAST(? AS UNSIGNED) = 1 THEN ?
// ELSE k.refill_amount
// END,
// refill_day = CASE
// WHEN CAST(? AS UNSIGNED) = 1 THEN ?
// ELSE k.refill_day
// END,
// updated_at_m = ?
// WHERE id = ?
UpdateKey(ctx context.Context, db DBTX, arg UpdateKeyParams) error
//UpdateKeyCreditsDecrement
//
// UPDATE `keys`
// SET remaining_requests = CASE
// WHEN remaining_requests >= ? THEN remaining_requests - ?
// ELSE 0
// END
// WHERE id = ?
UpdateKeyCreditsDecrement(ctx context.Context, db DBTX, arg UpdateKeyCreditsDecrementParams) error
//UpdateKeyCreditsIncrement
//
// UPDATE `keys`
// SET remaining_requests = remaining_requests + ?
// WHERE id = ?
UpdateKeyCreditsIncrement(ctx context.Context, db DBTX, arg UpdateKeyCreditsIncrementParams) error
//UpdateKeyCreditsRefill
//
// UPDATE `keys` SET refill_amount = ?, refill_day = ? WHERE id = ?
UpdateKeyCreditsRefill(ctx context.Context, db DBTX, arg UpdateKeyCreditsRefillParams) error
//UpdateKeyCreditsSet
//
// UPDATE `keys`
// SET remaining_requests = ?
// WHERE id = ?
UpdateKeyCreditsSet(ctx context.Context, db DBTX, arg UpdateKeyCreditsSetParams) error
//UpdateKeySpaceKeyEncryption
//
// UPDATE `key_auth` SET store_encrypted_keys = ? WHERE id = ?
UpdateKeySpaceKeyEncryption(ctx context.Context, db DBTX, arg UpdateKeySpaceKeyEncryptionParams) error
//UpdateKeysLastUsed
//
// UPDATE `keys`
// SET last_used_at = ?
// WHERE id IN (/*SLICE:key_ids*/?)
// AND last_used_at < ?
UpdateKeysLastUsed(ctx context.Context, db DBTX, arg UpdateKeysLastUsedParams) error
//UpdateProjectDepotID
//
// UPDATE projects
// SET
// depot_project_id = ?,
// updated_at = ?
// WHERE id = ?
UpdateProjectDepotID(ctx context.Context, db DBTX, arg UpdateProjectDepotIDParams) error
//UpdateRatelimit
//
// UPDATE `ratelimits`
// SET
// name = ?,
// `limit` = ?,
// duration = ?,
// auto_apply = ?,
// updated_at = NOW()
// WHERE
// id = ?
UpdateRatelimit(ctx context.Context, db DBTX, arg UpdateRatelimitParams) error
//UpdateRatelimitOverride
//
// UPDATE `ratelimit_overrides`
// SET
// `limit` = ?,
// duration = ?,
// updated_at_m= ?
// WHERE id = ?
UpdateRatelimitOverride(ctx context.Context, db DBTX, arg UpdateRatelimitOverrideParams) (sql.Result, error)
// UpdateSentinelConfig updates a sentinel's configuration and deploy status.
// Used by SentinelService.Deploy() to apply new config before triggering krane.
//
// UPDATE sentinels SET
// image = ?,
// cpu_millicores = ?,
// memory_mib = ?,
// desired_replicas = ?,
// deploy_status = ?,
// updated_at = ?
// WHERE id = ?
UpdateSentinelConfig(ctx context.Context, db DBTX, arg UpdateSentinelConfigParams) error
// UpdateSentinelDeployStatus updates only the deploy status field.
// Used after convergence check or rollback completes.
//
// UPDATE sentinels SET
// deploy_status = ?,
// updated_at = ?
// WHERE id = ?
UpdateSentinelDeployStatus(ctx context.Context, db DBTX, arg UpdateSentinelDeployStatusParams) error
// UpdateSentinelObservedState writes observed state from a krane agent:
// the current health, available replica count, and the image that is
// actually running on the pods. The running image is used to detect
// rollout convergence — a deploy is only complete when running_image
// matches the desired image.
//
// UPDATE sentinels SET
// available_replicas = ?,
// health = ?,
// running_image = ?,
// updated_at = ?
// WHERE k8s_name = ?
UpdateSentinelObservedState(ctx context.Context, db DBTX, arg UpdateSentinelObservedStateParams) error
//UpdateWorkspaceEnabled
//
// UPDATE `workspaces`
// SET enabled = ?
// WHERE id = ?
UpdateWorkspaceEnabled(ctx context.Context, db DBTX, arg UpdateWorkspaceEnabledParams) (sql.Result, error)
//UpsertAppBuildSettings
//
// INSERT INTO app_build_settings (
// workspace_id,
// app_id,
// environment_id,
// dockerfile,
// docker_context,
// watch_paths,
// auto_deploy,
// created_at,
// updated_at
// ) VALUES (
// ?,
// ?,
// ?,
// ?,
// ?,
// ?,
// ?,
// ?,
// ?
// )
// ON DUPLICATE KEY UPDATE
// dockerfile = VALUES(dockerfile),
// docker_context = VALUES(docker_context),
// watch_paths = VALUES(watch_paths),
// auto_deploy = VALUES(auto_deploy),
// updated_at = VALUES(updated_at)
UpsertAppBuildSettings(ctx context.Context, db DBTX, arg UpsertAppBuildSettingsParams) error
//UpsertAppRegionalSettings
//
// INSERT INTO app_regional_settings (
// workspace_id,
// app_id,
// environment_id,
// region_id,
// replicas,
// created_at,
// updated_at
// ) VALUES (
// ?,
// ?,
// ?,
// ?,
// ?,
// ?,
// ?
// )
// ON DUPLICATE KEY UPDATE
// replicas = VALUES(replicas),
// updated_at = VALUES(updated_at)
UpsertAppRegionalSettings(ctx context.Context, db DBTX, arg UpsertAppRegionalSettingsParams) error
//UpsertAppRuntimeSettings
//
// INSERT INTO app_runtime_settings (
// workspace_id,
// app_id,
// environment_id,
// port,
// cpu_millicores,
// memory_mib,
// storage_mib,
// command,
// healthcheck,
// shutdown_signal,
// upstream_protocol,
// sentinel_config,
// openapi_spec_path,
// created_at,
// updated_at
// ) VALUES (
// ?,
// ?,
// ?,
// ?,
// ?,
// ?,
// ?,
// ?,
// ?,
// ?,
// ?,
// ?,
// ?,
// ?,
// ?
// )
// ON DUPLICATE KEY UPDATE
// port = VALUES(port),
// cpu_millicores = VALUES(cpu_millicores),
// memory_mib = VALUES(memory_mib),
// storage_mib = VALUES(storage_mib),
// command = VALUES(command),
// healthcheck = VALUES(healthcheck),
// shutdown_signal = VALUES(shutdown_signal),
// upstream_protocol = VALUES(upstream_protocol),
// sentinel_config = VALUES(sentinel_config),
// openapi_spec_path = VALUES(openapi_spec_path),
// updated_at = VALUES(updated_at)
UpsertAppRuntimeSettings(ctx context.Context, db DBTX, arg UpsertAppRuntimeSettingsParams) error
// Upserts a cluster by region_id. If the cluster already exists, updates the heartbeat timestamp.
//
// INSERT INTO clusters (
// id,
// region_id,
// last_heartbeat_at
// )
// VALUES (
// ?,
// ?,
// ?
// )
// ON DUPLICATE KEY UPDATE
// last_heartbeat_at = ?
UpsertCluster(ctx context.Context, db DBTX, arg UpsertClusterParams) error
//UpsertCustomDomain
//
// INSERT INTO custom_domains (
// id, workspace_id, project_id, app_id, environment_id, domain,
// challenge_type, verification_status, verification_token, target_cname, created_at
// )
// VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
// ON DUPLICATE KEY UPDATE
// workspace_id = VALUES(workspace_id),
// project_id = VALUES(project_id),
// app_id = VALUES(app_id),
// environment_id = VALUES(environment_id),
// challenge_type = VALUES(challenge_type),
// verification_status = VALUES(verification_status),
// target_cname = VALUES(target_cname),
// updated_at = ?
UpsertCustomDomain(ctx context.Context, db DBTX, arg UpsertCustomDomainParams) error
//UpsertEnvironment
//
// INSERT INTO environments (
// id,
// workspace_id,
// project_id,
// app_id,
// slug,
// created_at
// ) VALUES (?, ?, ?, ?, ?, ?)
// ON DUPLICATE KEY UPDATE slug = VALUES(slug)
UpsertEnvironment(ctx context.Context, db DBTX, arg UpsertEnvironmentParams) error
// Inserts a new identity or does nothing if one already exists for this workspace/external_id.
// Use FindIdentityByExternalID after this to get the actual ID.
//
// INSERT INTO `identities` (
// id,
// external_id,
// workspace_id,
// environment,
// created_at,
// meta
// ) VALUES (
// ?,
// ?,
// ?,
// ?,
// ?,
// CAST(? AS JSON)
// )
// ON DUPLICATE KEY UPDATE external_id = external_id
UpsertIdentity(ctx context.Context, db DBTX, arg UpsertIdentityParams) error
//UpsertInstance
//
// INSERT INTO instances (
// id,
// deployment_id,
// workspace_id,
// project_id,
// app_id,
// region_id,
// k8s_name,
// address,
// cpu_millicores,
// memory_mib,
// status
// )
// VALUES (
// ?,
// ?,
// ?,
// ?,
// ?,
// ?,
// ?,
// ?,
// ?,
// ?,
// ?
// )
// ON DUPLICATE KEY UPDATE
// address = ?,
// cpu_millicores = ?,
// memory_mib = ?,
// status = ?
UpsertInstance(ctx context.Context, db DBTX, arg UpsertInstanceParams) error
//UpsertKeySpace
//
// INSERT INTO key_auth (
// id,
// workspace_id,
// created_at_m,
// default_prefix,
// default_bytes,
// store_encrypted_keys
// ) VALUES (?, ?, ?, ?, ?, ?)
// ON DUPLICATE KEY UPDATE
// workspace_id = VALUES(workspace_id),
// store_encrypted_keys = VALUES(store_encrypted_keys)
UpsertKeySpace(ctx context.Context, db DBTX, arg UpsertKeySpaceParams) error
//UpsertOpenApiSpec
//
// INSERT INTO openapi_specs (id,workspace_id, deployment_id, portal_config_id, content, created_at, updated_at)
// VALUES (?,?, ?, ?,
// ?, ?, ?)
// ON DUPLICATE KEY UPDATE
// content = VALUES(content),
// updated_at = VALUES(updated_at)
UpsertOpenApiSpec(ctx context.Context, db DBTX, arg UpsertOpenApiSpecParams) error
//UpsertPortalBranding
//
// INSERT INTO portal_branding (
// portal_config_id,
// logo_url,
// primary_color,
// created_at,
// updated_at
// ) VALUES (
// ?,
// ?,
// ?,
// ?,
// ?
// )
// ON DUPLICATE KEY UPDATE
// logo_url = VALUES(logo_url),
// primary_color = VALUES(primary_color),
// updated_at = VALUES(updated_at)
UpsertPortalBranding(ctx context.Context, db DBTX, arg UpsertPortalBrandingParams) error
//UpsertQuota
//
// INSERT INTO quota (
// workspace_id,
// requests_per_month,
// audit_logs_retention_days,
// logs_retention_days,
// team,
// ratelimit_api_limit,
// ratelimit_api_duration
// ) VALUES (?, ?, ?, ?, ?, ?, ?)
// ON DUPLICATE KEY UPDATE
// requests_per_month = VALUES(requests_per_month),
// audit_logs_retention_days = VALUES(audit_logs_retention_days),
// logs_retention_days = VALUES(logs_retention_days),
// ratelimit_api_limit = VALUES(ratelimit_api_limit),
// ratelimit_api_duration = VALUES(ratelimit_api_duration)
UpsertQuota(ctx context.Context, db DBTX, arg UpsertQuotaParams) error
// Inserts a region or does nothing if it already exists.
//
// INSERT INTO regions (
// id,
// name,
// platform
// )
// VALUES (
// ?,
// ?,
// ?
// )
// ON DUPLICATE KEY UPDATE name = name
UpsertRegion(ctx context.Context, db DBTX, arg UpsertRegionParams) error
//UpsertWorkspace
//
// INSERT INTO workspaces (
// id,
// org_id,
// name,
// slug,
// created_at_m,
// tier,
// beta_features,
// enabled,
// delete_protection
// ) VALUES (?, ?, ?, ?, ?, ?, ?, true, false)
// ON DUPLICATE KEY UPDATE
// beta_features = VALUES(beta_features),
// name = VALUES(name)
UpsertWorkspace(ctx context.Context, db DBTX, arg UpsertWorkspaceParams) error
}
Query provides access to the generated database queries defined in the SQL files
Example usage with a read operation:
import (
"context"
"github.com/unkeyed/unkey/pkg/db"
)
func GetKeyByHash(ctx context.Context, database db.Database, hash string) (key gen.Key, err error) {
// Use Query singleton with the read replica
return db.Query.FindKeyByHash(ctx, database.RO(), hash)
}
Example usage with a write operation:
func InsertWorkspace(ctx context.Context, database db.Database, params gen.InsertWorkspaceParams) error {
// Use Query singleton with the write replica
return db.Query.InsertWorkspace(ctx, database.RW(), params)
}
The Query object contains all the database operations defined in the SQL files and automatically generated by sqlc.
type Queries ¶
type Queries struct{}
func (*Queries) ClearAcmeChallengeTokens ¶
func (q *Queries) ClearAcmeChallengeTokens(ctx context.Context, db DBTX, arg ClearAcmeChallengeTokensParams) error
ClearAcmeChallengeTokens
UPDATE acme_challenges SET token = ?, authorization = ?, updated_at = ? WHERE domain_id = ?
func (*Queries) CompareAndSwapDeploymentStatus ¶
func (q *Queries) CompareAndSwapDeploymentStatus(ctx context.Context, db DBTX, arg CompareAndSwapDeploymentStatusParams) (sql.Result, error)
CompareAndSwapDeploymentStatus
UPDATE deployments SET status = ?, updated_at = ? WHERE id = ? AND status = ?
func (*Queries) CountInstancesByAppId ¶
CountInstancesByAppId
SELECT COUNT(*) as count FROM instances i JOIN deployments d ON i.deployment_id = d.id WHERE d.app_id = ?
func (*Queries) CountSentinelsByAppId ¶
CountSentinelsByAppId
SELECT COUNT(*) as count FROM sentinels s JOIN environments e ON s.environment_id = e.id WHERE e.app_id = ?
func (*Queries) CountSentinelsByProjectId ¶
func (q *Queries) CountSentinelsByProjectId(ctx context.Context, db DBTX, projectID string) (int64, error)
CountSentinelsByProjectId
SELECT COUNT(*) as count FROM sentinels WHERE project_id = ?
func (*Queries) DeleteAcmeChallengeByDomainID ¶
func (q *Queries) DeleteAcmeChallengeByDomainID(ctx context.Context, db DBTX, domainID string) error
DeleteAcmeChallengeByDomainID
DELETE FROM acme_challenges WHERE domain_id = ?
func (*Queries) DeleteAllKeyPermissionsByKeyID ¶
DeleteAllKeyPermissionsByKeyID
DELETE FROM keys_permissions WHERE key_id = ?
func (*Queries) DeleteAllKeyRolesByKeyID ¶
DeleteAllKeyRolesByKeyID
DELETE FROM keys_roles WHERE key_id = ?
func (*Queries) DeleteAppBuildSettingsByEnvironmentId ¶
func (q *Queries) DeleteAppBuildSettingsByEnvironmentId(ctx context.Context, db DBTX, environmentID string) error
DeleteAppBuildSettingsByEnvironmentId
DELETE FROM app_build_settings WHERE environment_id = ?
func (*Queries) DeleteAppEnvVarsByEnvironmentId ¶
func (q *Queries) DeleteAppEnvVarsByEnvironmentId(ctx context.Context, db DBTX, environmentID string) error
DeleteAppEnvVarsByEnvironmentId
DELETE FROM app_environment_variables WHERE environment_id = ?
func (*Queries) DeleteAppRegionalSettingsByEnvironmentId ¶
func (q *Queries) DeleteAppRegionalSettingsByEnvironmentId(ctx context.Context, db DBTX, environmentID string) error
DeleteAppRegionalSettingsByEnvironmentId
DELETE FROM app_regional_settings WHERE environment_id = ?
func (*Queries) DeleteAppRuntimeSettingsByEnvironmentId ¶
func (q *Queries) DeleteAppRuntimeSettingsByEnvironmentId(ctx context.Context, db DBTX, environmentID string) error
DeleteAppRuntimeSettingsByEnvironmentId
DELETE FROM app_runtime_settings WHERE environment_id = ?
func (*Queries) DeleteCiliumNetworkPoliciesByEnvironmentId ¶
func (q *Queries) DeleteCiliumNetworkPoliciesByEnvironmentId(ctx context.Context, db DBTX, environmentID string) error
DeleteCiliumNetworkPoliciesByEnvironmentId
DELETE FROM cilium_network_policies WHERE environment_id = ?
func (*Queries) DeleteCustomDomainByID ¶
DeleteCustomDomainByID
DELETE FROM custom_domains WHERE id = ?
func (*Queries) DeleteCustomDomainsByEnvironmentId ¶
func (q *Queries) DeleteCustomDomainsByEnvironmentId(ctx context.Context, db DBTX, environmentID string) error
DeleteCustomDomainsByEnvironmentId
DELETE FROM custom_domains WHERE environment_id = ?
func (*Queries) DeleteCustomDomainsByProjectId ¶
func (q *Queries) DeleteCustomDomainsByProjectId(ctx context.Context, db DBTX, projectID string) error
DeleteCustomDomainsByProjectId
DELETE FROM custom_domains WHERE project_id = ?
func (*Queries) DeleteDeploymentChangesBefore ¶
DeleteDeploymentChangesBefore removes old deployment_changes entries for TTL-based cleanup.
DELETE FROM `deployment_changes` WHERE created_at < ? LIMIT 10000
func (*Queries) DeleteDeploymentInstances ¶
func (q *Queries) DeleteDeploymentInstances(ctx context.Context, db DBTX, arg DeleteDeploymentInstancesParams) error
DeleteDeploymentInstances
DELETE FROM instances WHERE deployment_id = ? AND region_id = ?
func (*Queries) DeleteDeploymentStepsByEnvironmentId ¶
func (q *Queries) DeleteDeploymentStepsByEnvironmentId(ctx context.Context, db DBTX, environmentID string) error
DeleteDeploymentStepsByEnvironmentId
DELETE ds FROM deployment_steps ds JOIN deployments d ON ds.deployment_id = d.id WHERE d.environment_id = ?
func (*Queries) DeleteDeploymentTopologiesByEnvironmentId ¶
func (q *Queries) DeleteDeploymentTopologiesByEnvironmentId(ctx context.Context, db DBTX, environmentID string) error
DeleteDeploymentTopologiesByEnvironmentId
DELETE dt FROM deployment_topology dt JOIN deployments d ON dt.deployment_id = d.id WHERE d.environment_id = ?
func (*Queries) DeleteDeploymentTopologyByDeploymentId ¶
func (q *Queries) DeleteDeploymentTopologyByDeploymentId(ctx context.Context, db DBTX, deploymentID string) error
DeleteDeploymentTopologyByDeploymentId
DELETE FROM `deployment_topology` WHERE deployment_id = ?
func (*Queries) DeleteDeploymentTopologyByDeploymentRegion ¶
func (q *Queries) DeleteDeploymentTopologyByDeploymentRegion(ctx context.Context, db DBTX, arg DeleteDeploymentTopologyByDeploymentRegionParams) error
DeleteDeploymentTopologyByDeploymentRegion
DELETE FROM `deployment_topology` WHERE deployment_id = ? AND region_id = ?
func (*Queries) DeleteDeploymentsByEnvironmentId ¶
func (q *Queries) DeleteDeploymentsByEnvironmentId(ctx context.Context, db DBTX, environmentID string) error
DeleteDeploymentsByEnvironmentId
DELETE FROM deployments WHERE environment_id = ?
func (*Queries) DeleteFrontlineRouteByFQDN ¶
DeleteFrontlineRouteByFQDN
DELETE FROM frontline_routes WHERE fully_qualified_domain_name = ?
func (*Queries) DeleteFrontlineRoutesByEnvironmentId ¶
func (q *Queries) DeleteFrontlineRoutesByEnvironmentId(ctx context.Context, db DBTX, environmentID string) error
DeleteFrontlineRoutesByEnvironmentId
DELETE FROM frontline_routes WHERE environment_id = ?
func (*Queries) DeleteFrontlineRoutesByProjectId ¶
func (q *Queries) DeleteFrontlineRoutesByProjectId(ctx context.Context, db DBTX, projectID string) error
DeleteFrontlineRoutesByProjectId
DELETE FROM frontline_routes WHERE project_id = ?
func (*Queries) DeleteGithubRepoConnectionsByAppId ¶
func (q *Queries) DeleteGithubRepoConnectionsByAppId(ctx context.Context, db DBTX, appID string) error
DeleteGithubRepoConnectionsByAppId
DELETE FROM github_repo_connections WHERE app_id = ?
func (*Queries) DeleteGithubRepoConnectionsByProjectId ¶
func (q *Queries) DeleteGithubRepoConnectionsByProjectId(ctx context.Context, db DBTX, projectID string) error
DeleteGithubRepoConnectionsByProjectId
DELETE FROM github_repo_connections WHERE project_id = ?
func (*Queries) DeleteIdentity ¶
DeleteIdentity
DELETE FROM identities WHERE id = ? AND workspace_id = ?
func (*Queries) DeleteInstance ¶
DeleteInstance
DELETE FROM instances WHERE k8s_name = ? AND region_id = ?
func (*Queries) DeleteKeyByID ¶
DeleteKeyByID
DELETE k, kp, kr, rl, ek FROM `keys` k LEFT JOIN keys_permissions kp ON k.id = kp.key_id LEFT JOIN keys_roles kr ON k.id = kr.key_id LEFT JOIN ratelimits rl ON k.id = rl.key_id LEFT JOIN encrypted_keys ek ON k.id = ek.key_id WHERE k.id = ?
func (*Queries) DeleteKeyPermissionByKeyAndPermissionID ¶
func (q *Queries) DeleteKeyPermissionByKeyAndPermissionID(ctx context.Context, db DBTX, arg DeleteKeyPermissionByKeyAndPermissionIDParams) error
DeleteKeyPermissionByKeyAndPermissionID
DELETE FROM keys_permissions WHERE key_id = ? AND permission_id = ?
func (*Queries) DeleteManyKeyPermissionByKeyAndPermissionIDs ¶
func (q *Queries) DeleteManyKeyPermissionByKeyAndPermissionIDs(ctx context.Context, db DBTX, arg DeleteManyKeyPermissionByKeyAndPermissionIDsParams) error
DeleteManyKeyPermissionByKeyAndPermissionIDs
DELETE FROM keys_permissions WHERE key_id = ? AND permission_id IN (/*SLICE:ids*/?)
func (*Queries) DeleteManyKeyPermissionsByPermissionID ¶
func (q *Queries) DeleteManyKeyPermissionsByPermissionID(ctx context.Context, db DBTX, permissionID string) error
DeleteManyKeyPermissionsByPermissionID
DELETE FROM keys_permissions WHERE permission_id = ?
func (*Queries) DeleteManyKeyRolesByKeyAndRoleIDs ¶
func (q *Queries) DeleteManyKeyRolesByKeyAndRoleIDs(ctx context.Context, db DBTX, arg DeleteManyKeyRolesByKeyAndRoleIDsParams) error
DeleteManyKeyRolesByKeyAndRoleIDs
DELETE FROM keys_roles WHERE key_id = ? AND role_id IN(/*SLICE:role_ids*/?)
func (*Queries) DeleteManyKeyRolesByKeyID ¶
func (q *Queries) DeleteManyKeyRolesByKeyID(ctx context.Context, db DBTX, arg DeleteManyKeyRolesByKeyIDParams) error
DeleteManyKeyRolesByKeyID
DELETE FROM keys_roles WHERE key_id = ? AND role_id = ?
func (*Queries) DeleteManyKeyRolesByRoleID ¶
DeleteManyKeyRolesByRoleID
DELETE FROM keys_roles WHERE role_id = ?
func (*Queries) DeleteManyRatelimitsByIDs ¶
DeleteManyRatelimitsByIDs
DELETE FROM ratelimits WHERE id IN (/*SLICE:ids*/?)
func (*Queries) DeleteManyRatelimitsByIdentityID ¶
func (q *Queries) DeleteManyRatelimitsByIdentityID(ctx context.Context, db DBTX, identityID sql.NullString) error
DeleteManyRatelimitsByIdentityID
DELETE FROM ratelimits WHERE identity_id = ?
func (*Queries) DeleteManyRolePermissionsByPermissionID ¶
func (q *Queries) DeleteManyRolePermissionsByPermissionID(ctx context.Context, db DBTX, permissionID string) error
DeleteManyRolePermissionsByPermissionID
DELETE FROM roles_permissions WHERE permission_id = ?
func (*Queries) DeleteManyRolePermissionsByRoleID ¶
func (q *Queries) DeleteManyRolePermissionsByRoleID(ctx context.Context, db DBTX, roleID string) error
DeleteManyRolePermissionsByRoleID
DELETE FROM roles_permissions WHERE role_id = ?
func (*Queries) DeleteOldIdentityByExternalID ¶
func (q *Queries) DeleteOldIdentityByExternalID(ctx context.Context, db DBTX, arg DeleteOldIdentityByExternalIDParams) error
DeleteOldIdentityByExternalID
DELETE i, rl FROM identities i LEFT JOIN ratelimits rl ON rl.identity_id = i.id WHERE i.workspace_id = ? AND i.external_id = ? AND i.id != ? AND i.deleted = true
func (*Queries) DeleteOldIdentityWithRatelimits ¶
func (q *Queries) DeleteOldIdentityWithRatelimits(ctx context.Context, db DBTX, arg DeleteOldIdentityWithRatelimitsParams) error
DeleteOldIdentityWithRatelimits
DELETE i, rl FROM identities i LEFT JOIN ratelimits rl ON rl.identity_id = i.id WHERE i.workspace_id = ? AND (i.id = ? OR i.external_id = ?) AND i.deleted = true
func (*Queries) DeleteRatelimitNamespace ¶
func (q *Queries) DeleteRatelimitNamespace(ctx context.Context, db DBTX, arg DeleteRatelimitNamespaceParams) (sql.Result, error)
DeleteRatelimitNamespace
UPDATE `ratelimit_namespaces` SET deleted_at_m = ? WHERE id = ?
func (*Queries) DeleteSentinelsByEnvironmentId ¶
func (q *Queries) DeleteSentinelsByEnvironmentId(ctx context.Context, db DBTX, environmentID string) error
DeleteSentinelsByEnvironmentId
DELETE FROM sentinels WHERE environment_id = ?
func (*Queries) DeleteSentinelsByProjectId ¶
DeleteSentinelsByProjectId
DELETE FROM sentinels WHERE project_id = ?
func (*Queries) EndActiveDeploymentStepsForDeployments ¶
func (q *Queries) EndActiveDeploymentStepsForDeployments(ctx context.Context, db DBTX, arg EndActiveDeploymentStepsForDeploymentsParams) error
EndActiveDeploymentStepsForDeployments
UPDATE `deployment_steps` SET ended_at = ?, error = ? WHERE deployment_id IN (/*SLICE:deployment_ids*/?) AND ended_at IS NULL
func (*Queries) EndActiveDeploymentStepsWithError ¶
func (q *Queries) EndActiveDeploymentStepsWithError(ctx context.Context, db DBTX, arg EndActiveDeploymentStepsWithErrorParams) error
EndActiveDeploymentStepsWithError
UPDATE `deployment_steps` SET ended_at = ?, error = ? WHERE deployment_id = ? AND ended_at IS NULL
func (*Queries) EndDeploymentStep ¶
func (q *Queries) EndDeploymentStep(ctx context.Context, db DBTX, arg EndDeploymentStepParams) error
EndDeploymentStep
UPDATE `deployment_steps` SET ended_at = ?, error = ? WHERE deployment_id = ? AND step = ? AND ended_at IS NULL
func (*Queries) ExchangePortalSessionToken ¶
func (q *Queries) ExchangePortalSessionToken(ctx context.Context, db DBTX, arg ExchangePortalSessionTokenParams) (sql.Result, error)
ExchangePortalSessionToken
UPDATE portal_session_tokens SET exchanged_at = ? WHERE id = ? AND exchanged_at IS NULL AND expires_at > ?
func (*Queries) FindAcmeChallengeByToken ¶
func (q *Queries) FindAcmeChallengeByToken(ctx context.Context, db DBTX, arg FindAcmeChallengeByTokenParams) (AcmeChallenge, error)
FindAcmeChallengeByToken
SELECT pk, domain_id, workspace_id, token, challenge_type, authorization, status, expires_at, created_at, updated_at FROM acme_challenges WHERE workspace_id = ? AND domain_id = ? AND token = ?
func (*Queries) FindAcmeUserByWorkspaceID ¶
func (q *Queries) FindAcmeUserByWorkspaceID(ctx context.Context, db DBTX, workspaceID string) (AcmeUser, error)
FindAcmeUserByWorkspaceID
SELECT pk, id, workspace_id, encrypted_key, registration_uri, created_at, updated_at FROM acme_users WHERE workspace_id = ? LIMIT 1
func (*Queries) FindApiByID ¶
FindApiByID
SELECT pk, id, name, workspace_id, ip_whitelist, auth_type, key_auth_id, created_at_m, updated_at_m, deleted_at_m, delete_protection FROM apis WHERE id = ?
func (*Queries) FindAppBuildSettingByAppEnv ¶
func (q *Queries) FindAppBuildSettingByAppEnv(ctx context.Context, db DBTX, arg FindAppBuildSettingByAppEnvParams) (AppBuildSetting, error)
FindAppBuildSettingByAppEnv
SELECT pk, workspace_id, app_id, environment_id, dockerfile, docker_context, watch_paths, auto_deploy, created_at, updated_at FROM `app_build_settings` WHERE app_id = ? AND environment_id = ?
func (*Queries) FindAppById ¶
FindAppById
SELECT pk, id, workspace_id, project_id, name, slug, default_branch, current_deployment_id, is_rolled_back, delete_protection, created_at, updated_at FROM apps WHERE id = ?
func (*Queries) FindAppByProjectAndSlug ¶
func (q *Queries) FindAppByProjectAndSlug(ctx context.Context, db DBTX, arg FindAppByProjectAndSlugParams) (FindAppByProjectAndSlugRow, error)
FindAppByProjectAndSlug
SELECT apps.pk, apps.id, apps.workspace_id, apps.project_id, apps.name, apps.slug, apps.default_branch, apps.current_deployment_id, apps.is_rolled_back, apps.delete_protection, apps.created_at, apps.updated_at FROM apps WHERE apps.project_id = ? AND apps.slug = ?
func (*Queries) FindAppByWorkspaceAndSlugs ¶
func (q *Queries) FindAppByWorkspaceAndSlugs(ctx context.Context, db DBTX, arg FindAppByWorkspaceAndSlugsParams) (FindAppByWorkspaceAndSlugsRow, error)
FindAppByWorkspaceAndSlugs
SELECT p.pk, p.id, p.workspace_id, p.name, p.slug, p.depot_project_id, p.delete_protection, p.created_at, p.updated_at, a.pk, a.id, a.workspace_id, a.project_id, a.name, a.slug, a.default_branch, a.current_deployment_id, a.is_rolled_back, a.delete_protection, a.created_at, a.updated_at FROM apps a INNER JOIN projects p ON p.id = a.project_id WHERE p.workspace_id = ? AND p.slug = ? AND a.slug = ?
func (*Queries) FindAppEnvVarsByAppAndEnv ¶
func (q *Queries) FindAppEnvVarsByAppAndEnv(ctx context.Context, db DBTX, arg FindAppEnvVarsByAppAndEnvParams) ([]FindAppEnvVarsByAppAndEnvRow, error)
FindAppEnvVarsByAppAndEnv
SELECT `key`, value FROM app_environment_variables WHERE app_id = ? AND environment_id = ?
func (*Queries) FindAppRegionalSettingsByAppAndEnv ¶
func (q *Queries) FindAppRegionalSettingsByAppAndEnv(ctx context.Context, db DBTX, arg FindAppRegionalSettingsByAppAndEnvParams) ([]FindAppRegionalSettingsByAppAndEnvRow, error)
FindAppRegionalSettingsByAppAndEnv returns per-region deployment settings including the autoscaling policy values (if attached) for snapshotting into deployment_topology at deploy time.
SELECT ars.region_id, r.name AS region_name, ars.replicas, r.can_schedule AS region_can_schedule, hap.replicas_min AS autoscaling_replicas_min, hap.replicas_max AS autoscaling_replicas_max, hap.cpu_threshold AS autoscaling_threshold_cpu, hap.memory_threshold AS autoscaling_threshold_memory FROM app_regional_settings ars JOIN regions r ON r.id = ars.region_id LEFT JOIN horizontal_autoscaling_policies hap ON hap.id = ars.horizontal_autoscaling_policy_id WHERE ars.app_id = ? AND ars.environment_id = ?
func (*Queries) FindAppRuntimeSettingsByAppAndEnv ¶
func (q *Queries) FindAppRuntimeSettingsByAppAndEnv(ctx context.Context, db DBTX, arg FindAppRuntimeSettingsByAppAndEnvParams) (FindAppRuntimeSettingsByAppAndEnvRow, error)
FindAppRuntimeSettingsByAppAndEnv
SELECT app_runtime_settings.pk, app_runtime_settings.workspace_id, app_runtime_settings.app_id, app_runtime_settings.environment_id, app_runtime_settings.port, app_runtime_settings.cpu_millicores, app_runtime_settings.memory_mib, app_runtime_settings.storage_mib, app_runtime_settings.command, app_runtime_settings.healthcheck, app_runtime_settings.shutdown_signal, app_runtime_settings.upstream_protocol, app_runtime_settings.sentinel_config, app_runtime_settings.openapi_spec_path, app_runtime_settings.created_at, app_runtime_settings.updated_at FROM app_runtime_settings WHERE app_id = ? AND environment_id = ?
func (*Queries) FindAppWithSettings ¶
func (q *Queries) FindAppWithSettings(ctx context.Context, db DBTX, arg FindAppWithSettingsParams) (FindAppWithSettingsRow, error)
FindAppWithSettings
SELECT
a.pk, a.id, a.workspace_id, a.project_id, a.name, a.slug, a.default_branch, a.current_deployment_id, a.is_rolled_back, a.delete_protection, a.created_at, a.updated_at,
abs.pk, abs.workspace_id, abs.app_id, abs.environment_id, abs.dockerfile, abs.docker_context, abs.watch_paths, abs.auto_deploy, abs.created_at, abs.updated_at,
ars.pk, ars.workspace_id, ars.app_id, ars.environment_id, ars.port, ars.cpu_millicores, ars.memory_mib, ars.storage_mib, ars.command, ars.healthcheck, ars.shutdown_signal, ars.upstream_protocol, ars.sentinel_config, ars.openapi_spec_path, ars.created_at, ars.updated_at
FROM apps a
INNER JOIN app_build_settings abs ON abs.app_id = a.id AND abs.environment_id = ?
INNER JOIN app_runtime_settings ars ON ars.app_id = a.id AND ars.environment_id = ?
WHERE a.id = ?
func (*Queries) FindAuditLogMaxPK ¶
FindAuditLogMaxPK returns MAX(pk) of the legacy audit_log table, used by the backfill VO to snapshot the cutoff on first invocation. Returns 0 when the table is empty (COALESCE + CAST keep the call from erroring on NULL aggregation and force sqlc to infer the result as uint64 instead of interface{}).
SELECT CAST(COALESCE(MAX(pk), 0) AS UNSIGNED) AS max_pk FROM audit_log
func (*Queries) FindAuditLogTargetByID ¶
func (q *Queries) FindAuditLogTargetByID(ctx context.Context, db DBTX, id string) ([]FindAuditLogTargetByIDRow, error)
FindAuditLogTargetByID
SELECT audit_log_target.pk, audit_log_target.workspace_id, audit_log_target.bucket_id, audit_log_target.bucket, audit_log_target.audit_log_id, audit_log_target.display_name, audit_log_target.type, audit_log_target.id, audit_log_target.name, audit_log_target.meta, audit_log_target.created_at, audit_log_target.updated_at, audit_log.pk, audit_log.id, audit_log.workspace_id, audit_log.bucket, audit_log.bucket_id, audit_log.event, audit_log.time, audit_log.display, audit_log.remote_ip, audit_log.user_agent, audit_log.actor_type, audit_log.actor_id, audit_log.actor_name, audit_log.actor_meta, audit_log.created_at, audit_log.updated_at FROM audit_log_target JOIN audit_log ON audit_log.id = audit_log_target.audit_log_id WHERE audit_log_target.id = ?
func (*Queries) FindAuditLogTargetsForBackfill ¶
func (q *Queries) FindAuditLogTargetsForBackfill(ctx context.Context, db DBTX, auditLogIds []string) ([]FindAuditLogTargetsForBackfillRow, error)
FindAuditLogTargetsForBackfill fetches every target row attached to a set of audit_log_ids in one query. Called by the backfill VO after FindAuditLogsForBackfill so we go from "page of N parents" to "page of N parents with all their targets" in two MySQL reads, never N+1.
The unique index on (audit_log_id, id) covers the IN-list lookup. Order by audit_log_id, pk so the VO's grouping pass sees a deterministic per-event target sequence.
SELECT audit_log_id, type, id, name, meta FROM audit_log_target WHERE audit_log_id IN (/*SLICE:audit_log_ids*/?) ORDER BY audit_log_id, pk
func (*Queries) FindAuditLogsForBackfill ¶
func (q *Queries) FindAuditLogsForBackfill(ctx context.Context, db DBTX, arg FindAuditLogsForBackfillParams) ([]FindAuditLogsForBackfillRow, error)
FindAuditLogsForBackfill returns one cursor page of legacy audit_log rows for the one-shot MySQL -> ClickHouse backfill VO. Ordered by pk so the cursor advances monotonically; on a crash mid-page the VO replays the same range from its persisted last_pk, and CH's non_replicated_deduplication_window collapses the duplicate insert block.
The pk <= cutoff bound makes the VO terminate. Rows written after the backfill snapshotted the legacy tail are already shipped via the live drainer, so the backfill skips them. Without this bound the cursor would chase a moving target forever.
The primary key on `pk` makes this a forward range scan; no extra index needed. We pull every column the auditlog.Event envelope needs in one read so the VO does not have to re-query per row.
SELECT pk, id, workspace_id, bucket, event, time, display,
remote_ip, user_agent, actor_type, actor_id, actor_name, actor_meta
FROM audit_log
WHERE pk > ?
AND pk <= ?
ORDER BY pk
LIMIT ?
func (*Queries) FindCertificateByHostname ¶
func (q *Queries) FindCertificateByHostname(ctx context.Context, db DBTX, hostname string) (Certificate, error)
FindCertificateByHostname
SELECT pk, id, workspace_id, hostname, certificate, encrypted_private_key, created_at, updated_at FROM certificates WHERE hostname = ?
func (*Queries) FindCertificatesByHostnames ¶
func (q *Queries) FindCertificatesByHostnames(ctx context.Context, db DBTX, hostnames []string) ([]Certificate, error)
FindCertificatesByHostnames
SELECT pk, id, workspace_id, hostname, certificate, encrypted_private_key, created_at, updated_at FROM certificates WHERE hostname IN (/*SLICE:hostnames*/?)
func (*Queries) FindCiliumNetworkPoliciesByDeploymentID ¶
func (q *Queries) FindCiliumNetworkPoliciesByDeploymentID(ctx context.Context, db DBTX, deploymentID string) ([]CiliumNetworkPolicy, error)
FindCiliumNetworkPoliciesByDeploymentID
SELECT pk, id, workspace_id, project_id, app_id, environment_id, deployment_id, k8s_name, k8s_namespace, region_id, policy, created_at, updated_at FROM cilium_network_policies WHERE deployment_id = ?
func (*Queries) FindCiliumNetworkPoliciesByEnvironmentID ¶
func (q *Queries) FindCiliumNetworkPoliciesByEnvironmentID(ctx context.Context, db DBTX, environmentID string) ([]CiliumNetworkPolicy, error)
FindCiliumNetworkPoliciesByEnvironmentID
SELECT pk, id, workspace_id, project_id, app_id, environment_id, deployment_id, k8s_name, k8s_namespace, region_id, policy, created_at, updated_at FROM cilium_network_policies WHERE environment_id = ?
func (*Queries) FindCiliumNetworkPolicyByEnvironmentRegionAndName ¶
func (q *Queries) FindCiliumNetworkPolicyByEnvironmentRegionAndName(ctx context.Context, db DBTX, arg FindCiliumNetworkPolicyByEnvironmentRegionAndNameParams) (CiliumNetworkPolicy, error)
FindCiliumNetworkPolicyByEnvironmentRegionAndName
SELECT pk, id, workspace_id, project_id, app_id, environment_id, deployment_id, k8s_name, k8s_namespace, region_id, policy, created_at, updated_at FROM `cilium_network_policies` WHERE environment_id = ? AND region_id = ? AND k8s_name = ? LIMIT 1
func (*Queries) FindCiliumNetworkPolicyByIDAndRegion ¶
func (q *Queries) FindCiliumNetworkPolicyByIDAndRegion(ctx context.Context, db DBTX, arg FindCiliumNetworkPolicyByIDAndRegionParams) (CiliumNetworkPolicy, error)
FindCiliumNetworkPolicyByIDAndRegion
SELECT pk, id, workspace_id, project_id, app_id, environment_id, deployment_id, k8s_name, k8s_namespace, region_id, policy, created_at, updated_at FROM `cilium_network_policies` WHERE region_id = ? AND id = ? LIMIT 1
func (*Queries) FindClickhouseOutboxBatch ¶
func (q *Queries) FindClickhouseOutboxBatch(ctx context.Context, db DBTX, arg FindClickhouseOutboxBatchParams) ([]FindClickhouseOutboxBatchRow, error)
FindClickhouseOutboxBatch returns the next batch of unprocessed outbox rows for a known set of payload versions. Must be called inside a transaction. FOR UPDATE SKIP LOCKED locks the batch so a second cron tick (if Restate VO serialization ever fails) silently skips them rather than re-processing the same set. The lock is released when the caller commits or rolls back. Ordered by pk so retries see a deterministic row set, which lets CH's block-level deduplication collapse re-inserts after a partial failure.
The version filter means a drainer never reads a payload it can't decode. Unknown versions stay in the table until a drainer with the matching handler ships.
deleted_at IS NULL skips rows the drainer already shipped. Marked rows stay in the table for re-processing (clear deleted_at to re-queue) and as an ops audit trail; there's no sweep job today.
SELECT pk, version, workspace_id, event_id, payload, created_at FROM clickhouse_outbox WHERE version IN (/*SLICE:versions*/?) AND deleted_at IS NULL ORDER BY pk LIMIT ? FOR UPDATE SKIP LOCKED
func (*Queries) FindClickhouseWorkspaceSettingsByWorkspaceID ¶
func (q *Queries) FindClickhouseWorkspaceSettingsByWorkspaceID(ctx context.Context, db DBTX, workspaceID string) (FindClickhouseWorkspaceSettingsByWorkspaceIDRow, error)
FindClickhouseWorkspaceSettingsByWorkspaceID
SELECT
c.pk, c.workspace_id, c.username, c.password_encrypted, c.quota_duration_seconds, c.max_queries_per_window, c.max_execution_time_per_window, c.max_query_execution_time, c.max_query_memory_bytes, c.max_query_result_rows, c.created_at, c.updated_at,
q.pk, q.workspace_id, q.requests_per_month, q.logs_retention_days, q.audit_logs_retention_days, q.team, q.ratelimit_api_limit, q.ratelimit_api_duration, q.allocated_cpu_millicores_total, q.allocated_memory_mib_total, q.allocated_storage_mib_total, q.max_cpu_millicores_per_instance, q.max_memory_mib_per_instance, q.max_storage_mib_per_instance, q.max_concurrent_builds
FROM `clickhouse_workspace_settings` c
JOIN `quota` q ON c.workspace_id = q.workspace_id
WHERE c.workspace_id = ?
func (*Queries) FindCustomDomainByDomain ¶
func (q *Queries) FindCustomDomainByDomain(ctx context.Context, db DBTX, domain string) (CustomDomain, error)
FindCustomDomainByDomain
SELECT pk, id, workspace_id, project_id, app_id, environment_id, domain, challenge_type, verification_status, verification_token, ownership_verified, cname_verified, target_cname, last_checked_at, check_attempts, verification_error, domain_connect_provider, domain_connect_url, invocation_id, created_at, updated_at FROM custom_domains WHERE domain = ?
func (*Queries) FindCustomDomainByDomainOrWildcard ¶
func (q *Queries) FindCustomDomainByDomainOrWildcard(ctx context.Context, db DBTX, arg FindCustomDomainByDomainOrWildcardParams) (CustomDomain, error)
FindCustomDomainByDomainOrWildcard
SELECT pk, id, workspace_id, project_id, app_id, environment_id, domain, challenge_type, verification_status, verification_token, ownership_verified, cname_verified, target_cname, last_checked_at, check_attempts, verification_error, domain_connect_provider, domain_connect_url, invocation_id, created_at, updated_at FROM custom_domains
WHERE domain IN (?, ?)
ORDER BY
CASE WHEN domain = ? THEN 0 ELSE 1 END
LIMIT 1
func (*Queries) FindCustomDomainById ¶
func (q *Queries) FindCustomDomainById(ctx context.Context, db DBTX, id string) (CustomDomain, error)
FindCustomDomainById
SELECT pk, id, workspace_id, project_id, app_id, environment_id, domain, challenge_type, verification_status, verification_token, ownership_verified, cname_verified, target_cname, last_checked_at, check_attempts, verification_error, domain_connect_provider, domain_connect_url, invocation_id, created_at, updated_at FROM custom_domains WHERE id = ?
func (*Queries) FindCustomDomainByWorkspaceAndDomain ¶
func (q *Queries) FindCustomDomainByWorkspaceAndDomain(ctx context.Context, db DBTX, arg FindCustomDomainByWorkspaceAndDomainParams) (CustomDomain, error)
FindCustomDomainByWorkspaceAndDomain
SELECT pk, id, workspace_id, project_id, app_id, environment_id, domain, challenge_type, verification_status, verification_token, ownership_verified, cname_verified, target_cname, last_checked_at, check_attempts, verification_error, domain_connect_provider, domain_connect_url, invocation_id, created_at, updated_at FROM custom_domains WHERE workspace_id = ? AND domain = ?
func (*Queries) FindCustomDomainWithCertByDomain ¶
func (q *Queries) FindCustomDomainWithCertByDomain(ctx context.Context, db DBTX, domain string) (FindCustomDomainWithCertByDomainRow, error)
FindCustomDomainWithCertByDomain
SELECT
cd.pk, cd.id, cd.workspace_id, cd.project_id, cd.app_id, cd.environment_id, cd.domain, cd.challenge_type, cd.verification_status, cd.verification_token, cd.ownership_verified, cd.cname_verified, cd.target_cname, cd.last_checked_at, cd.check_attempts, cd.verification_error, cd.domain_connect_provider, cd.domain_connect_url, cd.invocation_id, cd.created_at, cd.updated_at,
c.id AS certificate_id
FROM custom_domains cd
LEFT JOIN certificates c ON c.hostname = cd.domain
WHERE cd.domain = ?
func (*Queries) FindDeploymentById ¶
FindDeploymentById
SELECT pk, id, k8s_name, workspace_id, project_id, environment_id, app_id, image, build_id, git_commit_sha, git_branch, git_commit_message, git_commit_author_handle, git_commit_author_avatar_url, git_commit_timestamp, sentinel_config, cpu_millicores, memory_mib, storage_mib, desired_state, encrypted_environment_variables, command, port, shutdown_signal, upstream_protocol, healthcheck, pr_number, fork_repository_full_name, github_deployment_id, invocation_id, status, created_at, updated_at FROM `deployments` WHERE id = ?
func (*Queries) FindDeploymentByK8sName ¶
func (q *Queries) FindDeploymentByK8sName(ctx context.Context, db DBTX, k8sName string) (Deployment, error)
FindDeploymentByK8sName
SELECT pk, id, k8s_name, workspace_id, project_id, environment_id, app_id, image, build_id, git_commit_sha, git_branch, git_commit_message, git_commit_author_handle, git_commit_author_avatar_url, git_commit_timestamp, sentinel_config, cpu_millicores, memory_mib, storage_mib, desired_state, encrypted_environment_variables, command, port, shutdown_signal, upstream_protocol, healthcheck, pr_number, fork_repository_full_name, github_deployment_id, invocation_id, status, created_at, updated_at FROM `deployments` WHERE k8s_name = ?
func (*Queries) FindDeploymentRegions ¶
func (q *Queries) FindDeploymentRegions(ctx context.Context, db DBTX, deploymentID string) ([]Region, error)
Returns all regions where a deployment is configured. Used for fan-out: when a deployment changes, emit state_change to each region.
SELECT r.pk, r.id, r.name, r.platform, r.can_schedule FROM `deployment_topology` dt INNER JOIN `regions` r ON dt.region_id = r.id WHERE dt.deployment_id = ?
func (*Queries) FindDeploymentTopologyByDeploymentAndRegion ¶
func (q *Queries) FindDeploymentTopologyByDeploymentAndRegion(ctx context.Context, db DBTX, arg FindDeploymentTopologyByDeploymentAndRegionParams) (FindDeploymentTopologyByDeploymentAndRegionRow, error)
FindDeploymentTopologyByDeploymentAndRegion returns a single deployment topology with all joined data needed for the Watch stream. Used by the unified WatchDeploymentChanges RPC.
SELECT
dt.pk, dt.workspace_id, dt.deployment_id, dt.region_id, dt.autoscaling_replicas_min, dt.autoscaling_replicas_max, dt.autoscaling_threshold_cpu, dt.autoscaling_threshold_memory, dt.desired_status, dt.created_at, dt.updated_at,
d.pk, d.id, d.k8s_name, d.workspace_id, d.project_id, d.environment_id, d.app_id, d.image, d.build_id, d.git_commit_sha, d.git_branch, d.git_commit_message, d.git_commit_author_handle, d.git_commit_author_avatar_url, d.git_commit_timestamp, d.sentinel_config, d.cpu_millicores, d.memory_mib, d.storage_mib, d.desired_state, d.encrypted_environment_variables, d.command, d.port, d.shutdown_signal, d.upstream_protocol, d.healthcheck, d.pr_number, d.fork_repository_full_name, d.github_deployment_id, d.invocation_id, d.status, d.created_at, d.updated_at,
w.k8s_namespace,
e.slug AS environment_slug,
r.name AS region_name,
grc.repository_full_name AS git_repo
FROM `deployment_topology` dt
INNER JOIN `deployments` d ON dt.deployment_id = d.id
INNER JOIN `workspaces` w ON d.workspace_id = w.id
INNER JOIN `regions` r ON dt.region_id = r.id
INNER JOIN `environments` e ON d.environment_id = e.id
LEFT JOIN `github_repo_connections` grc ON d.app_id = grc.app_id
WHERE dt.deployment_id = ? AND dt.region_id = ?
LIMIT 1
func (*Queries) FindDeploymentTopologyMinReplicas ¶
func (q *Queries) FindDeploymentTopologyMinReplicas(ctx context.Context, db DBTX, deploymentID string) ([]FindDeploymentTopologyMinReplicasRow, error)
Returns the per-region minimum replica requirement for a deployment. Used by ReportDeploymentStatus to compute whether enough regions are healthy to call DeployService.NotifyInstancesReady.
SELECT region_id, autoscaling_replicas_min FROM deployment_topology WHERE deployment_id = ?
func (*Queries) FindEnvironmentByAppIdAndSlug ¶
func (q *Queries) FindEnvironmentByAppIdAndSlug(ctx context.Context, db DBTX, arg FindEnvironmentByAppIdAndSlugParams) (FindEnvironmentByAppIdAndSlugRow, error)
FindEnvironmentByAppIdAndSlug
SELECT environments.pk, environments.id, environments.workspace_id, environments.project_id, environments.app_id, environments.slug, environments.description, environments.delete_protection, environments.created_at, environments.updated_at FROM environments WHERE app_id = ? AND slug = ?
func (*Queries) FindEnvironmentById ¶
FindEnvironmentById
SELECT pk, id, workspace_id, project_id, app_id, slug, description, delete_protection, created_at, updated_at FROM environments WHERE id = ?
func (*Queries) FindEnvironmentByProjectIdAndSlug ¶
func (q *Queries) FindEnvironmentByProjectIdAndSlug(ctx context.Context, db DBTX, arg FindEnvironmentByProjectIdAndSlugParams) (Environment, error)
FindEnvironmentByProjectIdAndSlug
SELECT pk, id, workspace_id, project_id, app_id, slug, description, delete_protection, created_at, updated_at FROM environments WHERE workspace_id = ? AND project_id = ? AND slug = ?
func (*Queries) FindFrontlineRouteByDeploymentIDAndSticky ¶
func (q *Queries) FindFrontlineRouteByDeploymentIDAndSticky(ctx context.Context, db DBTX, arg FindFrontlineRouteByDeploymentIDAndStickyParams) (FrontlineRoute, error)
FindFrontlineRouteByDeploymentIDAndSticky
SELECT pk, id, project_id, app_id, deployment_id, environment_id, fully_qualified_domain_name, sticky, created_at, updated_at FROM frontline_routes WHERE deployment_id = ? AND sticky = ?
func (*Queries) FindFrontlineRouteByFQDN ¶
func (q *Queries) FindFrontlineRouteByFQDN(ctx context.Context, db DBTX, fullyQualifiedDomainName string) (FrontlineRoute, error)
FindFrontlineRouteByFQDN
SELECT pk, id, project_id, app_id, deployment_id, environment_id, fully_qualified_domain_name, sticky, created_at, updated_at FROM frontline_routes WHERE fully_qualified_domain_name = ?
func (*Queries) FindFrontlineRouteForPromotion ¶
func (q *Queries) FindFrontlineRouteForPromotion(ctx context.Context, db DBTX, arg FindFrontlineRouteForPromotionParams) ([]FindFrontlineRouteForPromotionRow, error)
FindFrontlineRouteForPromotion
SELECT
id,
project_id,
environment_id,
fully_qualified_domain_name,
deployment_id,
sticky,
created_at,
updated_at
FROM frontline_routes
WHERE
environment_id = ?
AND sticky IN (/*SLICE:sticky*/?)
ORDER BY created_at ASC
func (*Queries) FindFrontlineRoutesByDeploymentID ¶
func (q *Queries) FindFrontlineRoutesByDeploymentID(ctx context.Context, db DBTX, deploymentID string) ([]FrontlineRoute, error)
FindFrontlineRoutesByDeploymentID
SELECT pk, id, project_id, app_id, deployment_id, environment_id, fully_qualified_domain_name, sticky, created_at, updated_at FROM frontline_routes WHERE deployment_id = ?
func (*Queries) FindFrontlineRoutesForRollback ¶
func (q *Queries) FindFrontlineRoutesForRollback(ctx context.Context, db DBTX, arg FindFrontlineRoutesForRollbackParams) ([]FindFrontlineRoutesForRollbackRow, error)
FindFrontlineRoutesForRollback
SELECT
id,
project_id,
environment_id,
fully_qualified_domain_name,
deployment_id,
sticky,
created_at,
updated_at
FROM frontline_routes
WHERE
environment_id = ?
AND sticky IN (/*SLICE:sticky*/?)
ORDER BY created_at ASC
func (*Queries) FindGithubRepoConnectionByAppId ¶
func (q *Queries) FindGithubRepoConnectionByAppId(ctx context.Context, db DBTX, appID string) (GithubRepoConnection, error)
FindGithubRepoConnectionByAppId
SELECT
pk,
workspace_id,
project_id,
app_id,
installation_id,
repository_id,
repository_full_name,
created_at,
updated_at
FROM github_repo_connections
WHERE app_id = ?
func (*Queries) FindGithubRepoConnectionByProjectId ¶
func (q *Queries) FindGithubRepoConnectionByProjectId(ctx context.Context, db DBTX, projectID string) (FindGithubRepoConnectionByProjectIdRow, error)
FindGithubRepoConnectionByProjectId
SELECT
pk,
workspace_id,
project_id,
installation_id,
repository_id,
repository_full_name,
created_at,
updated_at
FROM github_repo_connections
WHERE project_id = ?
func (*Queries) FindIdentities ¶
func (q *Queries) FindIdentities(ctx context.Context, db DBTX, arg FindIdentitiesParams) ([]Identity, error)
FindIdentities
SELECT pk, id, external_id, workspace_id, environment, meta, deleted, created_at, updated_at FROM identities WHERE workspace_id = ? AND deleted = ? AND (external_id IN(/*SLICE:identities*/?) OR id IN (/*SLICE:identities*/?))
func (*Queries) FindIdentitiesByExternalId ¶
func (q *Queries) FindIdentitiesByExternalId(ctx context.Context, db DBTX, arg FindIdentitiesByExternalIdParams) ([]Identity, error)
FindIdentitiesByExternalId
SELECT pk, id, external_id, workspace_id, environment, meta, deleted, created_at, updated_at FROM identities WHERE workspace_id = ? AND external_id IN (/*SLICE:externalIds*/?) AND deleted = ?
func (*Queries) FindIdentity ¶
func (q *Queries) FindIdentity(ctx context.Context, db DBTX, arg FindIdentityParams) (FindIdentityRow, error)
FindIdentity
SELECT
i.pk, i.id, i.external_id, i.workspace_id, i.environment, i.meta, i.deleted, i.created_at, i.updated_at,
COALESCE(
(SELECT JSON_ARRAYAGG(
JSON_OBJECT(
'id', rl.id,
'name', rl.name,
'key_id', rl.key_id,
'identity_id', rl.identity_id,
'limit', rl.`limit`,
'duration', rl.duration,
'auto_apply', rl.auto_apply = 1
)
)
FROM ratelimits rl WHERE rl.identity_id = i.id),
JSON_ARRAY()
) as ratelimits
FROM identities i
JOIN (
SELECT id1.id FROM identities id1
WHERE id1.id = ?
AND id1.workspace_id = ?
AND id1.deleted = ?
UNION ALL
SELECT id2.id FROM identities id2
WHERE id2.workspace_id = ?
AND id2.external_id = ?
AND id2.deleted = ?
) AS identity_lookup ON i.id = identity_lookup.id
LIMIT 1
func (*Queries) FindIdentityByExternalID ¶
func (q *Queries) FindIdentityByExternalID(ctx context.Context, db DBTX, arg FindIdentityByExternalIDParams) (Identity, error)
FindIdentityByExternalID
SELECT pk, id, external_id, workspace_id, environment, meta, deleted, created_at, updated_at FROM identities WHERE workspace_id = ? AND external_id = ? AND deleted = ?
func (*Queries) FindIdentityByID ¶
func (q *Queries) FindIdentityByID(ctx context.Context, db DBTX, arg FindIdentityByIDParams) (Identity, error)
FindIdentityByID
SELECT pk, id, external_id, workspace_id, environment, meta, deleted, created_at, updated_at FROM identities WHERE workspace_id = ? AND id = ? AND deleted = ?
func (*Queries) FindInstanceByPodName ¶
func (q *Queries) FindInstanceByPodName(ctx context.Context, db DBTX, arg FindInstanceByPodNameParams) (Instance, error)
FindInstanceByPodName
SELECT pk, id, deployment_id, workspace_id, project_id, app_id, region_id, k8s_name, address, cpu_millicores, memory_mib, storage_mib, status, container_status FROM instances WHERE k8s_name = ? AND region_id = ?
func (*Queries) FindInstancesByDeploymentId ¶
func (q *Queries) FindInstancesByDeploymentId(ctx context.Context, db DBTX, deploymentid string) ([]Instance, error)
FindInstancesByDeploymentId
SELECT pk, id, deployment_id, workspace_id, project_id, app_id, region_id, k8s_name, address, cpu_millicores, memory_mib, storage_mib, status, container_status FROM instances WHERE deployment_id = ?
func (*Queries) FindInstancesByDeploymentIdAndRegionID ¶
func (q *Queries) FindInstancesByDeploymentIdAndRegionID(ctx context.Context, db DBTX, arg FindInstancesByDeploymentIdAndRegionIDParams) ([]Instance, error)
FindInstancesByDeploymentIdAndRegionID
SELECT pk, id, deployment_id, workspace_id, project_id, app_id, region_id, k8s_name, address, cpu_millicores, memory_mib, storage_mib, status, container_status FROM instances WHERE deployment_id = ? AND region_id = ?
func (*Queries) FindKeyAuthsByIds ¶
func (q *Queries) FindKeyAuthsByIds(ctx context.Context, db DBTX, arg FindKeyAuthsByIdsParams) ([]FindKeyAuthsByIdsRow, error)
FindKeyAuthsByIds
SELECT ka.id as key_auth_id, a.id as api_id
FROM apis a
JOIN key_auth as ka ON ka.id = a.key_auth_id
WHERE a.workspace_id = ?
AND a.id IN (/*SLICE:api_ids*/?)
AND ka.deleted_at_m IS NULL
AND a.deleted_at_m IS NULL
func (*Queries) FindKeyAuthsByKeyAuthIds ¶
func (q *Queries) FindKeyAuthsByKeyAuthIds(ctx context.Context, db DBTX, arg FindKeyAuthsByKeyAuthIdsParams) ([]FindKeyAuthsByKeyAuthIdsRow, error)
FindKeyAuthsByKeyAuthIds
SELECT ka.id as key_auth_id, a.id as api_id
FROM key_auth as ka
JOIN apis a ON a.key_auth_id = ka.id
WHERE a.workspace_id = ?
AND ka.id IN (/*SLICE:key_auth_ids*/?)
AND ka.deleted_at_m IS NULL
AND a.deleted_at_m IS NULL
func (*Queries) FindKeyByID ¶
FindKeyByID
SELECT pk, id, key_auth_id, hash, start, workspace_id, for_workspace_id, name, owner_id, identity_id, meta, expires, created_at_m, updated_at_m, deleted_at_m, refill_day, refill_amount, last_refill_at, enabled, remaining_requests, environment, last_used_at, pending_migration_id FROM `keys` k WHERE k.id = ?
func (*Queries) FindKeyCredits ¶
FindKeyCredits
SELECT remaining_requests FROM `keys` k WHERE k.id = ?
func (*Queries) FindKeyEncryptionByKeyID ¶
func (q *Queries) FindKeyEncryptionByKeyID(ctx context.Context, db DBTX, keyID string) (EncryptedKey, error)
FindKeyEncryptionByKeyID
SELECT pk, workspace_id, key_id, created_at, updated_at, encrypted, encryption_key_id FROM encrypted_keys WHERE key_id = ?
func (*Queries) FindKeyIDByHash ¶
FindKeyIDByHash returns just the key ID for a given hash. Use this when you only need the ID for a subsequent mutation and do not need the full verification payload with roles, permissions, and rate limits.
SELECT id FROM `keys` WHERE hash = ? AND deleted_at_m IS NULL
func (*Queries) FindKeyMigrationByID ¶
func (q *Queries) FindKeyMigrationByID(ctx context.Context, db DBTX, arg FindKeyMigrationByIDParams) (FindKeyMigrationByIDRow, error)
FindKeyMigrationByID
SELECT
id,
workspace_id,
algorithm
FROM key_migrations
WHERE id = ?
and workspace_id = ?
func (*Queries) FindKeyRoleByKeyAndRoleID ¶
func (q *Queries) FindKeyRoleByKeyAndRoleID(ctx context.Context, db DBTX, arg FindKeyRoleByKeyAndRoleIDParams) ([]KeysRole, error)
FindKeyRoleByKeyAndRoleID
SELECT pk, key_id, role_id, workspace_id, created_at_m, updated_at_m FROM keys_roles WHERE key_id = ? AND role_id = ?
func (*Queries) FindKeySpaceByID ¶
FindKeySpaceByID
SELECT pk, id, workspace_id, created_at_m, updated_at_m, deleted_at_m, store_encrypted_keys, default_prefix, default_bytes, size_approx, size_last_updated_at FROM `key_auth` WHERE id = ?
func (*Queries) FindKeysByHash ¶
func (q *Queries) FindKeysByHash(ctx context.Context, db DBTX, hashes []string) ([]FindKeysByHashRow, error)
FindKeysByHash
SELECT id, hash FROM `keys` WHERE hash IN (/*SLICE:hashes*/?)
func (*Queries) FindLatestReadyDeploymentByAppAndEnv ¶
func (q *Queries) FindLatestReadyDeploymentByAppAndEnv(ctx context.Context, db DBTX, arg FindLatestReadyDeploymentByAppAndEnvParams) (string, error)
FindLatestReadyDeploymentByAppAndEnv
SELECT id FROM deployments WHERE app_id = ? AND environment_id = ? AND status = 'ready' AND id != ? ORDER BY created_at DESC LIMIT 1
func (*Queries) FindLiveApiByID ¶
func (q *Queries) FindLiveApiByID(ctx context.Context, db DBTX, id string) (FindLiveApiByIDRow, error)
FindLiveApiByID
SELECT apis.pk, apis.id, apis.name, apis.workspace_id, apis.ip_whitelist, apis.auth_type, apis.key_auth_id, apis.created_at_m, apis.updated_at_m, apis.deleted_at_m, apis.delete_protection, ka.pk, ka.id, ka.workspace_id, ka.created_at_m, ka.updated_at_m, ka.deleted_at_m, ka.store_encrypted_keys, ka.default_prefix, ka.default_bytes, ka.size_approx, ka.size_last_updated_at
FROM apis
JOIN key_auth as ka ON ka.id = apis.key_auth_id
WHERE apis.id = ?
AND ka.deleted_at_m IS NULL
AND apis.deleted_at_m IS NULL
LIMIT 1
func (*Queries) FindLiveKeyByHash ¶
func (q *Queries) FindLiveKeyByHash(ctx context.Context, db DBTX, hash string) (FindLiveKeyByHashRow, error)
FindLiveKeyByHash
SELECT
k.pk, k.id, k.key_auth_id, k.hash, k.start, k.workspace_id, k.for_workspace_id, k.name, k.owner_id, k.identity_id, k.meta, k.expires, k.created_at_m, k.updated_at_m, k.deleted_at_m, k.refill_day, k.refill_amount, k.last_refill_at, k.enabled, k.remaining_requests, k.environment, k.last_used_at, k.pending_migration_id,
a.pk, a.id, a.name, a.workspace_id, a.ip_whitelist, a.auth_type, a.key_auth_id, a.created_at_m, a.updated_at_m, a.deleted_at_m, a.delete_protection,
ka.pk, ka.id, ka.workspace_id, ka.created_at_m, ka.updated_at_m, ka.deleted_at_m, ka.store_encrypted_keys, ka.default_prefix, ka.default_bytes, ka.size_approx, ka.size_last_updated_at,
ws.pk, ws.id, ws.org_id, ws.name, ws.slug, ws.k8s_namespace, ws.tier, ws.stripe_customer_id, ws.stripe_subscription_id, ws.beta_features, ws.subscriptions, ws.enabled, ws.delete_protection, ws.created_at_m, ws.updated_at_m, ws.deleted_at_m,
i.id as identity_table_id,
i.external_id as identity_external_id,
i.meta as identity_meta,
ek.encrypted as encrypted_key,
ek.encryption_key_id as encryption_key_id,
-- Roles with both IDs and names
COALESCE(
(SELECT JSON_ARRAYAGG(
JSON_OBJECT(
'id', r.id,
'name', r.name,
'description', r.description
)
)
FROM keys_roles kr
JOIN roles r ON r.id = kr.role_id
WHERE kr.key_id = k.id),
JSON_ARRAY()
) as roles,
-- Direct permissions attached to the key
COALESCE(
(SELECT JSON_ARRAYAGG(
JSON_OBJECT(
'id', p.id,
'name', p.name,
'slug', p.slug,
'description', p.description
)
)
FROM keys_permissions kp
JOIN permissions p ON kp.permission_id = p.id
WHERE kp.key_id = k.id),
JSON_ARRAY()
) as permissions,
-- Permissions from roles
COALESCE(
(SELECT JSON_ARRAYAGG(
JSON_OBJECT(
'id', p.id,
'name', p.name,
'slug', p.slug,
'description', p.description
)
)
FROM keys_roles kr
JOIN roles_permissions rp ON kr.role_id = rp.role_id
JOIN permissions p ON rp.permission_id = p.id
WHERE kr.key_id = k.id),
JSON_ARRAY()
) as role_permissions,
-- Rate limits
COALESCE(
(SELECT JSON_ARRAYAGG(
JSON_OBJECT(
'id', id,
'name', name,
'key_id', key_id,
'identity_id', identity_id,
'limit', `limit`,
'duration', duration,
'auto_apply', auto_apply = 1
)
)
FROM (
SELECT rl.id, rl.name, rl.key_id, rl.identity_id, rl.`limit`, rl.duration, rl.auto_apply
FROM ratelimits rl
WHERE rl.key_id = k.id
UNION ALL
SELECT rl.id, rl.name, rl.key_id, rl.identity_id, rl.`limit`, rl.duration, rl.auto_apply
FROM ratelimits rl
WHERE rl.identity_id = i.id
) AS combined_rl),
JSON_ARRAY()
) as ratelimits
FROM `keys` k
JOIN apis a ON a.key_auth_id = k.key_auth_id
JOIN key_auth ka ON ka.id = k.key_auth_id
JOIN workspaces ws ON ws.id = k.workspace_id
LEFT JOIN identities i ON k.identity_id = i.id AND i.deleted = false
LEFT JOIN encrypted_keys ek ON ek.key_id = k.id
WHERE k.hash = ?
AND k.deleted_at_m IS NULL
AND a.deleted_at_m IS NULL
AND ka.deleted_at_m IS NULL
AND ws.deleted_at_m IS NULL
func (*Queries) FindLiveKeyByID ¶
func (q *Queries) FindLiveKeyByID(ctx context.Context, db DBTX, id string) (FindLiveKeyByIDRow, error)
FindLiveKeyByID
SELECT
k.pk, k.id, k.key_auth_id, k.hash, k.start, k.workspace_id, k.for_workspace_id, k.name, k.owner_id, k.identity_id, k.meta, k.expires, k.created_at_m, k.updated_at_m, k.deleted_at_m, k.refill_day, k.refill_amount, k.last_refill_at, k.enabled, k.remaining_requests, k.environment, k.last_used_at, k.pending_migration_id,
a.pk, a.id, a.name, a.workspace_id, a.ip_whitelist, a.auth_type, a.key_auth_id, a.created_at_m, a.updated_at_m, a.deleted_at_m, a.delete_protection,
ka.pk, ka.id, ka.workspace_id, ka.created_at_m, ka.updated_at_m, ka.deleted_at_m, ka.store_encrypted_keys, ka.default_prefix, ka.default_bytes, ka.size_approx, ka.size_last_updated_at,
ws.pk, ws.id, ws.org_id, ws.name, ws.slug, ws.k8s_namespace, ws.tier, ws.stripe_customer_id, ws.stripe_subscription_id, ws.beta_features, ws.subscriptions, ws.enabled, ws.delete_protection, ws.created_at_m, ws.updated_at_m, ws.deleted_at_m,
i.id as identity_table_id,
i.external_id as identity_external_id,
i.meta as identity_meta,
ek.encrypted as encrypted_key,
ek.encryption_key_id as encryption_key_id,
-- Roles with both IDs and names
COALESCE(
(SELECT JSON_ARRAYAGG(
JSON_OBJECT(
'id', r.id,
'name', r.name,
'description', r.description
)
)
FROM keys_roles kr
JOIN roles r ON r.id = kr.role_id
WHERE kr.key_id = k.id),
JSON_ARRAY()
) as roles,
-- Direct permissions attached to the key
COALESCE(
(SELECT JSON_ARRAYAGG(
JSON_OBJECT(
'id', p.id,
'name', p.name,
'slug', p.slug,
'description', p.description
)
)
FROM keys_permissions kp
JOIN permissions p ON kp.permission_id = p.id
WHERE kp.key_id = k.id),
JSON_ARRAY()
) as permissions,
-- Permissions from roles
COALESCE(
(SELECT JSON_ARRAYAGG(
JSON_OBJECT(
'id', p.id,
'name', p.name,
'slug', p.slug,
'description', p.description
)
)
FROM keys_roles kr
JOIN roles_permissions rp ON kr.role_id = rp.role_id
JOIN permissions p ON rp.permission_id = p.id
WHERE kr.key_id = k.id),
JSON_ARRAY()
) as role_permissions,
-- Rate limits
COALESCE(
(SELECT JSON_ARRAYAGG(
JSON_OBJECT(
'id', rl.id,
'name', rl.name,
'key_id', rl.key_id,
'identity_id', rl.identity_id,
'limit', rl.`limit`,
'duration', rl.duration,
'auto_apply', rl.auto_apply = 1
)
)
FROM ratelimits rl
WHERE rl.key_id = k.id
OR rl.identity_id = i.id),
JSON_ARRAY()
) as ratelimits
FROM `keys` k
JOIN apis a ON a.key_auth_id = k.key_auth_id
JOIN key_auth ka ON ka.id = k.key_auth_id
JOIN workspaces ws ON ws.id = k.workspace_id
LEFT JOIN identities i ON k.identity_id = i.id AND i.deleted = false
LEFT JOIN encrypted_keys ek ON ek.key_id = k.id
WHERE k.id = ?
AND k.deleted_at_m IS NULL
AND a.deleted_at_m IS NULL
AND ka.deleted_at_m IS NULL
AND ws.deleted_at_m IS NULL
func (*Queries) FindManyRatelimitNamespaces ¶
func (q *Queries) FindManyRatelimitNamespaces(ctx context.Context, db DBTX, arg FindManyRatelimitNamespacesParams) ([]FindManyRatelimitNamespacesRow, error)
FindManyRatelimitNamespaces
SELECT pk, id, workspace_id, name, created_at_m, updated_at_m, deleted_at_m,
coalesce(
(select json_arrayagg(
json_object(
'id', ro.id,
'identifier', ro.identifier,
'limit', ro.limit,
'duration', ro.duration
)
)
from ratelimit_overrides ro where ro.namespace_id = ns.id AND ro.deleted_at_m IS NULL),
json_array()
) as overrides
FROM `ratelimit_namespaces` ns
WHERE ns.workspace_id = ?
AND (ns.id IN (/*SLICE:namespaces*/?) OR ns.name IN (/*SLICE:namespaces*/?))
func (*Queries) FindManyRolesByIdOrNameWithPerms ¶
func (q *Queries) FindManyRolesByIdOrNameWithPerms(ctx context.Context, db DBTX, arg FindManyRolesByIdOrNameWithPermsParams) ([]FindManyRolesByIdOrNameWithPermsRow, error)
FindManyRolesByIdOrNameWithPerms
SELECT pk, id, workspace_id, name, description, created_at_m, updated_at_m, COALESCE(
(SELECT JSON_ARRAYAGG(
json_object(
'id', permission.id,
'name', permission.name,
'slug', permission.slug,
'description', permission.description
)
)
FROM (SELECT name, id, slug, description
FROM roles_permissions rp
JOIN permissions p ON p.id = rp.permission_id
WHERE rp.role_id = r.id) as permission),
JSON_ARRAY()
) as permissions
FROM roles r
WHERE r.workspace_id = ? AND (
r.id IN (/*SLICE:search*/?)
OR r.name IN (/*SLICE:search*/?)
)
func (*Queries) FindManyRolesByNamesWithPerms ¶
func (q *Queries) FindManyRolesByNamesWithPerms(ctx context.Context, db DBTX, arg FindManyRolesByNamesWithPermsParams) ([]FindManyRolesByNamesWithPermsRow, error)
FindManyRolesByNamesWithPerms
SELECT pk, id, workspace_id, name, description, created_at_m, updated_at_m, COALESCE(
(SELECT JSON_ARRAYAGG(
json_object(
'id', permission.id,
'name', permission.name,
'slug', permission.slug,
'description', permission.description
)
)
FROM (SELECT name, id, slug, description
FROM roles_permissions rp
JOIN permissions p ON p.id = rp.permission_id
WHERE rp.role_id = r.id) as permission),
JSON_ARRAY()
) as permissions
FROM roles r
WHERE r.workspace_id = ? AND r.name IN (/*SLICE:names*/?)
func (*Queries) FindOpenApiSpecByDeploymentID ¶
func (q *Queries) FindOpenApiSpecByDeploymentID(ctx context.Context, db DBTX, deploymentID sql.NullString) (OpenapiSpec, error)
FindOpenApiSpecByDeploymentID
SELECT pk, id, workspace_id, deployment_id, portal_config_id, content, created_at, updated_at FROM openapi_specs WHERE deployment_id = ?
func (*Queries) FindPermissionByID ¶
func (q *Queries) FindPermissionByID(ctx context.Context, db DBTX, permissionID string) (Permission, error)
Finds a permission record by its ID Returns: The permission record if found
SELECT pk, id, workspace_id, name, slug, description, created_at_m, updated_at_m FROM permissions WHERE id = ? LIMIT 1
func (*Queries) FindPermissionByIdOrSlug ¶
func (q *Queries) FindPermissionByIdOrSlug(ctx context.Context, db DBTX, arg FindPermissionByIdOrSlugParams) (Permission, error)
FindPermissionByIdOrSlug
SELECT pk, id, workspace_id, name, slug, description, created_at_m, updated_at_m FROM permissions WHERE workspace_id = ? AND (id = ? OR slug = ?)
func (*Queries) FindPermissionByNameAndWorkspaceID ¶
func (q *Queries) FindPermissionByNameAndWorkspaceID(ctx context.Context, db DBTX, arg FindPermissionByNameAndWorkspaceIDParams) (Permission, error)
FindPermissionByNameAndWorkspaceID
SELECT pk, id, workspace_id, name, slug, description, created_at_m, updated_at_m FROM permissions WHERE name = ? AND workspace_id = ? LIMIT 1
func (*Queries) FindPermissionBySlugAndWorkspaceID ¶
func (q *Queries) FindPermissionBySlugAndWorkspaceID(ctx context.Context, db DBTX, arg FindPermissionBySlugAndWorkspaceIDParams) (Permission, error)
FindPermissionBySlugAndWorkspaceID
SELECT pk, id, workspace_id, name, slug, description, created_at_m, updated_at_m FROM permissions WHERE slug = ? AND workspace_id = ? LIMIT 1
func (*Queries) FindPermissionsBySlugs ¶
func (q *Queries) FindPermissionsBySlugs(ctx context.Context, db DBTX, arg FindPermissionsBySlugsParams) ([]Permission, error)
FindPermissionsBySlugs
SELECT pk, id, workspace_id, name, slug, description, created_at_m, updated_at_m FROM permissions WHERE workspace_id = ? AND slug IN (/*SLICE:slugs*/?)
func (*Queries) FindPortalBrandingByConfigID ¶
func (q *Queries) FindPortalBrandingByConfigID(ctx context.Context, db DBTX, portalConfigID string) (PortalBranding, error)
FindPortalBrandingByConfigID
SELECT pk, portal_config_id, logo_url, primary_color, created_at, updated_at FROM portal_branding WHERE portal_config_id = ?
func (*Queries) FindPortalConfigByWorkspaceAndSlug ¶
func (q *Queries) FindPortalConfigByWorkspaceAndSlug(ctx context.Context, db DBTX, arg FindPortalConfigByWorkspaceAndSlugParams) (PortalConfiguration, error)
FindPortalConfigByWorkspaceAndSlug
SELECT pk, id, workspace_id, slug, app_id, key_auth_id, enabled, return_url, created_at, updated_at FROM portal_configurations WHERE workspace_id = ? AND slug = ?
func (*Queries) FindProjectById ¶
FindProjectById
SELECT pk, id, workspace_id, name, slug, depot_project_id, delete_protection, created_at, updated_at FROM projects WHERE id = ?
func (*Queries) FindProjectBySlug ¶
FindProjectBySlug
SELECT pk, id, workspace_id, name, slug, depot_project_id, delete_protection, created_at, updated_at FROM projects WHERE slug = ? LIMIT 1
func (*Queries) FindProjectByWorkspaceSlug ¶
func (q *Queries) FindProjectByWorkspaceSlug(ctx context.Context, db DBTX, arg FindProjectByWorkspaceSlugParams) (FindProjectByWorkspaceSlugRow, error)
FindProjectByWorkspaceSlug
SELECT
id,
workspace_id,
name,
slug,
delete_protection,
created_at,
updated_at
FROM projects
WHERE workspace_id = ? AND slug = ?
LIMIT 1
func (*Queries) FindQuotaByWorkspaceID ¶
func (q *Queries) FindQuotaByWorkspaceID(ctx context.Context, db DBTX, workspaceID string) (Quotas, error)
FindQuotaByWorkspaceID
SELECT pk, workspace_id, requests_per_month, logs_retention_days, audit_logs_retention_days, team, ratelimit_api_limit, ratelimit_api_duration, allocated_cpu_millicores_total, allocated_memory_mib_total, allocated_storage_mib_total, max_cpu_millicores_per_instance, max_memory_mib_per_instance, max_storage_mib_per_instance, max_concurrent_builds FROM `quota` WHERE workspace_id = ?
func (*Queries) FindRatelimitNamespace ¶
func (q *Queries) FindRatelimitNamespace(ctx context.Context, db DBTX, arg FindRatelimitNamespaceParams) (FindRatelimitNamespaceRow, error)
FindRatelimitNamespace
SELECT pk, id, workspace_id, name, created_at_m, updated_at_m, deleted_at_m,
coalesce(
(select json_arrayagg(
json_object(
'id', ro.id,
'identifier', ro.identifier,
'limit', ro.limit,
'duration', ro.duration
)
)
from ratelimit_overrides ro where ro.namespace_id = ns.id AND ro.deleted_at_m IS NULL),
json_array()
) as overrides
FROM `ratelimit_namespaces` ns
WHERE ns.workspace_id = ?
AND (ns.id = ? OR ns.name = ?)
func (*Queries) FindRatelimitNamespaceByID ¶
func (q *Queries) FindRatelimitNamespaceByID(ctx context.Context, db DBTX, id string) (RatelimitNamespace, error)
FindRatelimitNamespaceByID
SELECT pk, id, workspace_id, name, created_at_m, updated_at_m, deleted_at_m FROM `ratelimit_namespaces` WHERE id = ?
func (*Queries) FindRatelimitNamespaceByName ¶
func (q *Queries) FindRatelimitNamespaceByName(ctx context.Context, db DBTX, arg FindRatelimitNamespaceByNameParams) (RatelimitNamespace, error)
FindRatelimitNamespaceByName
SELECT pk, id, workspace_id, name, created_at_m, updated_at_m, deleted_at_m FROM `ratelimit_namespaces` WHERE name = ? AND workspace_id = ?
func (*Queries) FindRatelimitOverrideByID ¶
func (q *Queries) FindRatelimitOverrideByID(ctx context.Context, db DBTX, arg FindRatelimitOverrideByIDParams) (RatelimitOverride, error)
FindRatelimitOverrideByID
SELECT pk, id, workspace_id, namespace_id, identifier, `limit`, duration, created_at_m, updated_at_m, deleted_at_m FROM ratelimit_overrides
WHERE
workspace_id = ?
AND id = ?
func (*Queries) FindRatelimitOverrideByIdentifier ¶
func (q *Queries) FindRatelimitOverrideByIdentifier(ctx context.Context, db DBTX, arg FindRatelimitOverrideByIdentifierParams) (RatelimitOverride, error)
FindRatelimitOverrideByIdentifier
SELECT pk, id, workspace_id, namespace_id, identifier, `limit`, duration, created_at_m, updated_at_m, deleted_at_m FROM ratelimit_overrides
WHERE
workspace_id = ?
AND namespace_id = ?
AND identifier = ?
func (*Queries) FindRegionById ¶
FindRegionById
SELECT pk, id, name, platform, can_schedule FROM regions WHERE id = ? LIMIT 1
func (*Queries) FindRegionByPlatformAndName ¶
func (q *Queries) FindRegionByPlatformAndName(ctx context.Context, db DBTX, arg FindRegionByPlatformAndNameParams) (Region, error)
FindRegionByPlatformAndName
SELECT pk, id, name, platform, can_schedule FROM regions WHERE platform = ? AND name = ? LIMIT 1
func (*Queries) FindRoleByID ¶
Finds a role record by its ID Returns: The role record if found
SELECT pk, id, workspace_id, name, description, created_at_m, updated_at_m FROM roles WHERE id = ? LIMIT 1
func (*Queries) FindRoleByIdOrNameWithPerms ¶
func (q *Queries) FindRoleByIdOrNameWithPerms(ctx context.Context, db DBTX, arg FindRoleByIdOrNameWithPermsParams) (FindRoleByIdOrNameWithPermsRow, error)
FindRoleByIdOrNameWithPerms
SELECT pk, id, workspace_id, name, description, created_at_m, updated_at_m, COALESCE(
(SELECT JSON_ARRAYAGG(
json_object(
'id', permission.id,
'name', permission.name,
'slug', permission.slug,
'description', permission.description
)
)
FROM (SELECT name, id, slug, description
FROM roles_permissions rp
JOIN permissions p ON p.id = rp.permission_id
WHERE rp.role_id = r.id) as permission),
JSON_ARRAY()
) as permissions
FROM roles r
WHERE r.workspace_id = ? AND (
r.id = ?
OR r.name = ?
)
func (*Queries) FindRoleByNameAndWorkspaceID ¶
func (q *Queries) FindRoleByNameAndWorkspaceID(ctx context.Context, db DBTX, arg FindRoleByNameAndWorkspaceIDParams) (Role, error)
Finds a role record by its name within a specific workspace Returns: The role record if found
SELECT pk, id, workspace_id, name, description, created_at_m, updated_at_m FROM roles WHERE name = ? AND workspace_id = ? LIMIT 1
func (*Queries) FindRolePermissionByRoleAndPermissionID ¶
func (q *Queries) FindRolePermissionByRoleAndPermissionID(ctx context.Context, db DBTX, arg FindRolePermissionByRoleAndPermissionIDParams) ([]RolesPermission, error)
FindRolePermissionByRoleAndPermissionID
SELECT pk, role_id, permission_id, workspace_id, created_at_m, updated_at_m FROM roles_permissions WHERE role_id = ? AND permission_id = ?
func (*Queries) FindRolesByNames ¶
func (q *Queries) FindRolesByNames(ctx context.Context, db DBTX, arg FindRolesByNamesParams) ([]FindRolesByNamesRow, error)
FindRolesByNames
SELECT id, name FROM roles WHERE workspace_id = ? AND name IN (/*SLICE:names*/?)
func (*Queries) FindSentinelByID ¶
FindSentinelByID
SELECT pk, id, workspace_id, project_id, environment_id, k8s_name, k8s_address, region_id, image, running_image, desired_state, health, desired_replicas, available_replicas, deploy_status, cpu_millicores, memory_mib, created_at, updated_at FROM sentinels s WHERE id = ? LIMIT 1
func (*Queries) FindSentinelDeployContextByK8sName ¶
func (q *Queries) FindSentinelDeployContextByK8sName(ctx context.Context, db DBTX, k8sName string) (FindSentinelDeployContextByK8sNameRow, error)
Returns the sentinel fields ReportSentinelStatus needs to decide whether a rollout has converged: deploy_status (gates), image comparison, and desired replica count.
SELECT
id,
deploy_status,
image AS desired_image,
running_image,
desired_replicas
FROM sentinels
WHERE k8s_name = ? LIMIT 1
func (*Queries) FindSentinelsByEnvironmentID ¶
func (q *Queries) FindSentinelsByEnvironmentID(ctx context.Context, db DBTX, environmentID string) ([]FindSentinelsByEnvironmentIDRow, error)
FindSentinelsByEnvironmentID
SELECT s.pk, s.id, s.workspace_id, s.project_id, s.environment_id, s.k8s_name, s.k8s_address, s.region_id, s.image, s.running_image, s.desired_state, s.health, s.desired_replicas, s.available_replicas, s.deploy_status, s.cpu_millicores, s.memory_mib, s.created_at, s.updated_at, r.pk, r.id, r.name, r.platform, r.can_schedule FROM sentinels s LEFT JOIN regions r ON s.region_id = r.id WHERE s.environment_id = ?
func (*Queries) FindValidPortalSession ¶
func (q *Queries) FindValidPortalSession(ctx context.Context, db DBTX, arg FindValidPortalSessionParams) (PortalSession, error)
FindValidPortalSession
SELECT pk, id, workspace_id, portal_config_id, external_id, permissions, preview, expires_at, created_at FROM portal_sessions WHERE id = ? AND expires_at > ?
func (*Queries) FindValidPortalSessionToken ¶
func (q *Queries) FindValidPortalSessionToken(ctx context.Context, db DBTX, arg FindValidPortalSessionTokenParams) (PortalSessionToken, error)
FindValidPortalSessionToken
SELECT pk, id, workspace_id, portal_config_id, external_id, permissions, preview, exchanged_at, expires_at, created_at FROM portal_session_tokens WHERE id = ? AND exchanged_at IS NULL AND expires_at > ?
func (*Queries) FindVerifiedCustomDomainByAppID ¶
func (q *Queries) FindVerifiedCustomDomainByAppID(ctx context.Context, db DBTX, appID string) (CustomDomain, error)
FindVerifiedCustomDomainByAppID
SELECT pk, id, workspace_id, project_id, app_id, environment_id, domain, challenge_type, verification_status, verification_token, ownership_verified, cname_verified, target_cname, last_checked_at, check_attempts, verification_error, domain_connect_provider, domain_connect_url, invocation_id, created_at, updated_at FROM custom_domains WHERE app_id = ? AND verification_status = 'verified' ORDER BY created_at ASC, id ASC LIMIT 1
func (*Queries) FindVerifiedCustomDomainByDomainExcludingWorkspace ¶
func (q *Queries) FindVerifiedCustomDomainByDomainExcludingWorkspace(ctx context.Context, db DBTX, arg FindVerifiedCustomDomainByDomainExcludingWorkspaceParams) (CustomDomain, error)
FindVerifiedCustomDomainByDomainExcludingWorkspace
SELECT pk, id, workspace_id, project_id, app_id, environment_id, domain, challenge_type, verification_status, verification_token, ownership_verified, cname_verified, target_cname, last_checked_at, check_attempts, verification_error, domain_connect_provider, domain_connect_url, invocation_id, created_at, updated_at FROM custom_domains WHERE domain = ? AND workspace_id != ? AND verification_status = 'verified' LIMIT 1
func (*Queries) FindWorkspaceByID ¶
FindWorkspaceByID
SELECT pk, id, org_id, name, slug, k8s_namespace, tier, stripe_customer_id, stripe_subscription_id, beta_features, subscriptions, enabled, delete_protection, created_at_m, updated_at_m, deleted_at_m FROM `workspaces` WHERE id = ?
func (*Queries) FlipSentinelDeployStatusIfProgressing ¶
func (q *Queries) FlipSentinelDeployStatusIfProgressing(ctx context.Context, db DBTX, arg FlipSentinelDeployStatusIfProgressingParams) (int64, error)
FlipSentinelDeployStatusIfProgressing flips deploy_status from progressing to the target status, guarding against concurrent writers (e.g. the Deploy worker marking failed on timeout) by only updating rows whose current status is still 'progressing'. Returns the number of rows affected; the caller should treat 0 as "someone else already moved this sentinel out of progressing" and skip follow-up side effects (NotifyReady, etc.).
UPDATE sentinels SET deploy_status = ?, updated_at = ? WHERE id = ? AND deploy_status = 'progressing'
func (*Queries) GetDeploymentChangesMaxVersion ¶
func (q *Queries) GetDeploymentChangesMaxVersion(ctx context.Context, db DBTX, regionID string) (int64, error)
GetDeploymentChangesMaxVersion returns the current maximum version (pk) for a region. Used during full sync to establish the starting version for incremental polling.
SELECT CAST(COALESCE(MAX(pk), 0) AS UNSIGNED) AS max_version FROM `deployment_changes` WHERE region_id = ?
func (*Queries) GetKeyAuthByID ¶
func (q *Queries) GetKeyAuthByID(ctx context.Context, db DBTX, id string) (GetKeyAuthByIDRow, error)
GetKeyAuthByID
SELECT
id,
workspace_id,
created_at_m,
default_prefix,
default_bytes,
store_encrypted_keys
FROM key_auth
WHERE id = ?
AND deleted_at_m IS NULL
func (*Queries) GetWorkspacesForQuotaCheckByIDs ¶
func (q *Queries) GetWorkspacesForQuotaCheckByIDs(ctx context.Context, db DBTX, workspaceIds []string) ([]GetWorkspacesForQuotaCheckByIDsRow, error)
GetWorkspacesForQuotaCheckByIDs
SELECT w.id, w.org_id, w.name, w.stripe_customer_id, w.tier, w.enabled, q.requests_per_month FROM `workspaces` w LEFT JOIN quota q ON w.id = q.workspace_id WHERE w.id IN (/*SLICE:workspace_ids*/?)
func (*Queries) HardDeleteWorkspace ¶
HardDeleteWorkspace
DELETE FROM `workspaces` WHERE id = ? AND delete_protection = false
func (*Queries) HasNewerActiveDeployment ¶
func (q *Queries) HasNewerActiveDeployment(ctx context.Context, db DBTX, arg HasNewerActiveDeploymentParams) (bool, error)
Check whether a newer deployment exists for the same (app, env, branch) that makes building this one pointless. Matches any non-terminal status including 'ready' — if a newer commit is already deployed there is no reason to build an older one.
SELECT EXISTS (
SELECT 1 FROM deployments
WHERE app_id = ?
AND environment_id = ?
AND git_branch = ?
AND status NOT IN ('failed', 'skipped', 'stopped', 'superseded', 'cancelled')
AND created_at > ?
AND id != ?
) AS has_newer
func (*Queries) InsertAcmeChallenge ¶
func (q *Queries) InsertAcmeChallenge(ctx context.Context, db DBTX, arg InsertAcmeChallengeParams) error
InsertAcmeChallenge
INSERT INTO acme_challenges (
workspace_id,
domain_id,
token,
authorization,
status,
challenge_type,
created_at,
updated_at,
expires_at
) VALUES (
?,
?,
?,
?,
?,
?,
?,
?,
?
)
func (*Queries) InsertAcmeUser ¶
InsertAcmeUser
INSERT INTO acme_users (id, workspace_id, encrypted_key, created_at) VALUES (?,?,?,?)
func (*Queries) InsertApi ¶
InsertApi
INSERT INTO apis (
id,
name,
workspace_id,
auth_type,
ip_whitelist,
key_auth_id,
created_at_m,
deleted_at_m
) VALUES (
?,
?,
?,
?,
?,
?,
?,
NULL
)
func (*Queries) InsertApp ¶
InsertApp
INSERT INTO apps (
id,
workspace_id,
project_id,
name,
slug,
default_branch,
delete_protection,
created_at,
updated_at
) VALUES (
?,
?,
?,
?,
?,
?,
?,
?,
?
)
func (*Queries) InsertAppEnvironmentVariable ¶
func (q *Queries) InsertAppEnvironmentVariable(ctx context.Context, db DBTX, arg InsertAppEnvironmentVariableParams) error
InsertAppEnvironmentVariable
INSERT INTO app_environment_variables (id, workspace_id, app_id, environment_id, `key`, value, created_at) VALUES (?, ?, ?, ?, ?, ?, ?)
func (*Queries) InsertAuditLog ¶
InsertAuditLog
INSERT INTO `audit_log` (
id,
workspace_id,
bucket_id,
bucket,
event,
time,
display,
remote_ip,
user_agent,
actor_type,
actor_id,
actor_name,
actor_meta,
created_at
) VALUES (
?,
?,
?,
?,
?,
?,
?,
?,
?,
?,
?,
?,
CAST(? AS JSON),
?
)
func (*Queries) InsertAuditLogTarget ¶
func (q *Queries) InsertAuditLogTarget(ctx context.Context, db DBTX, arg InsertAuditLogTargetParams) error
InsertAuditLogTarget
INSERT INTO `audit_log_target` (
workspace_id,
bucket_id,
bucket,
audit_log_id,
display_name,
type,
id,
name,
meta,
created_at
) VALUES (
?,
?,
?,
?,
?,
?,
?,
?,
CAST(? AS JSON),
?
)
func (*Queries) InsertCertificate ¶
func (q *Queries) InsertCertificate(ctx context.Context, db DBTX, arg InsertCertificateParams) error
InsertCertificate
INSERT INTO certificates (id, workspace_id, hostname, certificate, encrypted_private_key, created_at) VALUES (?, ?, ?, ?, ?, ?) ON DUPLICATE KEY UPDATE workspace_id = VALUES(workspace_id), hostname = VALUES(hostname), certificate = VALUES(certificate), encrypted_private_key = VALUES(encrypted_private_key), updated_at = ?
func (*Queries) InsertCiliumNetworkPolicy ¶
func (q *Queries) InsertCiliumNetworkPolicy(ctx context.Context, db DBTX, arg InsertCiliumNetworkPolicyParams) error
InsertCiliumNetworkPolicy
INSERT INTO cilium_network_policies (
id,
workspace_id,
project_id,
app_id,
environment_id,
deployment_id,
k8s_name,
k8s_namespace,
region_id,
policy,
created_at
) VALUES (
?,
?,
?,
?,
?,
?,
?,
?,
?,
?,
?
)
func (*Queries) InsertClickhouseOutbox ¶
func (q *Queries) InsertClickhouseOutbox(ctx context.Context, db DBTX, arg InsertClickhouseOutboxParams) error
InsertClickhouseOutbox enqueues one event for ClickHouse export. Called from the same MySQL transaction as the underlying mutation, so durability is exactly the durability of the mutation: if the mutation commits, the outbox row commits.
version namespaces the payload schema (e.g. "audit_log.v1"). The drainer filters by versions it knows, so writing a new version without a matching drainer leaves rows queued safely.
INSERT INTO `clickhouse_outbox` (
version,
workspace_id,
event_id,
payload,
created_at
) VALUES (
?,
?,
?,
CAST(? AS JSON),
?
)
func (*Queries) InsertClickhouseWorkspaceSettings ¶
func (q *Queries) InsertClickhouseWorkspaceSettings(ctx context.Context, db DBTX, arg InsertClickhouseWorkspaceSettingsParams) error
InsertClickhouseWorkspaceSettings
INSERT INTO `clickhouse_workspace_settings` (
workspace_id,
username,
password_encrypted,
quota_duration_seconds,
max_queries_per_window,
max_execution_time_per_window,
max_query_execution_time,
max_query_memory_bytes,
max_query_result_rows,
created_at,
updated_at
)
VALUES (
?,
?,
?,
?,
?,
?,
?,
?,
?,
?,
?
)
func (*Queries) InsertCustomDomain ¶
func (q *Queries) InsertCustomDomain(ctx context.Context, db DBTX, arg InsertCustomDomainParams) error
InsertCustomDomain
INSERT INTO custom_domains (
id, workspace_id, project_id, app_id, environment_id, domain,
challenge_type, verification_status, verification_token, target_cname,
domain_connect_provider, domain_connect_url, invocation_id, created_at
) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
func (*Queries) InsertDeployment ¶
InsertDeployment
INSERT INTO `deployments` (
id,
k8s_name,
workspace_id,
project_id,
app_id,
environment_id,
git_commit_sha,
git_branch,
sentinel_config,
git_commit_message,
git_commit_author_handle,
git_commit_author_avatar_url,
git_commit_timestamp,
encrypted_environment_variables,
command,
status,
cpu_millicores,
memory_mib,
storage_mib,
port,
shutdown_signal,
upstream_protocol,
healthcheck,
pr_number,
fork_repository_full_name,
created_at,
updated_at
)
VALUES (
?,
?,
?,
?,
?,
?,
?,
?,
?,
?,
?,
?,
?,
?,
?,
?,
?,
?,
?,
?,
?,
?,
?,
?,
?,
?,
?
)
func (*Queries) InsertDeploymentChange ¶
func (q *Queries) InsertDeploymentChange(ctx context.Context, db DBTX, arg InsertDeploymentChangeParams) error
InsertDeploymentChange
INSERT INTO `deployment_changes` (
resource_type,
resource_id,
region_id,
created_at
) VALUES (
?,
?,
?,
?
)
func (*Queries) InsertDeploymentStep ¶
func (q *Queries) InsertDeploymentStep(ctx context.Context, db DBTX, arg InsertDeploymentStepParams) error
InsertDeploymentStep
INSERT INTO `deployment_steps` (
workspace_id,
project_id,
app_id,
environment_id,
deployment_id,
step,
started_at
)
VALUES (
?,
?,
?,
?,
?,
?,
?
) ON DUPLICATE KEY UPDATE
started_at = VALUES(started_at),
ended_at = NULL,
error = NULL
func (*Queries) InsertDeploymentTopology ¶
func (q *Queries) InsertDeploymentTopology(ctx context.Context, db DBTX, arg InsertDeploymentTopologyParams) error
InsertDeploymentTopology
INSERT INTO `deployment_topology` (
workspace_id,
deployment_id,
region_id,
autoscaling_replicas_min,
autoscaling_replicas_max,
autoscaling_threshold_cpu,
autoscaling_threshold_memory,
desired_status,
created_at
) VALUES (
?,
?,
?,
?,
?,
?,
?,
?,
?
)
func (*Queries) InsertEnvironment ¶
func (q *Queries) InsertEnvironment(ctx context.Context, db DBTX, arg InsertEnvironmentParams) error
InsertEnvironment
INSERT INTO environments (
id,
workspace_id,
project_id,
app_id,
slug,
description,
created_at,
updated_at
) VALUES (
?, ?, ?, ?, ?, ?, ?, ?
)
func (*Queries) InsertFrontlineRoute ¶
func (q *Queries) InsertFrontlineRoute(ctx context.Context, db DBTX, arg InsertFrontlineRouteParams) error
InsertFrontlineRoute
INSERT INTO frontline_routes (
id,
project_id,
app_id,
deployment_id,
environment_id,
fully_qualified_domain_name,
sticky,
created_at,
updated_at
)
VALUES (
?,
?,
?,
?,
?,
?,
?,
?,
?
)
func (*Queries) InsertGithubRepoConnection ¶
func (q *Queries) InsertGithubRepoConnection(ctx context.Context, db DBTX, arg InsertGithubRepoConnectionParams) error
InsertGithubRepoConnection
INSERT INTO github_repo_connections (
workspace_id,
project_id,
app_id,
installation_id,
repository_id,
repository_full_name,
created_at,
updated_at
)
VALUES (
?,
?,
?,
?,
?,
?,
?,
?
)
func (*Queries) InsertIdentity ¶
InsertIdentity
INSERT INTO `identities` (
id,
external_id,
workspace_id,
environment,
created_at,
meta
) VALUES (
?,
?,
?,
?,
?,
CAST(? AS JSON)
)
func (*Queries) InsertIdentityRatelimit ¶
func (q *Queries) InsertIdentityRatelimit(ctx context.Context, db DBTX, arg InsertIdentityRatelimitParams) error
InsertIdentityRatelimit
INSERT INTO `ratelimits` (
id,
workspace_id,
identity_id,
name,
`limit`,
duration,
created_at,
auto_apply
) VALUES (
?,
?,
?,
?,
?,
?,
?,
?
) ON DUPLICATE KEY UPDATE
name = VALUES(name),
`limit` = VALUES(`limit`),
duration = VALUES(duration),
auto_apply = VALUES(auto_apply),
updated_at = VALUES(created_at)
func (*Queries) InsertKey ¶
InsertKey
INSERT INTO `keys` (
id,
key_auth_id,
hash,
start,
workspace_id,
for_workspace_id,
name,
owner_id,
identity_id,
meta,
expires,
created_at_m,
enabled,
remaining_requests,
refill_day,
refill_amount,
pending_migration_id
) VALUES (
?,
?,
?,
?,
?,
?,
?,
null,
?,
?,
?,
?,
?,
?,
?,
?,
?
)
func (*Queries) InsertKeyAuth ¶
InsertKeyAuth
INSERT INTO key_auth (
id,
workspace_id,
created_at_m,
default_prefix,
default_bytes,
store_encrypted_keys
) VALUES (
?,
?,
?,
?,
?,
false
)
func (*Queries) InsertKeyEncryption ¶
func (q *Queries) InsertKeyEncryption(ctx context.Context, db DBTX, arg InsertKeyEncryptionParams) error
InsertKeyEncryption
INSERT INTO encrypted_keys (workspace_id, key_id, encrypted, encryption_key_id, created_at) VALUES (?, ?, ?, ?, ?)
func (*Queries) InsertKeyMigration ¶
func (q *Queries) InsertKeyMigration(ctx context.Context, db DBTX, arg InsertKeyMigrationParams) error
InsertKeyMigration
INSERT INTO key_migrations (
id,
workspace_id,
algorithm
) VALUES (
?,
?,
?
)
func (*Queries) InsertKeyPermission ¶
func (q *Queries) InsertKeyPermission(ctx context.Context, db DBTX, arg InsertKeyPermissionParams) error
InsertKeyPermission
INSERT INTO `keys_permissions` (
key_id,
permission_id,
workspace_id,
created_at_m
) VALUES (
?,
?,
?,
?
) ON DUPLICATE KEY UPDATE updated_at_m = ?
func (*Queries) InsertKeyRatelimit ¶
func (q *Queries) InsertKeyRatelimit(ctx context.Context, db DBTX, arg InsertKeyRatelimitParams) error
InsertKeyRatelimit
INSERT INTO `ratelimits` (
id,
workspace_id,
key_id,
name,
`limit`,
duration,
auto_apply,
created_at
) VALUES (
?,
?,
?,
?,
?,
?,
?,
?
) ON DUPLICATE KEY UPDATE
`limit` = VALUES(`limit`),
duration = VALUES(duration),
auto_apply = VALUES(auto_apply),
updated_at = ?
func (*Queries) InsertKeyRole ¶
InsertKeyRole
INSERT INTO keys_roles ( key_id, role_id, workspace_id, created_at_m ) VALUES ( ?, ?, ?, ? )
func (*Queries) InsertKeySpace ¶
InsertKeySpace
INSERT INTO `key_auth` (
id,
workspace_id,
created_at_m,
store_encrypted_keys,
default_prefix,
default_bytes,
size_approx,
size_last_updated_at
) VALUES (
?,
?,
?,
?,
?,
?,
0,
0
)
func (*Queries) InsertPermission ¶
InsertPermission
INSERT INTO permissions ( id, workspace_id, name, slug, description, created_at_m ) VALUES ( ?, ?, ?, ?, ?, ? )
func (*Queries) InsertPortalConfig ¶
func (q *Queries) InsertPortalConfig(ctx context.Context, db DBTX, arg InsertPortalConfigParams) error
InsertPortalConfig
INSERT INTO portal_configurations (
id,
workspace_id,
slug,
app_id,
key_auth_id,
enabled,
return_url,
created_at,
updated_at
) VALUES (
?,
?,
?,
?,
?,
?,
?,
?,
?
)
func (*Queries) InsertPortalSession ¶
func (q *Queries) InsertPortalSession(ctx context.Context, db DBTX, arg InsertPortalSessionParams) error
InsertPortalSession
INSERT INTO portal_sessions (
id,
workspace_id,
portal_config_id,
external_id,
permissions,
preview,
expires_at,
created_at
) VALUES (
?,
?,
?,
?,
?,
?,
?,
?
)
func (*Queries) InsertPortalSessionToken ¶
func (q *Queries) InsertPortalSessionToken(ctx context.Context, db DBTX, arg InsertPortalSessionTokenParams) error
InsertPortalSessionToken
INSERT INTO portal_session_tokens (
id,
workspace_id,
portal_config_id,
external_id,
permissions,
preview,
expires_at,
created_at
) VALUES (
?,
?,
?,
?,
?,
?,
?,
?
)
func (*Queries) InsertProject ¶
InsertProject
INSERT INTO projects (
id,
workspace_id,
name,
slug,
delete_protection,
created_at,
updated_at
) VALUES (
?, ?, ?, ?, ?, ?, ?
)
func (*Queries) InsertRatelimitNamespace ¶
func (q *Queries) InsertRatelimitNamespace(ctx context.Context, db DBTX, arg InsertRatelimitNamespaceParams) error
InsertRatelimitNamespace
INSERT INTO
`ratelimit_namespaces` (
id,
workspace_id,
name,
created_at_m,
updated_at_m,
deleted_at_m
)
VALUES
(
?,
?,
?,
?,
NULL,
NULL
)
func (*Queries) InsertRatelimitOverride ¶
func (q *Queries) InsertRatelimitOverride(ctx context.Context, db DBTX, arg InsertRatelimitOverrideParams) error
InsertRatelimitOverride
INSERT INTO ratelimit_overrides (
id,
workspace_id,
namespace_id,
identifier,
`limit`,
duration,
created_at_m
)
VALUES (
?,
?,
?,
?,
?,
?,
?
)
ON DUPLICATE KEY UPDATE
`limit` = VALUES(`limit`),
duration = VALUES(duration),
updated_at_m = ?
func (*Queries) InsertRole ¶
InsertRole
INSERT INTO roles ( id, workspace_id, name, description, created_at_m ) VALUES ( ?, ?, ?, ?, ? )
func (*Queries) InsertRolePermission ¶
func (q *Queries) InsertRolePermission(ctx context.Context, db DBTX, arg InsertRolePermissionParams) error
InsertRolePermission
INSERT INTO roles_permissions ( role_id, permission_id, workspace_id, created_at_m ) VALUES ( ?, ?, ?, ? )
func (*Queries) InsertSentinel ¶
InsertSentinel
INSERT INTO sentinels (
id,
workspace_id,
environment_id,
project_id,
k8s_address,
k8s_name,
region_id,
image,
desired_replicas,
cpu_millicores,
memory_mib,
created_at
) VALUES (
?,
?,
?,
?,
?,
?,
?,
?,
?,
?,
?,
?
)
func (*Queries) InsertWorkspace ¶
InsertWorkspace
INSERT INTO `workspaces` (
id,
org_id,
name,
slug,
created_at_m,
tier,
beta_features,
enabled,
delete_protection,
k8s_namespace
)
VALUES (
?,
?,
?,
?,
?,
'Free',
'{}',
true,
true,
?
)
func (*Queries) ListAllCiliumNetworkPoliciesByRegion ¶
func (q *Queries) ListAllCiliumNetworkPoliciesByRegion(ctx context.Context, db DBTX, arg ListAllCiliumNetworkPoliciesByRegionParams) ([]CiliumNetworkPolicy, error)
ListAllCiliumNetworkPoliciesByRegion returns cilium network policies for a region, paginated by pk. Used during full sync (version=0) to bootstrap krane agents with current state.
SELECT pk, id, workspace_id, project_id, app_id, environment_id, deployment_id, k8s_name, k8s_namespace, region_id, policy, created_at, updated_at FROM `cilium_network_policies` WHERE region_id = ? AND pk > ? ORDER BY pk ASC LIMIT ?
func (*Queries) ListAllDeploymentTopologiesByRegion ¶
func (q *Queries) ListAllDeploymentTopologiesByRegion(ctx context.Context, db DBTX, arg ListAllDeploymentTopologiesByRegionParams) ([]ListAllDeploymentTopologiesByRegionRow, error)
ListAllDeploymentTopologiesByRegion returns running deployment topologies for a region, paginated by pk. Used by SyncDesiredState to reconcile krane agents with current desired state.
SELECT
dt.pk, dt.workspace_id, dt.deployment_id, dt.region_id, dt.autoscaling_replicas_min, dt.autoscaling_replicas_max, dt.autoscaling_threshold_cpu, dt.autoscaling_threshold_memory, dt.desired_status, dt.created_at, dt.updated_at,
d.pk, d.id, d.k8s_name, d.workspace_id, d.project_id, d.environment_id, d.app_id, d.image, d.build_id, d.git_commit_sha, d.git_branch, d.git_commit_message, d.git_commit_author_handle, d.git_commit_author_avatar_url, d.git_commit_timestamp, d.sentinel_config, d.cpu_millicores, d.memory_mib, d.storage_mib, d.desired_state, d.encrypted_environment_variables, d.command, d.port, d.shutdown_signal, d.upstream_protocol, d.healthcheck, d.pr_number, d.fork_repository_full_name, d.github_deployment_id, d.invocation_id, d.status, d.created_at, d.updated_at,
w.k8s_namespace,
e.slug AS environment_slug,
r.name AS region_name,
grc.repository_full_name AS git_repo
FROM `deployment_topology` dt
INNER JOIN `deployments` d ON dt.deployment_id = d.id
INNER JOIN `workspaces` w ON d.workspace_id = w.id
INNER JOIN `regions` r ON dt.region_id = r.id
INNER JOIN `environments` e ON d.environment_id = e.id
LEFT JOIN `github_repo_connections` grc ON d.app_id = grc.app_id
WHERE r.id = ? AND dt.pk > ? AND dt.desired_status = 'running'
ORDER BY dt.pk ASC
LIMIT ?
func (*Queries) ListAllSentinelsByRegion ¶
func (q *Queries) ListAllSentinelsByRegion(ctx context.Context, db DBTX, arg ListAllSentinelsByRegionParams) ([]Sentinel, error)
ListAllSentinelsByRegion returns sentinels for a region, paginated by pk. Used during full sync (version=0) to bootstrap krane agents with current state.
SELECT pk, id, workspace_id, project_id, environment_id, k8s_name, k8s_address, region_id, image, running_image, desired_state, health, desired_replicas, available_replicas, deploy_status, cpu_millicores, memory_mib, created_at, updated_at FROM `sentinels` WHERE region_id = ? AND pk > ? ORDER BY pk ASC LIMIT ?
func (*Queries) ListAppIdsByProject ¶
func (q *Queries) ListAppIdsByProject(ctx context.Context, db DBTX, projectID string) ([]string, error)
ListAppIdsByProject
SELECT id FROM apps WHERE project_id = ?
func (*Queries) ListAppsByProject ¶
func (q *Queries) ListAppsByProject(ctx context.Context, db DBTX, projectID string) ([]ListAppsByProjectRow, error)
ListAppsByProject
SELECT apps.pk, apps.id, apps.workspace_id, apps.project_id, apps.name, apps.slug, apps.default_branch, apps.current_deployment_id, apps.is_rolled_back, apps.delete_protection, apps.created_at, apps.updated_at FROM apps WHERE project_id = ? ORDER BY created_at ASC
func (*Queries) ListCustomDomainsByProjectID ¶
func (q *Queries) ListCustomDomainsByProjectID(ctx context.Context, db DBTX, projectID string) ([]CustomDomain, error)
ListCustomDomainsByProjectID
SELECT pk, id, workspace_id, project_id, app_id, environment_id, domain, challenge_type, verification_status, verification_token, ownership_verified, cname_verified, target_cname, last_checked_at, check_attempts, verification_error, domain_connect_provider, domain_connect_url, invocation_id, created_at, updated_at FROM custom_domains WHERE project_id = ? ORDER BY created_at DESC
func (*Queries) ListDeploymentChangesByRegionAll ¶
func (q *Queries) ListDeploymentChangesByRegionAll(ctx context.Context, db DBTX, arg ListDeploymentChangesByRegionAllParams) ([]DeploymentChange, error)
ListDeploymentChangesByRegionAll returns all deployment changes for a region with version > after_version. Used by the unified WatchDeploymentChanges stream. Does not filter by resource_type.
SELECT pk, resource_type, resource_id, region_id, created_at FROM `deployment_changes` WHERE pk > ? AND region_id = ? ORDER BY pk ASC LIMIT ?
func (*Queries) ListDeploymentsByEnvironmentIdAndStatus ¶
func (q *Queries) ListDeploymentsByEnvironmentIdAndStatus(ctx context.Context, db DBTX, arg ListDeploymentsByEnvironmentIdAndStatusParams) ([]Deployment, error)
ListDeploymentsByEnvironmentIdAndStatus
SELECT pk, id, k8s_name, workspace_id, project_id, environment_id, app_id, image, build_id, git_commit_sha, git_branch, git_commit_message, git_commit_author_handle, git_commit_author_avatar_url, git_commit_timestamp, sentinel_config, cpu_millicores, memory_mib, storage_mib, desired_state, encrypted_environment_variables, command, port, shutdown_signal, upstream_protocol, healthcheck, pr_number, fork_repository_full_name, github_deployment_id, invocation_id, status, created_at, updated_at FROM `deployments` WHERE environment_id = ? AND status = ? AND created_at < ? AND (updated_at IS null OR updated_at < ? )
func (*Queries) ListDesiredDeploymentTopology ¶
func (q *Queries) ListDesiredDeploymentTopology(ctx context.Context, db DBTX, arg ListDesiredDeploymentTopologyParams) ([]ListDesiredDeploymentTopologyRow, error)
ListDesiredDeploymentTopology returns all deployment topologies matching the desired state for a region. Used during bootstrap to stream all running deployments to krane.
SELECT
dt.pk, dt.workspace_id, dt.deployment_id, dt.region_id, dt.autoscaling_replicas_min, dt.autoscaling_replicas_max, dt.autoscaling_threshold_cpu, dt.autoscaling_threshold_memory, dt.desired_status, dt.created_at, dt.updated_at,
d.pk, d.id, d.k8s_name, d.workspace_id, d.project_id, d.environment_id, d.app_id, d.image, d.build_id, d.git_commit_sha, d.git_branch, d.git_commit_message, d.git_commit_author_handle, d.git_commit_author_avatar_url, d.git_commit_timestamp, d.sentinel_config, d.cpu_millicores, d.memory_mib, d.storage_mib, d.desired_state, d.encrypted_environment_variables, d.command, d.port, d.shutdown_signal, d.upstream_protocol, d.healthcheck, d.pr_number, d.fork_repository_full_name, d.github_deployment_id, d.invocation_id, d.status, d.created_at, d.updated_at,
w.k8s_namespace
FROM `deployment_topology` dt
INNER JOIN `deployments` d ON dt.deployment_id = d.id
INNER JOIN `workspaces` w ON d.workspace_id = w.id
INNER JOIN `regions` r ON dt.region_id = r.id
WHERE (? = '' OR r.name = ?)
AND d.desired_state = ?
AND dt.deployment_id > ?
ORDER BY dt.deployment_id ASC
LIMIT ?
func (*Queries) ListDesiredNetworkPolicies ¶
func (q *Queries) ListDesiredNetworkPolicies(ctx context.Context, db DBTX, arg ListDesiredNetworkPoliciesParams) ([]CiliumNetworkPolicy, error)
ListDesiredNetworkPolicies
SELECT pk, id, workspace_id, project_id, app_id, environment_id, deployment_id, k8s_name, k8s_namespace, region_id, policy, created_at, updated_at FROM `cilium_network_policies` WHERE (? = '' OR region_id = ?) AND id > ? ORDER BY id ASC LIMIT ?
func (*Queries) ListDesiredSentinels ¶
func (q *Queries) ListDesiredSentinels(ctx context.Context, db DBTX, arg ListDesiredSentinelsParams) ([]Sentinel, error)
ListDesiredSentinels returns all sentinels matching the desired state for a region. Used during bootstrap to stream all running sentinels to krane.
SELECT pk, id, workspace_id, project_id, environment_id, k8s_name, k8s_address, region_id, image, running_image, desired_state, health, desired_replicas, available_replicas, deploy_status, cpu_millicores, memory_mib, created_at, updated_at
FROM `sentinels`
WHERE (? = '' OR region_id = ?)
AND desired_state = ?
AND id > ?
ORDER BY id ASC
LIMIT ?
func (*Queries) ListDirectPermissionsByKeyID ¶
func (q *Queries) ListDirectPermissionsByKeyID(ctx context.Context, db DBTX, keyID string) ([]Permission, error)
ListDirectPermissionsByKeyID
SELECT p.pk, p.id, p.workspace_id, p.name, p.slug, p.description, p.created_at_m, p.updated_at_m FROM keys_permissions kp JOIN permissions p ON kp.permission_id = p.id WHERE kp.key_id = ? ORDER BY p.slug
func (*Queries) ListEnvVarsForRepoConnections ¶
func (q *Queries) ListEnvVarsForRepoConnections(ctx context.Context, db DBTX, arg ListEnvVarsForRepoConnectionsParams) ([]ListEnvVarsForRepoConnectionsRow, error)
ListEnvVarsForRepoConnections
SELECT aev.app_id, aev.`key`, aev.value
FROM app_environment_variables aev
INNER JOIN apps a ON a.id = aev.app_id
INNER JOIN environments e ON e.app_id = a.id AND e.id = aev.environment_id
INNER JOIN github_repo_connections gc ON gc.app_id = a.id
WHERE gc.installation_id = ?
AND gc.repository_id = ?
AND e.slug = CASE
WHEN CAST(? AS SIGNED) = 1 THEN 'preview'
WHEN ? = COALESCE(NULLIF(a.default_branch, ''), 'main')
THEN 'production'
ELSE 'preview'
END
func (*Queries) ListEnvironmentIdsByApp ¶
func (q *Queries) ListEnvironmentIdsByApp(ctx context.Context, db DBTX, appID string) ([]string, error)
ListEnvironmentIdsByApp
SELECT id FROM environments WHERE app_id = ?
func (*Queries) ListExecutableChallenges ¶
func (q *Queries) ListExecutableChallenges(ctx context.Context, db DBTX, verificationTypes []AcmeChallengesChallengeType) ([]ListExecutableChallengesRow, error)
ListExecutableChallenges
SELECT dc.workspace_id, dc.challenge_type, d.domain FROM acme_challenges dc JOIN custom_domains d ON dc.domain_id = d.id WHERE (dc.status = 'waiting' OR (dc.status = 'verified' AND dc.expires_at <= UNIX_TIMESTAMP(DATE_ADD(NOW(), INTERVAL 30 DAY)) * 1000)) AND dc.challenge_type IN (/*SLICE:verification_types*/?) ORDER BY d.created_at ASC
func (*Queries) ListGithubRepoConnections ¶
func (q *Queries) ListGithubRepoConnections(ctx context.Context, db DBTX, arg ListGithubRepoConnectionsParams) ([]GithubRepoConnection, error)
ListGithubRepoConnections
SELECT
pk,
workspace_id,
project_id,
app_id,
installation_id,
repository_id,
repository_full_name,
created_at,
updated_at
FROM github_repo_connections
WHERE installation_id = ?
AND repository_id = ?
func (*Queries) ListIdentities ¶
func (q *Queries) ListIdentities(ctx context.Context, db DBTX, arg ListIdentitiesParams) ([]ListIdentitiesRow, error)
ListIdentities
SELECT
i.id,
i.external_id,
i.workspace_id,
i.environment,
i.meta,
i.deleted,
i.created_at,
i.updated_at,
COALESCE(
(SELECT JSON_ARRAYAGG(
JSON_OBJECT(
'id', r.id,
'name', r.name,
'limit', r.`limit`,
'duration', r.duration,
'auto_apply', r.auto_apply = 1
)
)
FROM ratelimits r
WHERE r.identity_id = i.id),
JSON_ARRAY()
) as ratelimits
FROM identities i
WHERE i.workspace_id = ?
AND i.deleted = ?
AND i.id >= ?
ORDER BY i.id ASC
LIMIT ?
func (*Queries) ListIdentityRatelimits ¶
func (q *Queries) ListIdentityRatelimits(ctx context.Context, db DBTX, identityID sql.NullString) ([]Ratelimit, error)
ListIdentityRatelimits
SELECT pk, id, name, workspace_id, created_at, updated_at, key_id, identity_id, `limit`, duration, auto_apply FROM ratelimits WHERE identity_id = ? ORDER BY id ASC
func (*Queries) ListIdentityRatelimitsByID ¶
func (q *Queries) ListIdentityRatelimitsByID(ctx context.Context, db DBTX, identityID sql.NullString) ([]Ratelimit, error)
ListIdentityRatelimitsByID
SELECT pk, id, name, workspace_id, created_at, updated_at, key_id, identity_id, `limit`, duration, auto_apply FROM ratelimits WHERE identity_id = ?
func (*Queries) ListIdentityRatelimitsByIDs ¶
func (q *Queries) ListIdentityRatelimitsByIDs(ctx context.Context, db DBTX, ids []sql.NullString) ([]Ratelimit, error)
ListIdentityRatelimitsByIDs
SELECT pk, id, name, workspace_id, created_at, updated_at, key_id, identity_id, `limit`, duration, auto_apply FROM ratelimits WHERE identity_id IN (/*SLICE:ids*/?)
func (*Queries) ListKeysByKeySpaceID ¶
func (q *Queries) ListKeysByKeySpaceID(ctx context.Context, db DBTX, arg ListKeysByKeySpaceIDParams) ([]ListKeysByKeySpaceIDRow, error)
ListKeysByKeySpaceID
SELECT k.pk, k.id, k.key_auth_id, k.hash, k.start, k.workspace_id, k.for_workspace_id, k.name, k.owner_id, k.identity_id, k.meta, k.expires, k.created_at_m, k.updated_at_m, k.deleted_at_m, k.refill_day, k.refill_amount, k.last_refill_at, k.enabled, k.remaining_requests, k.environment, k.last_used_at, k.pending_migration_id, i.id as identity_id, i.external_id as external_id, i.meta as identity_meta, ek.encrypted as encrypted_key, ek.encryption_key_id as encryption_key_id FROM `keys` k LEFT JOIN `identities` i ON k.identity_id = i.id LEFT JOIN encrypted_keys ek ON k.id = ek.key_id WHERE k.key_auth_id = ? AND k.id >= ? AND (? IS NULL OR k.identity_id = ?) AND k.deleted_at_m IS NULL ORDER BY k.id ASC LIMIT ?
func (*Queries) ListKeysForRefill ¶
func (q *Queries) ListKeysForRefill(ctx context.Context, db DBTX, arg ListKeysForRefillParams) ([]ListKeysForRefillRow, error)
ListKeysForRefill returns keys that need their remaining_requests refilled. Uses a deferred join on pk for stable cursor-based pagination that avoids OFFSET drift when rows are mutated between batches. Keys are selected if:
- refill_day is NULL (daily refill)
- refill_day matches today's day of month
- refill_day > today's day AND today is the last day of month (catch-up for short months)
Keys are skipped if remaining_requests >= refill_amount (already full).
SELECT k.pk, k.id, k.workspace_id, k.refill_amount, k.remaining_requests, k.name
FROM `keys` k
INNER JOIN (
SELECT ki.pk
FROM `keys` ki
WHERE ki.refill_amount IS NOT NULL
AND ki.deleted_at_m IS NULL
AND (ki.remaining_requests IS NULL OR ki.refill_amount > ki.remaining_requests)
AND (
ki.refill_day IS NULL
OR ki.refill_day = ?
OR (? = 1 AND ki.refill_day > ?)
)
AND ki.pk > ?
ORDER BY pk
LIMIT ?
) AS batch ON batch.pk = k.pk
func (*Queries) ListLiveKeysByKeySpaceID ¶
func (q *Queries) ListLiveKeysByKeySpaceID(ctx context.Context, db DBTX, arg ListLiveKeysByKeySpaceIDParams) ([]ListLiveKeysByKeySpaceIDRow, error)
ListLiveKeysByKeySpaceID
SELECT k.pk, k.id, k.key_auth_id, k.hash, k.start, k.workspace_id, k.for_workspace_id, k.name, k.owner_id, k.identity_id, k.meta, k.expires, k.created_at_m, k.updated_at_m, k.deleted_at_m, k.refill_day, k.refill_amount, k.last_refill_at, k.enabled, k.remaining_requests, k.environment, k.last_used_at, k.pending_migration_id,
i.id as identity_table_id,
i.external_id as identity_external_id,
i.meta as identity_meta,
ek.encrypted as encrypted_key,
ek.encryption_key_id as encryption_key_id,
-- Roles with both IDs and names (sorted by name)
COALESCE(
(SELECT JSON_ARRAYAGG(
JSON_OBJECT(
'id', r.id,
'name', r.name,
'description', r.description
)
)
FROM keys_roles kr
JOIN roles r ON r.id = kr.role_id
WHERE kr.key_id = k.id
ORDER BY r.name),
JSON_ARRAY()
) as roles,
-- Direct permissions attached to the key (sorted by slug)
COALESCE(
(SELECT JSON_ARRAYAGG(
JSON_OBJECT(
'id', p.id,
'name', p.name,
'slug', p.slug,
'description', p.description
)
)
FROM keys_permissions kp
JOIN permissions p ON kp.permission_id = p.id
WHERE kp.key_id = k.id
ORDER BY p.slug),
JSON_ARRAY()
) as permissions,
-- Permissions from roles (sorted by slug)
COALESCE(
(SELECT JSON_ARRAYAGG(
JSON_OBJECT(
'id', p.id,
'name', p.name,
'slug', p.slug,
'description', p.description
)
)
FROM keys_roles kr
JOIN roles_permissions rp ON kr.role_id = rp.role_id
JOIN permissions p ON rp.permission_id = p.id
WHERE kr.key_id = k.id
ORDER BY p.slug),
JSON_ARRAY()
) as role_permissions,
-- Rate limits
COALESCE(
(SELECT JSON_ARRAYAGG(
JSON_OBJECT(
'id', id,
'name', name,
'key_id', key_id,
'identity_id', identity_id,
'limit', `limit`,
'duration', duration,
'auto_apply', auto_apply = 1
)
)
FROM (
SELECT rl.id, rl.name, rl.key_id, rl.identity_id, rl.`limit`, rl.duration, rl.auto_apply
FROM ratelimits rl
WHERE rl.key_id = k.id
UNION ALL
SELECT rl.id, rl.name, rl.key_id, rl.identity_id, rl.`limit`, rl.duration, rl.auto_apply
FROM ratelimits rl
WHERE rl.identity_id = i.id
) AS combined_rl),
JSON_ARRAY()
) AS ratelimits
FROM `keys` k
STRAIGHT_JOIN key_auth ka ON ka.id = k.key_auth_id
LEFT JOIN identities i ON k.identity_id = i.id AND i.deleted = false
LEFT JOIN encrypted_keys ek ON ek.key_id = k.id
WHERE k.key_auth_id = ?
AND k.id >= ?
AND (? IS NULL OR k.identity_id = ?)
AND k.deleted_at_m IS NULL
AND ka.deleted_at_m IS NULL
ORDER BY k.id ASC
LIMIT ?
func (*Queries) ListOlderActiveDeploymentsForDedup ¶
func (q *Queries) ListOlderActiveDeploymentsForDedup(ctx context.Context, db DBTX, arg ListOlderActiveDeploymentsForDedupParams) ([]ListOlderActiveDeploymentsForDedupRow, error)
Only deployments still in the queue (haven't acquired a build slot yet) are eligible for supersession. Once a deployment transitions to `starting` (after slot acquisition) it's committed — we don't cancel work that's already running.
SELECT id, invocation_id
FROM deployments
WHERE app_id = ?
AND environment_id = ?
AND git_branch = ?
AND status IN ('pending', 'awaiting_approval')
AND created_at < ?
AND id != ?
ORDER BY created_at ASC
func (*Queries) ListPermissions ¶
func (q *Queries) ListPermissions(ctx context.Context, db DBTX, arg ListPermissionsParams) ([]Permission, error)
ListPermissions
SELECT p.pk, p.id, p.workspace_id, p.name, p.slug, p.description, p.created_at_m, p.updated_at_m FROM permissions p WHERE p.workspace_id = ? AND p.id >= ? ORDER BY p.id LIMIT ?
func (*Queries) ListPermissionsByKeyID ¶
func (q *Queries) ListPermissionsByKeyID(ctx context.Context, db DBTX, arg ListPermissionsByKeyIDParams) ([]string, error)
ListPermissionsByKeyID
WITH direct_permissions AS (
SELECT p.slug as permission_slug
FROM keys_permissions kp
JOIN permissions p ON kp.permission_id = p.id
WHERE kp.key_id = ?
),
role_permissions AS (
SELECT p.slug as permission_slug
FROM keys_roles kr
JOIN roles_permissions rp ON kr.role_id = rp.role_id
JOIN permissions p ON rp.permission_id = p.id
WHERE kr.key_id = ?
)
SELECT DISTINCT permission_slug
FROM (
SELECT permission_slug FROM direct_permissions
UNION ALL
SELECT permission_slug FROM role_permissions
) all_permissions
func (*Queries) ListPermissionsByRoleID ¶
func (q *Queries) ListPermissionsByRoleID(ctx context.Context, db DBTX, roleID string) ([]Permission, error)
ListPermissionsByRoleID
SELECT p.pk, p.id, p.workspace_id, p.name, p.slug, p.description, p.created_at_m, p.updated_at_m FROM permissions p JOIN roles_permissions rp ON p.id = rp.permission_id WHERE rp.role_id = ? ORDER BY p.slug
func (*Queries) ListPreviewEnvironments ¶
func (q *Queries) ListPreviewEnvironments(ctx context.Context, db DBTX, arg ListPreviewEnvironmentsParams) ([]Environment, error)
ListPreviewEnvironments
SELECT pk, id, workspace_id, project_id, app_id, slug, description, delete_protection, created_at, updated_at FROM environments WHERE slug = 'preview' AND pk > ? ORDER BY pk ASC LIMIT ?
func (*Queries) ListRatelimitOverridesByNamespaceID ¶
func (q *Queries) ListRatelimitOverridesByNamespaceID(ctx context.Context, db DBTX, arg ListRatelimitOverridesByNamespaceIDParams) ([]RatelimitOverride, error)
ListRatelimitOverridesByNamespaceID
SELECT pk, id, workspace_id, namespace_id, identifier, `limit`, duration, created_at_m, updated_at_m, deleted_at_m FROM ratelimit_overrides WHERE workspace_id = ? AND namespace_id = ? AND deleted_at_m IS NULL AND id >= ? ORDER BY id ASC LIMIT ?
func (*Queries) ListRatelimitsByKeyID ¶
func (q *Queries) ListRatelimitsByKeyID(ctx context.Context, db DBTX, keyID sql.NullString) ([]ListRatelimitsByKeyIDRow, error)
ListRatelimitsByKeyID
SELECT id, name, `limit`, duration, auto_apply FROM ratelimits WHERE key_id = ?
func (*Queries) ListRatelimitsByKeyIDs ¶
func (q *Queries) ListRatelimitsByKeyIDs(ctx context.Context, db DBTX, keyIds []sql.NullString) ([]ListRatelimitsByKeyIDsRow, error)
ListRatelimitsByKeyIDs
SELECT id, key_id, name, `limit`, duration, auto_apply FROM ratelimits WHERE key_id IN (/*SLICE:key_ids*/?) ORDER BY key_id, id
func (*Queries) ListRepoConnectionDeployContexts ¶
func (q *Queries) ListRepoConnectionDeployContexts(ctx context.Context, db DBTX, arg ListRepoConnectionDeployContextsParams) ([]ListRepoConnectionDeployContextsRow, error)
ListRepoConnectionDeployContexts
SELECT
gc.pk, gc.workspace_id, gc.project_id, gc.app_id, gc.installation_id, gc.repository_id, gc.repository_full_name, gc.created_at, gc.updated_at,
p.pk, p.id, p.workspace_id, p.name, p.slug, p.depot_project_id, p.delete_protection, p.created_at, p.updated_at,
e.pk, e.id, e.workspace_id, e.project_id, e.app_id, e.slug, e.description, e.delete_protection, e.created_at, e.updated_at,
a.pk, a.id, a.workspace_id, a.project_id, a.name, a.slug, a.default_branch, a.current_deployment_id, a.is_rolled_back, a.delete_protection, a.created_at, a.updated_at,
abs.pk, abs.workspace_id, abs.app_id, abs.environment_id, abs.dockerfile, abs.docker_context, abs.watch_paths, abs.auto_deploy, abs.created_at, abs.updated_at,
ars.pk, ars.workspace_id, ars.app_id, ars.environment_id, ars.port, ars.cpu_millicores, ars.memory_mib, ars.storage_mib, ars.command, ars.healthcheck, ars.shutdown_signal, ars.upstream_protocol, ars.sentinel_config, ars.openapi_spec_path, ars.created_at, ars.updated_at
FROM github_repo_connections gc
INNER JOIN apps a ON a.id = gc.app_id
INNER JOIN projects p ON p.id = gc.project_id
INNER JOIN environments e ON e.app_id = a.id
AND e.slug = CASE
WHEN CAST(? AS SIGNED) = 1 THEN 'preview'
WHEN ? = COALESCE(NULLIF(a.default_branch, ''), 'main')
THEN 'production'
ELSE 'preview'
END
INNER JOIN app_build_settings abs ON abs.app_id = a.id AND abs.environment_id = e.id
INNER JOIN app_runtime_settings ars ON ars.app_id = a.id AND ars.environment_id = e.id
WHERE gc.installation_id = ?
AND gc.repository_id = ?
func (*Queries) ListRoles ¶
func (q *Queries) ListRoles(ctx context.Context, db DBTX, arg ListRolesParams) ([]ListRolesRow, error)
ListRoles
SELECT r.pk, r.id, r.workspace_id, r.name, r.description, r.created_at_m, r.updated_at_m, COALESCE(
(SELECT JSON_ARRAYAGG(
json_object(
'id', permission.id,
'name', permission.name,
'slug', permission.slug,
'description', permission.description
)
)
FROM (SELECT name, id, slug, description
FROM roles_permissions rp
JOIN permissions p ON p.id = rp.permission_id
WHERE rp.role_id = r.id) as permission),
JSON_ARRAY()
) as permissions
FROM roles r
WHERE r.workspace_id = ?
AND r.id >= ?
ORDER BY r.id
LIMIT ?
func (*Queries) ListRolesByKeyID ¶
func (q *Queries) ListRolesByKeyID(ctx context.Context, db DBTX, keyID string) ([]ListRolesByKeyIDRow, error)
ListRolesByKeyID
SELECT r.pk, r.id, r.workspace_id, r.name, r.description, r.created_at_m, r.updated_at_m, COALESCE(
(SELECT JSON_ARRAYAGG(
json_object(
'id', permission.id,
'name', permission.name,
'slug', permission.slug,
'description', permission.description
)
)
FROM (SELECT name, id, slug, description
FROM roles_permissions rp
JOIN permissions p ON p.id = rp.permission_id
WHERE rp.role_id = r.id) as permission),
JSON_ARRAY()
) as permissions
FROM keys_roles kr
JOIN roles r ON kr.role_id = r.id
WHERE kr.key_id = ?
ORDER BY r.name
func (*Queries) ListRunningSentinelIDsAndImages ¶
func (q *Queries) ListRunningSentinelIDsAndImages(ctx context.Context, db DBTX, arg ListRunningSentinelIDsAndImagesParams) ([]ListRunningSentinelIDsAndImagesRow, error)
ListRunningSentinelIDsAndImages returns IDs, images, and regions of all running sentinels, paginated by id. Used by the rollout service to plan wave assignments without fetching full sentinel rows.
SELECT id, image, region_id FROM sentinels WHERE desired_state = 'running' AND id > ? ORDER BY id ASC LIMIT ?
func (*Queries) ListWorkspaces ¶
func (q *Queries) ListWorkspaces(ctx context.Context, db DBTX, cursor string) ([]ListWorkspacesRow, error)
ListWorkspaces
SELECT w.pk, w.id, w.org_id, w.name, w.slug, w.k8s_namespace, w.tier, w.stripe_customer_id, w.stripe_subscription_id, w.beta_features, w.subscriptions, w.enabled, w.delete_protection, w.created_at_m, w.updated_at_m, w.deleted_at_m, q.pk, q.workspace_id, q.requests_per_month, q.logs_retention_days, q.audit_logs_retention_days, q.team, q.ratelimit_api_limit, q.ratelimit_api_duration, q.allocated_cpu_millicores_total, q.allocated_memory_mib_total, q.allocated_storage_mib_total, q.max_cpu_millicores_per_instance, q.max_memory_mib_per_instance, q.max_storage_mib_per_instance, q.max_concurrent_builds FROM `workspaces` w LEFT JOIN quota q ON w.id = q.workspace_id WHERE w.id > ? ORDER BY w.id ASC LIMIT 100
func (*Queries) ListWorkspacesForQuotaCheck ¶
func (q *Queries) ListWorkspacesForQuotaCheck(ctx context.Context, db DBTX, cursor string) ([]ListWorkspacesForQuotaCheckRow, error)
ListWorkspacesForQuotaCheck
SELECT w.id, w.org_id, w.name, w.stripe_customer_id, w.tier, w.enabled, q.requests_per_month FROM `workspaces` w LEFT JOIN quota q ON w.id = q.workspace_id WHERE w.id > ? ORDER BY w.id ASC LIMIT 100
func (*Queries) LockIdentityForUpdate ¶
Acquires an exclusive lock on the identity row to prevent concurrent modifications. This should be called at the start of a transaction before modifying identity-related data.
SELECT id FROM identities WHERE id = ? FOR UPDATE
func (*Queries) LockKeyForUpdate ¶
Acquires an exclusive lock on the key row to prevent concurrent modifications. This is used to prevent deadlocks when updating key ratelimits concurrently.
SELECT id FROM `keys` WHERE id = ? FOR UPDATE
func (*Queries) MarkClickhouseOutboxBatchDeleted ¶
func (q *Queries) MarkClickhouseOutboxBatchDeleted(ctx context.Context, db DBTX, arg MarkClickhouseOutboxBatchDeletedParams) error
MarkClickhouseOutboxBatchDeleted soft-deletes a set of pks after their CH insert is confirmed. Called inside the same transaction that selected them, so the row locks held by FOR UPDATE SKIP LOCKED are released as part of commit. A crash between the CH insert and this UPDATE leaves the rows with deleted_at IS NULL; the next batch picks them up and CH's non_replicated_deduplication_window collapses the identical re-insert into a noop.
We mark instead of hard-delete so ops can re-queue events (clear deleted_at) without re-reading the original payload from somewhere else, and so the table doubles as an audit trail of what was exported. There's no sweep job today; the table grows monotonically.
UPDATE clickhouse_outbox SET deleted_at = ? WHERE pk IN (/*SLICE:pks*/?) AND deleted_at IS NULL
func (*Queries) ReassignFrontlineRoute ¶
func (q *Queries) ReassignFrontlineRoute(ctx context.Context, db DBTX, arg ReassignFrontlineRouteParams) error
ReassignFrontlineRoute
UPDATE frontline_routes SET deployment_id = ?, updated_at = ? WHERE id = ?
func (*Queries) RecordInstanceCrashLoopBackOff ¶
func (q *Queries) RecordInstanceCrashLoopBackOff(ctx context.Context, db DBTX, arg RecordInstanceCrashLoopBackOffParams) error
Records that kubelet has put a container into CrashLoopBackOff by setting container_status.waiting.reason. The lastTerminationState carries the most recent exit info and is left untouched — the dashboard renders both the underlying exit and the "currently throttling" indicator together.
Called once per (pod_uid, container_name, restart_count) when krane sees the waiting container reach the BackOff state. The next terminated event (or a successful start) will remove $.waiting via RecordInstanceExit.
Out-of-order events are dropped via the restartCount guard: a delayed crashloop RPC from an earlier container life cannot flip the waiting reason back after RecordInstanceExit has already advanced restartCount and removed $.waiting.
UPDATE instances
SET container_status = JSON_SET(
container_status,
'$.waiting', JSON_OBJECT('reason', 'CrashLoopBackOff')
)
WHERE k8s_name = ?
AND region_id = ?
AND CAST(JSON_VALUE(container_status, '$.restartCount') AS UNSIGNED) <= CAST(? AS UNSIGNED)
func (*Queries) RecordInstanceExit ¶
func (q *Queries) RecordInstanceExit(ctx context.Context, db DBTX, arg RecordInstanceExitParams) error
Denormalizes the most recent container exit info onto the instances row's container_status JSON. Called by ctrl when krane reports an event_kind='terminated' event.
The caller computes the full new ContainerStatus value (restartCount, lastTerminationState, no waiting) and passes it in one typed param. The WHERE clause inspects the row's *existing* container_status to drop delayed events; once the guard passes, the new value fully replaces the old (including clearing $.waiting, since a fresh exit ends any prior crashloop window).
Out-of-order events from krane are dropped via a lexicographic (restartCount, finishedAt) tuple comparison: an incoming row only wins if its (restartCount, finishedAt) pair is strictly greater than the pair already on the row. The previous OR-of-clauses formulation let a delayed terminated event from restart_count-1 sneak past via the finishedAt branch and regress the row after restart_count had already advanced.
UPDATE instances SET container_status = ? WHERE k8s_name = ? AND region_id = ? AND ( CAST(JSON_VALUE(container_status, '$.restartCount') AS UNSIGNED) < CAST(? AS UNSIGNED) OR ( CAST(JSON_VALUE(container_status, '$.restartCount') AS UNSIGNED) = CAST(? AS UNSIGNED) AND ( JSON_VALUE(container_status, '$.lastTerminationState.finishedAt') IS NULL OR CAST(JSON_VALUE(container_status, '$.lastTerminationState.finishedAt') AS UNSIGNED) < CAST(? AS UNSIGNED) ) ) )
func (*Queries) RefillKeysByIDs ¶
RefillKeysByIDs sets remaining_requests to refill_amount for the given keys. This is a bulk operation to minimize database round trips.
UPDATE `keys`
SET remaining_requests = refill_amount,
last_refill_at = NOW(3),
updated_at_m = ?
WHERE id IN (/*SLICE:ids*/?)
AND deleted_at_m IS NULL
func (*Queries) ResetCustomDomainVerification ¶
func (q *Queries) ResetCustomDomainVerification(ctx context.Context, db DBTX, arg ResetCustomDomainVerificationParams) error
ResetCustomDomainVerification
UPDATE custom_domains
SET verification_status = ?,
check_attempts = ?,
verification_error = NULL,
last_checked_at = NULL,
invocation_id = ?,
updated_at = ?
WHERE id = ?
func (*Queries) SetWorkspaceK8sNamespace ¶
func (q *Queries) SetWorkspaceK8sNamespace(ctx context.Context, db DBTX, arg SetWorkspaceK8sNamespaceParams) error
SetWorkspaceK8sNamespace
UPDATE `workspaces` SET k8s_namespace = ? WHERE id = ? AND k8s_namespace IS NULL
func (*Queries) SoftDeleteIdentity ¶
func (q *Queries) SoftDeleteIdentity(ctx context.Context, db DBTX, arg SoftDeleteIdentityParams) error
SoftDeleteIdentity
UPDATE identities SET deleted = 1 WHERE id = ? AND workspace_id = ?
func (*Queries) SoftDeleteKeyByID ¶
func (q *Queries) SoftDeleteKeyByID(ctx context.Context, db DBTX, arg SoftDeleteKeyByIDParams) error
SoftDeleteKeyByID
UPDATE `keys` SET deleted_at_m = ? WHERE id = ?
func (*Queries) SoftDeleteManyKeysByKeySpaceID ¶
func (q *Queries) SoftDeleteManyKeysByKeySpaceID(ctx context.Context, db DBTX, arg SoftDeleteManyKeysByKeySpaceIDParams) error
SoftDeleteManyKeysByKeySpaceID
UPDATE `keys` SET deleted_at_m = ? WHERE key_auth_id = ? AND deleted_at_m IS NULL
func (*Queries) SoftDeleteRatelimitNamespace ¶
func (q *Queries) SoftDeleteRatelimitNamespace(ctx context.Context, db DBTX, arg SoftDeleteRatelimitNamespaceParams) error
SoftDeleteRatelimitNamespace
UPDATE `ratelimit_namespaces`
SET
deleted_at_m = ?
WHERE id = ?
func (*Queries) SoftDeleteRatelimitOverride ¶
func (q *Queries) SoftDeleteRatelimitOverride(ctx context.Context, db DBTX, arg SoftDeleteRatelimitOverrideParams) error
SoftDeleteRatelimitOverride
UPDATE `ratelimit_overrides`
SET
deleted_at_m = ?
WHERE id = ?
func (*Queries) SoftDeleteWorkspace ¶
func (q *Queries) SoftDeleteWorkspace(ctx context.Context, db DBTX, arg SoftDeleteWorkspaceParams) (sql.Result, error)
SoftDeleteWorkspace
UPDATE `workspaces` SET deleted_at_m = ? WHERE id = ? AND delete_protection = false
func (*Queries) StopDeploymentIfNoInstances ¶
func (q *Queries) StopDeploymentIfNoInstances(ctx context.Context, db DBTX, arg StopDeploymentIfNoInstancesParams) error
StopDeploymentIfNoInstances
UPDATE deployments d
LEFT JOIN instances i ON i.deployment_id = d.id
SET d.status = 'stopped', d.updated_at = ?
WHERE d.id = ?
AND d.desired_state IN ('standby', 'archived')
AND i.deployment_id IS NULL
func (*Queries) SumAllocatedResourcesByWorkspaceID ¶
func (q *Queries) SumAllocatedResourcesByWorkspaceID(ctx context.Context, db DBTX, workspaceID string) (SumAllocatedResourcesByWorkspaceIDRow, error)
SumAllocatedResourcesByWorkspaceID
SELECT CAST(COALESCE(SUM(d.`cpu_millicores` * dt.`autoscaling_replicas_max`), 0) AS SIGNED) AS `total_cpu_millicores`, CAST(COALESCE(SUM(d.`memory_mib` * dt.`autoscaling_replicas_max`), 0) AS SIGNED) AS `total_memory_mib`, CAST(COALESCE(SUM(d.`storage_mib` * dt.`autoscaling_replicas_max`), 0) AS SIGNED) AS `total_storage_mib` FROM `deployment_topology` dt JOIN `deployments` d ON d.`id` = dt.`deployment_id` WHERE dt.`workspace_id` = ? AND dt.`desired_status` = 'running'
func (*Queries) UpdateAcmeChallengePending ¶
func (q *Queries) UpdateAcmeChallengePending(ctx context.Context, db DBTX, arg UpdateAcmeChallengePendingParams) error
UpdateAcmeChallengePending
UPDATE acme_challenges SET status = ?, token = ?, authorization = ?, updated_at = ? WHERE domain_id = ?
func (*Queries) UpdateAcmeChallengeStatus ¶
func (q *Queries) UpdateAcmeChallengeStatus(ctx context.Context, db DBTX, arg UpdateAcmeChallengeStatusParams) error
UpdateAcmeChallengeStatus
UPDATE acme_challenges SET status = ?, updated_at = ? WHERE domain_id = ?
func (*Queries) UpdateAcmeChallengeTryClaiming ¶
func (q *Queries) UpdateAcmeChallengeTryClaiming(ctx context.Context, db DBTX, arg UpdateAcmeChallengeTryClaimingParams) error
UpdateAcmeChallengeTryClaiming
UPDATE acme_challenges SET status = ?, updated_at = ? WHERE domain_id = ? AND status = 'waiting'
func (*Queries) UpdateAcmeChallengeVerifiedWithExpiry ¶
func (q *Queries) UpdateAcmeChallengeVerifiedWithExpiry(ctx context.Context, db DBTX, arg UpdateAcmeChallengeVerifiedWithExpiryParams) error
UpdateAcmeChallengeVerifiedWithExpiry
UPDATE acme_challenges SET status = ?, expires_at = ?, updated_at = ? WHERE domain_id = ?
func (*Queries) UpdateAcmeUserRegistrationURI ¶
func (q *Queries) UpdateAcmeUserRegistrationURI(ctx context.Context, db DBTX, arg UpdateAcmeUserRegistrationURIParams) error
UpdateAcmeUserRegistrationURI
UPDATE acme_users SET registration_uri = ? WHERE id = ?
func (*Queries) UpdateApiDeleteProtection ¶
func (q *Queries) UpdateApiDeleteProtection(ctx context.Context, db DBTX, arg UpdateApiDeleteProtectionParams) error
UpdateApiDeleteProtection
UPDATE apis SET delete_protection = ? WHERE id = ?
func (*Queries) UpdateAppDeployments ¶
func (q *Queries) UpdateAppDeployments(ctx context.Context, db DBTX, arg UpdateAppDeploymentsParams) error
UpdateAppDeployments
UPDATE apps SET current_deployment_id = ?, is_rolled_back = ?, updated_at = ? WHERE id = ?
func (*Queries) UpdateCiliumNetworkPolicyByEnvironmentRegionAndName ¶
func (q *Queries) UpdateCiliumNetworkPolicyByEnvironmentRegionAndName(ctx context.Context, db DBTX, arg UpdateCiliumNetworkPolicyByEnvironmentRegionAndNameParams) error
UpdateCiliumNetworkPolicyByEnvironmentRegionAndName
UPDATE cilium_network_policies
SET policy = ?,
updated_at = ?
WHERE environment_id = ?
AND region_id = ?
AND k8s_name = ?
func (*Queries) UpdateClickhouseWorkspaceSettingsLimits ¶
func (q *Queries) UpdateClickhouseWorkspaceSettingsLimits(ctx context.Context, db DBTX, arg UpdateClickhouseWorkspaceSettingsLimitsParams) error
UpdateClickhouseWorkspaceSettingsLimits
UPDATE `clickhouse_workspace_settings`
SET
quota_duration_seconds = ?,
max_queries_per_window = ?,
max_execution_time_per_window = ?,
max_query_execution_time = ?,
max_query_memory_bytes = ?,
max_query_result_rows = ?,
updated_at = ?
WHERE workspace_id = ?
func (*Queries) UpdateCustomDomainCheckAttempt ¶
func (q *Queries) UpdateCustomDomainCheckAttempt(ctx context.Context, db DBTX, arg UpdateCustomDomainCheckAttemptParams) error
UpdateCustomDomainCheckAttempt
UPDATE custom_domains
SET check_attempts = ?,
last_checked_at = ?,
updated_at = ?
WHERE id = ?
func (*Queries) UpdateCustomDomainFailed ¶
func (q *Queries) UpdateCustomDomainFailed(ctx context.Context, db DBTX, arg UpdateCustomDomainFailedParams) error
UpdateCustomDomainFailed
UPDATE custom_domains
SET verification_status = ?,
verification_error = ?,
updated_at = ?
WHERE id = ?
func (*Queries) UpdateCustomDomainInvocationID ¶
func (q *Queries) UpdateCustomDomainInvocationID(ctx context.Context, db DBTX, arg UpdateCustomDomainInvocationIDParams) error
UpdateCustomDomainInvocationID
UPDATE custom_domains
SET invocation_id = ?,
updated_at = ?
WHERE id = ?
func (*Queries) UpdateCustomDomainOwnership ¶
func (q *Queries) UpdateCustomDomainOwnership(ctx context.Context, db DBTX, arg UpdateCustomDomainOwnershipParams) error
UpdateCustomDomainOwnership
UPDATE custom_domains SET ownership_verified = ?, cname_verified = ?, updated_at = ? WHERE id = ?
func (*Queries) UpdateCustomDomainVerificationStatus ¶
func (q *Queries) UpdateCustomDomainVerificationStatus(ctx context.Context, db DBTX, arg UpdateCustomDomainVerificationStatusParams) error
UpdateCustomDomainVerificationStatus
UPDATE custom_domains
SET verification_status = ?,
updated_at = ?
WHERE id = ?
func (*Queries) UpdateDeploymentBuildID ¶
func (q *Queries) UpdateDeploymentBuildID(ctx context.Context, db DBTX, arg UpdateDeploymentBuildIDParams) error
UpdateDeploymentBuildID
UPDATE deployments SET build_id = ?, updated_at = ? WHERE id = ?
func (*Queries) UpdateDeploymentDesiredState ¶
func (q *Queries) UpdateDeploymentDesiredState(ctx context.Context, db DBTX, arg UpdateDeploymentDesiredStateParams) error
UpdateDeploymentDesiredState
UPDATE deployments SET desired_state = ?, updated_at = ? WHERE id = ?
func (*Queries) UpdateDeploymentForkRepository ¶
func (q *Queries) UpdateDeploymentForkRepository(ctx context.Context, db DBTX, arg UpdateDeploymentForkRepositoryParams) error
UpdateDeploymentForkRepository
UPDATE deployments SET fork_repository_full_name = ?, updated_at = ? WHERE id = ?
func (*Queries) UpdateDeploymentGitMetadata ¶
func (q *Queries) UpdateDeploymentGitMetadata(ctx context.Context, db DBTX, arg UpdateDeploymentGitMetadataParams) error
UpdateDeploymentGitMetadata
UPDATE deployments
SET
git_commit_sha = ?,
git_branch = ?,
git_commit_message = ?,
git_commit_author_handle = ?,
git_commit_author_avatar_url = ?,
git_commit_timestamp = ?,
updated_at = ?
WHERE id = ?
func (*Queries) UpdateDeploymentGithubDeploymentId ¶
func (q *Queries) UpdateDeploymentGithubDeploymentId(ctx context.Context, db DBTX, arg UpdateDeploymentGithubDeploymentIdParams) error
UpdateDeploymentGithubDeploymentId
UPDATE deployments SET github_deployment_id = ?, updated_at = ? WHERE id = ?
func (*Queries) UpdateDeploymentImage ¶
func (q *Queries) UpdateDeploymentImage(ctx context.Context, db DBTX, arg UpdateDeploymentImageParams) error
UpdateDeploymentImage
UPDATE deployments SET image = ?, updated_at = ? WHERE id = ?
func (*Queries) UpdateDeploymentInvocationID ¶
func (q *Queries) UpdateDeploymentInvocationID(ctx context.Context, db DBTX, arg UpdateDeploymentInvocationIDParams) error
UpdateDeploymentInvocationID
UPDATE deployments SET invocation_id = ?, updated_at = ? WHERE id = ?
func (*Queries) UpdateDeploymentStatus ¶
func (q *Queries) UpdateDeploymentStatus(ctx context.Context, db DBTX, arg UpdateDeploymentStatusParams) error
UpdateDeploymentStatus
UPDATE deployments SET status = ?, updated_at = ? WHERE id = ?
func (*Queries) UpdateDeploymentStatusBatch ¶
func (q *Queries) UpdateDeploymentStatusBatch(ctx context.Context, db DBTX, arg UpdateDeploymentStatusBatchParams) error
UpdateDeploymentStatusBatch
UPDATE deployments SET status = ?, updated_at = ? WHERE id IN (/*SLICE:ids*/?)
func (*Queries) UpdateDeploymentStatusIfActive ¶
func (q *Queries) UpdateDeploymentStatusIfActive(ctx context.Context, db DBTX, arg UpdateDeploymentStatusIfActiveParams) error
Transition a deployment's status only when its current status is still "active" (non-terminal). Prevents the Deploy handler's compensation stack from overwriting a status that was set intentionally by the dedup path (e.g. superseded) or by a successful completion (ready).
UPDATE deployments
SET status = ?, updated_at = ?
WHERE id = ?
AND status NOT IN ('ready', 'failed', 'superseded', 'skipped', 'stopped', 'cancelled')
func (*Queries) UpdateDeploymentTopologyDesiredStatus ¶
func (q *Queries) UpdateDeploymentTopologyDesiredStatus(ctx context.Context, db DBTX, arg UpdateDeploymentTopologyDesiredStatusParams) error
UpdateDeploymentTopologyDesiredStatus updates the desired_status of a topology entry.
UPDATE `deployment_topology` SET desired_status = ?, updated_at = ? WHERE deployment_id = ? AND region_id = ?
func (*Queries) UpdateFrontlineRouteDeploymentId ¶
func (q *Queries) UpdateFrontlineRouteDeploymentId(ctx context.Context, db DBTX, arg UpdateFrontlineRouteDeploymentIdParams) error
UpdateFrontlineRouteDeploymentId
UPDATE frontline_routes SET deployment_id = ? WHERE id = ?
func (*Queries) UpdateIdentity ¶
UpdateIdentity
UPDATE `identities`
SET
meta = CAST(? AS JSON),
updated_at = NOW()
WHERE
id = ?
func (*Queries) UpdateKey ¶
UpdateKey
UPDATE `keys` k SET
name = CASE
WHEN CAST(? AS UNSIGNED) = 1 THEN ?
ELSE k.name
END,
identity_id = CASE
WHEN CAST(? AS UNSIGNED) = 1 THEN ?
ELSE k.identity_id
END,
enabled = CASE
WHEN CAST(? AS UNSIGNED) = 1 THEN ?
ELSE k.enabled
END,
meta = CASE
WHEN CAST(? AS UNSIGNED) = 1 THEN ?
ELSE k.meta
END,
expires = CASE
WHEN CAST(? AS UNSIGNED) = 1 THEN ?
ELSE k.expires
END,
remaining_requests = CASE
WHEN CAST(? AS UNSIGNED) = 1 THEN ?
ELSE k.remaining_requests
END,
refill_amount = CASE
WHEN CAST(? AS UNSIGNED) = 1 THEN ?
ELSE k.refill_amount
END,
refill_day = CASE
WHEN CAST(? AS UNSIGNED) = 1 THEN ?
ELSE k.refill_day
END,
updated_at_m = ?
WHERE id = ?
func (*Queries) UpdateKeyCreditsDecrement ¶
func (q *Queries) UpdateKeyCreditsDecrement(ctx context.Context, db DBTX, arg UpdateKeyCreditsDecrementParams) error
UpdateKeyCreditsDecrement
UPDATE `keys`
SET remaining_requests = CASE
WHEN remaining_requests >= ? THEN remaining_requests - ?
ELSE 0
END
WHERE id = ?
func (*Queries) UpdateKeyCreditsIncrement ¶
func (q *Queries) UpdateKeyCreditsIncrement(ctx context.Context, db DBTX, arg UpdateKeyCreditsIncrementParams) error
UpdateKeyCreditsIncrement
UPDATE `keys` SET remaining_requests = remaining_requests + ? WHERE id = ?
func (*Queries) UpdateKeyCreditsRefill ¶
func (q *Queries) UpdateKeyCreditsRefill(ctx context.Context, db DBTX, arg UpdateKeyCreditsRefillParams) error
UpdateKeyCreditsRefill
UPDATE `keys` SET refill_amount = ?, refill_day = ? WHERE id = ?
func (*Queries) UpdateKeyCreditsSet ¶
func (q *Queries) UpdateKeyCreditsSet(ctx context.Context, db DBTX, arg UpdateKeyCreditsSetParams) error
UpdateKeyCreditsSet
UPDATE `keys` SET remaining_requests = ? WHERE id = ?
func (*Queries) UpdateKeySpaceKeyEncryption ¶
func (q *Queries) UpdateKeySpaceKeyEncryption(ctx context.Context, db DBTX, arg UpdateKeySpaceKeyEncryptionParams) error
UpdateKeySpaceKeyEncryption
UPDATE `key_auth` SET store_encrypted_keys = ? WHERE id = ?
func (*Queries) UpdateKeysLastUsed ¶
func (q *Queries) UpdateKeysLastUsed(ctx context.Context, db DBTX, arg UpdateKeysLastUsedParams) error
UpdateKeysLastUsed
UPDATE `keys` SET last_used_at = ? WHERE id IN (/*SLICE:key_ids*/?) AND last_used_at < ?
func (*Queries) UpdateProjectDepotID ¶
func (q *Queries) UpdateProjectDepotID(ctx context.Context, db DBTX, arg UpdateProjectDepotIDParams) error
UpdateProjectDepotID
UPDATE projects
SET
depot_project_id = ?,
updated_at = ?
WHERE id = ?
func (*Queries) UpdateRatelimit ¶
UpdateRatelimit
UPDATE `ratelimits`
SET
name = ?,
`limit` = ?,
duration = ?,
auto_apply = ?,
updated_at = NOW()
WHERE
id = ?
func (*Queries) UpdateRatelimitOverride ¶
func (q *Queries) UpdateRatelimitOverride(ctx context.Context, db DBTX, arg UpdateRatelimitOverrideParams) (sql.Result, error)
UpdateRatelimitOverride
UPDATE `ratelimit_overrides`
SET
`limit` = ?,
duration = ?,
updated_at_m= ?
WHERE id = ?
func (*Queries) UpdateSentinelConfig ¶
func (q *Queries) UpdateSentinelConfig(ctx context.Context, db DBTX, arg UpdateSentinelConfigParams) error
UpdateSentinelConfig updates a sentinel's configuration and deploy status. Used by SentinelService.Deploy() to apply new config before triggering krane.
UPDATE sentinels SET image = ?, cpu_millicores = ?, memory_mib = ?, desired_replicas = ?, deploy_status = ?, updated_at = ? WHERE id = ?
func (*Queries) UpdateSentinelDeployStatus ¶
func (q *Queries) UpdateSentinelDeployStatus(ctx context.Context, db DBTX, arg UpdateSentinelDeployStatusParams) error
UpdateSentinelDeployStatus updates only the deploy status field. Used after convergence check or rollback completes.
UPDATE sentinels SET deploy_status = ?, updated_at = ? WHERE id = ?
func (*Queries) UpdateSentinelObservedState ¶
func (q *Queries) UpdateSentinelObservedState(ctx context.Context, db DBTX, arg UpdateSentinelObservedStateParams) error
UpdateSentinelObservedState writes observed state from a krane agent: the current health, available replica count, and the image that is actually running on the pods. The running image is used to detect rollout convergence — a deploy is only complete when running_image matches the desired image.
UPDATE sentinels SET available_replicas = ?, health = ?, running_image = ?, updated_at = ? WHERE k8s_name = ?
func (*Queries) UpdateWorkspaceEnabled ¶
func (q *Queries) UpdateWorkspaceEnabled(ctx context.Context, db DBTX, arg UpdateWorkspaceEnabledParams) (sql.Result, error)
UpdateWorkspaceEnabled
UPDATE `workspaces` SET enabled = ? WHERE id = ?
func (*Queries) UpsertAppBuildSettings ¶
func (q *Queries) UpsertAppBuildSettings(ctx context.Context, db DBTX, arg UpsertAppBuildSettingsParams) error
UpsertAppBuildSettings
INSERT INTO app_build_settings (
workspace_id,
app_id,
environment_id,
dockerfile,
docker_context,
watch_paths,
auto_deploy,
created_at,
updated_at
) VALUES (
?,
?,
?,
?,
?,
?,
?,
?,
?
)
ON DUPLICATE KEY UPDATE
dockerfile = VALUES(dockerfile),
docker_context = VALUES(docker_context),
watch_paths = VALUES(watch_paths),
auto_deploy = VALUES(auto_deploy),
updated_at = VALUES(updated_at)
func (*Queries) UpsertAppRegionalSettings ¶
func (q *Queries) UpsertAppRegionalSettings(ctx context.Context, db DBTX, arg UpsertAppRegionalSettingsParams) error
UpsertAppRegionalSettings
INSERT INTO app_regional_settings (
workspace_id,
app_id,
environment_id,
region_id,
replicas,
created_at,
updated_at
) VALUES (
?,
?,
?,
?,
?,
?,
?
)
ON DUPLICATE KEY UPDATE
replicas = VALUES(replicas),
updated_at = VALUES(updated_at)
func (*Queries) UpsertAppRuntimeSettings ¶
func (q *Queries) UpsertAppRuntimeSettings(ctx context.Context, db DBTX, arg UpsertAppRuntimeSettingsParams) error
UpsertAppRuntimeSettings
INSERT INTO app_runtime_settings (
workspace_id,
app_id,
environment_id,
port,
cpu_millicores,
memory_mib,
storage_mib,
command,
healthcheck,
shutdown_signal,
upstream_protocol,
sentinel_config,
openapi_spec_path,
created_at,
updated_at
) VALUES (
?,
?,
?,
?,
?,
?,
?,
?,
?,
?,
?,
?,
?,
?,
?
)
ON DUPLICATE KEY UPDATE
port = VALUES(port),
cpu_millicores = VALUES(cpu_millicores),
memory_mib = VALUES(memory_mib),
storage_mib = VALUES(storage_mib),
command = VALUES(command),
healthcheck = VALUES(healthcheck),
shutdown_signal = VALUES(shutdown_signal),
upstream_protocol = VALUES(upstream_protocol),
sentinel_config = VALUES(sentinel_config),
openapi_spec_path = VALUES(openapi_spec_path),
updated_at = VALUES(updated_at)
func (*Queries) UpsertCluster ¶
Upserts a cluster by region_id. If the cluster already exists, updates the heartbeat timestamp.
INSERT INTO clusters ( id, region_id, last_heartbeat_at ) VALUES ( ?, ?, ? ) ON DUPLICATE KEY UPDATE last_heartbeat_at = ?
func (*Queries) UpsertCustomDomain ¶
func (q *Queries) UpsertCustomDomain(ctx context.Context, db DBTX, arg UpsertCustomDomainParams) error
UpsertCustomDomain
INSERT INTO custom_domains (
id, workspace_id, project_id, app_id, environment_id, domain,
challenge_type, verification_status, verification_token, target_cname, created_at
)
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
ON DUPLICATE KEY UPDATE
workspace_id = VALUES(workspace_id),
project_id = VALUES(project_id),
app_id = VALUES(app_id),
environment_id = VALUES(environment_id),
challenge_type = VALUES(challenge_type),
verification_status = VALUES(verification_status),
target_cname = VALUES(target_cname),
updated_at = ?
func (*Queries) UpsertEnvironment ¶
func (q *Queries) UpsertEnvironment(ctx context.Context, db DBTX, arg UpsertEnvironmentParams) error
UpsertEnvironment
INSERT INTO environments (
id,
workspace_id,
project_id,
app_id,
slug,
created_at
) VALUES (?, ?, ?, ?, ?, ?)
ON DUPLICATE KEY UPDATE slug = VALUES(slug)
func (*Queries) UpsertIdentity ¶
Inserts a new identity or does nothing if one already exists for this workspace/external_id. Use FindIdentityByExternalID after this to get the actual ID.
INSERT INTO `identities` (
id,
external_id,
workspace_id,
environment,
created_at,
meta
) VALUES (
?,
?,
?,
?,
?,
CAST(? AS JSON)
)
ON DUPLICATE KEY UPDATE external_id = external_id
func (*Queries) UpsertInstance ¶
UpsertInstance
INSERT INTO instances ( id, deployment_id, workspace_id, project_id, app_id, region_id, k8s_name, address, cpu_millicores, memory_mib, status ) VALUES ( ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ? ) ON DUPLICATE KEY UPDATE address = ?, cpu_millicores = ?, memory_mib = ?, status = ?
func (*Queries) UpsertKeySpace ¶
UpsertKeySpace
INSERT INTO key_auth (
id,
workspace_id,
created_at_m,
default_prefix,
default_bytes,
store_encrypted_keys
) VALUES (?, ?, ?, ?, ?, ?)
ON DUPLICATE KEY UPDATE
workspace_id = VALUES(workspace_id),
store_encrypted_keys = VALUES(store_encrypted_keys)
func (*Queries) UpsertOpenApiSpec ¶
func (q *Queries) UpsertOpenApiSpec(ctx context.Context, db DBTX, arg UpsertOpenApiSpecParams) error
UpsertOpenApiSpec
INSERT INTO openapi_specs (id,workspace_id, deployment_id, portal_config_id, content, created_at, updated_at)
VALUES (?,?, ?, ?,
?, ?, ?)
ON DUPLICATE KEY UPDATE
content = VALUES(content),
updated_at = VALUES(updated_at)
func (*Queries) UpsertPortalBranding ¶
func (q *Queries) UpsertPortalBranding(ctx context.Context, db DBTX, arg UpsertPortalBrandingParams) error
UpsertPortalBranding
INSERT INTO portal_branding (
portal_config_id,
logo_url,
primary_color,
created_at,
updated_at
) VALUES (
?,
?,
?,
?,
?
)
ON DUPLICATE KEY UPDATE
logo_url = VALUES(logo_url),
primary_color = VALUES(primary_color),
updated_at = VALUES(updated_at)
func (*Queries) UpsertQuota ¶
UpsertQuota
INSERT INTO quota (
workspace_id,
requests_per_month,
audit_logs_retention_days,
logs_retention_days,
team,
ratelimit_api_limit,
ratelimit_api_duration
) VALUES (?, ?, ?, ?, ?, ?, ?)
ON DUPLICATE KEY UPDATE
requests_per_month = VALUES(requests_per_month),
audit_logs_retention_days = VALUES(audit_logs_retention_days),
logs_retention_days = VALUES(logs_retention_days),
ratelimit_api_limit = VALUES(ratelimit_api_limit),
ratelimit_api_duration = VALUES(ratelimit_api_duration)
func (*Queries) UpsertRegion ¶
Inserts a region or does nothing if it already exists.
INSERT INTO regions ( id, name, platform ) VALUES ( ?, ?, ? ) ON DUPLICATE KEY UPDATE name = name
func (*Queries) UpsertWorkspace ¶
UpsertWorkspace
INSERT INTO workspaces (
id,
org_id,
name,
slug,
created_at_m,
tier,
beta_features,
enabled,
delete_protection
) VALUES (?, ?, ?, ?, ?, ?, ?, true, false)
ON DUPLICATE KEY UPDATE
beta_features = VALUES(beta_features),
name = VALUES(name)
type Quotas ¶
type Quotas struct {
Pk uint64 `db:"pk"`
WorkspaceID string `db:"workspace_id"`
RequestsPerMonth int64 `db:"requests_per_month"`
LogsRetentionDays int32 `db:"logs_retention_days"`
AuditLogsRetentionDays int32 `db:"audit_logs_retention_days"`
Team bool `db:"team"`
RatelimitApiLimit sql.NullInt32 `db:"ratelimit_api_limit"`
RatelimitApiDuration sql.NullInt32 `db:"ratelimit_api_duration"`
AllocatedCpuMillicoresTotal uint32 `db:"allocated_cpu_millicores_total"`
AllocatedMemoryMibTotal uint32 `db:"allocated_memory_mib_total"`
AllocatedStorageMibTotal uint32 `db:"allocated_storage_mib_total"`
MaxCpuMillicoresPerInstance uint32 `db:"max_cpu_millicores_per_instance"`
MaxMemoryMibPerInstance uint32 `db:"max_memory_mib_per_instance"`
MaxStorageMibPerInstance uint32 `db:"max_storage_mib_per_instance"`
MaxConcurrentBuilds uint32 `db:"max_concurrent_builds"`
}
type Ratelimit ¶
type Ratelimit struct {
Pk uint64 `db:"pk"`
ID string `db:"id"`
Name string `db:"name"`
WorkspaceID string `db:"workspace_id"`
CreatedAt int64 `db:"created_at"`
UpdatedAt sql.NullInt64 `db:"updated_at"`
KeyID sql.NullString `db:"key_id"`
IdentityID sql.NullString `db:"identity_id"`
Limit uint64 `db:"limit"`
Duration uint64 `db:"duration"`
AutoApply bool `db:"auto_apply"`
}
type RatelimitBlocklist ¶
type RatelimitInfo ¶
type RatelimitInfo struct {
ID string `json:"id"`
Name string `json:"name"`
KeyID dbtype.NullString `json:"key_id"`
IdentityID dbtype.NullString `json:"identity_id"`
Limit uint64 `json:"limit"`
Duration uint64 `json:"duration"`
AutoApply bool `json:"auto_apply"`
}
type RatelimitNamespace ¶
type RatelimitOverride ¶
type RatelimitOverride struct {
Pk uint64 `db:"pk"`
ID string `db:"id"`
WorkspaceID string `db:"workspace_id"`
NamespaceID string `db:"namespace_id"`
Identifier string `db:"identifier"`
Limit uint64 `db:"limit"`
Duration uint64 `db:"duration"`
CreatedAtM int64 `db:"created_at_m"`
UpdatedAtM sql.NullInt64 `db:"updated_at_m"`
DeletedAtM sql.NullInt64 `db:"deleted_at_m"`
}
type RefillKeysByIDsParams ¶
type Replica ¶
type Replica struct {
// contains filtered or unexported fields
}
Replica wraps a standard SQL database connection and implements the gen.DBTX interface to enable interaction with the generated database code.
func (*Replica) Begin ¶
Begin starts a transaction and returns it. This method provides a way to use the Replica in transaction-based operations.
func (*Replica) ExecContext ¶
ExecContext executes a SQL statement and returns a result summary. It's used for INSERT, UPDATE, DELETE statements that don't return rows.
func (*Replica) PingContext ¶
PingContext verifies the database connection is alive.
func (*Replica) PrepareContext ¶
PrepareContext prepares a SQL statement for later execution.
func (*Replica) QueryContext ¶
QueryContext executes a SQL query that returns rows.
type ResetCustomDomainVerificationParams ¶
type ResetCustomDomainVerificationParams struct {
VerificationStatus CustomDomainsVerificationStatus `db:"verification_status"`
CheckAttempts int32 `db:"check_attempts"`
InvocationID sql.NullString `db:"invocation_id"`
UpdatedAt sql.NullInt64 `db:"updated_at"`
ID string `db:"id"`
}
type RoleInfo ¶
type RoleInfo struct {
ID string `json:"id"`
Name string `json:"name"`
Description dbtype.NullString `json:"description"`
}
RoleInfo types mirror the database models and support JSON serialization and deserialization. They are used to unmarshal aggregated results (e.g., JSON arrays) returned by database queries.
type RolesPermission ¶
type Sentinel ¶
type Sentinel struct {
Pk uint64 `db:"pk"`
ID string `db:"id"`
WorkspaceID string `db:"workspace_id"`
ProjectID string `db:"project_id"`
EnvironmentID string `db:"environment_id"`
K8sName string `db:"k8s_name"`
K8sAddress string `db:"k8s_address"`
RegionID string `db:"region_id"`
Image string `db:"image"`
RunningImage string `db:"running_image"`
DesiredState SentinelsDesiredState `db:"desired_state"`
Health SentinelsHealth `db:"health"`
DesiredReplicas int32 `db:"desired_replicas"`
AvailableReplicas int32 `db:"available_replicas"`
DeployStatus SentinelsDeployStatus `db:"deploy_status"`
CpuMillicores int32 `db:"cpu_millicores"`
MemoryMib int32 `db:"memory_mib"`
CreatedAt int64 `db:"created_at"`
UpdatedAt sql.NullInt64 `db:"updated_at"`
}
type SentinelsDeployStatus ¶
type SentinelsDeployStatus string
const ( SentinelsDeployStatusIdle SentinelsDeployStatus = "idle" SentinelsDeployStatusProgressing SentinelsDeployStatus = "progressing" SentinelsDeployStatusReady SentinelsDeployStatus = "ready" SentinelsDeployStatusFailed SentinelsDeployStatus = "failed" )
func (*SentinelsDeployStatus) Scan ¶
func (e *SentinelsDeployStatus) Scan(src interface{}) error
type SentinelsDesiredState ¶
type SentinelsDesiredState string
const ( SentinelsDesiredStateRunning SentinelsDesiredState = "running" SentinelsDesiredStateStandby SentinelsDesiredState = "standby" SentinelsDesiredStateArchived SentinelsDesiredState = "archived" )
func (*SentinelsDesiredState) Scan ¶
func (e *SentinelsDesiredState) Scan(src interface{}) error
type SentinelsHealth ¶
type SentinelsHealth string
const ( SentinelsHealthUnknown SentinelsHealth = "unknown" SentinelsHealthPaused SentinelsHealth = "paused" SentinelsHealthHealthy SentinelsHealth = "healthy" SentinelsHealthUnhealthy SentinelsHealth = "unhealthy" )
func (*SentinelsHealth) Scan ¶
func (e *SentinelsHealth) Scan(src interface{}) error
type SetWorkspaceK8sNamespaceParams ¶
type SetWorkspaceK8sNamespaceParams struct {
K8sNamespace sql.NullString `db:"k8s_namespace"`
ID string `db:"id"`
}
type SoftDeleteApiParams ¶
type SoftDeleteKeyByIDParams ¶
type TracedTx ¶
type TracedTx struct {
// contains filtered or unexported fields
}
TracedTx wraps a sql.Tx to add tracing to all database operations within a transaction
func (*TracedTx) ExecContext ¶
ExecContext executes a SQL statement within the transaction with tracing
func (*TracedTx) PrepareContext ¶
PrepareContext prepares a SQL statement within the transaction with tracing
func (*TracedTx) QueryContext ¶
QueryContext executes a SQL query within the transaction with tracing
func (*TracedTx) QueryRowContext ¶
QueryRowContext executes a SQL query that returns a single row within the transaction with tracing
type UpdateAcmeChallengeStatusParams ¶
type UpdateAcmeChallengeStatusParams struct {
Status AcmeChallengesStatus `db:"status"`
UpdatedAt sql.NullInt64 `db:"updated_at"`
DomainID string `db:"domain_id"`
}
type UpdateAcmeChallengeTryClaimingParams ¶
type UpdateAcmeChallengeTryClaimingParams struct {
Status AcmeChallengesStatus `db:"status"`
UpdatedAt sql.NullInt64 `db:"updated_at"`
DomainID string `db:"domain_id"`
}
type UpdateAcmeChallengeVerifiedWithExpiryParams ¶
type UpdateAcmeChallengeVerifiedWithExpiryParams struct {
Status AcmeChallengesStatus `db:"status"`
ExpiresAt int64 `db:"expires_at"`
UpdatedAt sql.NullInt64 `db:"updated_at"`
DomainID string `db:"domain_id"`
}
type UpdateAcmeUserRegistrationURIParams ¶
type UpdateAcmeUserRegistrationURIParams struct {
RegistrationUri sql.NullString `db:"registration_uri"`
ID string `db:"id"`
}
type UpdateClickhouseWorkspaceSettingsLimitsParams ¶
type UpdateClickhouseWorkspaceSettingsLimitsParams struct {
QuotaDurationSeconds int32 `db:"quota_duration_seconds"`
MaxQueriesPerWindow int32 `db:"max_queries_per_window"`
MaxExecutionTimePerWindow int32 `db:"max_execution_time_per_window"`
MaxQueryExecutionTime int32 `db:"max_query_execution_time"`
MaxQueryMemoryBytes int64 `db:"max_query_memory_bytes"`
MaxQueryResultRows int32 `db:"max_query_result_rows"`
UpdatedAt sql.NullInt64 `db:"updated_at"`
WorkspaceID string `db:"workspace_id"`
}
type UpdateCustomDomainFailedParams ¶
type UpdateCustomDomainFailedParams struct {
VerificationStatus CustomDomainsVerificationStatus `db:"verification_status"`
VerificationError sql.NullString `db:"verification_error"`
UpdatedAt sql.NullInt64 `db:"updated_at"`
ID string `db:"id"`
}
type UpdateCustomDomainInvocationIDParams ¶
type UpdateCustomDomainInvocationIDParams struct {
InvocationID sql.NullString `db:"invocation_id"`
UpdatedAt sql.NullInt64 `db:"updated_at"`
ID string `db:"id"`
}
type UpdateCustomDomainVerificationStatusParams ¶
type UpdateCustomDomainVerificationStatusParams struct {
VerificationStatus CustomDomainsVerificationStatus `db:"verification_status"`
UpdatedAt sql.NullInt64 `db:"updated_at"`
ID string `db:"id"`
}
type UpdateDeploymentBuildIDParams ¶
type UpdateDeploymentBuildIDParams struct {
BuildID sql.NullString `db:"build_id"`
UpdatedAt sql.NullInt64 `db:"updated_at"`
ID string `db:"id"`
}
type UpdateDeploymentDesiredStateParams ¶
type UpdateDeploymentDesiredStateParams struct {
DesiredState DeploymentsDesiredState `db:"desired_state"`
UpdatedAt sql.NullInt64 `db:"updated_at"`
ID string `db:"id"`
}
type UpdateDeploymentForkRepositoryParams ¶
type UpdateDeploymentForkRepositoryParams struct {
ForkRepositoryFullName sql.NullString `db:"fork_repository_full_name"`
UpdatedAt sql.NullInt64 `db:"updated_at"`
ID string `db:"id"`
}
type UpdateDeploymentGitMetadataParams ¶
type UpdateDeploymentGitMetadataParams struct {
GitCommitSha sql.NullString `db:"git_commit_sha"`
GitBranch sql.NullString `db:"git_branch"`
GitCommitMessage sql.NullString `db:"git_commit_message"`
GitCommitAuthorHandle sql.NullString `db:"git_commit_author_handle"`
GitCommitAuthorAvatarUrl sql.NullString `db:"git_commit_author_avatar_url"`
GitCommitTimestamp sql.NullInt64 `db:"git_commit_timestamp"`
UpdatedAt sql.NullInt64 `db:"updated_at"`
ID string `db:"id"`
}
type UpdateDeploymentImageParams ¶
type UpdateDeploymentImageParams struct {
Image sql.NullString `db:"image"`
UpdatedAt sql.NullInt64 `db:"updated_at"`
ID string `db:"id"`
}
type UpdateDeploymentInvocationIDParams ¶
type UpdateDeploymentInvocationIDParams struct {
InvocationID sql.NullString `db:"invocation_id"`
UpdatedAt sql.NullInt64 `db:"updated_at"`
ID string `db:"id"`
}
type UpdateDeploymentStatusBatchParams ¶
type UpdateDeploymentStatusBatchParams struct {
Status DeploymentsStatus `db:"status"`
UpdatedAt sql.NullInt64 `db:"updated_at"`
Ids []string `db:"ids"`
}
type UpdateDeploymentStatusIfActiveParams ¶
type UpdateDeploymentStatusIfActiveParams struct {
Status DeploymentsStatus `db:"status"`
UpdatedAt sql.NullInt64 `db:"updated_at"`
ID string `db:"id"`
}
type UpdateDeploymentStatusParams ¶
type UpdateDeploymentStatusParams struct {
Status DeploymentsStatus `db:"status"`
UpdatedAt sql.NullInt64 `db:"updated_at"`
ID string `db:"id"`
}
type UpdateDeploymentTopologyDesiredStatusParams ¶
type UpdateDeploymentTopologyDesiredStatusParams struct {
DesiredStatus DeploymentTopologyDesiredStatus `db:"desired_status"`
UpdatedAt sql.NullInt64 `db:"updated_at"`
DeploymentID string `db:"deployment_id"`
RegionID string `db:"region_id"`
}
type UpdateIdentityParams ¶
type UpdateIdentityParams struct {
Meta json.RawMessage `db:"meta"`
ID string `db:"id"`
}
type UpdateKeyParams ¶
type UpdateKeyParams struct {
NameSpecified int64 `db:"name_specified"`
Name sql.NullString `db:"name"`
IdentityIDSpecified int64 `db:"identity_id_specified"`
IdentityID sql.NullString `db:"identity_id"`
EnabledSpecified int64 `db:"enabled_specified"`
Enabled sql.NullBool `db:"enabled"`
MetaSpecified int64 `db:"meta_specified"`
Meta sql.NullString `db:"meta"`
ExpiresSpecified int64 `db:"expires_specified"`
Expires sql.NullTime `db:"expires"`
RemainingRequestsSpecified int64 `db:"remaining_requests_specified"`
RemainingRequests sql.NullInt64 `db:"remaining_requests"`
RefillAmountSpecified int64 `db:"refill_amount_specified"`
RefillAmount sql.NullInt64 `db:"refill_amount"`
RefillDaySpecified int64 `db:"refill_day_specified"`
RefillDay sql.NullInt16 `db:"refill_day"`
Now sql.NullInt64 `db:"now"`
ID string `db:"id"`
}
type UpdateProjectDepotIDParams ¶
type UpdateProjectDepotIDParams struct {
DepotProjectID sql.NullString `db:"depot_project_id"`
UpdatedAt sql.NullInt64 `db:"updated_at"`
ID string `db:"id"`
}
type UpdateRatelimitParams ¶
type UpdateSentinelConfigParams ¶
type UpdateSentinelConfigParams struct {
Image string `db:"image"`
CpuMillicores int32 `db:"cpu_millicores"`
MemoryMib int32 `db:"memory_mib"`
DesiredReplicas int32 `db:"desired_replicas"`
DeployStatus SentinelsDeployStatus `db:"deploy_status"`
UpdatedAt sql.NullInt64 `db:"updated_at"`
ID string `db:"id"`
}
type UpdateSentinelDeployStatusParams ¶
type UpdateSentinelDeployStatusParams struct {
DeployStatus SentinelsDeployStatus `db:"deploy_status"`
UpdatedAt sql.NullInt64 `db:"updated_at"`
ID string `db:"id"`
}
type UpsertAppBuildSettingsParams ¶
type UpsertAppBuildSettingsParams struct {
WorkspaceID string `db:"workspace_id"`
AppID string `db:"app_id"`
EnvironmentID string `db:"environment_id"`
Dockerfile string `db:"dockerfile"`
DockerContext string `db:"docker_context"`
WatchPaths dbtype.StringSlice `db:"watch_paths"`
AutoDeploy bool `db:"auto_deploy"`
CreatedAt int64 `db:"created_at"`
UpdatedAt sql.NullInt64 `db:"updated_at"`
}
type UpsertAppRuntimeSettingsParams ¶
type UpsertAppRuntimeSettingsParams struct {
WorkspaceID string `db:"workspace_id"`
AppID string `db:"app_id"`
EnvironmentID string `db:"environment_id"`
Port int32 `db:"port"`
CpuMillicores int32 `db:"cpu_millicores"`
MemoryMib int32 `db:"memory_mib"`
StorageMib uint32 `db:"storage_mib"`
Command dbtype.StringSlice `db:"command"`
Healthcheck dbtype.NullHealthcheck `db:"healthcheck"`
ShutdownSignal AppRuntimeSettingsShutdownSignal `db:"shutdown_signal"`
UpstreamProtocol AppRuntimeSettingsUpstreamProtocol `db:"upstream_protocol"`
SentinelConfig []byte `db:"sentinel_config"`
OpenapiSpecPath sql.NullString `db:"openapi_spec_path"`
CreatedAt int64 `db:"created_at"`
UpdatedAt sql.NullInt64 `db:"updated_at"`
}
type UpsertClusterParams ¶
type UpsertCustomDomainParams ¶
type UpsertCustomDomainParams struct {
ID string `db:"id"`
WorkspaceID string `db:"workspace_id"`
ProjectID string `db:"project_id"`
AppID string `db:"app_id"`
EnvironmentID string `db:"environment_id"`
Domain string `db:"domain"`
ChallengeType CustomDomainsChallengeType `db:"challenge_type"`
VerificationStatus CustomDomainsVerificationStatus `db:"verification_status"`
VerificationToken string `db:"verification_token"`
TargetCname string `db:"target_cname"`
CreatedAt int64 `db:"created_at"`
UpdatedAt sql.NullInt64 `db:"updated_at"`
}
type UpsertEnvironmentParams ¶
type UpsertIdentityParams ¶
type UpsertInstanceParams ¶
type UpsertInstanceParams struct {
ID string `db:"id"`
DeploymentID string `db:"deployment_id"`
WorkspaceID string `db:"workspace_id"`
ProjectID string `db:"project_id"`
AppID string `db:"app_id"`
RegionID string `db:"region_id"`
K8sName string `db:"k8s_name"`
Address string `db:"address"`
CpuMillicores int32 `db:"cpu_millicores"`
MemoryMib int32 `db:"memory_mib"`
Status InstancesStatus `db:"status"`
}
type UpsertKeySpaceParams ¶
type UpsertOpenApiSpecParams ¶
type UpsertOpenApiSpecParams struct {
ID string `db:"id"`
WorkspaceID string `db:"workspace_id"`
DeploymentID sql.NullString `db:"deployment_id"`
PortalConfigID sql.NullString `db:"portal_config_id"`
Content []byte `db:"content"`
CreatedAt int64 `db:"created_at"`
UpdatedAt sql.NullInt64 `db:"updated_at"`
}
type UpsertPortalBrandingParams ¶
type UpsertPortalBrandingParams struct {
PortalConfigID string `db:"portal_config_id"`
LogoUrl sql.NullString `db:"logo_url"`
PrimaryColor sql.NullString `db:"primary_color"`
CreatedAt int64 `db:"created_at"`
UpdatedAt sql.NullInt64 `db:"updated_at"`
}
type UpsertQuotaParams ¶
type UpsertQuotaParams struct {
WorkspaceID string `db:"workspace_id"`
RequestsPerMonth int64 `db:"requests_per_month"`
AuditLogsRetentionDays int32 `db:"audit_logs_retention_days"`
LogsRetentionDays int32 `db:"logs_retention_days"`
Team bool `db:"team"`
RatelimitApiLimit sql.NullInt32 `db:"ratelimit_api_limit"`
RatelimitApiDuration sql.NullInt32 `db:"ratelimit_api_duration"`
}
type UpsertRegionParams ¶
type UpsertWorkspaceParams ¶
type UpsertWorkspaceParams struct {
ID string `db:"id"`
OrgID string `db:"org_id"`
Name string `db:"name"`
Slug string `db:"slug"`
CreatedAtM int64 `db:"created_at_m"`
Tier sql.NullString `db:"tier"`
BetaFeatures json.RawMessage `db:"beta_features"`
}
type VercelBinding ¶
type VercelBinding struct {
Pk uint64 `db:"pk"`
ID string `db:"id"`
IntegrationID string `db:"integration_id"`
WorkspaceID string `db:"workspace_id"`
ProjectID string `db:"project_id"`
Environment VercelBindingsEnvironment `db:"environment"`
ResourceID string `db:"resource_id"`
ResourceType VercelBindingsResourceType `db:"resource_type"`
VercelEnvID string `db:"vercel_env_id"`
LastEditedBy string `db:"last_edited_by"`
CreatedAtM int64 `db:"created_at_m"`
UpdatedAtM sql.NullInt64 `db:"updated_at_m"`
DeletedAtM sql.NullInt64 `db:"deleted_at_m"`
}
type VercelBindingsEnvironment ¶
type VercelBindingsEnvironment string
const ( VercelBindingsEnvironmentDevelopment VercelBindingsEnvironment = "development" VercelBindingsEnvironmentPreview VercelBindingsEnvironment = "preview" VercelBindingsEnvironmentProduction VercelBindingsEnvironment = "production" )
func (*VercelBindingsEnvironment) Scan ¶
func (e *VercelBindingsEnvironment) Scan(src interface{}) error
type VercelBindingsResourceType ¶
type VercelBindingsResourceType string
const ( VercelBindingsResourceTypeRootKey VercelBindingsResourceType = "rootKey" VercelBindingsResourceTypeApiId VercelBindingsResourceType = "apiId" )
func (*VercelBindingsResourceType) Scan ¶
func (e *VercelBindingsResourceType) Scan(src interface{}) error
type VercelIntegration ¶
type VercelIntegration struct {
Pk uint64 `db:"pk"`
ID string `db:"id"`
WorkspaceID string `db:"workspace_id"`
TeamID sql.NullString `db:"team_id"`
AccessToken string `db:"access_token"`
CreatedAtM int64 `db:"created_at_m"`
UpdatedAtM sql.NullInt64 `db:"updated_at_m"`
DeletedAtM sql.NullInt64 `db:"deleted_at_m"`
}
type Workspace ¶
type Workspace struct {
Pk uint64 `db:"pk"`
ID string `db:"id"`
OrgID string `db:"org_id"`
Name string `db:"name"`
Slug string `db:"slug"`
K8sNamespace sql.NullString `db:"k8s_namespace"`
Tier sql.NullString `db:"tier"`
StripeCustomerID sql.NullString `db:"stripe_customer_id"`
StripeSubscriptionID sql.NullString `db:"stripe_subscription_id"`
BetaFeatures json.RawMessage `db:"beta_features"`
Subscriptions []byte `db:"subscriptions"`
Enabled bool `db:"enabled"`
DeleteProtection sql.NullBool `db:"delete_protection"`
CreatedAtM int64 `db:"created_at_m"`
UpdatedAtM sql.NullInt64 `db:"updated_at_m"`
DeletedAtM sql.NullInt64 `db:"deleted_at_m"`
}
Source Files
¶
- acme_challenge_clear_tokens.sql_generated.go
- acme_challenge_delete_by_domain_id.sql_generated.go
- acme_challenge_find_by_token.sql_generated.go
- acme_challenge_insert.sql_generated.go
- acme_challenge_list_executable.sql_generated.go
- acme_challenge_try_claiming.sql_generated.go
- acme_challenge_update_pending.sql_generated.go
- acme_challenge_update_status.sql_generated.go
- acme_challenge_update_verified_with_expiry.sql_generated.go
- acme_user_find_by_workspace_id.sql_generated.go
- acme_user_insert.sql_generated.go
- acme_user_update_registration_uri.sql_generated.go
- api_find_by_id.sql_generated.go
- api_find_key_auth_by_ids.sql_generated.go
- api_find_key_auth_by_key_auth_ids.sql_generated.go
- api_find_live_by_id.sql_generated.go
- api_insert.sql_generated.go
- api_soft_delete.sql_generated.go
- api_update_delete_protection.sql_generated.go
- app_build_setting_find_by_app_env.sql_generated.go
- app_build_settings_delete_by_environment.sql_generated.go
- app_build_settings_upsert.sql_generated.go
- app_delete_by_id.sql_generated.go
- app_env_var_delete_by_environment.sql_generated.go
- app_env_var_insert.sql_generated.go
- app_environment_variables_find.sql_generated.go
- app_environment_variables_list_for_connections.sql_generated.go
- app_find_by_id.sql_generated.go
- app_find_by_project_and_slug.sql_generated.go
- app_find_by_workspace_project_slug_app_slug.sql_generated.go
- app_find_with_settings.sql_generated.go
- app_insert.sql_generated.go
- app_list_by_project.sql_generated.go
- app_list_ids_by_project.sql_generated.go
- app_regional_settings_delete_by_environment.sql_generated.go
- app_regional_settings_find_by_app_and_env.sql_generated.go
- app_regional_settings_upsert.sql_generated.go
- app_runtime_settings_delete_by_environment.sql_generated.go
- app_runtime_settings_find.sql_generated.go
- app_runtime_settings_upsert.sql_generated.go
- app_update_deployments.sql_generated.go
- audit_log_find_for_backfill.sql_generated.go
- audit_log_find_target_by_id.sql_generated.go
- audit_log_insert.sql_generated.go
- audit_log_target_find_for_backfill.sql_generated.go
- audit_log_target_insert.sql_generated.go
- bulk_acme_challenge_insert.sql_generated.go
- bulk_acme_user_insert.sql_generated.go
- bulk_api_insert.sql_generated.go
- bulk_app_build_settings_upsert.sql_generated.go
- bulk_app_env_var_insert.sql_generated.go
- bulk_app_insert.sql_generated.go
- bulk_app_regional_settings_upsert.sql_generated.go
- bulk_app_runtime_settings_upsert.sql_generated.go
- bulk_audit_log_insert.sql_generated.go
- bulk_audit_log_target_insert.sql_generated.go
- bulk_certificate_insert.sql_generated.go
- bulk_cilium_network_policy_insert.sql_generated.go
- bulk_clickhouse_outbox_insert.sql_generated.go
- bulk_clickhouse_workspace_settings_insert.sql_generated.go
- bulk_cluster_region_upsert.sql_generated.go
- bulk_cluster_upsert.sql_generated.go
- bulk_custom_domain_insert.sql_generated.go
- bulk_custom_domain_upsert.sql_generated.go
- bulk_deployment_changes_insert.sql_generated.go
- bulk_deployment_insert.sql_generated.go
- bulk_deployment_step_insert.sql_generated.go
- bulk_deployment_topology_insert.sql_generated.go
- bulk_environment_insert.sql_generated.go
- bulk_environment_upsert.sql_generated.go
- bulk_github_repo_connection_insert.sql_generated.go
- bulk_identity_insert.sql_generated.go
- bulk_identity_insert_ratelimit.sql_generated.go
- bulk_identity_upsert.sql_generated.go
- bulk_ingress_route_insert.sql_generated.go
- bulk_instance_upsert.sql_generated.go
- bulk_key_auth_insert.sql_generated.go
- bulk_key_encryption_insert.sql_generated.go
- bulk_key_insert.sql_generated.go
- bulk_key_insert_ratelimit.sql_generated.go
- bulk_key_migration_insert.sql_generated.go
- bulk_key_permission_insert.sql_generated.go
- bulk_key_role_insert.sql_generated.go
- bulk_key_space_insert.sql_generated.go
- bulk_key_space_upsert.sql_generated.go
- bulk_openapi_spec_upsert.sql_generated.go
- bulk_permission_insert.sql_generated.go
- bulk_portal_branding_upsert.sql_generated.go
- bulk_portal_config_insert.sql_generated.go
- bulk_portal_session_insert.sql_generated.go
- bulk_portal_session_token_insert.sql_generated.go
- bulk_project_insert.sql_generated.go
- bulk_quota_upsert.sql_generated.go
- bulk_ratelimit_namespace_insert.sql_generated.go
- bulk_ratelimit_override_insert.sql_generated.go
- bulk_role_insert.sql_generated.go
- bulk_role_permission_insert.sql_generated.go
- bulk_sentinel_insert.sql_generated.go
- bulk_workspace_insert.sql_generated.go
- bulk_workspace_upsert.sql_generated.go
- certificate_find_by_hostname.sql_generated.go
- certificate_find_by_hostnames.sql_generated.go
- certificate_insert.sql_generated.go
- cilium_network_policy_delete_by_environment.sql_generated.go
- cilium_network_policy_find_by_deployment_id.sql_generated.go
- cilium_network_policy_find_by_environment_id.sql_generated.go
- cilium_network_policy_find_by_environment_region_and_name.sql_generated.go
- cilium_network_policy_find_by_id_and_region.sql_generated.go
- cilium_network_policy_insert.sql_generated.go
- cilium_network_policy_list_all_by_region.sql_generated.go
- cilium_network_policy_update.sql_generated.go
- clickhouse_outbox_find_batch.sql_generated.go
- clickhouse_outbox_insert.sql_generated.go
- clickhouse_outbox_mark_deleted_batch.sql_generated.go
- clickhouse_workspace_settings_find_by_workspace_id.sql_generated.go
- clickhouse_workspace_settings_insert.sql_generated.go
- clickhouse_workspace_settings_update_limits.sql_generated.go
- cluster_region_list.sql_generated.go
- cluster_region_upsert.sql_generated.go
- cluster_upsert.sql_generated.go
- custom_domain_delete_by_environment.sql_generated.go
- custom_domain_delete_by_id.sql_generated.go
- custom_domain_delete_by_project.sql_generated.go
- custom_domain_find_by_domain.sql_generated.go
- custom_domain_find_by_domain_or_wildcard.sql_generated.go
- custom_domain_find_by_id.sql_generated.go
- custom_domain_find_by_workspace_and_domain.sql_generated.go
- custom_domain_find_verified_by_app.sql_generated.go
- custom_domain_find_verified_by_domain_excluding_workspace.sql_generated.go
- custom_domain_find_with_cert_by_domain.sql_generated.go
- custom_domain_insert.sql_generated.go
- custom_domain_list_by_project_id.sql_generated.go
- custom_domain_reset_verification.sql_generated.go
- custom_domain_update_check_attempt.sql_generated.go
- custom_domain_update_failed.sql_generated.go
- custom_domain_update_invocation_id.sql_generated.go
- custom_domain_update_ownership.sql_generated.go
- custom_domain_update_verification_status.sql_generated.go
- custom_domain_upsert.sql_generated.go
- custom_types.go
- database.go
- deployment_changes_cleanup.sql_generated.go
- deployment_changes_insert.sql_generated.go
- deployment_changes_list_all.sql_generated.go
- deployment_changes_max_version.sql_generated.go
- deployment_compare_and_swap_status.sql_generated.go
- deployment_delete_by_environment.sql_generated.go
- deployment_delete_instances.sql_generated.go
- deployment_find_by_id.sql_generated.go
- deployment_find_by_k8s_name.sql_generated.go
- deployment_find_latest_ready_by_app_and_env.sql_generated.go
- deployment_has_newer_pending.sql_generated.go
- deployment_insert.sql_generated.go
- deployment_list_by_environment_id_and_status.sql_generated.go
- deployment_list_older_active_for_dedup.sql_generated.go
- deployment_step_delete_by_environment.sql_generated.go
- deployment_step_end.sql_generated.go
- deployment_step_end_active_for_deployments.sql_generated.go
- deployment_step_end_active_with_error.sql_generated.go
- deployment_step_insert.sql_generated.go
- deployment_stop_if_no_instances.sql_generated.go
- deployment_topology_delete_by_deployment_id.sql_generated.go
- deployment_topology_delete_by_deployment_region.sql_generated.go
- deployment_topology_delete_by_environment.sql_generated.go
- deployment_topology_find_by_deployment_and_region.sql_generated.go
- deployment_topology_find_regions.sql_generated.go
- deployment_topology_insert.sql_generated.go
- deployment_topology_list_all_by_region.sql_generated.go
- deployment_topology_list_desired.sql_generated.go
- deployment_topology_min_replicas_by_deployment.sql_generated.go
- deployment_topology_sum_allocated_resources_by_workspace_id.sql_generated.go
- deployment_topology_update_desired_status.sql_generated.go
- deployment_update_build_id.sql_generated.go
- deployment_update_desired_state.sql_generated.go
- deployment_update_fork_repository.sql_generated.go
- deployment_update_git_metadata.sql_generated.go
- deployment_update_github_deployment_id.sql_generated.go
- deployment_update_image.sql_generated.go
- deployment_update_invocation_id.sql_generated.go
- deployment_update_status.sql_generated.go
- deployment_update_status_batch.sql_generated.go
- deployment_update_status_if_active.sql_generated.go
- doc.go
- environment_delete_by_id.sql_generated.go
- environment_find_by_app_id_and_slug.sql_generated.go
- environment_find_by_id.sql_generated.go
- environment_find_by_project_id_and_slug.sql_generated.go
- environment_insert.sql_generated.go
- environment_list_ids_by_app.sql_generated.go
- environment_list_preview.sql_generated.go
- environment_upsert.sql_generated.go
- frontline_route_delete_by_environment.sql_generated.go
- frontline_route_delete_by_fqdn.sql_generated.go
- frontline_route_delete_by_project.sql_generated.go
- frontline_route_find_by_deployment_id_and_sticky.sql_generated.go
- generate.go
- github_repo_connection_delete_by_app.sql_generated.go
- github_repo_connection_delete_by_project.sql_generated.go
- github_repo_connection_find_by_app_id.sql_generated.go
- github_repo_connection_find_by_project_id.sql_generated.go
- github_repo_connection_insert.sql_generated.go
- github_repo_connection_list.sql_generated.go
- github_repo_connection_list_deploy_context.sql_generated.go
- handle_err_deadlock.go
- handle_err_duplicate_key.go
- handle_err_no_rows.go
- identity_delete.sql_generated.go
- identity_delete_old_by_external_id.sql_generated.go
- identity_delete_old_with_ratelimits.sql_generated.go
- identity_find.sql_generated.go
- identity_find_by_external_id.sql_generated.go
- identity_find_by_id.sql_generated.go
- identity_find_many.sql_generated.go
- identity_find_many_by_external_id.sql_generated.go
- identity_insert.sql_generated.go
- identity_insert_ratelimit.sql_generated.go
- identity_list.sql_generated.go
- identity_list_ratelimits.sql_generated.go
- identity_list_ratelimits_by_id.sql_generated.go
- identity_list_ratelimits_by_ids.sql_generated.go
- identity_lock.sql_generated.go
- identity_soft_delete.sql_generated.go
- identity_update.sql_generated.go
- identity_upsert.sql_generated.go
- ingress_route_find_by_deployment_id.sql_generated.go
- ingress_route_find_by_fqdn.sql_generated.go
- ingress_route_find_for_promotion.sql_generated.go
- ingress_route_find_for_rollback.sql_generated.go
- ingress_route_insert.sql_generated.go
- ingress_route_reassign.sql_generated.go
- ingress_route_update_deployment_id.sql_generated.go
- instance_count_by_app.sql_generated.go
- instance_delete.sql_generated.go
- instance_record_crashloop.sql_generated.go
- instance_record_exit.sql_generated.go
- instance_upsert.sql_generated.go
- instances_find_by_deployment_id.sql_generated.go
- instances_find_by_deployment_id_and_region_id.sql_generated.go
- instances_find_by_pod_name.sql_generated.go
- interface.go
- key_auth_get_by_id.sql_generated.go
- key_auth_insert.sql_generated.go
- key_data.go
- key_delete_by_id.sql_generated.go
- key_encryption_find_by_key_id.sql_generated.go
- key_encryption_insert.sql_generated.go
- key_find_by_id.sql_generated.go
- key_find_credits.sql_generated.go
- key_find_id_by_hash.sql_generated.go
- key_find_live_by_hash.sql_generated.go
- key_find_live_by_id.sql_generated.go
- key_find_many_by_hash.sql_generated.go
- key_insert.sql_generated.go
- key_insert_ratelimit.sql_generated.go
- key_list_by_key_space_id.sql_generated.go
- key_list_for_refill.sql_generated.go
- key_list_live_by_key_space_id.sql_generated.go
- key_lock.sql_generated.go
- key_migration_find_by_id.sql_generated.go
- key_migration_insert.sql_generated.go
- key_permission_delete_all_by_key_id.sql_generated.go
- key_permission_delete_by_key_and_permission_id.sql_generated.go
- key_permission_delete_many_by_key_and_permission_ids.sql_generated.go
- key_permission_delete_many_by_permission_id.sql_generated.go
- key_permission_insert.sql_generated.go
- key_refill_by_ids.sql_generated.go
- key_role_delete_all_by_key_id.sql_generated.go
- key_role_delete_many_by_key_and_role_ids.sql_generated.go
- key_role_delete_many_by_key_id.sql_generated.go
- key_role_delete_many_by_role_id.sql_generated.go
- key_role_find_by_key_and_role_id.sql_generated.go
- key_role_insert.sql_generated.go
- key_soft_delete_by_id.sql_generated.go
- key_soft_delete_many_by_key_space_id.sql_generated.go
- key_space_find_by_id.sql_generated.go
- key_space_insert.sql_generated.go
- key_space_update_key_encryption.sql_generated.go
- key_space_upsert.sql_generated.go
- key_update.sql_generated.go
- key_update_credits_decrement.sql_generated.go
- key_update_credits_increment.sql_generated.go
- key_update_credits_refill.sql_generated.go
- key_update_credits_set.sql_generated.go
- key_update_last_used.sql_generated.go
- models_generated.go
- network_policy_list_desired.sql_generated.go
- openapi_spec_find_by_deployment.sql_generated.go
- openapi_spec_upsert.sql_generated.go
- permission_delete_by_id.sql_generated.go
- permission_find_by_id.sql_generated.go
- permission_find_by_id_or_slug.sql_generated.go
- permission_find_by_name_and_workspace_id.sql_generated.go
- permission_find_by_slug_and_workspace_id.sql_generated.go
- permission_find_by_slugs.sql_generated.go
- permission_insert.sql_generated.go
- permission_list.sql_generated.go
- permission_list_by_key_id.sql_generated.go
- permission_list_by_role_id.sql_generated.go
- permission_list_direct_by_key_id.sql_generated.go
- portal_branding_find.sql_generated.go
- portal_branding_upsert.sql_generated.go
- portal_config_find_by_workspace_and_slug.sql_generated.go
- portal_config_insert.sql_generated.go
- portal_session_find.sql_generated.go
- portal_session_insert.sql_generated.go
- portal_session_token_exchange.sql_generated.go
- portal_session_token_find.sql_generated.go
- portal_session_token_insert.sql_generated.go
- project_delete_by_id.sql_generated.go
- project_find_by_id.sql_generated.go
- project_find_by_slug.sql_generated.go
- project_find_by_workspace_slug.sql_generated.go
- project_insert.sql_generated.go
- project_update_depot_id.sql_generated.go
- querier_bulk_generated.go
- querier_generated.go
- queries.go
- quota_find_by_workspace_id.sql_generated.go
- quota_upsert.sql_generated.go
- ratelimit_delete.sql_generated.go
- ratelimit_delete_many_by_identity_id.sql_generated.go
- ratelimit_delete_many_by_ids.sql_generated.go
- ratelimit_list_by_key_id.sql_generated.go
- ratelimit_list_by_key_ids.sql_generated.go
- ratelimit_namespace_delete.sql_generated.go
- ratelimit_namespace_find.sql.go
- ratelimit_namespace_find.sql_generated.go
- ratelimit_namespace_find_by_id.sql_generated.go
- ratelimit_namespace_find_by_name.sql_generated.go
- ratelimit_namespace_insert.sql_generated.go
- ratelimit_namespace_soft_delete.sql_generated.go
- ratelimit_namespaces_find_many.sql_generated.go
- ratelimit_override_find_by_id.sql_generated.go
- ratelimit_override_find_by_identifier.sql_generated.go
- ratelimit_override_insert.sql_generated.go
- ratelimit_override_list_by_namespace_id.sql_generated.go
- ratelimit_override_soft_delete.sql_generated.go
- ratelimit_override_update.sql_generated.go
- ratelimit_update.sql_generated.go
- region_find_by_id.sql_generated.go
- region_find_by_platform_and_name.sql_generated.go
- replica.go
- retry.go
- role_delete_by_id.sql_generated.go
- role_find_by_id.sql_generated.go
- role_find_by_id_or_name_with_perms.sql_generated.go
- role_find_by_name_and_workspace_id.sql_generated.go
- role_find_by_names.sql_generated.go
- role_find_many_by_id_or_name_with_perms.sql_generated.go
- role_find_many_by_name_with_perms.sql_generated.go
- role_insert.sql_generated.go
- role_list.sql_generated.go
- role_list_by_key_id.sql_generated.go
- role_permission_delete_many_by_permission_id.sql_generated.go
- role_permission_delete_many_by_role_id.sql_generated.go
- role_permission_find_by_role_and_permission_id.sql_generated.go
- role_permission_insert.sql_generated.go
- sentinel_count_by_app.sql_generated.go
- sentinel_count_by_project.sql_generated.go
- sentinel_delete_by_environment.sql_generated.go
- sentinel_delete_by_project.sql_generated.go
- sentinel_find_by_environment_id.sql_generated.go
- sentinel_find_by_id.sql_generated.go
- sentinel_find_deploy_status_by_k8s_name.sql_generated.go
- sentinel_flip_deploy_status_if_progressing.sql_generated.go
- sentinel_insert.sql_generated.go
- sentinel_list_all_by_region.sql_generated.go
- sentinel_list_desired.sql_generated.go
- sentinel_list_running_ids.sql_generated.go
- sentinel_update_config.sql_generated.go
- sentinel_update_deploy_status.sql_generated.go
- sentinel_update_observed_state.sql_generated.go
- to_mysql.go
- traced_tx.go
- tx.go
- workspace_find_by_id.sql_generated.go
- workspace_hard_delete.sql_generated.go
- workspace_insert.sql_generated.go
- workspace_list.sql_generated.go
- workspace_quota_check.sql_generated.go
- workspace_set_k8s_namespace.sql_generated.go
- workspace_soft_delete.sql_generated.go
- workspace_update_enabled.sql_generated.go
- workspace_upsert.sql_generated.go
Directories
¶
| Path | Synopsis |
|---|---|
|
plugins
|
|
|
bulk-insert
command
Package main provides a sqlc plugin that generates bulk insert functions.
|
Package main provides a sqlc plugin that generates bulk insert functions. |