Directories ¶
Path | Synopsis |
---|---|
cmd
|
|
agent
Package main contains the top-level code for the Phobos org agent.
|
Package main contains the top-level code for the Phobos org agent. |
apiserver
Package main is the entrypoint to the API.
|
Package main is the entrypoint to the API. |
job
Package main package
|
Package main package |
internal
|
|
agent
Package agent provides the agent that will claim and run the jobs.
|
Package agent provides the agent that will claim and run the jobs. |
agent/jobdispatcher
Package jobdispatcher package
|
Package jobdispatcher package |
agent/jobdispatcher/docker
Package docker package
|
Package docker package |
agent/jobdispatcher/ecs
Package ecs package
|
Package ecs package |
agent/jobdispatcher/kubernetes
Package kubernetes package
|
Package kubernetes package |
agent/jobdispatcher/kubernetes/configurer
Package configurer package
|
Package configurer package |
agent/jobdispatcher/kubernetes/configurer/eks
Package eks package
|
Package eks package |
agent/jobdispatcher/local
Package local package
|
Package local package |
agent/types
Package types provides additional types used by different job dispatchers
|
Package types provides additional types used by different job dispatchers |
api
Package api contains the client-facing layers, such as, the RESTful endpoints where clients can interact with the API.
|
Package api contains the client-facing layers, such as, the RESTful endpoints where clients can interact with the API. |
api/controllers
Package controllers adds support for RESTful endpoints.
|
Package controllers adds support for RESTful endpoints. |
api/graphql
Package graphql package
|
Package graphql package |
api/graphql/loader
Package loader package
|
Package loader package |
api/graphql/resolver
Package resolver contains functionality for interacting with the API via GraphQL.
|
Package resolver contains functionality for interacting with the API via GraphQL. |
api/graphql/schema
Package schema contains all of the Schema Definition Files (abbreviated SDL) which define this API.
|
Package schema contains all of the Schema Definition Files (abbreviated SDL) which define this API. |
api/grpc
Package grpc implements gRPC functionality.
|
Package grpc implements gRPC functionality. |
api/grpc/reader
Package reader implements a size-limited reader for uploading templates of multiple kinds.
|
Package reader implements a size-limited reader for uploading templates of multiple kinds. |
api/grpc/servers
Package servers implements the gRPC servers.
|
Package servers implements the gRPC servers. |
api/middleware
Package middleware allows adding custom middleware(s) to the RESTful API, such as, JWT based authentication.
|
Package middleware allows adding custom middleware(s) to the RESTful API, such as, JWT based authentication. |
api/response
Package response providers support for returning http responses
|
Package response providers support for returning http responses |
api/urn
Package urn provides the PRN (Phobos Resource Name) functionalities.
|
Package urn provides the PRN (Phobos Resource Name) functionalities. |
apiserver
Package apiserver is used to initialize the api
|
Package apiserver is used to initialize the api |
apiserver/config
Package config contains the configuration for the API.
|
Package config contains the configuration for the API. |
asynctask
Package asynctask allows running tasks asynchronously.
|
Package asynctask allows running tasks asynchronously. |
auth
Package auth authenticates and authorizes a subject attempting to access API resources.
|
Package auth authenticates and authorizes a subject attempting to access API resources. |
db
Package db encapsulates all the logic needed to access information from the DB.
|
Package db encapsulates all the logic needed to access information from the DB. |
email
Package email supports sending emails.
|
Package email supports sending emails. |
email/builder
Package builder handles building email templates
|
Package builder handles building email templates |
email/plunk
Package plunk defines the plunk email plugin
|
Package plunk defines the plunk email plugin |
email/preview
Package main is used to preview emails during development
|
Package main is used to preview emails during development |
email/ses
Package ses defines the ses email plugin
|
Package ses defines the ses email plugin |
email/smtp
Package smtp defines the smtp email plugin
|
Package smtp defines the smtp email plugin |
events
Package events supports subscribing to database events.
|
Package events supports subscribing to database events. |
gid
Package gid package
|
Package gid package |
http
Package http package
|
Package http package |
jobexecutor
Package jobexecutor provides the functionality to execute a job
|
Package jobexecutor provides the functionality to execute a job |
jobexecutor/client
Package client is the gateway for the job executor to interface with the Phobos API.
|
Package client is the gateway for the job executor to interface with the Phobos API. |
jobexecutor/volume
Package volume is used to mount volumes inside the job executor.
|
Package volume is used to mount volumes inside the job executor. |
jobexecutor/volume/vcs
Package vcs handles the mounting of VCS volumes (repositories).
|
Package vcs handles the mounting of VCS volumes (repositories). |
limits
Package limits package
|
Package limits package |
logstream
Package logstream provides functionality for saving and retrieving logs
|
Package logstream provides functionality for saving and retrieving logs |
metric
Package metric contains functionality about Prometheus metrics including support for a histogram and a simple counter.
|
Package metric contains functionality about Prometheus metrics including support for a histogram and a simple counter. |
models
Package models defines Phobos resources and their properties as structs.
|
Package models defines Phobos resources and their properties as structs. |
plugin
Package plugin defines a plugin store the API uses including, an object store, rate limiting, etc.
|
Package plugin defines a plugin store the API uses including, an object store, rate limiting, etc. |
plugin/email
Package email supports sending emails.
|
Package email supports sending emails. |
semver
Package semver package
|
Package semver package |
services/activityevent
Package activityevent provides functionality for the activity events which are used to track changes to Phobos resources.
|
Package activityevent provides functionality for the activity events which are used to track changes to Phobos resources. |
services/agent
Package agent contains all functionalities related to Phobos agents, which are responsible for claiming and running jobs.
|
Package agent contains all functionalities related to Phobos agents, which are responsible for claiming and running jobs. |
services/approvalrule
Package approvalrule implements functionality related to Phobos approval rules.
|
Package approvalrule implements functionality related to Phobos approval rules. |
services/comment
Package comment implements functionality related to Phobos comments.
|
Package comment implements functionality related to Phobos comments. |
services/environment
Package environment contains all functionalities related to Phobos environments.
|
Package environment contains all functionalities related to Phobos environments. |
services/job
Package job implements functionality releated to Phobos jobs
|
Package job implements functionality releated to Phobos jobs |
services/lifecycletemplate
Package lifecycletemplate implements functionality related to Phobos lifecycle templates.
|
Package lifecycletemplate implements functionality related to Phobos lifecycle templates. |
services/membership
Package membership contains all logic for memberships.
|
Package membership contains all logic for memberships. |
services/metric
Package metric provides functionality for collecting / computing metrics on different Phobos resources.
|
Package metric provides functionality for collecting / computing metrics on different Phobos resources. |
services/organization
Package organization implements functionality related to Phobos orgs.
|
Package organization implements functionality related to Phobos orgs. |
services/pipeline
Package pipeline implements functionality related to Phobos pipelines.
|
Package pipeline implements functionality related to Phobos pipelines. |
services/pipelinetemplate
Package pipelinetemplate implements functionality related to Phobos pipeline templates.
|
Package pipelinetemplate implements functionality related to Phobos pipeline templates. |
services/pluginregistry
Package pluginregistry implements a service for interacting with the plugin registry.
|
Package pluginregistry implements a service for interacting with the plugin registry. |
services/project
Package project implements functionality related to Phobos projects.
|
Package project implements functionality related to Phobos projects. |
services/projectvariable
Package projectvariable set implements functionality related to project variables
|
Package projectvariable set implements functionality related to project variables |
services/release
Package release provides the release service.
|
Package release provides the release service. |
services/releaselifecycle
Package releaselifecycle implements functionality related to Phobos release lifecycles.
|
Package releaselifecycle implements functionality related to Phobos release lifecycles. |
services/resourcelimit
Package resourcelimit package
|
Package resourcelimit package |
services/role
Package role implements the service layer functionality related to Phobos roles.
|
Package role implements the service layer functionality related to Phobos roles. |
services/scim
Package scim package
|
Package scim package |
services/serviceaccount
Package serviceaccount package
|
Package serviceaccount package |
services/team
Package team package
|
Package team package |
services/todoitem
Package todoitem contains the core business logic for the todoitem service.
|
Package todoitem contains the core business logic for the todoitem service. |
services/user
Package user implements functionality relating to users CRUD.
|
Package user implements functionality relating to users CRUD. |
services/vcs
Package vcs package
|
Package vcs package |
services/vcs/github
Package github package
|
Package github package |
services/vcs/gitlab
Package gitlab package
|
Package gitlab package |
services/vcs/types
Package types package
|
Package types package |
tracing
Package tracing package
|
Package tracing package |
pkg
|
|
client
Package client contains a client implementation for interfacing with the Phobos server
|
Package client contains a client implementation for interfacing with the Phobos server |
hcl/config
Package config contains the HCL config structs
|
Package config contains the HCL config structs |
hcl/context
Package context contains functionality for constructing HCL eval contexts
|
Package context contains functionality for constructing HCL eval contexts |
hcl/funcs
Package funcs contains custom functions used for the HCL eval context.
|
Package funcs contains custom functions used for the HCL eval context. |
hcl/validate
Package validate contains functionality for validating that a pipeline template HCL file is valid
|
Package validate contains functionality for validating that a pipeline template HCL file is valid |
hcl/variable
Package variable provides a way to parse and validate variables in a HCL file.
|
Package variable provides a way to parse and validate variables in a HCL file. |
logstream
Package logstream is used to buffer and write logs to a log stream server
|
Package logstream is used to buffer and write logs to a log stream server |
plugin
Package plugin is used to manage the execution of Phobos plugins
|
Package plugin is used to manage the execution of Phobos plugins |
statemachine
Package statemachine contains the state machine logic for a pipeline in the form of an acyclic graph
|
Package statemachine contains the state machine logic for a pipeline in the form of an acyclic graph |
Click to show internal directories.
Click to hide internal directories.