Documentation
¶
Index ¶
- Variables
- type APIKeySummary
- type Agent
- type AgentPage
- type AuditEvent
- type AuditLog
- type Client
- func (c *Client) Configured() bool
- func (c *Client) CreateAgent(ctx context.Context, teamSlug, name, createdBy string) (Agent, error)
- func (c *Client) CreatePasswordUser(ctx context.Context, email, password, role string) (User, error)
- func (c *Client) CreateTeam(ctx context.Context, slug, name, createdByUserID string) (Team, error)
- func (c *Client) CreateTeamUser(ctx context.Context, teamSlug, email, password, role string) (User, TeamMembership, error)
- func (c *Client) DeleteTeamBySlug(ctx context.Context, slug string) error
- func (c *Client) DeleteTeamMembership(ctx context.Context, teamSlug, userID string) error
- func (c *Client) GetAgent(ctx context.Context, id string) (Agent, bool, error)
- func (c *Client) GetNamespace(ctx context.Context, namespace string) (map[string]any, bool, error)
- func (c *Client) GetTeamBySlug(ctx context.Context, slug string) (Team, bool, error)
- func (c *Client) ListAgents(ctx context.Context, teamSlug, statusFilter, q, cursor string, limit int) (AgentPage, error)
- func (c *Client) ListNamespaces(ctx context.Context) ([]map[string]any, error)
- func (c *Client) ListTeamMemberships(ctx context.Context, teamSlug string) ([]TeamMembership, error)
- func (c *Client) ListTeams(ctx context.Context) ([]Team, error)
- func (c *Client) OperationsSnapshot(ctx context.Context, filter OperationsFilter) (OperationsSnapshot, error)
- func (c *Client) PrincipalForUserID(ctx context.Context, userID string) (platformauth.Principal, error)
- func (c *Client) RenameAgent(ctx context.Context, id, name string) (Agent, error)
- func (c *Client) SetAgentStatus(ctx context.Context, id, statusName, actorID string) (Agent, error)
- func (c *Client) UpsertTeamMembership(ctx context.Context, teamSlug, userID, role string) (TeamMembership, error)
- func (c *Client) WriteAudit(ctx context.Context, event AuditEvent)
- type ImageActivity
- type OperationsFilter
- type OperationsFilterResponse
- type OperationsSnapshot
- type Team
- type TeamMembership
- type User
- type UserActivity
Constants ¶
This section is empty.
Variables ¶
var ( ErrAgentNotFound = errors.New("agent not found") ErrTeamNotFound = errors.New("team not found") ErrAgentNameTaken = errors.New("agent name already exists in team") ErrInvalidAgentName = errors.New("invalid agent name") )
var ErrNotConfigured = errors.New("platform identity client not configured")
ErrNotConfigured is returned when platform identity is unavailable.
Functions ¶
This section is empty.
Types ¶
type APIKeySummary ¶
type APIKeySummary struct {
ID string `json:"id"`
Name string `json:"name"`
Prefix string `json:"prefix"`
CreatedAt time.Time `json:"created_at"`
Revoked bool `json:"revoked"`
RevokedAt *time.Time `json:"revoked_at,omitempty"`
}
APIKeySummary is the non-secret metadata for a user API key.
type Agent ¶
type Agent = internalapi.Agent
type AgentPage ¶
type AgentPage = internalapi.AgentPage
type AuditEvent ¶
type AuditEvent = internalapi.AuditEvent
AuditEvent is the write-side platform audit envelope.
type AuditLog ¶
type AuditLog struct {
ID int64 `json:"id"`
UserID string `json:"user_id,omitempty"`
Email string `json:"email,omitempty"`
Action string `json:"action"`
Resource string `json:"resource"`
Namespace string `json:"namespace,omitempty"`
Status string `json:"status"`
Message string `json:"message,omitempty"`
ActorIP string `json:"actor_ip,omitempty"`
RequestID string `json:"request_id,omitempty"`
Source string `json:"source,omitempty"`
AuthIdentity string `json:"auth_identity,omitempty"`
ImageRef string `json:"image_ref,omitempty"`
ServerName string `json:"server_name,omitempty"`
DeploymentTarget string `json:"deployment_target,omitempty"`
CreatedAt time.Time `json:"created_at"`
}
AuditLog is the read-side platform audit record.
type Client ¶
Client calls platform-api internal identity and audit endpoints.
func (*Client) Configured ¶
Configured reports whether the client can reach platform-api.
func (*Client) CreateAgent ¶
func (*Client) CreatePasswordUser ¶
func (*Client) CreateTeam ¶
func (*Client) CreateTeamUser ¶
func (*Client) DeleteTeamBySlug ¶
func (*Client) DeleteTeamMembership ¶
func (*Client) GetNamespace ¶
func (*Client) GetTeamBySlug ¶
func (*Client) ListAgents ¶
func (*Client) ListNamespaces ¶
func (*Client) ListTeamMemberships ¶
func (*Client) OperationsSnapshot ¶
func (c *Client) OperationsSnapshot(ctx context.Context, filter OperationsFilter) (OperationsSnapshot, error)
OperationsSnapshot loads user, audit, and image activity for admin operations.
func (*Client) PrincipalForUserID ¶
func (*Client) RenameAgent ¶
func (*Client) SetAgentStatus ¶
func (*Client) UpsertTeamMembership ¶
func (*Client) WriteAudit ¶
func (c *Client) WriteAudit(ctx context.Context, event AuditEvent)
WriteAudit posts an audit event to platform-api.
type ImageActivity ¶
type ImageActivity struct {
UserID string `json:"user_id,omitempty"`
Email string `json:"email,omitempty"`
Namespace string `json:"namespace,omitempty"`
ImageRef string `json:"image_ref"`
SourceImage string `json:"source_image,omitempty"`
ServerName string `json:"server_name,omitempty"`
DeploymentTarget string `json:"deployment_target,omitempty"`
Action string `json:"action"`
Status string `json:"status"`
Source string `json:"source,omitempty"`
CreatedAt time.Time `json:"created_at"`
}
ImageActivity describes image publish or deploy-related audit entries.
type OperationsFilter ¶
type OperationsFilter struct {
User string
UserSearch string
Since time.Time
Until time.Time
Limit int
}
OperationsFilter constrains platform operations and activity queries.
type OperationsFilterResponse ¶
type OperationsFilterResponse struct {
User string `json:"user,omitempty"`
Since string `json:"since,omitempty"`
Until string `json:"until,omitempty"`
Limit int `json:"limit"`
}
OperationsFilterResponse is the API echo of an operations filter.
type OperationsSnapshot ¶
type OperationsSnapshot struct {
Users []UserActivity `json:"users"`
AuditLogs []AuditLog `json:"audit_logs"`
Images []ImageActivity `json:"images"`
}
OperationsSnapshot is the platform activity bundle for admin operations.
type Team ¶
type Team = internalapi.Team
Team is a managed platform team and its Kubernetes namespace.
type TeamMembership ¶
type TeamMembership = platform.TeamMembership
TeamMembership is the platform team membership API contract.
type UserActivity ¶
type UserActivity struct {
ID string `json:"id"`
Email string `json:"email"`
Role string `json:"role"`
Namespace string `json:"namespace,omitempty"`
CreatedAt time.Time `json:"created_at"`
LastLoginAt *time.Time `json:"last_login_at,omitempty"`
LastActivityAt *time.Time `json:"last_activity_at,omitempty"`
LoginCount int64 `json:"login_count"`
FailedActionCount int64 `json:"failed_action_count"`
RegistryCredentials int64 `json:"registry_credentials"`
APIKeys int64 `json:"api_keys"`
}
UserActivity summarizes recent platform activity for a user account.