magistrala

package module
v1.0.0 Latest Latest
Warning

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

Go to latest
Published: Jul 29, 2024 License: Apache-2.0 Imports: 10 Imported by: 2

README

Magistrala

Check License Header Check the consistency of generated files Continuous Delivery go report card coverage license chat

banner

Magistrala is modern, scalable, secure, open-source, and patent-free IoT cloud platform written in Go.

It accepts user and thing (sensor, actuator, application) connections over various network protocols (i.e. HTTP, MQTT, WebSocket, CoAP), thus making a seamless bridge between them. It is used as the IoT middleware for building complex IoT solutions.

For more details, check out the official documentation.

Features

  • Multi-protocol connectivity and bridging (HTTP, MQTT, WebSocket and CoAP)
  • Device management and provisioning (Zero Touch provisioning)
  • Mutual TLS Authentication (mTLS) using X.509 Certificates
  • Fine-grained access control (policies, ABAC/RBAC)
  • Message persistence (Cassandra, InfluxDB, MongoDB and PostgresSQL)
  • Platform logging and instrumentation support (Prometheus and OpenTelemetry)
  • Event sourcing
  • Container-based deployment using Docker and Kubernetes
  • LoRaWAN network integration
  • OPC UA integration
  • Edge Agent and Export services for remote IoT gateway management and edge computing
  • SDK
  • CLI
  • Small memory footprint and fast execution
  • Domain-driven design architecture, high-quality code and test coverage

Prerequisites

The following are needed to run Magistrala:

Developing Magistrala will also require:

Install

Once the prerequisites are installed, execute the following commands from the project's root:

docker compose -f docker/docker-compose.yml --env-file docker/.env -p git_github_com_absmach_magistrala_git_  up

This will bring up the Magistrala docker services and interconnect them. This command can also be executed using the project's included Makefile:

make run

If you want to run services from specific release checkout code from github and make sure that MG_RELEASE_TAG in .env is being set to match the release version

git checkout tags/<release_number> -b <release_number>
# e.g. `git checkout tags/0.13.0 -b 0.13.0`

Check that .env file contains:

MG_RELEASE_TAG=<release_number>

docker-compose should be used for development and testing deployments. For production we suggest using Kubernetes.

Usage

The quickest way to start using Magistrala is via the CLI. The latest version can be downloaded from the official releases page.

It can also be built and used from the project's root directory:

make cli
./build/cli version

Additional details on using the CLI can be found in the CLI documentation.

Documentation

Official documentation is hosted at Magistrala official docs page. Documentation is auto-generated, checkout the instructions on official docs repository:

If you spot an error or a need for corrections, please let us know - or even better: send us a PR.

Authors

Main architect and BDFL of Magistrala project is @drasko.

Additionally, @nmarcetic and @janko-isidorovic assured overall architecture and design, while @manuio and @darkodraskovic helped with crafting initial implementation and continuously worked on the project evolutions.

Besides them, Magistrala is constantly improved and actively developed by @anovakovic01, @dusanb94, @srados, @gsaleh, @blokovi, @chombium, @mteodor, @rodneyosodo and a large set of contributors.

Maintainers are listed in MAINTAINERS file.

The Magistrala team would like to give special thanks to @mijicd for his monumental work on designing and implementing a highly improved and optimized version of the platform, and @malidukica for his effort on implementing the initial user interface.

Professional Support

There are many companies offering professional support for the Magistrala system.

If you need this kind of support, best is to reach out to @drasko directly, and he will point you out to the best-matching support team.

Contributing

Thank you for your interest in Magistrala and the desire to contribute!

  1. Take a look at our open issues. The good-first-issue label is specifically for issues that are great for getting started.
  2. Checkout the contribution guide to learn more about our style and conventions.
  3. Make your changes compatible to our workflow.
We're Hiring

You like Magistrala and you would like to make it your day job? We're always looking for talented engineers interested in open-source, IoT and distributed systems. If you recognize yourself, reach out to @drasko - he will contact you back.

The best way to grab our attention is, of course, by sending PRs 😎.

Community

License

Apache-2.0

FOSSA Status

Data Collection for Magistrala

Magistrala is committed to continuously improving its services and ensuring a seamless experience for its users. To achieve this, we collect certain data from your deployments. Rest assured, this data is collected solely for the purpose of enhancing Magistrala and is not used with any malicious intent. The deployment summary can be found on our website.

The collected data includes:

  • IP Address - Used for approximate location information on deployments.
  • Services Used - To understand which features are popular and prioritize future developments.
  • Last Seen Time - To ensure the stability and availability of Magistrala.
  • Magistrala Version - To track the software version and deliver relevant updates.

We take your privacy and data security seriously. All data collected is handled in accordance with our stringent privacy policies and industry best practices.

Data collection is on by default and can be disabled by setting the env variable: MG_SEND_TELEMETRY=false

By utilizing Magistrala, you actively contribute to its improvement. Together, we can build a more robust and efficient IoT platform. Thank you for your trust in Magistrala!

Documentation

Overview

package magistrala acts as an umbrella package containing multiple different microservices and defines all shared domain concepts.

Index

Constants

View Source
const (
	AuthService_Issue_FullMethodName           = "/magistrala.AuthService/Issue"
	AuthService_Refresh_FullMethodName         = "/magistrala.AuthService/Refresh"
	AuthService_Identify_FullMethodName        = "/magistrala.AuthService/Identify"
	AuthService_Authorize_FullMethodName       = "/magistrala.AuthService/Authorize"
	AuthService_AddPolicy_FullMethodName       = "/magistrala.AuthService/AddPolicy"
	AuthService_AddPolicies_FullMethodName     = "/magistrala.AuthService/AddPolicies"
	AuthService_DeletePolicy_FullMethodName    = "/magistrala.AuthService/DeletePolicy"
	AuthService_DeletePolicies_FullMethodName  = "/magistrala.AuthService/DeletePolicies"
	AuthService_ListObjects_FullMethodName     = "/magistrala.AuthService/ListObjects"
	AuthService_ListAllObjects_FullMethodName  = "/magistrala.AuthService/ListAllObjects"
	AuthService_CountObjects_FullMethodName    = "/magistrala.AuthService/CountObjects"
	AuthService_ListSubjects_FullMethodName    = "/magistrala.AuthService/ListSubjects"
	AuthService_ListAllSubjects_FullMethodName = "/magistrala.AuthService/ListAllSubjects"
	AuthService_CountSubjects_FullMethodName   = "/magistrala.AuthService/CountSubjects"
	AuthService_ListPermissions_FullMethodName = "/magistrala.AuthService/ListPermissions"
)
View Source
const (
	AuthzService_Authorize_FullMethodName = "/magistrala.AuthzService/Authorize"
)

Variables

View Source
var (
	// Version represents the last service git tag in git history.
	// It's meant to be set using go build ldflags:
	// -ldflags "-X 'github.com/andychao217/magistrala.Version=0.0.0'".
	Version = "0.0.0"
	// Commit represents the service git commit hash.
	// It's meant to be set using go build ldflags:
	// -ldflags "-X 'github.com/andychao217/magistrala.Commit=ffffffff'".
	Commit = "ffffffff"
	// BuildTime represetns the service build time.
	// It's meant to be set using go build ldflags:
	// -ldflags "-X 'github.com/andychao217/magistrala.BuildTime=1970-01-01_00:00:00'".
	BuildTime = "1970-01-01_00:00:00"
)
View Source
var AuthService_ServiceDesc = grpc.ServiceDesc{
	ServiceName: "magistrala.AuthService",
	HandlerType: (*AuthServiceServer)(nil),
	Methods: []grpc.MethodDesc{
		{
			MethodName: "Issue",
			Handler:    _AuthService_Issue_Handler,
		},
		{
			MethodName: "Refresh",
			Handler:    _AuthService_Refresh_Handler,
		},
		{
			MethodName: "Identify",
			Handler:    _AuthService_Identify_Handler,
		},
		{
			MethodName: "Authorize",
			Handler:    _AuthService_Authorize_Handler,
		},
		{
			MethodName: "AddPolicy",
			Handler:    _AuthService_AddPolicy_Handler,
		},
		{
			MethodName: "AddPolicies",
			Handler:    _AuthService_AddPolicies_Handler,
		},
		{
			MethodName: "DeletePolicy",
			Handler:    _AuthService_DeletePolicy_Handler,
		},
		{
			MethodName: "DeletePolicies",
			Handler:    _AuthService_DeletePolicies_Handler,
		},
		{
			MethodName: "ListObjects",
			Handler:    _AuthService_ListObjects_Handler,
		},
		{
			MethodName: "ListAllObjects",
			Handler:    _AuthService_ListAllObjects_Handler,
		},
		{
			MethodName: "CountObjects",
			Handler:    _AuthService_CountObjects_Handler,
		},
		{
			MethodName: "ListSubjects",
			Handler:    _AuthService_ListSubjects_Handler,
		},
		{
			MethodName: "ListAllSubjects",
			Handler:    _AuthService_ListAllSubjects_Handler,
		},
		{
			MethodName: "CountSubjects",
			Handler:    _AuthService_CountSubjects_Handler,
		},
		{
			MethodName: "ListPermissions",
			Handler:    _AuthService_ListPermissions_Handler,
		},
	},
	Streams:  []grpc.StreamDesc{},
	Metadata: "auth.proto",
}

AuthService_ServiceDesc is the grpc.ServiceDesc for AuthService service. It's only intended for direct use with grpc.RegisterService, and not to be introspected or modified (even as a copy)

View Source
var AuthzService_ServiceDesc = grpc.ServiceDesc{
	ServiceName: "magistrala.AuthzService",
	HandlerType: (*AuthzServiceServer)(nil),
	Methods: []grpc.MethodDesc{
		{
			MethodName: "Authorize",
			Handler:    _AuthzService_Authorize_Handler,
		},
	},
	Streams:  []grpc.StreamDesc{},
	Metadata: "auth.proto",
}

AuthzService_ServiceDesc is the grpc.ServiceDesc for AuthzService service. It's only intended for direct use with grpc.RegisterService, and not to be introspected or modified (even as a copy)

Functions

func Health

func Health(service, instanceID string) http.HandlerFunc

Health exposes an HTTP handler for retrieving service health.

func RegisterAuthServiceServer

