Documentation
¶
Overview ¶
Package postgres implements store.Store using the Grove ORM with pgdriver.
Index ¶
- Constants
- Variables
- type LeaderElector
- type Store
- func (s *Store) Close() error
- func (s *Store) CountByTenant(ctx context.Context, tenantID string) (int, error)
- func (s *Store) CountDatacentersByTenant(ctx context.Context, tenantID string) (int, error)
- func (s *Store) CountDomainsByTenant(ctx context.Context, tenantID string) (int, error)
- func (s *Store) CountInstancesByDatacenter(ctx context.Context, tenantID string, datacenterID id.ID) (int, error)
- func (s *Store) CountSecretsByTenant(ctx context.Context, tenantID string) (int, error)
- func (s *Store) CountTenants(ctx context.Context) (int, error)
- func (s *Store) CountTenantsByStatus(ctx context.Context, status admin.TenantStatus) (int, error)
- func (s *Store) DB() *grove.DB
- func (s *Store) Delete(ctx context.Context, tenantID string, instanceID id.ID) error
- func (s *Store) DeleteBootstrap(ctx context.Context, bootstrapID id.ID) error
- func (s *Store) DeleteCertificate(ctx context.Context, tenantID string, certID id.ID) error
- func (s *Store) DeleteCheck(ctx context.Context, tenantID string, checkID id.ID) error
- func (s *Store) DeleteDatacenter(ctx context.Context, tenantID string, datacenterID id.ID) error
- func (s *Store) DeleteDomain(ctx context.Context, tenantID string, domainID id.ID) error
- func (s *Store) DeleteRoute(ctx context.Context, tenantID string, routeID id.ID) error
- func (s *Store) DeleteSecret(ctx context.Context, tenantID string, instanceID id.ID, key string) error
- func (s *Store) DeleteTemplate(ctx context.Context, tenantID string, templateID id.ID) error
- func (s *Store) DeleteTenant(ctx context.Context, tenantID string) error
- func (s *Store) DeleteWorkload(ctx context.Context, tenantID string, workloadID id.ID) error
- func (s *Store) GetBootstrap(ctx context.Context, bootstrapID id.ID) (*bootstrap.BootstrapWorkload, error)
- func (s *Store) GetBootstrapByName(ctx context.Context, datacenterID id.ID, name string) (*bootstrap.BootstrapWorkload, error)
- func (s *Store) GetByID(ctx context.Context, tenantID string, instanceID id.ID) (*instance.Instance, error)
- func (s *Store) GetBySlug(ctx context.Context, tenantID string, slug string) (*instance.Instance, error)
- func (s *Store) GetCertificate(ctx context.Context, tenantID string, certID id.ID) (*network.Certificate, error)
- func (s *Store) GetCheck(ctx context.Context, tenantID string, checkID id.ID) (*health.HealthCheck, error)
- func (s *Store) GetDatacenterByID(ctx context.Context, tenantID string, datacenterID id.ID) (*datacenter.Datacenter, error)
- func (s *Store) GetDatacenterBySlug(ctx context.Context, tenantID string, slug string) (*datacenter.Datacenter, error)
- func (s *Store) GetDeployment(ctx context.Context, tenantID string, deployID id.ID) (*deploy.Deployment, error)
- func (s *Store) GetDomain(ctx context.Context, tenantID string, domainID id.ID) (*network.Domain, error)
- func (s *Store) GetDomainByHostname(ctx context.Context, hostname string) (*network.Domain, error)
- func (s *Store) GetLatestResourceSnapshot(ctx context.Context, tenantID string, instanceID id.ID) (*telemetry.ResourceSnapshot, error)
- func (s *Store) GetLatestResult(ctx context.Context, tenantID string, checkID id.ID) (*health.HealthResult, error)
- func (s *Store) GetRelease(ctx context.Context, tenantID string, releaseID id.ID) (*deploy.Release, error)
- func (s *Store) GetRoute(ctx context.Context, tenantID string, routeID id.ID) (*network.Route, error)
- func (s *Store) GetSecretByKey(ctx context.Context, tenantID string, instanceID id.ID, key string) (*secrets.Secret, error)
- func (s *Store) GetTemplate(ctx context.Context, tenantID string, templateID id.ID) (*template.Template, error)
- func (s *Store) GetTenant(ctx context.Context, tenantID string) (*admin.Tenant, error)
- func (s *Store) GetTenantByExternalID(ctx context.Context, externalID string) (*admin.Tenant, error)
- func (s *Store) GetTenantBySlug(ctx context.Context, slug string) (*admin.Tenant, error)
- func (s *Store) GetWorkloadByID(ctx context.Context, tenantID string, workloadID id.ID) (*workload.Workload, error)
- func (s *Store) GetWorkloadBySlug(ctx context.Context, tenantID, slug string) (*workload.Workload, error)
- func (s *Store) Insert(ctx context.Context, inst *instance.Instance) error
- func (s *Store) InsertAuditEntry(ctx context.Context, entry *admin.AuditEntry) error
- func (s *Store) InsertBootstrap(ctx context.Context, bw *bootstrap.BootstrapWorkload) error
- func (s *Store) InsertCertificate(ctx context.Context, cert *network.Certificate) error
- func (s *Store) InsertCheck(ctx context.Context, check *health.HealthCheck) error
- func (s *Store) InsertDatacenter(ctx context.Context, dc *datacenter.Datacenter) error
- func (s *Store) InsertDeployment(ctx context.Context, d *deploy.Deployment) error
- func (s *Store) InsertDomain(ctx context.Context, domain *network.Domain) error
- func (s *Store) InsertLogs(ctx context.Context, logs []telemetry.LogEntry) error
- func (s *Store) InsertMetrics(ctx context.Context, metrics []telemetry.Metric) error
- func (s *Store) InsertRelease(ctx context.Context, r *deploy.Release) error
- func (s *Store) InsertResourceSnapshot(ctx context.Context, snap *telemetry.ResourceSnapshot) error
- func (s *Store) InsertResult(ctx context.Context, result *health.HealthResult) error
- func (s *Store) InsertRoute(ctx context.Context, route *network.Route) error
- func (s *Store) InsertSecret(ctx context.Context, secret *secrets.Secret) error
- func (s *Store) InsertTemplate(ctx context.Context, t *template.Template) error
- func (s *Store) InsertTenant(ctx context.Context, tenant *admin.Tenant) error
- func (s *Store) InsertTraces(ctx context.Context, traces []telemetry.Trace) error
- func (s *Store) InsertWorkload(ctx context.Context, w *workload.Workload) error
- func (s *Store) InspectManagedOwnerProtection(ctx context.Context, key managed.OwnerKey) (managed.Protection, error)
- func (s *Store) LeaderElector(lock string) *LeaderElector
- func (s *Store) List(ctx context.Context, tenantID string, opts instance.ListOptions) (*instance.ListResult, error)
- func (s *Store) ListBootstraps(ctx context.Context, datacenterID id.ID) ([]*bootstrap.BootstrapWorkload, error)
- func (s *Store) ListCertificates(ctx context.Context, tenantID string, instanceID id.ID) ([]network.Certificate, error)
- func (s *Store) ListCertificatesByDomain(ctx context.Context, tenantID string, domainID id.ID) ([]network.Certificate, error)
- func (s *Store) ListChecks(ctx context.Context, tenantID string, instanceID id.ID) ([]health.HealthCheck, error)
- func (s *Store) ListDatacenters(ctx context.Context, tenantID string, opts datacenter.ListOptions) (*datacenter.ListResult, error)
- func (s *Store) ListDeployments(ctx context.Context, tenantID string, instanceID id.ID, ...) (*deploy.DeployListResult, error)
- func (s *Store) ListDomains(ctx context.Context, tenantID string, instanceID id.ID) ([]network.Domain, error)
- func (s *Store) ListReleases(ctx context.Context, tenantID string, instanceID id.ID, ...) (*deploy.ReleaseListResult, error)
- func (s *Store) ListResourceSnapshots(ctx context.Context, tenantID string, instanceID id.ID, ...) ([]telemetry.ResourceSnapshot, error)
- func (s *Store) ListResults(ctx context.Context, tenantID string, checkID id.ID, ...) ([]health.HealthResult, error)
- func (s *Store) ListRoutes(ctx context.Context, tenantID string, instanceID id.ID) ([]network.Route, error)
- func (s *Store) ListSecrets(ctx context.Context, tenantID string, instanceID id.ID) ([]secrets.Secret, error)
- func (s *Store) ListTemplates(ctx context.Context, tenantID string, opts template.ListOptions) (*template.ListResult, error)
- func (s *Store) ListTenants(ctx context.Context, opts admin.ListTenantsOptions) (*admin.TenantListResult, error)
- func (s *Store) ListWorkloads(ctx context.Context, tenantID string, opts workload.ListOptions) (*workload.ListResult, error)
- func (s *Store) Migrate(ctx context.Context) error
- func (s *Store) NextReleaseVersion(ctx context.Context, tenantID string, instanceID id.ID) (int, error)
- func (s *Store) Ping(ctx context.Context) error
- func (s *Store) QueryAuditLog(ctx context.Context, opts admin.AuditQuery) (*admin.AuditResult, error)
- func (s *Store) QueryLogs(ctx context.Context, q telemetry.LogQuery) ([]telemetry.LogEntry, error)
- func (s *Store) QueryMetrics(ctx context.Context, q telemetry.MetricQuery) ([]telemetry.Metric, error)
- func (s *Store) QueryTraces(ctx context.Context, q telemetry.TraceQuery) ([]telemetry.Trace, error)
- func (s *Store) Update(ctx context.Context, inst *instance.Instance) error
- func (s *Store) UpdateBootstrap(ctx context.Context, bw *bootstrap.BootstrapWorkload) error
- func (s *Store) UpdateCertificate(ctx context.Context, cert *network.Certificate) error
- func (s *Store) UpdateCheck(ctx context.Context, check *health.HealthCheck) error
- func (s *Store) UpdateDatacenter(ctx context.Context, dc *datacenter.Datacenter) error
- func (s *Store) UpdateDeployment(ctx context.Context, d *deploy.Deployment) error
- func (s *Store) UpdateDomain(ctx context.Context, domain *network.Domain) error
- func (s *Store) UpdateRoute(ctx context.Context, route *network.Route) error
- func (s *Store) UpdateSecret(ctx context.Context, secret *secrets.Secret) error
- func (s *Store) UpdateTemplate(ctx context.Context, t *template.Template) error
- func (s *Store) UpdateTenant(ctx context.Context, tenant *admin.Tenant) error
- func (s *Store) UpdateWorkload(ctx context.Context, w *workload.Workload) error
- type WriterFloorAdmin
- type WriterFloorExclusionPolicy
- type WriterFloorReader
Constants ¶
const DefaultLeaderLock = "ctrlplane-scheduler"
DefaultLeaderLock is the advisory lock name the extension's leader election uses when you do not pick one.
Variables ¶
var Migrations = migrate.NewGroup("ctrlplane")
Migrations is the grove migration group for the CtrlPlane store.
Functions ¶
This section is empty.
Types ¶
type LeaderElector ¶ added in v1.8.0
type LeaderElector struct {
// contains filtered or unexported fields
}
LeaderElector elects one leader among replicas that share a Postgres database, using a session-level advisory lock. It satisfies worker.LeaderElector.
The leader keeps one pooled connection checked out for as long as it leads, because the lock lives exactly as long as that session. If the connection dies, Postgres drops the lock and another replica takes it on its next check.
func NewLeaderElector ¶ added in v1.8.0
func NewLeaderElector(db *grove.DB, lock string) *LeaderElector
NewLeaderElector returns an elector over the advisory lock named lock. Replicas that should elect one leader between them must use the same name.
type Store ¶
type Store struct {
*managedstate.Repository
// contains filtered or unexported fields
}
Store implements store.Store using grove ORM with pgdriver.
func NewWithWriterFloorAdmission ¶ added in v1.8.0
NewWithWriterFloorAdmission selects protected managed-mutation admission before publishing the store. New retains legacy behavior. Protected deployments must exclude legacy constructors/binaries through their host admission and credentials. Missing protected tables or SELECT grants refuse; this constructor installs neither.
func (*Store) CountByTenant ¶ added in v0.1.0
func (*Store) CountDatacentersByTenant ¶ added in v1.3.0
CountDatacentersByTenant returns the total number of datacenters for a tenant.
func (*Store) CountDomainsByTenant ¶ added in v0.1.0
func (*Store) CountInstancesByDatacenter ¶ added in v1.3.0
func (s *Store) CountInstancesByDatacenter(ctx context.Context, tenantID string, datacenterID id.ID) (int, error)
CountInstancesByDatacenter returns the number of instances linked to a datacenter.
func (*Store) CountSecretsByTenant ¶ added in v0.1.0
func (*Store) CountTenants ¶ added in v0.1.0
func (*Store) CountTenantsByStatus ¶ added in v0.1.0
func (*Store) DeleteBootstrap ¶ added in v1.5.1
DeleteBootstrap removes a row. Idempotent: a delete against a non-existent ID returns nil, matching the in-memory store's reconciler-friendly contract.
func (*Store) DeleteCertificate ¶ added in v0.1.0
func (*Store) DeleteCheck ¶ added in v0.1.0
func (*Store) DeleteDatacenter ¶ added in v1.3.0
DeleteDatacenter removes a datacenter from the store.
func (*Store) DeleteDomain ¶ added in v0.1.0
func (*Store) DeleteRoute ¶ added in v0.1.0
func (*Store) DeleteSecret ¶ added in v0.1.0
func (*Store) DeleteTemplate ¶ added in v1.3.0
DeleteTemplate removes a template.
func (*Store) DeleteTenant ¶ added in v0.1.0
func (*Store) DeleteWorkload ¶ added in v1.5.1
DeleteWorkload removes a workload row. Replica Instances are not touched here — workload.Service.Delete cascades by deleting instances first.
func (*Store) GetBootstrap ¶ added in v1.5.1
func (s *Store) GetBootstrap(ctx context.Context, bootstrapID id.ID) (*bootstrap.BootstrapWorkload, error)
GetBootstrap retrieves a bootstrap workload by ID.
func (*Store) GetBootstrapByName ¶ added in v1.5.1
func (s *Store) GetBootstrapByName(ctx context.Context, datacenterID id.ID, name string) (*bootstrap.BootstrapWorkload, error)
GetBootstrapByName retrieves the row whose (DatacenterID, Name) pair matches. ErrNotFound when no row matches.
func (*Store) GetCertificate ¶ added in v0.1.0
func (*Store) GetDatacenterByID ¶ added in v1.3.0
func (s *Store) GetDatacenterByID(ctx context.Context, tenantID string, datacenterID id.ID) (*datacenter.Datacenter, error)
GetDatacenterByID retrieves a datacenter by ID. Returns the DC when it belongs to tenantID OR when it's platform-shared (TenantID = ”).
func (*Store) GetDatacenterBySlug ¶ added in v1.3.0
func (s *Store) GetDatacenterBySlug(ctx context.Context, tenantID string, slug string) (*datacenter.Datacenter, error)
GetDatacenterBySlug retrieves a datacenter by slug. Tenant-scoped hits take precedence over platform-shared ones with the same slug.
func (*Store) GetDeployment ¶ added in v0.1.0
func (*Store) GetDomainByHostname ¶ added in v0.1.0
func (*Store) GetLatestResourceSnapshot ¶ added in v0.1.0
func (*Store) GetLatestResult ¶ added in v0.1.0
func (*Store) GetRelease ¶ added in v0.1.0
func (*Store) GetSecretByKey ¶ added in v0.1.0
func (*Store) GetTemplate ¶ added in v1.3.0
func (s *Store) GetTemplate(ctx context.Context, tenantID string, templateID id.ID) (*template.Template, error)
GetTemplate retrieves a workload template by ID within a tenant.
func (*Store) GetTenantByExternalID ¶ added in v1.5.1
func (*Store) GetTenantBySlug ¶ added in v0.1.0
func (*Store) GetWorkloadByID ¶ added in v1.5.1
func (s *Store) GetWorkloadByID(ctx context.Context, tenantID string, workloadID id.ID) (*workload.Workload, error)
GetWorkloadByID returns a workload by ID. Empty tenantID is the cross-tenant convention used by admin views.
func (*Store) GetWorkloadBySlug ¶ added in v1.5.1
func (s *Store) GetWorkloadBySlug(ctx context.Context, tenantID, slug string) (*workload.Workload, error)
GetWorkloadBySlug returns a workload by URL-safe slug within the tenant.
func (*Store) InsertAuditEntry ¶ added in v0.1.0
func (*Store) InsertBootstrap ¶ added in v1.5.1
InsertBootstrap persists a new bootstrap workload row.
The (datacenter_id, name) uniqueness contract is enforced by the `idx_cp_bootstrap_workloads_dc_name` unique index from migration 20240101000021. Duplicates surface as a postgres unique-violation which the bun layer maps to a generic error — the reconciler already handles "row exists" by reading + updating instead, so the rare collision path is benign.
func (*Store) InsertCertificate ¶ added in v0.1.0
func (*Store) InsertCheck ¶ added in v0.1.0
func (*Store) InsertDatacenter ¶ added in v1.3.0
func (s *Store) InsertDatacenter(ctx context.Context, dc *datacenter.Datacenter) error
InsertDatacenter persists a new datacenter.
func (*Store) InsertDeployment ¶ added in v0.1.0
func (*Store) InsertDomain ¶ added in v0.1.0
func (*Store) InsertLogs ¶ added in v0.1.0
func (*Store) InsertMetrics ¶ added in v0.1.0
func (*Store) InsertRelease ¶ added in v0.1.0
func (*Store) InsertResourceSnapshot ¶ added in v0.1.0
func (*Store) InsertResult ¶ added in v0.1.0
func (*Store) InsertRoute ¶ added in v0.1.0
func (*Store) InsertSecret ¶ added in v0.1.0
func (*Store) InsertTemplate ¶ added in v1.3.0
InsertTemplate persists a new workload template.
func (*Store) InsertTenant ¶ added in v0.1.0
func (*Store) InsertTraces ¶ added in v0.1.0
func (*Store) InsertWorkload ¶ added in v1.5.1
InsertWorkload persists a Workload. The id is a TEXT pk assigned by the caller, so a plain insert is safe (no BIGSERIAL/autoincrement concern).
func (*Store) InspectManagedOwnerProtection ¶ added in v1.8.0
func (s *Store) InspectManagedOwnerProtection(ctx context.Context, key managed.OwnerKey) (managed.Protection, error)
InspectManagedOwnerProtection pages the tenant index and validates every document. Lookup cost grows with retained targets; pages bound decoded memory, not scan cost.
func (*Store) LeaderElector ¶ added in v1.8.0
func (s *Store) LeaderElector(lock string) *LeaderElector
LeaderElector returns an elector over this store's database.
func (*Store) List ¶ added in v0.1.0
func (s *Store) List(ctx context.Context, tenantID string, opts instance.ListOptions) (*instance.ListResult, error)
func (*Store) ListBootstraps ¶ added in v1.5.1
func (s *Store) ListBootstraps(ctx context.Context, datacenterID id.ID) ([]*bootstrap.BootstrapWorkload, error)
ListBootstraps returns every bootstrap workload attached to the given datacenter. Ordered by created_at so the reconciler's per-tick iteration is stable across runs.
func (*Store) ListCertificates ¶ added in v0.1.0
func (*Store) ListCertificatesByDomain ¶ added in v0.1.0
func (*Store) ListChecks ¶ added in v0.1.0
func (*Store) ListDatacenters ¶ added in v1.3.0
func (s *Store) ListDatacenters(ctx context.Context, tenantID string, opts datacenter.ListOptions) (*datacenter.ListResult, error)
ListDatacenters returns datacenters visible to tenantID — both tenant-owned and platform-shared (TenantID = ”).
func (*Store) ListDeployments ¶ added in v0.1.0
func (*Store) ListDomains ¶ added in v0.1.0
func (*Store) ListReleases ¶ added in v0.1.0
func (*Store) ListResourceSnapshots ¶ added in v0.1.0
func (*Store) ListResults ¶ added in v0.1.0
func (*Store) ListRoutes ¶ added in v0.1.0
func (*Store) ListSecrets ¶ added in v0.1.0
func (*Store) ListTemplates ¶ added in v1.3.0
func (s *Store) ListTemplates(ctx context.Context, tenantID string, opts template.ListOptions) (*template.ListResult, error)
ListTemplates returns a paginated list of templates for a tenant.
func (*Store) ListTenants ¶ added in v0.1.0
func (s *Store) ListTenants(ctx context.Context, opts admin.ListTenantsOptions) (*admin.TenantListResult, error)
func (*Store) ListWorkloads ¶ added in v1.5.1
func (s *Store) ListWorkloads(ctx context.Context, tenantID string, opts workload.ListOptions) (*workload.ListResult, error)
ListWorkloads returns workloads matching the filter. Empty tenantID = a cross-tenant view. Each conditional clause continues the positional placeholder index ($1, $2, …) so the args line up — restarting at $1 per clause is the placeholder-reuse bug.
func (*Store) Migrate ¶
Migrate creates the required tables and indexes using the grove orchestrator.
func (*Store) NextReleaseVersion ¶ added in v0.1.0
func (*Store) QueryAuditLog ¶ added in v0.1.0
func (s *Store) QueryAuditLog(ctx context.Context, opts admin.AuditQuery) (*admin.AuditResult, error)
func (*Store) QueryMetrics ¶ added in v0.1.0
func (*Store) QueryTraces ¶ added in v0.1.0
func (*Store) UpdateBootstrap ¶ added in v1.5.1
UpdateBootstrap persists changes to an existing row. UpdatedAt is stamped on every save so dashboard sort-by-recently-touched is meaningful.
func (*Store) UpdateCertificate ¶ added in v0.1.0
func (*Store) UpdateCheck ¶ added in v0.1.0
func (*Store) UpdateDatacenter ¶ added in v1.3.0
func (s *Store) UpdateDatacenter(ctx context.Context, dc *datacenter.Datacenter) error
UpdateDatacenter persists changes to an existing datacenter.
func (*Store) UpdateDeployment ¶ added in v0.1.0
func (*Store) UpdateDomain ¶ added in v0.1.0
func (*Store) UpdateRoute ¶ added in v0.1.0
func (*Store) UpdateSecret ¶ added in v0.1.0
func (*Store) UpdateTemplate ¶ added in v1.3.0
UpdateTemplate persists changes to an existing template.
func (*Store) UpdateTenant ¶ added in v0.1.0
type WriterFloorAdmin ¶ added in v1.8.0
type WriterFloorAdmin struct {
// contains filtered or unexported fields
}
WriterFloorAdmin uses an explicitly supplied administrative connection. It must use credentials unavailable to runtime hosts, with authority DML already fenced. Construction cannot prove credential separation, network custody or deployment admission.
func NewWriterFloorAdmin ¶ added in v1.8.0
func NewWriterFloorAdmin(adminDB *grove.DB, authority string) (*WriterFloorAdmin, error)
NewWriterFloorAdmin requires a dedicated administrative database handle. The caller is responsible for actual PostgreSQL role isolation and the external barrier. Ordinary Store and controller transaction values do not implement this capability.
func NewWriterFloorExclusionAdmin ¶ added in v1.8.0
func NewWriterFloorExclusionAdmin(db *grove.DB, authority string, policy WriterFloorExclusionPolicy) (*WriterFloorAdmin, error)
NewWriterFloorExclusionAdmin opts a dedicated admin handle into atomic grant revocation and floor activation. Its connection must have session_user AdminRole and current_user OwnerRole on every acquired connection. Runtime constructors and the existing floor administrator keep their existing installation behavior. The launcher must first close admission, disable these logins and drain sessions. Construction does not verify those facts; activation checks the installed catalog.
func (*WriterFloorAdmin) Activate ¶ added in v1.8.0
func (a *WriterFloorAdmin) Activate(ctx context.Context, request managed.WriterFloorActivation) (managed.WriterFloor, error)
Activate atomically retains a floor activation. It does not reopen traffic or certify a writer.
func (*WriterFloorAdmin) Migrate ¶ added in v1.8.0
func (a *WriterFloorAdmin) Migrate(ctx context.Context) error
Migrate installs protected tables through the separately supplied administrative DB. You must provision and verify runtime SELECT-only grants separately, including inherited roles, owners and default ACLs. This migration cannot certify deployment custody.
type WriterFloorExclusionPolicy ¶ added in v1.8.0
type WriterFloorExclusionPolicy struct {
OwnerRole string
AdminRole string
ExcludedRoles []string
// AdditionalTables lists exact reviewed Grove bookkeeping tables in public.
// Unknown catalog objects refuse; this is not a wildcard or a discovery result.
AdditionalTables []string
}
WriterFloorExclusionPolicy is trusted deployment configuration for a dedicated authority database. It is never accepted from a managed command or HTTP request. Every retired writer, history and current runtime principal belongs in ExcludedRoles. This disabled-protocol cutover grants none of them authority DML.
type WriterFloorReader ¶ added in v1.8.0
type WriterFloorReader struct {
*managedstate.WriterFloorReader
}
WriterFloorReader exposes protected inspection without floor administration.
func NewWriterFloorReader ¶ added in v1.8.0
func NewWriterFloorReader(db *grove.DB, authority string) (*WriterFloorReader, error)
NewWriterFloorReader binds read-only inspection to the host's configured authority. The supplied database role needs SELECT on both protected tables, and no floor DML.
Source Files
¶
- admin.go
- bootstrap.go
- datacenter.go
- deploy.go
- doc.go
- health.go
- instance.go
- leader.go
- managed.go
- managed_attempts_continuation_migration.go
- managed_attempts_migration.go
- managed_controller.go
- managed_controller_migration.go
- managed_discovery.go
- managed_discovery_migration.go
- managed_guarded_original_migration.go
- managed_invocation_locator_migration.go
- managed_invocation_selectors_migration.go
- managed_migration.go
- managed_original_lifecycle_migration.go
- managed_ownership.go
- managed_phase_result_migration.go
- managed_projection.go
- managed_provider_effect_binding_migration.go
- managed_quiescence_migration.go
- managed_recovery_coverage_migration.go
- managed_recovery_native_close_migration.go
- managed_recovery_request_migration.go
- managed_recovery_selection_migration.go
- managed_recovery_terminal_migration.go
- managed_removal_recovery_migration.go
- managed_writer_floor.go
- migrations.go
- models.go
- network.go
- secrets.go
- store.go
- telemetry.go
- template.go
- workload.go
- writer_floor.go
- writer_floor_exclusion.go
- writer_floor_migration.go