identity

package
v0.0.0-...-aff4308 Latest Latest
Warning

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

Go to latest
Published: Nov 18, 2025 License: Apache-2.0 Imports: 12 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Domain

type Domain struct {
	ID      string `json:"id" db:"id,primarykey"`
	Name    string `json:"name" db:"name"`
	Enabled bool   `json:"enabled" db:"enabled"`
}

func (Domain) Indexes

func (d Domain) Indexes() map[string][]string

Indexes for the domain table.

func (Domain) TableName

func (d Domain) TableName() string

Table in which the openstack model is stored.

type IdentityAPI

type IdentityAPI interface {
	Init(ctx context.Context) error
	// Retrieves all domains from the OpenStack identity service.
	GetAllDomains(ctx context.Context) ([]Domain, error)
	// Retrieves all projects from the OpenStack identity service.
	GetAllProjects(ctx context.Context) ([]Project, error)
}

type IdentitySyncer

type IdentitySyncer struct {
	// Database to store the identity objects in.
	DB db.DB
	// Monitor to track the syncer.
	Mon datasources.Monitor
	// Configuration for the identity syncer.
	Conf v1alpha1.IdentityDatasource
	// Identity API client to fetch the data.
	API IdentityAPI
}

func (*IdentitySyncer) Init

func (s *IdentitySyncer) Init(ctx context.Context) error

func (*IdentitySyncer) Sync

func (s *IdentitySyncer) Sync(ctx context.Context) (int64, error)

func (*IdentitySyncer) SyncDomains

func (s *IdentitySyncer) SyncDomains(ctx context.Context) (int64, error)

func (*IdentitySyncer) SyncProjects

func (s *IdentitySyncer) SyncProjects(ctx context.Context) (int64, error)

type Project

type Project struct {
	ID       string `json:"id" db:"id,primarykey"`
	Name     string `json:"name" db:"name"`
	DomainID string `json:"domain_id" db:"domain_id"`
	ParentID string `json:"parent_id" db:"parent_id"`
	IsDomain bool   `json:"is_domain" db:"is_domain"`
	Enabled  bool   `json:"enabled" db:"enabled"`
	Tags     string `json:"tags" db:"tags"` // Comma-separated tags

}

Project as inserted into the database for efficient handling.

func (Project) Indexes

func (p Project) Indexes() map[string][]string

Indexes for the project table.

func (Project) TableName

func (p Project) TableName() string

Table in which the openstack model is stored.

type RawProject

type RawProject struct {
	ID       string   `json:"id"`
	Name     string   `json:"name"`
	DomainID string   `json:"domain_id"`
	ParentID string   `json:"parent_id"`
	IsDomain bool     `json:"is_domain"`
	Enabled  bool     `json:"enabled"`
	Tags     []string `json:"tags"`
}

RawProject represents the raw project data as returned by the OpenStack identity API.

Jump to

Keyboard shortcuts

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