func RegisterAuthServiceServer(s grpc.ServiceRegistrar, srv AuthServiceServer)

func RegisterAuthzServiceServer

func RegisterAuthzServiceServer(s grpc.ServiceRegistrar, srv AuthzServiceServer)

Types

type AddPoliciesReq

type AddPoliciesReq struct {
	AddPoliciesReq []*AddPolicyReq `protobuf:"bytes,1,rep,name=addPoliciesReq,proto3" json:"addPoliciesReq,omitempty"`
	// contains filtered or unexported fields
}

func (*AddPoliciesReq) Descriptor deprecated

func (*AddPoliciesReq) Descriptor() ([]byte, []int)

Deprecated: Use AddPoliciesReq.ProtoReflect.Descriptor instead.

func (*AddPoliciesReq) GetAddPoliciesReq

func (x *AddPoliciesReq) GetAddPoliciesReq() []*AddPolicyReq

func (*AddPoliciesReq) ProtoMessage

func (*AddPoliciesReq) ProtoMessage()

func (*AddPoliciesReq) ProtoReflect

func (x *AddPoliciesReq) ProtoReflect() protoreflect.Message

func (*AddPoliciesReq) Reset

func (x *AddPoliciesReq) Reset()

func (*AddPoliciesReq) String

func (x *AddPoliciesReq) String() string

type AddPoliciesRes

type AddPoliciesRes struct {
	Added bool `protobuf:"varint,1,opt,name=added,proto3" json:"added,omitempty"`
	// contains filtered or unexported fields
}

func (*AddPoliciesRes) Descriptor deprecated

func (*AddPoliciesRes) Descriptor() ([]byte, []int)

Deprecated: Use AddPoliciesRes.ProtoReflect.Descriptor instead.

func (*AddPoliciesRes) GetAdded

func (x *AddPoliciesRes) GetAdded() bool

func (*AddPoliciesRes) ProtoMessage

func (*AddPoliciesRes) ProtoMessage()

func (*AddPoliciesRes) ProtoReflect

func (x *AddPoliciesRes) ProtoReflect() protoreflect.Message

func (*AddPoliciesRes) Reset

func (x *AddPoliciesRes) Reset()

func (*AddPoliciesRes) String

func (x *AddPoliciesRes) String() string

type AddPolicyReq

type AddPolicyReq struct {
	Domain          string `protobuf:"bytes,1,opt,name=domain,proto3" json:"domain,omitempty"`
	SubjectType     string `protobuf:"bytes,2,opt,name=subject_type,json=subjectType,proto3" json:"subject_type,omitempty"`
	SubjectRelation string `protobuf:"bytes,3,opt,name=subject_relation,json=subjectRelation,proto3" json:"subject_relation,omitempty"`
	SubjectKind     string `protobuf:"bytes,4,opt,name=subject_kind,json=subjectKind,proto3" json:"subject_kind,omitempty"`
	Subject         string `protobuf:"bytes,5,opt,name=subject,proto3" json:"subject,omitempty"`
	Relation        string `protobuf:"bytes,6,opt,name=relation,proto3" json:"relation,omitempty"`
	Permission      string `protobuf:"bytes,7,opt,name=permission,proto3" json:"permission,omitempty"`
	Object          string `protobuf:"bytes,8,opt,name=object,proto3" json:"object,omitempty"`
	ObjectKind      string `protobuf:"bytes,9,opt,name=object_kind,json=objectKind,proto3" json:"object_kind,omitempty"`
	ObjectType      string `protobuf:"bytes,10,opt,name=object_type,json=objectType,proto3" json:"object_type,omitempty"`
	// contains filtered or unexported fields
}

func (*AddPolicyReq) Descriptor deprecated

func (*AddPolicyReq) Descriptor() ([]byte, []int)

Deprecated: Use AddPolicyReq.ProtoReflect.Descriptor instead.

func (*AddPolicyReq) GetDomain

func (x *AddPolicyReq) GetDomain() string

func (*AddPolicyReq) GetObject

func (x *AddPolicyReq) GetObject() string

func (*AddPolicyReq) GetObjectKind

func (x *AddPolicyReq) GetObjectKind() string

func (*AddPolicyReq) GetObjectType

func (x *AddPolicyReq) GetObjectType() string

func (*AddPolicyReq) GetPermission

func (x *AddPolicyReq) GetPermission() string

func (*AddPolicyReq) GetRelation

func (x *AddPolicyReq) GetRelation() string

func (*AddPolicyReq) GetSubject

func (x *AddPolicyReq) GetSubject() string

func (*AddPolicyReq) GetSubjectKind

func (x *AddPolicyReq) GetSubjectKind() string

func (*AddPolicyReq) GetSubjectRelation

func (x *AddPolicyReq) GetSubjectRelation() string

func (*AddPolicyReq) GetSubjectType

func (x *AddPolicyReq) GetSubjectType() string

func (*AddPolicyReq) ProtoMessage

func (*AddPolicyReq) ProtoMessage()

func (*AddPolicyReq) ProtoReflect

func (x *AddPolicyReq) ProtoReflect() protoreflect.Message

func (*AddPolicyReq) Reset

func (x *AddPolicyReq) Reset()

func (*AddPolicyReq) String

func (x *AddPolicyReq) String() string

type AddPolicyRes

type AddPolicyRes struct {
	Added bool `protobuf:"varint,1,opt,name=added,proto3" json:"added,omitempty"`
	// contains filtered or unexported fields
}

func (*AddPolicyRes) Descriptor deprecated

func (*AddPolicyRes) Descriptor() ([]byte, []int)

Deprecated: Use AddPolicyRes.ProtoReflect.Descriptor instead.

func (*AddPolicyRes) GetAdded

func (x *AddPolicyRes) GetAdded() bool

func (*AddPolicyRes) ProtoMessage

func (*AddPolicyRes) ProtoMessage()

func (*AddPolicyRes) ProtoReflect

func (x *AddPolicyRes) ProtoReflect() protoreflect.Message

func (*AddPolicyRes) Reset

func (x *AddPolicyRes) Reset()

func (*AddPolicyRes) String

func (x *AddPolicyRes) String() string

type AuthServiceClient

type AuthServiceClient interface {
	Issue(ctx context.Context, in *IssueReq, opts ...grpc.CallOption) (*Token, error)
	Refresh(ctx context.Context, in *RefreshReq, opts ...grpc.CallOption) (*Token, error)
	Identify(ctx context.Context, in *IdentityReq, opts ...grpc.CallOption) (*IdentityRes, error)
	Authorize(ctx context.Context, in *AuthorizeReq, opts ...grpc.CallOption) (*AuthorizeRes, error)
	AddPolicy(ctx context.Context, in *AddPolicyReq, opts ...grpc.CallOption) (*AddPolicyRes, error)
	AddPolicies(ctx context.Context, in *AddPoliciesReq, opts ...grpc.CallOption) (*AddPoliciesRes, error)
	DeletePolicy(ctx context.Context, in *DeletePolicyReq, opts ...grpc.CallOption) (*DeletePolicyRes, error)
	DeletePolicies(ctx context.Context, in *DeletePoliciesReq, opts ...grpc.CallOption) (*DeletePoliciesRes, error)
	ListObjects(ctx context.Context, in *ListObjectsReq, opts ...grpc.CallOption) (*ListObjectsRes, error)
	ListAllObjects(ctx context.Context, in *ListObjectsReq, opts ...grpc.CallOption) (*ListObjectsRes, error)
	CountObjects(ctx context.Context, in *CountObjectsReq, opts ...grpc.CallOption) (*CountObjectsRes, error)
	ListSubjects(ctx context.Context, in *ListSubjectsReq, opts ...grpc.CallOption) (*ListSubjectsRes, error)
	ListAllSubjects(ctx context.Context, in *ListSubjectsReq, opts ...grpc.CallOption) (*ListSubjectsRes, error)
	CountSubjects(ctx context.Context, in *CountSubjectsReq, opts ...grpc.CallOption) (*CountSubjectsRes, error)
	ListPermissions(ctx context.Context, in *ListPermissionsReq, opts ...grpc.CallOption) (*ListPermissionsRes, error)
}

AuthServiceClient is the client API for AuthService service.

For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream.

type AuthServiceServer

AuthServiceServer is the server API for AuthService service. All implementations must embed UnimplementedAuthServiceServer for forward compatibility

type AuthorizeReq

type AuthorizeReq struct {
	Domain          string `protobuf:"bytes,1,opt,name=domain,proto3" json:"domain,omitempty"`                                          // Domain
	SubjectType     string `protobuf:"bytes,2,opt,name=subject_type,json=subjectType,proto3" json:"subject_type,omitempty"`             // Thing or User
	SubjectKind     string `protobuf:"bytes,3,opt,name=subject_kind,json=subjectKind,proto3" json:"subject_kind,omitempty"`             // ID or Token
	SubjectRelation string `protobuf:"bytes,4,opt,name=subject_relation,json=subjectRelation,proto3" json:"subject_relation,omitempty"` // Subject relation
	Subject         string `protobuf:"bytes,5,opt,name=subject,proto3" json:"subject,omitempty"`                                        // Subject value (id or token, depending on kind)
	Relation        string `protobuf:"bytes,6,opt,name=relation,proto3" json:"relation,omitempty"`                                      // Relation to filter
	Permission      string `protobuf:"bytes,7,opt,name=permission,proto3" json:"permission,omitempty"`                                  // Action
	Object          string `protobuf:"bytes,8,opt,name=object,proto3" json:"object,omitempty"`                                          // Object ID
	ObjectType      string `protobuf:"bytes,9,opt,name=object_type,json=objectType,proto3" json:"object_type,omitempty"`                // Thing, User, Group
	// contains filtered or unexported fields
}

func (*AuthorizeReq) Descriptor deprecated

func (*AuthorizeReq) Descriptor() ([]byte, []int)

Deprecated: Use AuthorizeReq.ProtoReflect.Descriptor instead.

func (*AuthorizeReq) GetDomain

func (x *AuthorizeReq) GetDomain() string

func (*AuthorizeReq) GetObject

func (x *AuthorizeReq) GetObject() string

func (*AuthorizeReq) GetObjectType

func (x *AuthorizeReq) GetObjectType() string

func (*AuthorizeReq) GetPermission

func (x *AuthorizeReq) GetPermission() string

func (*AuthorizeReq) GetRelation

