Documentation
¶
Index ¶
- Constants
- Variables
- func AddAmountWebContent(artifactName, pipelineName string) (*clientpb.WebContent, error)
- func AddAuthzRule(rule *models.AuthzRule) error
- func AddContent(content *clientpb.WebContent) (*models.WebsiteContent, error)
- func AddTask(task *clientpb.Task) error
- func BackfillOperatorFingerprints() error
- func CreateOperator(client *models.Operator) error
- func CreateOrRecoverSession(session *models.Session) error
- func Delete(model interface{}) error
- func DeleteArtifactByName(artifactName string) error
- func DeleteCertificate(name string) error
- func DeleteContext(contextID string) error
- func DeletePipeline(name string) error
- func DeletePipelineByListener(name, listenerID string) error
- func DeleteProfileByName(profileName string) error
- func DeleteWebsite(name string) error
- func DisablePipeline(pid string) error
- func DisablePipelineByListener(pid, listenerID string) error
- func EnablePipeline(pid string) error
- func EnablePipelineByListener(pid, listenerID string) error
- func FindArtifact(target *clientpb.Artifact, bin bool) (*clientpb.Artifact, error)
- func FindArtifactFromPipeline(pipelineName string) (*models.Artifact, error)
- func FindBuildersByPipelineID(pipelineID string) ([]*models.Artifact, error)
- func FindCertificate(name string) (*models.Certificate, error)
- func FindContext(contextID string) (*models.Context, error)
- func FindOperatorByFingerprint(fingerprint string) (*models.Operator, error)
- func FindOperatorByName(name string) (*models.Operator, error)
- func FindPipeline(name string) (*models.Pipeline, error)
- func FindPipelineByListener(name, listenerID string) (*models.Pipeline, error)
- func FindPipelineCert(pipelineName, listenerID string) (*models.Certificate, error)
- func FindSession(sessionID string) (*models.Session, error)
- func FindWebContent(id string) (*models.WebsiteContent, error)
- func FindWebContentsByWebsite(website string) ([]*models.WebsiteContent, error)
- func FindWebsiteByName(name string) (*models.Pipeline, error)
- func GetArtifactById(id uint32) (*models.Artifact, error)
- func GetArtifactByName(name string) (*models.Artifact, error)
- func GetAuthzRulesForRole(role string) ([]*models.AuthzRule, error)
- func GetBeaconBuilderByRelinkID(relinkID uint32) ([]*models.Artifact, error)
- func GetBuilderLogs(builderName string, limit int) (string, error)
- func GetContextByTask(taskID string) (*models.Context, error)
- func GetDownloadFiles(sid string) ([]*clientpb.File, error)
- func GetProfile(name string) (*implanttypes.ProfileConfig, error)
- func GetProfileByName(profileName string) (*models.Profile, error)
- func GetProfileByNameWithConfig(profileName string) (*clientpb.Profile, error)
- func GetProfileContent(profileName string) ([]byte, error)
- func GetProfileFullConfig(profileName string) (implantConfig []byte, preludeConfig []byte, resources *clientpb.BuildResources, ...)
- func GetTask(taskID string) (*models.Task, error)
- func GetTaskBySessionAndSeq(sessionID string, seq uint32) (*models.Task, error)
- func GetValidArtifacts() ([]*models.Artifact, error)
- func HasOperator(typ string) (bool, error)
- func ListAuthzRules(role string) ([]*models.AuthzRule, error)
- func NewDBClient(dbConfig *configs.DatabaseConfig) (*gorm.DB, error)
- func NewProfile(profile *clientpb.Profile) error
- func Open(dsn string) gorm.Dialector
- func RecoverRemovedSession(sessionID string) (*models.Session, error)
- func RemoveAuthzRule(id string) error
- func RemoveContent(id string) error
- func RemoveOperator(name string) error
- func RemoveSession(sessionID string) error
- func RevokeOperator(name string) error
- func Save(model interface{}) error
- func SaveArtifact(name, artifactType, platform, arch, source string) (*models.Artifact, error)
- func SaveArtifactFromConfig(req *clientpb.BuildConfig) (*models.Artifact, error)
- func SaveArtifactFromID(req *clientpb.BuildConfig, ID uint32) (*models.Artifact, error)
- func SaveCertFromTLS(tls *clientpb.TLS, pipelineName, listenerID string) (*models.Certificate, error)
- func SaveCertificate(certificate *models.Certificate) error
- func SaveContext(ctx *clientpb.Context) (*models.Context, error)
- func SavePipeline(pipeline *models.Pipeline) (*models.Pipeline, error)
- func SaveSessionModel(session *models.Session) error
- func SeedDefaultAuthzRules() error
- func Session() *gorm.DB
- func UpdateBuilderLog(name string, logEntry string)
- func UpdateBuilderPath(builder *models.Artifact) error
- func UpdateBuilderStatus(builderID uint32, status string)
- func UpdateCert(name, cert, key, ca string) error
- func UpdatePipelineCert(certName string, pipeline *models.Pipeline) (*models.Pipeline, error)
- func UpdateProfileDisk(profileName string, implantConfig []byte, preludeConfig []byte, ...) error
- func UpdateSession(sessionID, note, group string) error
- func UpdateSessionTimer(sessionID string, expression string, jitter float64) error
- func UpdateTask(task *clientpb.Task) error
- func UpdateTaskCur(taskID string, cur int) error
- func UpdateTaskDescription(taskID, Description string) error
- func UpdateTaskFinish(taskID string) error
- func UpdateTaskTotal(taskID string, total int) error
- type ArtifactQuery
- func (q *ArtifactQuery) Delete() error
- func (q *ArtifactQuery) Find() (Artifacts, error)
- func (q *ArtifactQuery) First() (*models.Artifact, error)
- func (q *ArtifactQuery) Last() (*models.Artifact, error)
- func (q *ArtifactQuery) Update(column string, value interface{}) error
- func (q *ArtifactQuery) WhereArch(arch string) *ArtifactQuery
- func (q *ArtifactQuery) WhereID(id uint32) *ArtifactQuery
- func (q *ArtifactQuery) WhereName(name string) *ArtifactQuery
- func (q *ArtifactQuery) WhereOs(os string) *ArtifactQuery
- func (q *ArtifactQuery) WherePathNotEmpty() *ArtifactQuery
- func (q *ArtifactQuery) WherePipelineID(pipelineID string) *ArtifactQuery
- func (q *ArtifactQuery) WhereProfileName(profileName string) *ArtifactQuery
- func (q *ArtifactQuery) WhereSource(source string) *ArtifactQuery
- func (q *ArtifactQuery) WhereStatus(status string) *ArtifactQuery
- func (q *ArtifactQuery) WhereType(typ string) *ArtifactQuery
- func (q *ArtifactQuery) WithProfile() *ArtifactQuery
- func (q *ArtifactQuery) WithProfilePipeline() *ArtifactQuery
- type Artifacts
- type AuthzRuleQuery
- type CertificateQuery
- func (q *CertificateQuery) Delete() error
- func (q *CertificateQuery) Find() (Certificates, error)
- func (q *CertificateQuery) First() (*models.Certificate, error)
- func (q *CertificateQuery) UpdateFields(fields map[string]interface{}) error
- func (q *CertificateQuery) WhereName(name string) *CertificateQuery
- func (q *CertificateQuery) WhereType(typ string) *CertificateQuery
- type Certificates
- type ContextQuery
- func (q *ContextQuery) Delete() error
- func (q *ContextQuery) Find() ([]*models.Context, error)
- func (q *ContextQuery) First() (*models.Context, error)
- func (q *ContextQuery) WhereID(id uuid.UUID) *ContextQuery
- func (q *ContextQuery) WhereNonce(nonce string) *ContextQuery
- func (q *ContextQuery) WherePipeline(pipelineID string) *ContextQuery
- func (q *ContextQuery) WhereSession(sessionID string) *ContextQuery
- func (q *ContextQuery) WhereTask(taskID string) *ContextQuery
- func (q *ContextQuery) WhereType(typ string) *ContextQuery
- type Contexts
- type DialectAdapter
- type Dialector
- func (dialector Dialector) BindVarTo(writer clause.Writer, stmt *gorm.Statement, v interface{})
- func (dialector Dialector) ClauseBuilders() map[string]clause.ClauseBuilder
- func (dialector Dialector) DataTypeOf(field *schema.Field) string
- func (dialector Dialector) DefaultValueOf(field *schema.Field) clause.Expression
- func (dialector Dialector) Explain(sql string, vars ...interface{}) string
- func (dialector Dialector) Initialize(db *gorm.DB) (err error)
- func (dialector Dialector) Migrator(db *gorm.DB) gorm.Migrator
- func (dialector Dialector) Name() string
- func (dialector Dialector) QuoteTo(writer clause.Writer, str string)
- func (dialectopr Dialector) RollbackTo(tx *gorm.DB, name string) error
- func (dialectopr Dialector) SavePoint(tx *gorm.DB, name string) error
- type Migrator
- func (m Migrator) AlterColumn(value interface{}, field string) error
- func (m Migrator) ColumnTypes(value interface{}) ([]gorm.ColumnType, error)
- func (m Migrator) CreateConstraint(value interface{}, name string) error
- func (m Migrator) CurrentDatabase() (name string)
- func (m Migrator) HasColumn(value interface{}, field string) bool
- func (m Migrator) HasConstraint(value interface{}, name string) bool
- func (m Migrator) HasIndex(value interface{}, name string) bool
- func (m Migrator) HasTable(value interface{}) bool
- type OperatorQuery
- func (q *OperatorQuery) Count() (int64, error)
- func (q *OperatorQuery) Delete() error
- func (q *OperatorQuery) Find() (Operators, error)
- func (q *OperatorQuery) First() (*models.Operator, error)
- func (q *OperatorQuery) Update(column string, value interface{}) error
- func (q *OperatorQuery) Updates(fields map[string]interface{}) error
- func (q *OperatorQuery) WhereFingerprint(fp string) *OperatorQuery
- func (q *OperatorQuery) WhereFingerprintEmpty() *OperatorQuery
- func (q *OperatorQuery) WhereName(name string) *OperatorQuery
- func (q *OperatorQuery) WhereType(typ string) *OperatorQuery
- type Operators
- type PipelineQuery
- func (q *PipelineQuery) Count() (int64, error)
- func (q *PipelineQuery) Delete() error
- func (q *PipelineQuery) Find() (Pipelines, error)
- func (q *PipelineQuery) First() (*models.Pipeline, error)
- func (q *PipelineQuery) OrderBy(field string) *PipelineQuery
- func (q *PipelineQuery) Preload(relation string) *PipelineQuery
- func (q *PipelineQuery) WhereEnabled(enabled bool) *PipelineQuery
- func (q *PipelineQuery) WhereListenerID(listenerID string) *PipelineQuery
- func (q *PipelineQuery) WhereName(name string) *PipelineQuery
- func (q *PipelineQuery) WhereNotType(typ string) *PipelineQuery
- func (q *PipelineQuery) WhereType(typ string) *PipelineQuery
- func (q *PipelineQuery) WithCert() *PipelineQuery
- type Pipelines
- type ProfileQuery
- func (q *ProfileQuery) Delete() error
- func (q *ProfileQuery) Find() (Profiles, error)
- func (q *ProfileQuery) First() (*models.Profile, error)
- func (q *ProfileQuery) OrderByCreated() *ProfileQuery
- func (q *ProfileQuery) WhereName(name string) *ProfileQuery
- func (q *ProfileQuery) WherePipelineID(pipelineID string) *ProfileQuery
- func (q *ProfileQuery) WithPipeline() *ProfileQuery
- type Profiles
- type SessionQuery
- func (q *SessionQuery) Count() (int64, error)
- func (q *SessionQuery) Find() (Sessions, error)
- func (q *SessionQuery) First() (*models.Session, error)
- func (q *SessionQuery) Limit(limit int) *SessionQuery
- func (q *SessionQuery) Offset(offset int) *SessionQuery
- func (q *SessionQuery) OrderBy(field string) *SessionQuery
- func (q *SessionQuery) Update(column string, value interface{}) error
- func (q *SessionQuery) WhereAlive(alive bool) *SessionQuery
- func (q *SessionQuery) WhereGroup(group string) *SessionQuery
- func (q *SessionQuery) WhereID(id string) *SessionQuery
- func (q *SessionQuery) WhereRemoved(removed bool) *SessionQuery
- func (q *SessionQuery) WhereType(typ string) *SessionQuery
- type Sessions
- type TaskQuery
- func (q *TaskQuery) Count() (int64, error)
- func (q *TaskQuery) Delete() error
- func (q *TaskQuery) Find() (Tasks, error)
- func (q *TaskQuery) First() (*models.Task, error)
- func (q *TaskQuery) Limit(limit int) *TaskQuery
- func (q *TaskQuery) OrderBy(field string) *TaskQuery
- func (q *TaskQuery) OrderBySeq() *TaskQuery
- func (q *TaskQuery) Update(column string, value interface{}) error
- func (q *TaskQuery) WhereFinished(finished bool) *TaskQuery
- func (q *TaskQuery) WhereID(id string) *TaskQuery
- func (q *TaskQuery) WhereSeq(seq uint32) *TaskQuery
- func (q *TaskQuery) WhereSessionID(sessionID string) *TaskQuery
- func (q *TaskQuery) WhereType(taskType string) *TaskQuery
- type Tasks
- type WebContentQuery
- func (q *WebContentQuery) Delete() error
- func (q *WebContentQuery) Find() ([]*models.WebsiteContent, error)
- func (q *WebContentQuery) First() (*models.WebsiteContent, error)
- func (q *WebContentQuery) WhereID(id uuid.UUID) *WebContentQuery
- func (q *WebContentQuery) WherePath(path string) *WebContentQuery
- func (q *WebContentQuery) WherePipelineID(pipelineID string) *WebContentQuery
- func (q *WebContentQuery) WithPipeline() *WebContentQuery
Constants ¶
const DriverName = "sqlite3"
DriverName is the default driver name for SQLite.
Variables ¶
var ( // ErrRecordNotFound - Record not found error ErrRecordNotFound = gorm.ErrRecordNotFound Client *gorm.DB )
Client - Database Client
Functions ¶
func AddAmountWebContent ¶ added in v0.1.2
func AddAmountWebContent(artifactName, pipelineName string) (*clientpb.WebContent, error)
func AddAuthzRule ¶ added in v0.3.0
AddAuthzRule adds a new authorization rule.
func AddContent ¶
func AddContent(content *clientpb.WebContent) (*models.WebsiteContent, error)
AddContent - Add content to website
func BackfillOperatorFingerprints ¶ added in v0.3.0
func BackfillOperatorFingerprints() error
BackfillOperatorFingerprints computes and stores fingerprints for operators that were created before the fingerprint column existed.
func CreateOperator ¶
func CreateOrRecoverSession ¶ added in v0.3.0
CreateOrRecoverSession creates a new session or recovers a soft-deleted one If a soft-deleted session with the same ID exists, it will be deleted and recreated
func DeleteArtifactByName ¶ added in v0.1.0
func DeleteContext ¶ added in v0.1.0
func DeletePipeline ¶ added in v0.1.0
func DeletePipelineByListener ¶ added in v0.3.0
func DeleteProfileByName ¶ added in v0.1.0
func DeleteWebsite ¶ added in v0.1.0
func DisablePipeline ¶ added in v0.0.3
func DisablePipelineByListener ¶ added in v0.3.0
func EnablePipeline ¶ added in v0.0.3
func EnablePipelineByListener ¶ added in v0.3.0
func FindArtifact ¶ added in v0.1.0
FindArtifact finds an artifact by various criteria
func FindArtifactFromPipeline ¶ added in v0.1.2
func FindBuildersByPipelineID ¶ added in v0.1.1
FindBuildersByPipelineID returns artifacts whose profile belongs to the given pipeline.
func FindCertificate ¶ added in v0.1.1
func FindCertificate(name string) (*models.Certificate, error)
func FindOperatorByFingerprint ¶ added in v0.3.0
FindOperatorByFingerprint looks up an active operator by certificate SHA-256 fingerprint.
func FindOperatorByName ¶ added in v0.3.0
FindOperatorByName looks up an operator by name.
func FindPipelineByListener ¶ added in v0.3.0
func FindPipelineCert ¶ added in v0.0.3
func FindPipelineCert(pipelineName, listenerID string) (*models.Certificate, error)
func FindWebContent ¶ added in v0.1.0
func FindWebContent(id string) (*models.WebsiteContent, error)
WebContent by ID and path
func FindWebContentsByWebsite ¶ added in v0.1.0
func FindWebContentsByWebsite(website string) ([]*models.WebsiteContent, error)
func FindWebsiteByName ¶ added in v0.1.0
FindWebsiteByName - Get website by name
func GetArtifactByName ¶ added in v0.0.3
func GetAuthzRulesForRole ¶ added in v0.3.0
GetAuthzRulesForRole returns all rules for a given role.
func GetBeaconBuilderByRelinkID ¶ added in v0.1.1
GetBeaconBuilderByRelinkID finds beacon artifacts with a matching RelinkBeaconID. NOTE: RelinkBeaconID is stored inside the JSON ParamsData field. Filtering at the DB level would require dialect-specific JSON operators (json_extract for SQLite, jsonb for Postgres). The in-memory filter is acceptable because the WhereType("beacon") clause limits the dataset to a small subset.
func GetBuilderLogs ¶ added in v0.0.3
func GetContextByTask ¶ added in v0.1.0
func GetProfile ¶ added in v0.0.3
func GetProfile(name string) (*implanttypes.ProfileConfig, error)
func GetProfileByName ¶ added in v0.1.2
func GetProfileByNameWithConfig ¶ added in v0.3.0
GetProfileByNameWithConfig returns a Profile protobuf with full disk configuration.
func GetProfileContent ¶ added in v0.1.2
GetProfileContent reads implant.yaml from disk
func GetProfileFullConfig ¶ added in v0.3.0
func GetProfileFullConfig(profileName string) (implantConfig []byte, preludeConfig []byte, resources *clientpb.BuildResources, err error)
GetProfileFullConfig reads all profile configuration files from disk.
func GetTaskBySessionAndSeq ¶ added in v0.3.0
func GetValidArtifacts ¶ added in v0.1.1
func HasOperator ¶ added in v0.0.2
func ListAuthzRules ¶ added in v0.3.0
ListAuthzRules returns all rules, optionally filtered by role.
func NewDBClient ¶
func NewDBClient(dbConfig *configs.DatabaseConfig) (*gorm.DB, error)
NewDBClient initializes the db client. Returns an error instead of panicking on configuration or connection failures.
func NewProfile ¶ added in v0.0.3
NewProfile creates a new profile
func RecoverRemovedSession ¶ added in v0.3.0
RecoverRemovedSession finds a soft-deleted session and resets is_removed flag. Returns nil,nil if no removed session found.
func RemoveAuthzRule ¶ added in v0.3.0
RemoveAuthzRule removes an authorization rule by ID.
func RemoveOperator ¶ added in v0.1.1
func RemoveSession ¶ added in v0.1.0
func RevokeOperator ¶ added in v0.3.0
RevokeOperator sets the revoked flag on an operator.
func Save ¶ added in v0.3.0
func Save(model interface{}) error
Save creates or updates a model (generic save operation)
func SaveArtifact ¶ added in v0.0.3
func SaveArtifactFromConfig ¶ added in v0.1.1
func SaveArtifactFromConfig(req *clientpb.BuildConfig) (*models.Artifact, error)
func SaveArtifactFromID ¶ added in v0.1.0
func SaveCertFromTLS ¶ added in v0.1.1
func SaveCertificate ¶
func SaveCertificate(certificate *models.Certificate) error
func SavePipeline ¶ added in v0.1.0
func SaveSessionModel ¶ added in v0.3.0
SaveSessionModel saves a session model to database
func SeedDefaultAuthzRules ¶ added in v0.3.0
func SeedDefaultAuthzRules() error
SeedDefaultAuthzRules inserts the default role-method mappings if the table is empty. This runs at startup and only seeds when no rules exist.
func UpdateBuilderLog ¶ added in v0.0.3
func UpdateBuilderPath ¶ added in v0.1.0
func UpdateBuilderStatus ¶ added in v0.1.1
func UpdateCert ¶ added in v0.1.1
func UpdatePipelineCert ¶ added in v0.1.1
func UpdateProfileDisk ¶ added in v0.3.0
func UpdateProfileDisk(profileName string, implantConfig []byte, preludeConfig []byte, resources *clientpb.BuildResources) error
UpdateProfileDisk updates the profile's configuration files on disk.
func UpdateSession ¶
func UpdateSessionTimer ¶ added in v0.1.0
func UpdateTask ¶
func UpdateTaskCur ¶ added in v0.1.0
func UpdateTaskDescription ¶ added in v0.0.3
func UpdateTaskFinish ¶ added in v0.1.2
func UpdateTaskTotal ¶ added in v0.3.0
Types ¶
type ArtifactQuery ¶ added in v0.3.0
type ArtifactQuery struct {
// contains filtered or unexported fields
}
func NewArtifactQuery ¶ added in v0.3.0
func NewArtifactQuery() *ArtifactQuery
NewArtifactQuery creates a new artifact query builder
func (*ArtifactQuery) Delete ¶ added in v0.3.0
func (q *ArtifactQuery) Delete() error
Delete deletes matching artifacts
func (*ArtifactQuery) Find ¶ added in v0.3.0
func (q *ArtifactQuery) Find() (Artifacts, error)
Find returns all matching artifacts
func (*ArtifactQuery) First ¶ added in v0.3.0
func (q *ArtifactQuery) First() (*models.Artifact, error)
First returns the first matching artifact
func (*ArtifactQuery) Last ¶ added in v0.3.0
func (q *ArtifactQuery) Last() (*models.Artifact, error)
Last returns the last matching artifact
func (*ArtifactQuery) Update ¶ added in v0.3.0
func (q *ArtifactQuery) Update(column string, value interface{}) error
Update updates a single field on matching artifacts
func (*ArtifactQuery) WhereArch ¶ added in v0.3.0
func (q *ArtifactQuery) WhereArch(arch string) *ArtifactQuery
WhereArch filters by architecture
func (*ArtifactQuery) WhereID ¶ added in v0.3.0
func (q *ArtifactQuery) WhereID(id uint32) *ArtifactQuery
WhereID filters by artifact ID (uint32)
func (*ArtifactQuery) WhereName ¶ added in v0.3.0
func (q *ArtifactQuery) WhereName(name string) *ArtifactQuery
WhereName filters by artifact name
func (*ArtifactQuery) WhereOs ¶ added in v0.3.0
func (q *ArtifactQuery) WhereOs(os string) *ArtifactQuery
WhereOs filters by OS
func (*ArtifactQuery) WherePathNotEmpty ¶ added in v0.3.0
func (q *ArtifactQuery) WherePathNotEmpty() *ArtifactQuery
WherePathNotEmpty filters out artifacts with empty or NULL paths.
func (*ArtifactQuery) WherePipelineID ¶ added in v0.3.0
func (q *ArtifactQuery) WherePipelineID(pipelineID string) *ArtifactQuery
WherePipelineID filters artifacts by their profile's pipeline ID using a JOIN.
func (*ArtifactQuery) WhereProfileName ¶ added in v0.3.0
func (q *ArtifactQuery) WhereProfileName(profileName string) *ArtifactQuery
WhereProfileName filters by profile name
func (*ArtifactQuery) WhereSource ¶ added in v0.3.0
func (q *ArtifactQuery) WhereSource(source string) *ArtifactQuery
WhereSource filters by artifact source
func (*ArtifactQuery) WhereStatus ¶ added in v0.3.0
func (q *ArtifactQuery) WhereStatus(status string) *ArtifactQuery
WhereStatus filters by artifact status
func (*ArtifactQuery) WhereType ¶ added in v0.3.0
func (q *ArtifactQuery) WhereType(typ string) *ArtifactQuery
WhereType filters by artifact type
func (*ArtifactQuery) WithProfile ¶ added in v0.3.0
func (q *ArtifactQuery) WithProfile() *ArtifactQuery
WithProfile preloads the Profile association
func (*ArtifactQuery) WithProfilePipeline ¶ added in v0.3.0
func (q *ArtifactQuery) WithProfilePipeline() *ArtifactQuery
WithProfilePipeline preloads Profile and its Pipeline association
type Artifacts ¶ added in v0.3.0
Artifacts is a slice of Artifact models
func GetArtifactWithSaas ¶ added in v0.1.1
func ListArtifacts ¶ added in v0.3.0
ListArtifacts returns all artifacts
func (Artifacts) ToProtobuf ¶ added in v0.3.0
ToProtobuf converts Artifacts to protobuf (without binary content)
type AuthzRuleQuery ¶ added in v0.3.0
type AuthzRuleQuery struct {
// contains filtered or unexported fields
}
func NewAuthzRuleQuery ¶ added in v0.3.0
func NewAuthzRuleQuery() *AuthzRuleQuery
NewAuthzRuleQuery creates a new authz rule query builder
func (*AuthzRuleQuery) Count ¶ added in v0.3.0
func (q *AuthzRuleQuery) Count() (int64, error)
Count counts matching rules
func (*AuthzRuleQuery) Delete ¶ added in v0.3.0
func (q *AuthzRuleQuery) Delete() error
Delete deletes matching rules
func (*AuthzRuleQuery) Find ¶ added in v0.3.0
func (q *AuthzRuleQuery) Find() ([]*models.AuthzRule, error)
Find returns all matching rules
func (*AuthzRuleQuery) WhereID ¶ added in v0.3.0
func (q *AuthzRuleQuery) WhereID(id string) *AuthzRuleQuery
WhereID filters by rule ID
func (*AuthzRuleQuery) WhereRole ¶ added in v0.3.0
func (q *AuthzRuleQuery) WhereRole(role string) *AuthzRuleQuery
WhereRole filters by role
type CertificateQuery ¶ added in v0.3.0
type CertificateQuery struct {
// contains filtered or unexported fields
}
func NewCertificateQuery ¶ added in v0.3.0
func NewCertificateQuery() *CertificateQuery
NewCertificateQuery creates a new certificate query builder
func (*CertificateQuery) Delete ¶ added in v0.3.0
func (q *CertificateQuery) Delete() error
Delete deletes matching certificates
func (*CertificateQuery) Find ¶ added in v0.3.0
func (q *CertificateQuery) Find() (Certificates, error)
Find returns all matching certificates
func (*CertificateQuery) First ¶ added in v0.3.0
func (q *CertificateQuery) First() (*models.Certificate, error)
First returns the first matching certificate
func (*CertificateQuery) UpdateFields ¶ added in v0.3.0
func (q *CertificateQuery) UpdateFields(fields map[string]interface{}) error
UpdateFields updates specific fields on matching certificates
func (*CertificateQuery) WhereName ¶ added in v0.3.0
func (q *CertificateQuery) WhereName(name string) *CertificateQuery
WhereName filters by certificate name
func (*CertificateQuery) WhereType ¶ added in v0.3.0
func (q *CertificateQuery) WhereType(typ string) *CertificateQuery
WhereType filters by certificate type
type Certificates ¶ added in v0.3.0
type Certificates []*models.Certificate
Certificates is a slice of Certificate models
func GetAllCertificates ¶ added in v0.1.1
func GetAllCertificates() (Certificates, error)
func (Certificates) ToProtobuf ¶ added in v0.3.0
func (c Certificates) ToProtobuf() []*clientpb.TLS
ToProtobuf converts Certificates to protobuf TLS slice
type ContextQuery ¶ added in v0.1.0
type ContextQuery struct {
// contains filtered or unexported fields
}
ContextQuery is a builder for Context queries.
func NewContextQuery ¶ added in v0.1.0
func NewContextQuery() *ContextQuery
NewContextQuery creates a new Context query builder.
func (*ContextQuery) Delete ¶ added in v0.3.0
func (q *ContextQuery) Delete() error
Delete deletes matching contexts
func (*ContextQuery) Find ¶ added in v0.1.0
func (q *ContextQuery) Find() ([]*models.Context, error)
Find executes the query and returns all matching contexts.
func (*ContextQuery) First ¶ added in v0.1.0
func (q *ContextQuery) First() (*models.Context, error)
First returns the first matching context.
func (*ContextQuery) WhereID ¶ added in v0.3.0
func (q *ContextQuery) WhereID(id uuid.UUID) *ContextQuery
WhereID filters by context ID.
func (*ContextQuery) WhereNonce ¶ added in v0.3.0
func (q *ContextQuery) WhereNonce(nonce string) *ContextQuery
WhereNonce filters by nonce.
func (*ContextQuery) WherePipeline ¶ added in v0.3.0
func (q *ContextQuery) WherePipeline(pipelineID string) *ContextQuery
WherePipeline filters by pipeline ID.
func (*ContextQuery) WhereSession ¶ added in v0.3.0
func (q *ContextQuery) WhereSession(sessionID string) *ContextQuery
WhereSession filters by session ID.
func (*ContextQuery) WhereTask ¶ added in v0.3.0
func (q *ContextQuery) WhereTask(taskID string) *ContextQuery
WhereTask filters by task ID.
func (*ContextQuery) WhereType ¶ added in v0.3.0
func (q *ContextQuery) WhereType(typ string) *ContextQuery
WhereType filters by context type.
type Contexts ¶ added in v0.3.0
Contexts is a slice of Context models
func (Contexts) ToProtobuf ¶ added in v0.3.0
ToProtobuf converts Contexts to protobuf
type DialectAdapter ¶ added in v0.3.0
type DialectAdapter interface {
// Name returns the dialect name.
Name() string
// FindAliveSessionsUpdateSQL returns the UPDATE SQL for marking inactive sessions.
FindAliveSessionsUpdateSQL() string
// FindAliveSessionsSelectSQL returns the SELECT SQL for querying alive sessions.
FindAliveSessionsSelectSQL() string
// AppendLogExpr returns the expression for appending a log entry (handles NULL + string concatenation).
AppendLogExpr(logEntry string) clause.Expr
// CastIDAsText returns a WHERE condition that casts the ID column to TEXT for LIKE prefix matching.
CastIDAsText(column string) string
// DateFunction returns the SQL expression for extracting the date part of a column.
DateFunction(column string) string
}
DialectAdapter encapsulates SQL dialect differences across database backends.
var Adapter DialectAdapter
Adapter is the global dialect adapter, initialized in NewDBClient.
type Dialector ¶
func (Dialector) ClauseBuilders ¶
func (dialector Dialector) ClauseBuilders() map[string]clause.ClauseBuilder
func (Dialector) DefaultValueOf ¶
func (dialector Dialector) DefaultValueOf(field *schema.Field) clause.Expression
func (Dialector) RollbackTo ¶
type Migrator ¶
func (Migrator) AlterColumn ¶ added in v0.3.0
AlterColumn is a no-op for SQLite. SQLite does not support ALTER COLUMN; the official GORM sqlite driver uses full table recreation, but for our use-case schema-level column type changes are not expected at runtime.
func (Migrator) ColumnTypes ¶ added in v0.3.0
func (m Migrator) ColumnTypes(value interface{}) ([]gorm.ColumnType, error)
ColumnTypes returns column type information via pragma_table_info (table-valued function), which supports parameterized queries and avoids SQL injection.
func (Migrator) CreateConstraint ¶ added in v0.3.0
CreateConstraint is a no-op for SQLite. SQLite only supports foreign key constraints defined at table creation time, not added via ALTER TABLE.
func (Migrator) CurrentDatabase ¶ added in v0.3.0
CurrentDatabase returns empty string for SQLite (single-database system).
func (Migrator) HasColumn ¶ added in v0.3.0
HasColumn checks column existence via PRAGMA table_info.
func (Migrator) HasConstraint ¶ added in v0.3.0
HasConstraint checks constraint existence via sqlite_master DDL parsing.
type OperatorQuery ¶ added in v0.3.0
type OperatorQuery struct {
// contains filtered or unexported fields
}
func NewOperatorQuery ¶ added in v0.3.0
func NewOperatorQuery() *OperatorQuery
NewOperatorQuery creates a new operator query builder
func (*OperatorQuery) Count ¶ added in v0.3.0
func (q *OperatorQuery) Count() (int64, error)
Count counts matching operators
func (*OperatorQuery) Delete ¶ added in v0.3.0
func (q *OperatorQuery) Delete() error
Delete deletes matching operators
func (*OperatorQuery) Find ¶ added in v0.3.0
func (q *OperatorQuery) Find() (Operators, error)
Find returns all matching operators
func (*OperatorQuery) First ¶ added in v0.3.0
func (q *OperatorQuery) First() (*models.Operator, error)
First returns the first matching operator
func (*OperatorQuery) Update ¶ added in v0.3.0
func (q *OperatorQuery) Update(column string, value interface{}) error
Update updates a single field on matching operators
func (*OperatorQuery) Updates ¶ added in v0.3.0
func (q *OperatorQuery) Updates(fields map[string]interface{}) error
Updates updates multiple fields on matching operators
func (*OperatorQuery) WhereFingerprint ¶ added in v0.3.0
func (q *OperatorQuery) WhereFingerprint(fp string) *OperatorQuery
WhereFingerprint filters by certificate fingerprint
func (*OperatorQuery) WhereFingerprintEmpty ¶ added in v0.3.0
func (q *OperatorQuery) WhereFingerprintEmpty() *OperatorQuery
WhereFingerprintEmpty filters operators with empty or null fingerprints
func (*OperatorQuery) WhereName ¶ added in v0.3.0
func (q *OperatorQuery) WhereName(name string) *OperatorQuery
WhereName filters by operator name
func (*OperatorQuery) WhereType ¶ added in v0.3.0
func (q *OperatorQuery) WhereType(typ string) *OperatorQuery
WhereType filters by operator type
type Operators ¶ added in v0.3.0
Operators is a slice of Operator models
func ListClients ¶ added in v0.0.2
func ListListeners ¶
func (Operators) ToProtobuf ¶ added in v0.3.0
ToProtobuf converts Operators to protobuf
type PipelineQuery ¶ added in v0.3.0
type PipelineQuery struct {
// contains filtered or unexported fields
}
func NewPipelineQuery ¶ added in v0.3.0
func NewPipelineQuery() *PipelineQuery
NewPipelineQuery creates a new pipeline query builder
func (*PipelineQuery) Count ¶ added in v0.3.0
func (q *PipelineQuery) Count() (int64, error)
Count counts the number of matching pipelines
func (*PipelineQuery) Delete ¶ added in v0.3.0
func (q *PipelineQuery) Delete() error
Delete deletes matching pipelines
func (*PipelineQuery) Find ¶ added in v0.3.0
func (q *PipelineQuery) Find() (Pipelines, error)
Find executes the query and returns multiple pipelines
func (*PipelineQuery) First ¶ added in v0.3.0
func (q *PipelineQuery) First() (*models.Pipeline, error)
First executes the query and returns the first pipeline
func (*PipelineQuery) OrderBy ¶ added in v0.3.0
func (q *PipelineQuery) OrderBy(field string) *PipelineQuery
OrderBy orders by specified field
func (*PipelineQuery) Preload ¶ added in v0.3.0
func (q *PipelineQuery) Preload(relation string) *PipelineQuery
Preload preloads associations
func (*PipelineQuery) WhereEnabled ¶ added in v0.3.0
func (q *PipelineQuery) WhereEnabled(enabled bool) *PipelineQuery
WhereEnabled filters by enabled status
func (*PipelineQuery) WhereListenerID ¶ added in v0.3.0
func (q *PipelineQuery) WhereListenerID(listenerID string) *PipelineQuery
WhereListenerID filters by listener ID
func (*PipelineQuery) WhereName ¶ added in v0.3.0
func (q *PipelineQuery) WhereName(name string) *PipelineQuery
WhereName filters by pipeline name
func (*PipelineQuery) WhereNotType ¶ added in v0.3.0
func (q *PipelineQuery) WhereNotType(typ string) *PipelineQuery
WhereNotType filters by NOT pipeline type
func (*PipelineQuery) WhereType ¶ added in v0.3.0
func (q *PipelineQuery) WhereType(typ string) *PipelineQuery
WhereType filters by pipeline type
func (*PipelineQuery) WithCert ¶ added in v0.3.0
func (q *PipelineQuery) WithCert() *PipelineQuery
WithCert enables automatic certificate loading for query results. When enabled, Find() and First() will call loadPipelineCert on each pipeline.
type Pipelines ¶ added in v0.3.0
Pipelines is a slice of Pipeline models
func FindEnabledWebsites ¶ added in v0.3.0
FindEnabledWebsites - Get all enabled websites from database
func ListPipelinesByListener ¶ added in v0.3.0
ListPipelinesByListener returns pipelines for a listener (non-website)
func ListWebsitesByListener ¶ added in v0.3.0
ListWebsitesByListener returns website pipelines for a listener
func (Pipelines) ToProtobuf ¶ added in v0.3.0
ToProtobuf converts Pipelines to protobuf
type ProfileQuery ¶ added in v0.3.0
type ProfileQuery struct {
// contains filtered or unexported fields
}
func NewProfileQuery ¶ added in v0.3.0
func NewProfileQuery() *ProfileQuery
NewProfileQuery creates a new profile query builder
func (*ProfileQuery) Delete ¶ added in v0.3.0
func (q *ProfileQuery) Delete() error
Delete deletes matching profiles
func (*ProfileQuery) Find ¶ added in v0.3.0
func (q *ProfileQuery) Find() (Profiles, error)
Find returns all matching profiles
func (*ProfileQuery) First ¶ added in v0.3.0
func (q *ProfileQuery) First() (*models.Profile, error)
First returns the first matching profile
func (*ProfileQuery) OrderByCreated ¶ added in v0.3.0
func (q *ProfileQuery) OrderByCreated() *ProfileQuery
OrderByCreated orders by created_at ASC
func (*ProfileQuery) WhereName ¶ added in v0.3.0
func (q *ProfileQuery) WhereName(name string) *ProfileQuery
WhereName filters by profile name
func (*ProfileQuery) WherePipelineID ¶ added in v0.3.0
func (q *ProfileQuery) WherePipelineID(pipelineID string) *ProfileQuery
WherePipelineID filters by pipeline ID
func (*ProfileQuery) WithPipeline ¶ added in v0.3.0
func (q *ProfileQuery) WithPipeline() *ProfileQuery
WithPipeline preloads the Pipeline association
type Profiles ¶ added in v0.3.0
Profiles is a slice of Profile models
func GetProfiles ¶ added in v0.0.3
func (Profiles) ToProtobuf ¶ added in v0.3.0
ToProtobuf converts Profiles to protobuf
type SessionQuery ¶ added in v0.3.0
type SessionQuery struct {
// contains filtered or unexported fields
}
func NewSessionQuery ¶ added in v0.3.0
func NewSessionQuery() *SessionQuery
NewSessionQuery creates a new session query builder
func (*SessionQuery) Count ¶ added in v0.3.0
func (q *SessionQuery) Count() (int64, error)
Count counts the number of matching sessions
func (*SessionQuery) Find ¶ added in v0.3.0
func (q *SessionQuery) Find() (Sessions, error)
Find executes the query and returns multiple sessions
func (*SessionQuery) First ¶ added in v0.3.0
func (q *SessionQuery) First() (*models.Session, error)
First executes the query and returns the first session
func (*SessionQuery) Limit ¶ added in v0.3.0
func (q *SessionQuery) Limit(limit int) *SessionQuery
Limit limits the number of results
func (*SessionQuery) Offset ¶ added in v0.3.0
func (q *SessionQuery) Offset(offset int) *SessionQuery
Offset sets the offset for results
func (*SessionQuery) OrderBy ¶ added in v0.3.0
func (q *SessionQuery) OrderBy(field string) *SessionQuery
OrderBy orders results by field
func (*SessionQuery) Update ¶ added in v0.3.0
func (q *SessionQuery) Update(column string, value interface{}) error
Update updates a single field on matching sessions
func (*SessionQuery) WhereAlive ¶ added in v0.3.0
func (q *SessionQuery) WhereAlive(alive bool) *SessionQuery
WhereAlive filters by alive status
func (*SessionQuery) WhereGroup ¶ added in v0.3.0
func (q *SessionQuery) WhereGroup(group string) *SessionQuery
WhereGroup filters by group name
func (*SessionQuery) WhereID ¶ added in v0.3.0
func (q *SessionQuery) WhereID(id string) *SessionQuery
WhereID filters by session ID
func (*SessionQuery) WhereRemoved ¶ added in v0.3.0
func (q *SessionQuery) WhereRemoved(removed bool) *SessionQuery
WhereRemoved filters by removed status
func (*SessionQuery) WhereType ¶ added in v0.3.0
func (q *SessionQuery) WhereType(typ string) *SessionQuery
WhereType filters by session type
type Sessions ¶ added in v0.3.0
Sessions is a slice of Session models
func FindAliveSessions ¶
func ListAliveSessions ¶ added in v0.3.0
ListAliveSessions returns all alive sessions
func ListSessions ¶ added in v0.3.0
ListSessions returns all sessions (non-removed)
func (Sessions) ToProtobuf ¶ added in v0.3.0
ToProtobuf converts Sessions to protobuf
type TaskQuery ¶ added in v0.3.0
type TaskQuery struct {
// contains filtered or unexported fields
}
func NewTaskQuery ¶ added in v0.3.0
func NewTaskQuery() *TaskQuery
NewTaskQuery creates a new task query builder
func (*TaskQuery) OrderBySeq ¶ added in v0.3.0
OrderBySeq orders by sequence number
func (*TaskQuery) WhereFinished ¶ added in v0.3.0
WhereFinished filters by finished status
func (*TaskQuery) WhereSessionID ¶ added in v0.3.0
WhereSessionID filters by session ID
type Tasks ¶ added in v0.3.0
Tasks is a slice of Task models
func ListTasksBySession ¶ added in v0.3.0
ListTasksBySession returns tasks for a specific session
func (Tasks) ToProtobuf ¶ added in v0.3.0
ToProtobuf converts Tasks to protobuf
type WebContentQuery ¶ added in v0.3.0
type WebContentQuery struct {
// contains filtered or unexported fields
}
func NewWebContentQuery ¶ added in v0.3.0
func NewWebContentQuery() *WebContentQuery
NewWebContentQuery creates a new web content query builder
func (*WebContentQuery) Delete ¶ added in v0.3.0
func (q *WebContentQuery) Delete() error
Delete deletes matching web contents
func (*WebContentQuery) Find ¶ added in v0.3.0
func (q *WebContentQuery) Find() ([]*models.WebsiteContent, error)
Find returns all matching web contents
func (*WebContentQuery) First ¶ added in v0.3.0
func (q *WebContentQuery) First() (*models.WebsiteContent, error)
First returns the first matching web content
func (*WebContentQuery) WhereID ¶ added in v0.3.0
func (q *WebContentQuery) WhereID(id uuid.UUID) *WebContentQuery
WhereID filters by content ID
func (*WebContentQuery) WherePath ¶ added in v0.3.0
func (q *WebContentQuery) WherePath(path string) *WebContentQuery
WherePath filters by content path
func (*WebContentQuery) WherePipelineID ¶ added in v0.3.0
func (q *WebContentQuery) WherePipelineID(pipelineID string) *WebContentQuery
WherePipelineID filters by pipeline/website ID
func (*WebContentQuery) WithPipeline ¶ added in v0.3.0
func (q *WebContentQuery) WithPipeline() *WebContentQuery
WithPipeline preloads the Pipeline association