func (x *AuthorizeReq) GetRelation() string

func (*AuthorizeReq) GetSubject

func (x *AuthorizeReq) GetSubject() string

func (*AuthorizeReq) GetSubjectKind

func (x *AuthorizeReq) GetSubjectKind() string

func (*AuthorizeReq) GetSubjectRelation

func (x *AuthorizeReq) GetSubjectRelation() string

func (*AuthorizeReq) GetSubjectType

func (x *AuthorizeReq) GetSubjectType() string

func (*AuthorizeReq) ProtoMessage

func (*AuthorizeReq) ProtoMessage()

func (*AuthorizeReq) ProtoReflect

func (x *AuthorizeReq) ProtoReflect() protoreflect.Message

func (*AuthorizeReq) Reset

func (x *AuthorizeReq) Reset()

func (*AuthorizeReq) String

func (x *AuthorizeReq) String() string

type AuthorizeRes

type AuthorizeRes struct {
	Authorized bool   `protobuf:"varint,1,opt,name=authorized,proto3" json:"authorized,omitempty"`
	Id         string `protobuf:"bytes,2,opt,name=id,proto3" json:"id,omitempty"`
	// contains filtered or unexported fields
}

func (*AuthorizeRes) Descriptor deprecated

func (*AuthorizeRes) Descriptor() ([]byte, []int)

Deprecated: Use AuthorizeRes.ProtoReflect.Descriptor instead.

func (*AuthorizeRes) GetAuthorized

func (x *AuthorizeRes) GetAuthorized() bool

func (*AuthorizeRes) GetId

func (x *AuthorizeRes) GetId() string

func (*AuthorizeRes) ProtoMessage

func (*AuthorizeRes) ProtoMessage()

func (*AuthorizeRes) ProtoReflect

func (x *AuthorizeRes) ProtoReflect() protoreflect.Message

func (*AuthorizeRes) Reset

func (x *AuthorizeRes) Reset()

func (*AuthorizeRes) String

func (x *AuthorizeRes) String() string

type AuthzServiceClient

type AuthzServiceClient interface {
	// Authorize checks if the subject is authorized to perform
	// the action on the object.
	Authorize(ctx context.Context, in *AuthorizeReq, opts ...grpc.CallOption) (*AuthorizeRes, error)
}

AuthzServiceClient is the client API for AuthzService service.

For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream.

type AuthzServiceServer

type AuthzServiceServer interface {
	// Authorize checks if the subject is authorized to perform
	// the action on the object.
	Authorize(context.Context, *AuthorizeReq) (*AuthorizeRes, error)
	// contains filtered or unexported methods
}

AuthzServiceServer is the server API for AuthzService service. All implementations must embed UnimplementedAuthzServiceServer for forward compatibility

type CountObjectsReq

type CountObjectsReq struct {
	Domain          string `protobuf:"bytes,1,opt,name=domain,proto3" json:"domain,omitempty"`
	SubjectType     string `protobuf:"bytes,2,opt,name=subject_type,json=subjectType,proto3" json:"subject_type,omitempty"`
	SubjectRelation string `protobuf:"bytes,3,opt,name=subject_relation,json=subjectRelation,proto3" json:"subject_relation,omitempty"`
	Subject         string `protobuf:"bytes,4,opt,name=subject,proto3" json:"subject,omitempty"`
	Relation        string `protobuf:"bytes,5,opt,name=relation,proto3" json:"relation,omitempty"`
	Permission      string `protobuf:"bytes,6,opt,name=permission,proto3" json:"permission,omitempty"`
	Object          string `protobuf:"bytes,7,opt,name=object,proto3" json:"object,omitempty"`
	ObjectType      string `protobuf:"bytes,8,opt,name=object_type,json=objectType,proto3" json:"object_type,omitempty"`
	NextPageToken   string `protobuf:"bytes,9,opt,name=nextPageToken,proto3" json:"nextPageToken,omitempty"`
	// contains filtered or unexported fields
}

func (*CountObjectsReq) Descriptor deprecated

func (*CountObjectsReq) Descriptor() ([]byte, []int)

Deprecated: Use CountObjectsReq.ProtoReflect.Descriptor instead.

func (*CountObjectsReq) GetDomain

func (x *CountObjectsReq) GetDomain() string

func (*CountObjectsReq) GetNextPageToken

func (x *CountObjectsReq) GetNextPageToken() string

func (*CountObjectsReq) GetObject

func (x *CountObjectsReq) GetObject() string

func (*CountObjectsReq) GetObjectType

func (x *CountObjectsReq) GetObjectType() string

func (*CountObjectsReq) GetPermission

func (x *CountObjectsReq) GetPermission() string

func (*CountObjectsReq) GetRelation

func (x *CountObjectsReq) GetRelation() string

func (*CountObjectsReq) GetSubject

func (x *CountObjectsReq) GetSubject() string

func (*CountObjectsReq) GetSubjectRelation

func (x *CountObjectsReq) GetSubjectRelation() string

func (*CountObjectsReq) GetSubjectType

func (x *CountObjectsReq) GetSubjectType() string

func (*CountObjectsReq) ProtoMessage

func (*CountObjectsReq) ProtoMessage()

func (*CountObjectsReq) ProtoReflect

func (x *CountObjectsReq) ProtoReflect() protoreflect.Message

func (*CountObjectsReq) Reset

func (x *CountObjectsReq) Reset()

func (*CountObjectsReq) String

func (x *CountObjectsReq) String() string

type CountObjectsRes

type CountObjectsRes struct {
	Count uint64 `protobuf:"varint,1,opt,name=count,proto3" json:"count,omitempty"`
	// contains filtered or unexported fields
}

func (*CountObjectsRes) Descriptor deprecated

func (*CountObjectsRes) Descriptor() ([]byte, []int)

Deprecated: Use CountObjectsRes.ProtoReflect.Descriptor instead.

func (*CountObjectsRes) GetCount

func (x *CountObjectsRes) GetCount() uint64

func (*CountObjectsRes) ProtoMessage

func (*CountObjectsRes) ProtoMessage()

func (*CountObjectsRes) ProtoReflect

func (x *CountObjectsRes) ProtoReflect() protoreflect.Message

func (*CountObjectsRes) Reset

func (x *CountObjectsRes) Reset()

func (*CountObjectsRes) String

func (x *CountObjectsRes) String() string

type CountSubjectsReq

type CountSubjectsReq struct {
	Domain          string `protobuf:"bytes,1,opt,name=domain,proto3" json:"domain,omitempty"`
	SubjectType     string `protobuf:"bytes,2,opt,name=subject_type,json=subjectType,proto3" json:"subject_type,omitempty"`
	SubjectRelation string `protobuf:"bytes,3,opt,name=subject_relation,json=subjectRelation,proto3" json:"subject_relation,omitempty"`
	Subject         string `protobuf:"bytes,4,opt,name=subject,proto3" json:"subject,omitempty"`
	Relation        string `protobuf:"bytes,5,opt,name=relation,proto3" json:"relation,omitempty"`
	Permission      string `protobuf:"bytes,6,opt,name=permission,proto3" json:"permission,omitempty"`
	Object          string `protobuf:"bytes,7,opt,name=object,proto3" json:"object,omitempty"`
	ObjectType      string `protobuf:"bytes,8,opt,name=object_type,json=objectType,proto3" json:"object_type,omitempty"`
	NextPageToken   string `protobuf:"bytes,9,opt,name=nextPageToken,proto3" json:"nextPageToken,omitempty"`
	// contains filtered or unexported fields
}

func (*CountSubjectsReq) Descriptor deprecated

func (*CountSubjectsReq) Descriptor() ([]byte, []int)

Deprecated: Use CountSubjectsReq.ProtoReflect.Descriptor instead.

func (*CountSubjectsReq) GetDomain

func (x *CountSubjectsReq) GetDomain() string

func (*CountSubjectsReq) GetNextPageToken

func (x *CountSubjectsReq) GetNextPageToken() string

func (*CountSubjectsReq) GetObject

func (x *CountSubjectsReq) GetObject() string

func (*CountSubjectsReq) GetObjectType

func (x *CountSubjectsReq) GetObjectType() string

func (*CountSubjectsReq) GetPermission

func (x *CountSubjectsReq) GetPermission() string

func (*CountSubjectsReq) GetRelation

func (x *CountSubjectsReq) GetRelation() string

func (*CountSubjectsReq) GetSubject

func (x *CountSubjectsReq) GetSubject() string

func (*CountSubjectsReq) GetSubjectRelation

func (x *CountSubjectsReq) GetSubjectRelation() string

func (*CountSubjectsReq) GetSubjectType

func (x *CountSubjectsReq) GetSubjectType() string

func (*CountSubjectsReq) ProtoMessage

func (*CountSubjectsReq) ProtoMessage()

func (*CountSubjectsReq) ProtoReflect

func (x *CountSubjectsReq) ProtoReflect() protoreflect.Message

func (*CountSubjectsReq) Reset

func (x *CountSubjectsReq) Reset()

func (*CountSubjectsReq) String

func (x *CountSubjectsReq) String() string

type CountSubjectsRes

type CountSubjectsRes struct {
	Count uint64 `protobuf:"varint,1,opt,name=count,proto3" json:"count,omitempty"`
	// contains filtered or unexported fields
}

func (*CountSubjectsRes) Descriptor deprecated

func (*CountSubjectsRes) Descriptor() ([]byte, []int)

Deprecated: Use CountSubjectsRes.ProtoReflect.Descriptor instead.

func (*CountSubjectsRes) GetCount

func (x *CountSubjectsRes) GetCount() uint64

func (*CountSubjectsRes) ProtoMessage

func (*CountSubjectsRes) ProtoMessage()

func (*CountSubjectsRes) ProtoReflect

func (x *CountSubjectsRes) ProtoReflect() protoreflect.Message

func (*CountSubjectsRes) Reset

func (x *CountSubjectsRes) Reset()

func (*CountSubjectsRes) String

func (x *CountSubjectsRes) String() string

type DeletePoliciesReq

type DeletePoliciesReq struct {
	DeletePoliciesReq []*DeletePolicyReq `protobuf:"bytes,1,rep,name=deletePoliciesReq,proto3" json:"deletePoliciesReq,omitempty"`
	// contains filtered or unexported fields
}

func (*DeletePoliciesReq) Descriptor deprecated

func (*DeletePoliciesReq) Descriptor() ([]byte, []int)

Deprecated: Use DeletePoliciesReq.ProtoReflect.Descriptor instead.

func (*DeletePoliciesReq) GetDeletePoliciesReq

func (x *DeletePoliciesReq) GetDeletePoliciesReq() []*DeletePolicyReq

func (*DeletePoliciesReq) ProtoMessage

func (*DeletePoliciesReq) ProtoMessage()

func (*DeletePoliciesReq) ProtoReflect

func (x *DeletePoliciesReq) ProtoReflect() protoreflect.Message

func (*DeletePoliciesReq) Reset

func (x *DeletePoliciesReq) Reset()

func (*DeletePoliciesReq) String

func (x *DeletePoliciesReq) String() string

type DeletePoliciesRes

type DeletePoliciesRes struct {
	Deleted bool `protobuf:"varint,1,opt,name=deleted,proto3" json:"deleted,omitempty"`
	// contains filtered or unexported fields
}

func (*DeletePoliciesRes) Descriptor deprecated

func (*DeletePoliciesRes) Descriptor() ([]byte, []int)

Deprecated: Use DeletePoliciesRes.ProtoReflect.Descriptor instead.

func (*DeletePoliciesRes) GetDeleted

func (x *DeletePoliciesRes) GetDeleted() bool

func (*DeletePoliciesRes) ProtoMessage

func (*DeletePoliciesRes) ProtoMessage()

func (*DeletePoliciesRes) ProtoReflect

func (x *DeletePoliciesRes) ProtoReflect() protoreflect.Message

func (*DeletePoliciesRes) Reset

func (x *DeletePoliciesRes) Reset()

func (*DeletePoliciesRes) String

func (x *DeletePoliciesRes) String() string

type DeletePolicyReq

type DeletePolicyReq struct {
	Domain          string `protobuf:"bytes,1,opt,name=domain,proto3" json:"domain,omitempty"`
	SubjectType     string `protobuf:"bytes,2,opt,name=subject_type,json=subjectType,proto3" json:"subject_type,omitempty"`
	SubjectRelation string `protobuf:"bytes,3,opt,name=subject_relation,json=subjectRelation,proto3" json:"subject_relation,omitempty"`
	SubjectKind     string `protobuf:"bytes,4,opt,name=subject_kind,json=subjectKind,proto3" json:"subject_kind,omitempty"`
	Subject         string `protobuf:"bytes,5,opt,name=subject,proto3" json:"subject,omitempty"`
	Relation        string `protobuf:"bytes,6,opt,name=relation,proto3" json:"relation,omitempty"`
	Permission      string `protobuf:"bytes,7,opt,name=permission,proto3" json:"permission,omitempty"`
	Object          string `protobuf:"bytes,8,opt,name=object,proto3" json:"object,omitempty"`
	ObjectKind      string `protobuf:"bytes,9,opt,name=object_kind,json=objectKind,proto3" json:"object_kind,omitempty"`
	ObjectType      string `protobuf:"bytes,10,opt,name=object_type,json=objectType,proto3" json:"object_type,omitempty"`
	// contains filtered or unexported fields
}

func (*DeletePolicyReq) Descriptor deprecated

func (*DeletePolicyReq) Descriptor() ([]byte, []int)

Deprecated: Use DeletePolicyReq.ProtoReflect.Descriptor instead.

func (*DeletePolicyReq) GetDomain

func (x *DeletePolicyReq) GetDomain() string

func (*DeletePolicyReq) GetObject

func (x *DeletePolicyReq) GetObject() string

func (*DeletePolicyReq) GetObjectKind

func (x *DeletePolicyReq) GetObjectKind() string

func (*DeletePolicyReq) GetObjectType

func (x *DeletePolicyReq) GetObjectType() string

func (*DeletePolicyReq) GetPermission

func (x *DeletePolicyReq) GetPermission() string

func (*DeletePolicyReq) GetRelation

func (x *DeletePolicyReq) GetRelation() string

func (*DeletePolicyReq) GetSubject

func (x *DeletePolicyReq) GetSubject() string

func (*DeletePolicyReq) GetSubjectKind

func (x *DeletePolicyReq) GetSubjectKind() string

func (*DeletePolicyReq) GetSubjectRelation

func (x *DeletePolicyReq) GetSubjectRelation() string

func (*DeletePolicyReq) GetSubjectType

func (x *DeletePolicyReq) GetSubjectType() string

func (*DeletePolicyReq) ProtoMessage

func (*DeletePolicyReq) ProtoMessage()

func (*DeletePolicyReq) ProtoReflect

func (x *DeletePolicyReq) ProtoReflect() protoreflect.Message

func (*DeletePolicyReq) Reset

func (x *DeletePolicyReq) Reset()

func (*DeletePolicyReq) String

func (x *DeletePolicyReq) String() string

type DeletePolicyRes

type DeletePolicyRes struct {
	Deleted bool `protobuf:"varint,1,opt,name=deleted,proto3" json:"deleted,omitempty"`
	// contains filtered or unexported fields
}

func (*DeletePolicyRes) Descriptor deprecated

func (*DeletePolicyRes) Descriptor() ([]byte, []int)

Deprecated: Use DeletePolicyRes.ProtoReflect.Descriptor instead.

func (*DeletePolicyRes) GetDeleted

func (x *DeletePolicyRes) GetDeleted() bool

func (*DeletePolicyRes) ProtoMessage

func (*DeletePolicyRes) ProtoMessage()

func (*DeletePolicyRes) ProtoReflect

func (x *DeletePolicyRes) ProtoReflect() protoreflect.Message

func (*DeletePolicyRes) Reset

func (x *DeletePolicyRes) Reset()

func (*DeletePolicyRes) String

func (x *DeletePolicyRes) String() string

type HealthInfo

type HealthInfo struct {
	// Status contains service status.
	Status string `json:"status"`

	// Version contains current service version.
	Version string `json:"version"`

	// Commit represents the git hash commit.
	Commit string `json:"commit"`

	// Description contains service description.
	Description string `json:"description"`

	// BuildTime contains service build time.
	BuildTime string `json:"build_time"`

	// InstanceID contains the ID of the current service instance
	InstanceID string `json:"instance_id"`
}

HealthInfo contains version endpoint response.

type IDProvider

type IDProvider interface {
	// ID generates the unique identifier.
	ID() (string, error)
}

IDProvider specifies an API for generating unique identifiers.

type IdentityReq

type IdentityReq struct {
	Token string `protobuf:"bytes,1,opt,name=token,proto3" json:"token,omitempty"`
	// contains filtered or unexported fields
}

func (*IdentityReq) Descriptor deprecated

func (*IdentityReq) Descriptor() ([]byte, []int)

Deprecated: Use IdentityReq.ProtoReflect.Descriptor instead.

func (*IdentityReq) GetToken

func (x *IdentityReq) GetToken() string

func (*IdentityReq) ProtoMessage

func (*IdentityReq) ProtoMessage()

func (*IdentityReq) ProtoReflect

func (x *IdentityReq) ProtoReflect() protoreflect.Message

func (*IdentityReq) Reset

func (x *IdentityReq) Reset()

func (*IdentityReq) String

func (x *IdentityReq) String() string

type IdentityRes

type IdentityRes struct {
	Id       string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`                             // IMPROVEMENT NOTE: change name from "id" to "subject" , sub in jwt = user id  + domain id //
	UserId   string `protobuf:"bytes,2,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"`       // user id
	DomainId string `protobuf:"bytes,3,opt,name=domain_id,json=domainId,proto3" json:"domain_id,omitempty"` // domain id
	// contains filtered or unexported fields
}

func (*IdentityRes) Descriptor deprecated

func (*IdentityRes) Descriptor() ([]byte, []int)

Deprecated: Use IdentityRes.ProtoReflect.Descriptor instead.

func (*IdentityRes) GetDomainId

func (x *IdentityRes) GetDomainId() string

func (*IdentityRes) GetId

func (x *IdentityRes) GetId() string

func (*IdentityRes) GetUserId

func (x *IdentityRes) GetUserId() string

func (*IdentityRes) ProtoMessage

func (*IdentityRes) ProtoMessage()

func (*IdentityRes) ProtoReflect

func (x *IdentityRes) ProtoReflect() protoreflect.Message

func (*IdentityRes) Reset

func (x *IdentityRes) Reset()

func (*IdentityRes) String

func (x *IdentityRes) String() string

type IssueReq

type IssueReq struct {
	UserId   string  `protobuf:"bytes,1,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"`
	DomainId *string `protobuf:"bytes,2,opt,name=domain_id,json=domainId,proto3,oneof" json:"domain_id,omitempty"`
	Type     uint32  `protobuf:"varint,3,opt,name=type,proto3" json:"type,omitempty"`
	// contains filtered or unexported fields
}

func (*IssueReq) Descriptor deprecated

func (*IssueReq) Descriptor() ([]byte, []int)

Deprecated: Use IssueReq.ProtoReflect.Descriptor instead.

func (*IssueReq) GetDomainId

func (x *IssueReq) GetDomainId() string

func (*IssueReq) GetType

func (x *IssueReq) GetType() uint32

func (*IssueReq) GetUserId

func (x *IssueReq) GetUserId() string

func (*IssueReq) ProtoMessage

func (*IssueReq) ProtoMessage()

func (*IssueReq) ProtoReflect

func (x *IssueReq) ProtoReflect() protoreflect.Message

func (*IssueReq) Reset

func (x *IssueReq) Reset()

func (*IssueReq) String

func (x *IssueReq) String() string

type ListObjectsReq

type ListObjectsReq struct {
	Domain          string `protobuf:"bytes,1,opt,name=domain,proto3" json:"domain,omitempty"`
	SubjectType     string `protobuf:"bytes,2,opt,name=subject_type,json=subjectType,proto3" json:"subject_type,omitempty"`
	SubjectRelation string `protobuf:"bytes,3,opt,name=subject_relation,json=subjectRelation,proto3" json:"subject_relation,omitempty"`
	Subject         string `protobuf:"bytes,4,opt,name=subject,proto3" json:"subject,omitempty"`
	Relation        string `protobuf:"bytes,5,opt,name=relation,proto3" json:"relation,omitempty"`
	Permission      string `protobuf:"bytes,6,opt,name=permission,proto3" json:"permission,omitempty"`
	Object          string `protobuf:"bytes,7,opt,name=object,proto3" json:"object,omitempty"`
	ObjectType      string `protobuf:"bytes,8,opt,name=object_type,json=objectType,proto3" json:"object_type,omitempty"`
	NextPageToken   string `protobuf:"bytes,9,opt,name=nextPageToken,proto3" json:"nextPageToken,omitempty"`
	Limit           uint64 `protobuf:"varint,10,opt,name=limit,proto3" json:"limit,omitempty"`
	// contains filtered or unexported fields
}

func (*ListObjectsReq) Descriptor deprecated

func (*ListObjectsReq) Descriptor() ([]byte, []int)

Deprecated: Use ListObjectsReq.ProtoReflect.Descriptor instead.

func (*ListObjectsReq) GetDomain

func (x *ListObjectsReq) GetDomain() string

func (*ListObjectsReq) GetLimit

func (x *ListObjectsReq) GetLimit() uint64

func (*ListObjectsReq) GetNextPageToken

func (x *ListObjectsReq) GetNextPageToken() string

func (*ListObjectsReq) GetObject

func (x *ListObjectsReq) GetObject() string

func (*ListObjectsReq) GetObjectType

func (x *ListObjectsReq) GetObjectType() string

func (*ListObjectsReq) GetPermission

func (x *ListObjectsReq) GetPermission() string

func (*ListObjectsReq) GetRelation

func (x *ListObjectsReq) GetRelation() string

func (*ListObjectsReq) GetSubject

func (x *ListObjectsReq) GetSubject() string

func (*ListObjectsReq) GetSubjectRelation

func (x *ListObjectsReq) GetSubjectRelation() string

func (*ListObjectsReq) GetSubjectType

func (x *ListObjectsReq) GetSubjectType() string

func (*ListObjectsReq) ProtoMessage

func (*ListObjectsReq) ProtoMessage()

func (*ListObjectsReq) ProtoReflect

func (x *ListObjectsReq) ProtoReflect() protoreflect.Message

func (*ListObjectsReq) Reset

func (x *ListObjectsReq) Reset()

func (*ListObjectsReq) String

func (x *ListObjectsReq) String() string

type ListObjectsRes

type ListObjectsRes struct {
	Policies      []string `protobuf:"bytes,1,rep,name=policies,proto3" json:"policies,omitempty"`
	NextPageToken string   `protobuf:"bytes,2,opt,name=nextPageToken,proto3" json:"nextPageToken,omitempty"`
	// contains filtered or unexported fields
}

func (*ListObjectsRes) Descriptor deprecated

func (*ListObjectsRes) Descriptor() ([]byte, []int)

Deprecated: Use ListObjectsRes.ProtoReflect.Descriptor instead.

func (*ListObjectsRes) GetNextPageToken

func (x *ListObjectsRes) GetNextPageToken() string

func (*ListObjectsRes) GetPolicies

func (x *ListObjectsRes) GetPolicies() []string

func (*ListObjectsRes) ProtoMessage

func (*ListObjectsRes) ProtoMessage()

func (*ListObjectsRes) ProtoReflect

func (x *ListObjectsRes) ProtoReflect() protoreflect.Message

func (*ListObjectsRes) Reset

func (x *ListObjectsRes) Reset()

func (*ListObjectsRes) String

func (x *ListObjectsRes) String() string

type ListPermissionsReq

type ListPermissionsReq struct {
	Domain            string   `protobuf:"bytes,1,opt,name=domain,proto3" json:"domain,omitempty"`
	SubjectType       string   `protobuf:"bytes,2,opt,name=subject_type,json=subjectType,proto3" json:"subject_type,omitempty"`
	SubjectRelation   string   `protobuf:"bytes,3,opt,name=subject_relation,json=subjectRelation,proto3" json:"subject_relation,omitempty"`
	Subject           string   `protobuf:"bytes,4,opt,name=subject,proto3" json:"subject,omitempty"`
	Object            string   `protobuf:"bytes,5,opt,name=object,proto3" json:"object,omitempty"`
	ObjectType        string   `protobuf:"bytes,6,opt,name=object_type,json=objectType,proto3" json:"object_type,omitempty"`
	FilterPermissions []string `protobuf:"bytes,7,rep,name=filter_permissions,json=filterPermissions,proto3" json:"filter_permissions,omitempty"`
	// contains filtered or unexported fields
}

func (*ListPermissionsReq) Descriptor deprecated

func (*ListPermissionsReq) Descriptor() ([]byte, []int)

Deprecated: Use ListPermissionsReq.ProtoReflect.Descriptor instead.

func (*ListPermissionsReq) GetDomain

func (x *ListPermissionsReq) GetDomain() string

func (*ListPermissionsReq) GetFilterPermissions

func (x *ListPermissionsReq) GetFilterPermissions() []string

func (*ListPermissionsReq) GetObject

func (x *ListPermissionsReq) GetObject() string

func (*ListPermissionsReq) GetObjectType

func (x *ListPermissionsReq) GetObjectType() string

func (*ListPermissionsReq) GetSubject

func (x *ListPermissionsReq) GetSubject() string

func (*ListPermissionsReq) GetSubjectRelation

func (x *ListPermissionsReq) GetSubjectRelation() string

func (*ListPermissionsReq) GetSubjectType

func (x *ListPermissionsReq) GetSubjectType() string

func (*ListPermissionsReq) ProtoMessage

func (*ListPermissionsReq) ProtoMessage()

func (*ListPermissionsReq) ProtoReflect

func (x *ListPermissionsReq) ProtoReflect() protoreflect.Message

func (*ListPermissionsReq) Reset

func (x *ListPermissionsReq) Reset()

func (*ListPermissionsReq) String

func (x *ListPermissionsReq) String() string

type ListPermissionsRes

type ListPermissionsRes struct {
	Domain          string   `protobuf:"bytes,1,opt,name=domain,proto3" json:"domain,omitempty"`
	SubjectType     string   `protobuf:"bytes,2,opt,name=subject_type,json=subjectType,proto3" json:"subject_type,omitempty"`
	SubjectRelation string   `protobuf:"bytes,3,opt,name=subject_relation,json=subjectRelation,proto3" json:"subject_relation,omitempty"`
	Subject         string   `protobuf:"bytes,4,opt,name=subject,proto3" json:"subject,omitempty"`
	Object          string   `protobuf:"bytes,5,opt,name=object,proto3" json:"object,omitempty"`
	ObjectType      string   `protobuf:"bytes,6,opt,name=object_type,json=objectType,proto3" json:"object_type,omitempty"`
	Permissions     []string `protobuf:"bytes,7,rep,name=permissions,proto3" json:"permissions,omitempty"`
	// contains filtered or unexported fields
}

func (*ListPermissionsRes) Descriptor deprecated

func (*ListPermissionsRes) Descriptor() ([]byte, []int)

Deprecated: Use ListPermissionsRes.ProtoReflect.Descriptor instead.

func (*ListPermissionsRes) GetDomain

func (x *ListPermissionsRes) GetDomain() string

func (*ListPermissionsRes) GetObject

func (x *ListPermissionsRes) GetObject() string

func (*ListPermissionsRes) GetObjectType

func (x *ListPermissionsRes) GetObjectType() string

func (*ListPermissionsRes) GetPermissions

func (x *ListPermissionsRes) GetPermissions() []string

func (*ListPermissionsRes) GetSubject

func (x *ListPermissionsRes) GetSubject() string

func (*ListPermissionsRes) GetSubjectRelation

func (x *ListPermissionsRes) GetSubjectRelation() string

func (*ListPermissionsRes) GetSubjectType

func (x *ListPermissionsRes) GetSubjectType() string

func (*ListPermissionsRes) ProtoMessage

func (*ListPermissionsRes) ProtoMessage()

func (*ListPermissionsRes) ProtoReflect

func (x *ListPermissionsRes) ProtoReflect() protoreflect.Message

func (*ListPermissionsRes) Reset

func (x *ListPermissionsRes) Reset()

func (*ListPermissionsRes) String

func (x *ListPermissionsRes) String() string

type ListSubjectsReq

type ListSubjectsReq struct {
	Domain          string `protobuf:"bytes,1,opt,name=domain,proto3" json:"domain,omitempty"`
	SubjectType     string `protobuf:"bytes,2,opt,name=subject_type,json=subjectType,proto3" json:"subject_type,omitempty"`
	SubjectRelation string `protobuf:"bytes,3,opt,name=subject_relation,json=subjectRelation,proto3" json:"subject_relation,omitempty"`
	Subject         string `protobuf:"bytes,4,opt,name=subject,proto3" json:"subject,omitempty"`
	Relation        string `protobuf:"bytes,5,opt,name=relation,proto3" json:"relation,omitempty"`
	Permission      string `protobuf:"bytes,6,opt,name=permission,proto3" json:"permission,omitempty"`
	Object          string `protobuf:"bytes,7,opt,name=object,proto3" json:"object,omitempty"`
	ObjectType      string `protobuf:"bytes,8,opt,name=object_type,json=objectType,proto3" json:"object_type,omitempty"`
	NextPageToken   string `protobuf:"bytes,9,opt,name=nextPageToken,proto3" json:"nextPageToken,omitempty"`
	Limit           uint64 `protobuf:"varint,10,opt,name=limit,proto3" json:"limit,omitempty"`
	// contains filtered or unexported fields
}

func (*ListSubjectsReq) Descriptor deprecated

func (*ListSubjectsReq) Descriptor() ([]byte, []int)

Deprecated: Use ListSubjectsReq.ProtoReflect.Descriptor instead.

func (*ListSubjectsReq) GetDomain

func (x *ListSubjectsReq) GetDomain() string

func (*ListSubjectsReq) GetLimit

func (x *ListSubjectsReq) GetLimit() uint64

func (*ListSubjectsReq) GetNextPageToken

func (x *ListSubjectsReq) GetNextPageToken() string

func (*ListSubjectsReq) GetObject

func (x *ListSubjectsReq) GetObject() string

func (*ListSubjectsReq) GetObjectType

func (x *ListSubjectsReq) GetObjectType() string

func (*ListSubjectsReq) GetPermission

func (x *ListSubjectsReq) GetPermission() string

func (*ListSubjectsReq) GetRelation

func (x *ListSubjectsReq) GetRelation() string

func (*ListSubjectsReq) GetSubject

func (x *ListSubjectsReq) GetSubject() string

func (*ListSubjectsReq) GetSubjectRelation

func (x *ListSubjectsReq) GetSubjectRelation() string

func (*ListSubjectsReq) GetSubjectType

func (x *ListSubjectsReq) GetSubjectType() string

func (*ListSubjectsReq) ProtoMessage

func (*ListSubjectsReq) ProtoMessage()

func (*ListSubjectsReq) ProtoReflect

func (x *ListSubjectsReq) ProtoReflect() protoreflect.Message

func (*ListSubjectsReq) Reset

func (x *ListSubjectsReq) Reset()

func (*ListSubjectsReq) String

func (x *ListSubjectsReq) String() string

type ListSubjectsRes

type ListSubjectsRes struct {
	Policies      []string `protobuf:"bytes,1,rep,name=policies,proto3" json:"policies,omitempty"`
	NextPageToken string   `protobuf:"bytes,2,opt,name=nextPageToken,proto3" json:"nextPageToken,omitempty"`
	// contains filtered or unexported fields
}

func (*ListSubjectsRes) Descriptor deprecated

func (*ListSubjectsRes) Descriptor() ([]byte, []int)

Deprecated: Use ListSubjectsRes.ProtoReflect.Descriptor instead.

func (*ListSubjectsRes) GetNextPageToken

func (x *ListSubjectsRes) GetNextPageToken() string

func (*ListSubjectsRes) GetPolicies

func (x *ListSubjectsRes) GetPolicies() []string

func (*ListSubjectsRes) ProtoMessage

func (*ListSubjectsRes) ProtoMessage()

func (*ListSubjectsRes) ProtoReflect

func (x *ListSubjectsRes) ProtoReflect() protoreflect.Message

func (*ListSubjectsRes) Reset

func (x *ListSubjectsRes) Reset()

func (*ListSubjectsRes) String

func (x *ListSubjectsRes) String() string

type RefreshReq

type RefreshReq struct {
	RefreshToken string  `protobuf:"bytes,1,opt,name=refresh_token,json=refreshToken,proto3" json:"refresh_token,omitempty"`
	DomainId     *string `protobuf:"bytes,2,opt,name=domain_id,json=domainId,proto3,oneof" json:"domain_id,omitempty"`
	// contains filtered or unexported fields
}

func (*RefreshReq) Descriptor deprecated

func (*RefreshReq) Descriptor() ([]byte, []int)

Deprecated: Use RefreshReq.ProtoReflect.Descriptor instead.

func (*RefreshReq) GetDomainId

func (x *RefreshReq) GetDomainId() string

func (*RefreshReq) GetRefreshToken

func (x *RefreshReq) GetRefreshToken() string

func (*RefreshReq) ProtoMessage

func (*RefreshReq) ProtoMessage()

func (*RefreshReq) ProtoReflect

func (x *RefreshReq) ProtoReflect() protoreflect.Message

func (*RefreshReq) Reset

func (x *RefreshReq) Reset()

func (*RefreshReq) String

func (x *RefreshReq) String() string

type Response

type Response interface {
	// Code returns HTTP response code.
	Code() int

	// Headers returns map of HTTP headers with their values.
	Headers() map[string]string

	// Empty indicates if HTTP response has content.
	Empty() bool
}

Response contains HTTP response specific methods.

type Token

type Token struct {
	AccessToken  string  `protobuf:"bytes,1,opt,name=accessToken,proto3" json:"accessToken,omitempty"`
	RefreshToken *string `protobuf:"bytes,2,opt,name=refreshToken,proto3,oneof" json:"refreshToken,omitempty"`
	AccessType   string  `protobuf:"bytes,3,opt,name=accessType,proto3" json:"accessType,omitempty"`
	// contains filtered or unexported fields
}

If a token is not carrying any information itself, the type field can be used to determine how to validate the token. Also, different tokens can be encoded in different ways.

func (*Token) Descriptor deprecated

func (*Token) Descriptor() ([]byte, []int)

Deprecated: Use Token.ProtoReflect.Descriptor instead.

func (*Token) GetAccessToken

func (x *Token) GetAccessToken() string

func (*Token) GetAccessType

func (x *Token) GetAccessType() string

func (*Token) GetRefreshToken

func (x *Token) GetRefreshToken() string

func (*Token) ProtoMessage

func (*Token) ProtoMessage()

func (*Token) ProtoReflect

func (x *Token) ProtoReflect() protoreflect.Message

func (*Token) Reset

func (x *Token) Reset()

func (*Token) String

func (x *Token) String() string

type UnimplementedAuthServiceServer

type UnimplementedAuthServiceServer struct {
}

UnimplementedAuthServiceServer must be embedded to have forward compatible implementations.

func (UnimplementedAuthServiceServer) AddPolicies

func (UnimplementedAuthServiceServer) AddPolicy

func (UnimplementedAuthServiceServer) Authorize

func (UnimplementedAuthServiceServer) CountObjects

func (UnimplementedAuthServiceServer) CountSubjects

func (UnimplementedAuthServiceServer) DeletePolicies

func (UnimplementedAuthServiceServer) DeletePolicy

func (UnimplementedAuthServiceServer) Identify

func (UnimplementedAuthServiceServer) Issue

func (UnimplementedAuthServiceServer) ListAllObjects

func (UnimplementedAuthServiceServer) ListAllSubjects

func (UnimplementedAuthServiceServer) ListObjects

func (UnimplementedAuthServiceServer) ListPermissions

func (UnimplementedAuthServiceServer) ListSubjects

func (UnimplementedAuthServiceServer) Refresh

type UnimplementedAuthzServiceServer

type UnimplementedAuthzServiceServer struct {
}

UnimplementedAuthzServiceServer must be embedded to have forward compatible implementations.

func (UnimplementedAuthzServiceServer) Authorize

type UnsafeAuthServiceServer

type UnsafeAuthServiceServer interface {
	// contains filtered or unexported methods
}

UnsafeAuthServiceServer may be embedded to opt out of forward compatibility for this service. Use of this interface is not recommended, as added methods to AuthServiceServer will result in compilation errors.

type UnsafeAuthzServiceServer

type UnsafeAuthzServiceServer interface {
	// contains filtered or unexported methods
}

UnsafeAuthzServiceServer may be embedded to opt out of forward compatibility for this service. Use of this interface is not recommended, as added methods to AuthzServiceServer will result in compilation errors.

Directories

Path Synopsis
api
Package api contains implementation of Auth service HTTP API.
Package api contains implementation of Auth service HTTP API.
api/grpc
Package grpc contains implementation of Auth service gRPC API.
Package grpc contains implementation of Auth service gRPC API.
jwt
postgres
Package postgres contains Key repository implementations using PostgreSQL as the underlying database.
Package postgres contains Key repository implementations using PostgreSQL as the underlying database.
tracing
Package tracing provides tracing instrumentation for Magistrala Users service.
Package tracing provides tracing instrumentation for Magistrala Users service.
Package bootstrap contains the domain concept definitions needed to support Magistrala bootstrap service functionality.
Package bootstrap contains the domain concept definitions needed to support Magistrala bootstrap service functionality.
api
Package api contains implementation of bootstrap service HTTP API.
Package api contains implementation of bootstrap service HTTP API.
events
Package events provides the domain concept definitions needed to support bootstrap events functionality.
Package events provides the domain concept definitions needed to support bootstrap events functionality.
events/consumer
Package consumer contains events consumer for events published by Bootstrap service.
Package consumer contains events consumer for events published by Bootstrap service.
events/producer
Package producer contains the domain events needed to support event sourcing of Bootstrap service actions.
Package producer contains the domain events needed to support event sourcing of Bootstrap service actions.
mocks
Package mocks contains mocks for testing purposes.
Package mocks contains mocks for testing purposes.
postgres
Package postgres contains repository implementations using PostgreSQL as the underlying database.
Package postgres contains repository implementations using PostgreSQL as the underlying database.
tracing
Package tracing provides tracing instrumentation for Magistrala Users service.
Package tracing provides tracing instrumentation for Magistrala Users service.
Package certs contains the domain concept definitions needed to support Magistrala certs service functionality.
Package certs contains the domain concept definitions needed to support Magistrala certs service functionality.
api
Package api contains implementation of certs service HTTP API.
Package api contains implementation of certs service HTTP API.
mocks
Package mocks contains mocks for testing purposes.
Package mocks contains mocks for testing purposes.
pki
Package pki contains the domain concept definitions needed to support Magistrala Certs service functionality.
Package pki contains the domain concept definitions needed to support Magistrala Certs service functionality.
postgres
Package postgres contains repository implementations using PostgreSQL as the underlying database.
Package postgres contains repository implementations using PostgreSQL as the underlying database.
tracing
Package tracing provides tracing instrumentation for Magistrala Users Groups service.
Package tracing provides tracing instrumentation for Magistrala Users Groups service.
Package cli contains the domain concept definitions needed to support Magistrala CLI functionality.
Package cli contains the domain concept definitions needed to support Magistrala CLI functionality.
cmd
bootstrap
Package main contains bootstrap main function to start the bootstrap service.
Package main contains bootstrap main function to start the bootstrap service.
cassandra-reader
Package main contains cassandra-reader main function to start the cassandra-reader service.
Package main contains cassandra-reader main function to start the cassandra-reader service.
cassandra-writer
Package main contains cassandra-writer main function to start the cassandra-writer service.
Package main contains cassandra-writer main function to start the cassandra-writer service.
certs
Package main contains certs main function to start the certs service.
Package main contains certs main function to start the certs service.
cli
Package main contains cli main function to run the cli.
Package main contains cli main function to run the cli.
coap
Package main contains coap-adapter main function to start the coap-adapter service.
Package main contains coap-adapter main function to start the coap-adapter service.
http
Package main contains http-adapter main function to start the http-adapter service.
Package main contains http-adapter main function to start the http-adapter service.
influxdb-reader
Package main contains influxdb-reader main function to start the influxdb-reader service.
Package main contains influxdb-reader main function to start the influxdb-reader service.
influxdb-writer
Package main contains influxdb-writer main function to start the influxdb-writer service.
Package main contains influxdb-writer main function to start the influxdb-writer service.
invitations
Package main contains invitations main function to start the invitations service.
Package main contains invitations main function to start the invitations service.
lora
Package main contains lora main function to start the lora service.
Package main contains lora main function to start the lora service.
mongodb-reader
Package main contains mongodb-reader main function to start the mongodb-reader service.
Package main contains mongodb-reader main function to start the mongodb-reader service.
mongodb-writer
Package main contains mongodb-writer main function to start the mongodb-writer service.
Package main contains mongodb-writer main function to start the mongodb-writer service.
mqtt
Package main contains mqtt-adapter main function to start the mqtt-adapter service.
Package main contains mqtt-adapter main function to start the mqtt-adapter service.
opcua
Package main contains opcua-adapter main function to start the opcua-adapter service.
Package main contains opcua-adapter main function to start the opcua-adapter service.
postgres-reader
Package main contains postgres-reader main function to start the postgres-reader service.
Package main contains postgres-reader main function to start the postgres-reader service.
postgres-writer
Package main contains postgres-writer main function to start the postgres-writer service.
Package main contains postgres-writer main function to start the postgres-writer service.
provision
Package main contains provision main function to start the provision service.
Package main contains provision main function to start the provision service.
smpp-notifier
Package main contains smpp-notifier main function to start the smpp-notifier service.
Package main contains smpp-notifier main function to start the smpp-notifier service.
smtp-notifier
Package main contains smtp-notifier main function to start the smtp-notifier service.
Package main contains smtp-notifier main function to start the smtp-notifier service.
things
Package main contains things main function to start the things service.
Package main contains things main function to start the things service.
timescale-reader
Package main contains timescale-reader main function to start the timescale-reader service.
Package main contains timescale-reader main function to start the timescale-reader service.
timescale-writer
Package main contains timescale-writer main function to start the timescale-writer service.
Package main contains timescale-writer main function to start the timescale-writer service.
twins
Package main contains twins main function to start the twins service.
Package main contains twins main function to start the twins service.
users
Package main contains users main function to start the users service.
Package main contains users main function to start the users service.
ws
Package main contains websocket-adapter main function to start the websocket-adapter service.
Package main contains websocket-adapter main function to start the websocket-adapter service.
Package coap contains the domain concept definitions needed to support Magistrala CoAP adapter service functionality.
Package coap contains the domain concept definitions needed to support Magistrala CoAP adapter service functionality.
api
Package api contains API-related concerns: endpoint definitions, middlewares and all resource representations.
Package api contains API-related concerns: endpoint definitions, middlewares and all resource representations.
tracing
Package tracing provides tracing instrumentation for Magistrala WebSocket adapter service.
Package tracing provides tracing instrumentation for Magistrala WebSocket adapter service.
Package consumers contain the domain concept definitions needed to support Magistrala consumer services functionality.
Package consumers contain the domain concept definitions needed to support Magistrala consumer services functionality.
notifiers
Package notifiers contain the domain concept definitions needed to support Magistrala notifications functionality.
Package notifiers contain the domain concept definitions needed to support Magistrala notifications functionality.
notifiers/api
Package api contains API-related concerns: endpoint definitions, middlewares and all resource representations.
Package api contains API-related concerns: endpoint definitions, middlewares and all resource representations.
notifiers/mocks
Package mocks contains mocks for testing purposes.
Package mocks contains mocks for testing purposes.
notifiers/postgres
Package postgres contains repository implementations using PostgreSQL as the underlying database.
Package postgres contains repository implementations using PostgreSQL as the underlying database.
notifiers/smpp
Package smpp contains the domain concept definitions needed to support Magistrala SMS notifications.
Package smpp contains the domain concept definitions needed to support Magistrala SMS notifications.
notifiers/smtp
Package smtp contains the domain concept definitions needed to support Magistrala SMTP notifications.
Package smtp contains the domain concept definitions needed to support Magistrala SMTP notifications.
notifiers/tracing
Package tracing provides tracing instrumentation for Magistrala WebSocket adapter service.
Package tracing provides tracing instrumentation for Magistrala WebSocket adapter service.
writers
Package writers contain the domain concept definitions needed to support Magistrala writer services functionality.
Package writers contain the domain concept definitions needed to support Magistrala writer services functionality.
writers/api
Package api contains API-related concerns: endpoint definitions, middlewares and all resource representations.
Package api contains API-related concerns: endpoint definitions, middlewares and all resource representations.
writers/cassandra
Package cassandra contains the domain concept definitions needed to support Magistrala Cassandra writer service.
Package cassandra contains the domain concept definitions needed to support Magistrala Cassandra writer service.
writers/influxdb
Package influxdb contains the domain concept definitions needed to support Magistrala InfluxDB writer service functionality.
Package influxdb contains the domain concept definitions needed to support Magistrala InfluxDB writer service functionality.
writers/mongodb
Package mongodb contains the domain concept definitions needed to support Magistrala MondoDB writer service functionality.
Package mongodb contains the domain concept definitions needed to support Magistrala MondoDB writer service functionality.
writers/postgres
Package postgres contains repository implementations using Postgres as the underlying database.
Package postgres contains repository implementations using Postgres as the underlying database.
writers/timescale
Package timescale contains repository implementations using Timescale as the underlying database.
Package timescale contains repository implementations using Timescale as the underlying database.
Package http contains the domain concept definitions needed to support Magistrala HTTP Adapter functionality.
Package http contains the domain concept definitions needed to support Magistrala HTTP Adapter functionality.
api
Package api contains API-related concerns: endpoint definitions, middlewares and all resource representations.
Package api contains API-related concerns: endpoint definitions, middlewares and all resource representations.
api
Package api contains commonly used constants and functions for the HTTP endpoints.
Package api contains commonly used constants and functions for the HTTP endpoints.
clients
Package clients contains the domain concept definitions needed to support Magistrala clients functionality for example: postgres, redis, grpc, jaeger.
Package clients contains the domain concept definitions needed to support Magistrala clients functionality for example: postgres, redis, grpc, jaeger.
clients/cassandra
Package cassandra contains the domain concept definitions needed to support Magistrala Cassandra database functionality.
Package cassandra contains the domain concept definitions needed to support Magistrala Cassandra database functionality.
clients/influxdb
Package influxdb contains the domain concept definitions needed to support Magistrala InfluxDB database functionality.
Package influxdb contains the domain concept definitions needed to support Magistrala InfluxDB database functionality.
clients/jaeger
Package jaeger contains the domain concept definitions needed to support Magistrala Jaeger functionality.
Package jaeger contains the domain concept definitions needed to support Magistrala Jaeger functionality.
clients/mongo
Package mongodb contains the domain concept definitions needed to support Magistrala Mongo database functionality.
Package mongodb contains the domain concept definitions needed to support Magistrala Mongo database functionality.
clients/postgres
Package postgres contains the domain concept definitions needed to support Magistrala PostgreSQL database functionality.
Package postgres contains the domain concept definitions needed to support Magistrala PostgreSQL database functionality.
clients/redis
Package redis contains the domain concept definitions needed to support Magistrala redis cache functionality.
Package redis contains the domain concept definitions needed to support Magistrala redis cache functionality.
email
Package email contains the domain concept definitions needed to support Magistrala email functionality.
Package email contains the domain concept definitions needed to support Magistrala email functionality.
groups/api
Package api contains API-related concerns: endpoint definitions, middlewares and all resource representations.
Package api contains API-related concerns: endpoint definitions, middlewares and all resource representations.
groups/events
Package events contains event source Redis client implementation.
Package events contains event source Redis client implementation.
groups/postgres
Package postgres contains the database implementation of groups repository layer.
Package postgres contains the database implementation of groups repository layer.
groups/tracing
Package tracing provides tracing instrumentation for Magistrala Users Groups service.
Package tracing provides tracing instrumentation for Magistrala Users Groups service.
server/coap
Package coap contains the CoAP server implementation.
Package coap contains the CoAP server implementation.
server/grpc
Package grpc contains the gRPC server implementation.
Package grpc contains the gRPC server implementation.
server/http
Package http contains the HTTP server implementation.
Package http contains the HTTP server implementation.
Package invitations provides the API to manage invitations.
Package invitations provides the API to manage invitations.
api
middleware
Package middleware contains the middleware for the invitations service.
Package middleware contains the middleware for the invitations service.
mocks
Package mocks provides a mock implementation of the invitations repository.
Package mocks provides a mock implementation of the invitations repository.
postgres
Package postgres provides a postgres implementation of the invitations repository.
Package postgres provides a postgres implementation of the invitations repository.
Package logger contains logger API definition, wrapper that can be used around any other logger.
Package logger contains logger API definition, wrapper that can be used around any other logger.
Package lora contains the domain concept definitions needed to support Magistrala LoRa service functionality.
Package lora contains the domain concept definitions needed to support Magistrala LoRa service functionality.
api
Package api contains API-related concerns: endpoint definitions, middlewares and all resource representations.
Package api contains API-related concerns: endpoint definitions, middlewares and all resource representations.
events
Package events provides the domain concept definitions needed to support lora events functionality.
Package events provides the domain concept definitions needed to support lora events functionality.
mocks
Package mocks contains mocks for testing purposes.
Package mocks contains mocks for testing purposes.
mqtt
Package mqtt contains the domain concept definitions needed to support Magistrala MQTT adapter functionality.
Package mqtt contains the domain concept definitions needed to support Magistrala MQTT adapter functionality.
Package mqtt contains the domain concept definitions needed to support Magistrala MQTT service functionality.
Package mqtt contains the domain concept definitions needed to support Magistrala MQTT service functionality.
events
Package events provides the domain concept definitions needed to support mqtt events functionality.
Package events provides the domain concept definitions needed to support mqtt events functionality.
mocks
Package mocks contains mocks for testing purposes.
Package mocks contains mocks for testing purposes.
tracing
Package tracing provides tracing instrumentation for Magistrala MQTT adapter service.
Package tracing provides tracing instrumentation for Magistrala MQTT adapter service.
Package opcua contains OPC-UA server implementation.
Package opcua contains OPC-UA server implementation.
api
Package api contains API-related concerns: endpoint definitions, middlewares and all resource representations.
Package api contains API-related concerns: endpoint definitions, middlewares and all resource representations.
db
Package db contains the database implementation of opcua repository layer.
Package db contains the database implementation of opcua repository layer.
events
Package events provides the domain concept definitions needed to support opcua events functionality.
Package events provides the domain concept definitions needed to support opcua events functionality.
gopcua
Package gopcua contains the OPC-UA client implementation.
Package gopcua contains the OPC-UA client implementation.
pkg
Package pkg contains library packages used by Magistrala services and external services that integrate with Magistrala.
Package pkg contains library packages used by Magistrala services and external services that integrate with Magistrala.
auth
Package auth contains the domain concept definitions needed to support Magistrala auth functionality.
Package auth contains the domain concept definitions needed to support Magistrala auth functionality.
clients
Package clients contains the domain concept definitions needed to support Magistrala clients functionality.
Package clients contains the domain concept definitions needed to support Magistrala clients functionality.
clients/postgres
Package postgres contains the database implementation of clients repository layer.
Package postgres contains the database implementation of clients repository layer.
errors
Package errors contains Magistrala errors definitions.
Package errors contains Magistrala errors definitions.
events/nats
Package redis contains the domain concept definitions needed to support Magistrala redis events source service functionality.
Package redis contains the domain concept definitions needed to support Magistrala redis events source service functionality.
events/rabbitmq
Package redis contains the domain concept definitions needed to support Magistrala redis events source service functionality.
Package redis contains the domain concept definitions needed to support Magistrala redis events source service functionality.
events/redis
Package redis contains the domain concept definitions needed to support Magistrala redis events source service functionality.
Package redis contains the domain concept definitions needed to support Magistrala redis events source service functionality.
groups
Package groups contains the domain concept definitions needed to support Magistrala groups functionality.
Package groups contains the domain concept definitions needed to support Magistrala groups functionality.
groups/mocks
Package mocks contains mocks for testing purposes.
Package mocks contains mocks for testing purposes.
messaging/mqtt
Package mqtt hold the implementation of the Publisher and PubSub interfaces for the MQTT messaging system, the internal messaging broker of the Magistrala IoT platform.
Package mqtt hold the implementation of the Publisher and PubSub interfaces for the MQTT messaging system, the internal messaging broker of the Magistrala IoT platform.
messaging/nats
Package nats hold the implementation of the Publisher and PubSub interfaces for the NATS messaging system, the internal messaging broker of the Magistrala IoT platform.
Package nats hold the implementation of the Publisher and PubSub interfaces for the NATS messaging system, the internal messaging broker of the Magistrala IoT platform.
messaging/nats/tracing
Package tracing provides tracing instrumentation for Magistrala things policies service.
Package tracing provides tracing instrumentation for Magistrala things policies service.
messaging/rabbitmq
Package rabbitmq holds the implementation of the Publisher and PubSub interfaces for the RabbitMQ messaging system, the internal messaging broker of the Magistrala IoT platform.
Package rabbitmq holds the implementation of the Publisher and PubSub interfaces for the RabbitMQ messaging system, the internal messaging broker of the Magistrala IoT platform.
messaging/rabbitmq/tracing
Package tracing provides tracing instrumentation for Magistrala things policies service.
Package tracing provides tracing instrumentation for Magistrala things policies service.
messaging/tracing
Package tracing provides tracing instrumentation for Magistrala things policies service.
Package tracing provides tracing instrumentation for Magistrala things policies service.
oauth2
Package oauth2 contains the domain concept definitions needed to support Magistrala ui service OAuth2 functionality.
Package oauth2 contains the domain concept definitions needed to support Magistrala ui service OAuth2 functionality.
oauth2/google
Package google contains the domain concept definitions needed to support Magistrala services for Google OAuth2 functionality.
Package google contains the domain concept definitions needed to support Magistrala services for Google OAuth2 functionality.
sdk/go
Package sdk contains Magistrala SDK.
Package sdk contains Magistrala SDK.
transformers
Package transformers contains the domain concept definitions needed to support Magistrala transformer services functionality.
Package transformers contains the domain concept definitions needed to support Magistrala transformer services functionality.
transformers/json
Package json contains JSON transformer.
Package json contains JSON transformer.
transformers/senml
Package senml contains SenML transformer.
Package senml contains SenML transformer.
ulid
Package ulid contains ULID generator.
Package ulid contains ULID generator.
uuid
Package uuid contains UUID generator.
Package uuid contains UUID generator.
Package provision contains domain concept definitions needed to support Provision service feature, i.e.
Package provision contains domain concept definitions needed to support Provision service feature, i.e.
api
Package api contains API-related concerns: endpoint definitions, middlewares and all resource representations.
Package api contains API-related concerns: endpoint definitions, middlewares and all resource representations.
Package readers provides a set of readers for various formats.
Package readers provides a set of readers for various formats.
api
Package api contains API-related concerns: endpoint definitions, middlewares and all resource representations.
Package api contains API-related concerns: endpoint definitions, middlewares and all resource representations.
cassandra
Package cassandra contains Cassandra specific reader implementation.
Package cassandra contains Cassandra specific reader implementation.
influxdb
Package influxdb contains the domain concept definitions needed to support Magistrala InfluxDB reader service functionality.
Package influxdb contains the domain concept definitions needed to support Magistrala InfluxDB reader service functionality.
mocks
Package mocks contains mocks for testing purposes.
Package mocks contains mocks for testing purposes.
mongodb
Package mongodb contains the domain concept definitions needed to support Magistrala MondoDB reader service functionality.
Package mongodb contains the domain concept definitions needed to support Magistrala MondoDB reader service functionality.
postgres
Package postgres contains repository implementations using Postgres as the underlying database.
Package postgres contains repository implementations using Postgres as the underlying database.
timescale
Package timescale contains repository implementations using Timescale as the underlying database.
Package timescale contains repository implementations using Timescale as the underlying database.
Package things contains the domain concept definitions needed to support Magistrala things service functionality.
Package things contains the domain concept definitions needed to support Magistrala things service functionality.
api
Package api contains API-related concerns: endpoint definitions, middlewares and all resource representations.
Package api contains API-related concerns: endpoint definitions, middlewares and all resource representations.
api/grpc
Package grpc contains implementation of Auth service gRPC API.
Package grpc contains implementation of Auth service gRPC API.
cache
Package cache contains the domain concept definitions needed to support Magistrala things cache service functionality.
Package cache contains the domain concept definitions needed to support Magistrala things cache service functionality.
events
Package events provides the domain concept definitions needed to support things clients events functionality.
Package events provides the domain concept definitions needed to support things clients events functionality.
mocks
Package mocks contains mocks for testing purposes.
Package mocks contains mocks for testing purposes.
postgres
Package postgres contains the database implementation of clients repository layer.
Package postgres contains the database implementation of clients repository layer.
standalone
Package standalone contains implementation for auth service in single-user scenario.
Package standalone contains implementation for auth service in single-user scenario.
tracing
Package tracing provides tracing instrumentation for Magistrala things clients service.
Package tracing provides tracing instrumentation for Magistrala things clients service.
Package tools contains tools for Magistrala.
Package tools contains tools for Magistrala.
e2e
Package e2e contains entry point for end-to-end tests.
Package e2e contains entry point for end-to-end tests.
e2e/cmd
Package main contains e2e tool for testing Magistrala.
Package main contains e2e tool for testing Magistrala.
mqtt-bench
Package bench contains benchmarking tool for MQTT broker.
Package bench contains benchmarking tool for MQTT broker.
mqtt-bench/cmd
Package main contains the entry point of the mqtt-bench tool.
Package main contains the entry point of the mqtt-bench tool.
provision
Package provision is a simple utility to create a list of channels and things connected to these channels with possibility to create certificates for mTLS use case.
Package provision is a simple utility to create a list of channels and things connected to these channels with possibility to create certificates for mTLS use case.
provision/cmd
Package main contains entry point for provisioning tool.
Package main contains entry point for provisioning tool.
Package twins contains the domain concept definitions needed to support Magistrala twins service functionality.
Package twins contains the domain concept definitions needed to support Magistrala twins service functionality.
api
Package api contains API-related concerns: endpoint definitions, middlewares and all resource representations.
Package api contains API-related concerns: endpoint definitions, middlewares and all resource representations.
api/http
Package http contains implementation of kit service HTTP API.
Package http contains implementation of kit service HTTP API.
events
Package events provides the domain concept definitions needed to support twins clients events functionality.
Package events provides the domain concept definitions needed to support twins clients events functionality.
mocks
Package mocks contains mocks for testing purposes.
Package mocks contains mocks for testing purposes.
mongodb
Package mongodb contains repository implementations using MongoDB as the underlying database.
Package mongodb contains repository implementations using MongoDB as the underlying database.
tracing
Package tracing contains middlewares that will add spans to existing traces.
Package tracing contains middlewares that will add spans to existing traces.
Package users contains the domain concept definitions needed to support Magistrala users service functionality.
Package users contains the domain concept definitions needed to support Magistrala users service functionality.
api
Package api contains API-related concerns: endpoint definitions, middlewares and all resource representations.
Package api contains API-related concerns: endpoint definitions, middlewares and all resource representations.
emailer
Package emailer contains the domain concept definitions needed to support Magistrala users email service functionality.
Package emailer contains the domain concept definitions needed to support Magistrala users email service functionality.
events
Package events provides the domain concept definitions needed to support Magistrala users service functionality.
Package events provides the domain concept definitions needed to support Magistrala users service functionality.
hasher
Package hasher contains the domain concept definitions needed to support Magistrala users password hasher sub-service functionality.
Package hasher contains the domain concept definitions needed to support Magistrala users password hasher sub-service functionality.
mocks
Package mocks contains mocks for testing purposes.
Package mocks contains mocks for testing purposes.
postgres
Package postgres contains the database implementation of clients repository layer.
Package postgres contains the database implementation of clients repository layer.
tracing
Package tracing provides tracing instrumentation for Magistrala Users service.
Package tracing provides tracing instrumentation for Magistrala Users service.
ws
Package ws provides domain concept definitions required to support Magistrala WebSocket adapter service functionality.
Package ws provides domain concept definitions required to support Magistrala WebSocket adapter service functionality.
api
Package api contains API-related concerns: endpoint definitions, middlewares and all resource representations.
Package api contains API-related concerns: endpoint definitions, middlewares and all resource representations.
tracing
Package tracing provides tracing instrumentation for Magistrala WebSocket adapter service.
Package tracing provides tracing instrumentation for Magistrala WebSocket adapter service.

Jump to

Keyboard shortcuts

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