All Classes and Interfaces
Class
Description
Properties related to cleaning up jobs associated to AWOL/MIA agents.
Properties for
AgentConfigurationService.Service that provides agent runtime configuration (i.e.
This implementation of
AgentConfigurationService forwards properties set on the server that match a given
set of regular expressions, plus any additional ones specified in configuration.Tracks active connections and heartbeats coming from agents actively executing a job.
This service keeps track of agent connections and heartbeats.
Properties for
AgentConnectionTrackingService.Resource resolver for files local to an agent running a job that can be streamed to the server and served via API.
Registers AgentFileProtocolResolver in the application context.
Implementation of
Resource for files local to an agent running a job that can be
requested and streamed to the server (so they can be served via API).Properties related to
AgentFileStreamService.Service to retrieve files from a remote agent while the latter is executing a job.
A
Resource for files local to a remote agent.Properties for the
AgentFilterService.Service to block agent/clients that the server wants to refuse service to.
Implementation of
AgentFilterService which delegates iterates through an ordered list of
AgentMetadataInspector.Projection for job hosts.
Auto-configuration for the default implementations of
AgentMetadataInspectors.Leader task that cleans up jobs whose agent crashed or disconnected.
A Service to collect the logic for implementing calls from the Agent when a job is launched via the CLI.
Default implementation of
AgentJobService.A interface which implementations will launch instances of an agent in some manner in order to run a job.
Auto configuration for beans responsible for launching Genie Agent instances.
Extension of
ResourceSelectionContext to include specific data useful in AgentLauncher selection.Interface for any classes which provide a way to select a
AgentLauncher from a set of available candidates.Extension of
ResourceSelectorScript that delegates selection of a job's agent launcher when more than one
choice is available.Properties for agent launcher selection via script.
An exception for when the server can't launch an agent for whatever reason.
Component that inspects an Agent client metadata and makes decision on whether it is allowed to proceed.
Auto Configuration for
Resource classes exposed in the Agent module.Service that tracks agent connections on the local Genie node and provides routing information for
agent connected to other nodes.
Implementation of
AgentRoutingService that relies on Curator's Discovery extension.Payload for typed
ServiceDiscovery.Properties for
AgentRoutingService.Implementation of
AgentRoutingService that assumes a single Genie node and tracks connections in-memory.Configures various gRPC services and related beans if gRPC functionality is enabled.
Spring Auto Configuration for default
ServerInterceptor implementations for the Genie gRPC services.Controls whether a gRPC server is configured and started for this Genie node or not.
Auto configuration for services needed in the agent module.
Configuration for external API tier.
Representation of the state of an Application.
Assembles Application resources out of applications.
Predicate generation helpers for querying ApplicationEntity.REST end-point for supporting Applications.
A simple POJO for a compound value of related information to a job archived location and files.
A Service interface for working with the metadata and data of a job that was archived by the Agent upon completion.
Default implementation of
ArchivedJobService.Properties related to cleaning up jobs archive status.
Leader task that find jobs whose archival status was left in 'PENDING' state.
Auto configuration for aspects that should be applied to a running Genie server instance.
APIs for saving a job attachments sent in with Genie requests.
Properties for the
AttachmentService.Exception thrown when the user tries to submit a job whose attachments exceed the limits.
Abstract class to support basic columns for all entities for genie.
Returns all the base entity attributes.
AWS beans.
Properties related to AWS credentials for Genie on top of what Spring Cloud AWS provides.
Property bindings for Spring Cloud AWS region specific properties.
The base for all Genie top level entities.
Projection for the common fields.
An
AgentMetadataInspector that rejects agent whose version matches a regular expression
(obtained via properties) and accepts everything else.Auto configuration to enable Spring Boot Caching annotation support.
Representation of the state of the Cluster object.
Service interface for the abstracts the details of leadership within nodes in a Genie cluster.
Implementation of
ClusterLeaderService using Spring's LeaderInitiator (Zookeeper/Curator based
leader election mechanism).Implementation of
ClusterLeaderService using statically configured LocalLeader module.Assembles Cluster resources out of clusters.
Predicate generation helpers for querying ClusterEntity.REST end-point for supporting clusters.
Extension of
ResourceSelectionContext to include specific data useful in cluster selection.Interface for any classes which provide a way to select a
Cluster from a set of clusters
which matched criterion provided by a user in a JobRequest and combined with the criteria for the command
selected for a given job.Extension of
ResourceSelectorScript that delegates selection of a job's cluster when more than one choice is
available.Properties for cluster selection via script.
Representation of the state of the Command Object.
Assembles Command resources out of commands.
Predicate generation helpers for querying CommandEntity.REST end-point for supporting commands.
Extension of
ResourceSelectionContext to include specific data useful in command selection.Interface for any classes which provide a way to select a
Command from a set of commands
which matched criterion provided by a user in a JobRequest.An extension of
ResourceSelectorScript which from a set of commands and the original job request will
attempt to determine the best command to use for execution.Properties for
CommandSelectorManagedScript.Utility methods re-used in various controllers.
Entity for criteria records.
Default auto configuration of data related services and beans for Genie.
Properties controlling the behavior of the database cleanup leadership task.
Properties related to cleaning up application records from the database.
Properties related to cleaning up cluster records from the database.
Properties related to cleaning up command records from the database.
Properties related to setting Commands to INACTIVE status in the database.
Properties related to cleaning up file records from the database.
Properties related to cleaning up job records from the database.
Properties related to cleaning up tag records from the database.
A
LeaderTask which will clean up the database of old records if desired.Aspect implementation of retrying the data service methods on certain failures.
All properties related to data service retry template in Genie.
Container class for encapsulating all the various data related services in Genie to ease dependency patterns.
A default directory writer implementation.
DTO for representing a directory contents.
DTO for representing information about an entry within a job directory.
Interface for methods to convert a directory to various String representations.
Properties controlling the behavior of the database cleanup leadership task.
This task runs on every Genie node and is responsible for cleaning up the local disk so that space can be
recaptured.
A simple container DTO for passing all known resource assemblers around.
Converters between entities and V3 DTOs.
Utility methods for converting from DTO to entities and vice versa.
Configuration related to Eventing within the Genie application.
A projection for fields from an entity which are needed for an
JobSpecification.ExecutionResource.A factory for
Executor instances.File Entity.
Projection for a job entity that reached a terminal status.
Provides a health indicator relative to the behavior of Genie Agents and this Server.
Health indicator for system cpu usage.
Adds default properties to the Spring environment before application refresh.
Genie Event Bus interface.
An event bus implementation for the Genie application to use.
Exception mapper for Genie Exceptions.
Interface for any task that should run in the Genie system.
The enumeration values which a
GenieTask can be be scheduled with.Extension of
GenieHostInfo which adds metadata specific to the web server.Container class for RPC related properties.
Utility functions that can be used within Groovy scripts executed from Genie.
AgentFileStreamService gRPC implementation.An edge gRPC service that uses bi-directional streaming.
Implementation of
JobKillService which uses parked gRPC requests to tell the agent to
shutdown via a user kill request if the job is in an active state.Extension of
JobServiceGrpc.JobServiceImplBase to provide
functionality for resolving and fetching specifications for jobs to be run by the Genie Agent.Implementation of the Ping service definition.
A wrapper around a
Server instance which implements AutoCloseable to control startup and shutdown
along with the application.Properties related to Genie's gRPC server functionality.
Utilities for working with a gRPC
Server instance.Utilities for working with H2 database.
Spring auto configuration for HATEOAS module beans.
Auto configuration for Health indicators related to Genie.
Aspect around Spring Boot 'HealthIndicator' to publish metrics for status of individual indicator, as well as their
turnaround time.
All properties related to health thresholds in Genie.
Properties related to Heart Beat gRPC Service.
Properties related to HTTP client configuration.
Connection related properties for HTTP requests.
Read related properties for HTTP requests.
Exception thrown when an resource is attempting to be saved with a unique ID that already exists in the system.
Base class which only provides an ID.
A projection just for returning the id field of a given entity.
Representation of the outcome of an inspection performed by an
AgentMetadataInspector.The possible outcomes of an inspection.
Auto configuration for shared DTO instances within the web server.
A projection which allows the system to pull back whether the job was submitted via the REST API or other mechanism.
Projection to return just the applications associated with a given job.
A projection which only returns the archive location for a job.
Projection to return just the cluster for a given job.
Projection to return just the command for a given job.
Projection for common fields between pre 3.3.0 JobRequest and Job entities.
An exception thrown when a job was archived but the manifest of the archive can't be found in the archive location.
This service abstracts away the details of responding to API requests for the files and directories created during
the execution of a job in the Genie ecosystem.
Default implementation of
JobDirectoryServerService.A row in the jobs table.
Listener for Job JPA entity (
JobEntity).Assembles Job Request resources out of JobRequest DTOs.
Projection with the data present in a Genie JobExecutionEntity from pre-3.3.0.
Publishes Amazon SNS notifications with detailed information about each completed job.
An object to return aggregate data selected with regards to memory usage on a given Genie host.
Interface for services to kill jobs.
Top level coordination service responsible for taking a job request and running the job if possible.
Default implementation of the
JobLaunchService.Assembles Job Request resources out of JobRequest DTOs.
Projection of the jobs table which produces only the fields that were present in the pre-3.3.0
JobMetadata table before it was merged into one large jobs table.
Assembles Job resources out of job DTOs.
An exception thrown when a job is completed but wasn't archived and thus output isn't available.
An exception thrown when a job is not found in the system.
Listens to job status changes and publishes metrics.
Predicate helpers for querying JobEntity.Projection for the fields originally available in pre-3.3.0 JobEntity classes.
Assembles Job Request resources out of JobRequest DTOs.
A simple wrapper class because the job request may not have an id available (there wasn't one
originally sent) so need to use the one the system provided later in order to generate the links properly.
Projection of just the fields needed for a V4
JobRequest.Properties related to the job resolution process.
Defaults for container images that will combine together to execute the Genie job.
Computation resource properties.
Container for the runtime defaults set in properties.
Service API for taking inputs from a user and resolving them to concrete information that the Genie system will use
to execute the users job.
Implementation of the
JobResolverService APIs.REST end-point for supporting jobs.
Properties related to number of active jobs per user.
Projection to return only the fields desired for a job with search results.
Assembles Job resources out of job search result DTOs.
Utility/helper to map exceptions into protocol responses.
Properties related to job forwarding.
Properties for various job related locations.
Properties pertaining to how much memory jobs can use on Genie.
Projection of the database fields which make up the required elements of a job specification.
All properties related to jobs in Genie.
Event representing a job status change.
Publishes Amazon SNS notifications for fine-grained job state changes.
The payload of all gathered information from a user request to run a job via the API.
Builder for
JobSubmission instances.Properties related to users running jobs.
Application repository.
A common repository for inheritance of common methods for Entities extending BaseEntity.
Cluster repository.
Command repository.
A repository for
CriterionEntity.Repository for file references.
Job repository.
Implementation of
PersistenceService using JPA.Container class for encapsulating all the various JPA Repositories in Genie to ease dependency patterns.
Repository for tags.
An
AttributeConverter to convert JsonNode objects into their String representations for storage
and vice versa.Beans for Leadership of a Genie cluster.
An actuator endpoint that exposes leadership status and allows stop/start/restart of the leader election service.
Operations that this actuator can perform on the leader service.
Properties related to static leadership election configurations.
Interface for any task that a node elected as the leader of a Genie cluster should run.
Class which handles coordinating leadership related tasks.
Implementation of
AgentLauncher which launched Agent instances on the local Genie hardware.Properties related to launching Agent processes locally.
Implementation of
AttachmentService that saves the files to a local directory.A class to control leadership activities when remote leadership isn't enabled and this node has been forcibly
elected as the leader.
Abstract script class for components that rely on an external script to be loaded and invoked at runtime.
Base abstract properties for individual script classes to extend.
Used to store constants related to metric names.
Inner class for constants used as key to tag metrics.
Constants used as metrics tags values by various classes.
Utility methods for metrics.
An
AgentMetadataInspector that rejects agents whose version is older than a given version.Auto configuration for tasks that run on every Genie server node.
An exception thrown when a resource is not found in the system.
Beans related to external notifications.
Interface for an observer that gets notified of job 'status' change after the latter is persisted.
Observer of persisted entities modifications that publishes events on the event bus to be consumed asynchronously by
interested consumers.
Service API for all Genie persistence related operations.
Exception thrown when a precondition is not met on method invocation.
Utility methods for the JPA
Predicate generation.Auto configuration for registering
ConfigurationPropertiesBinding
beans.Basic implementation of a
AgentLauncherSelector where a random AgentLauncher is selected from the
options presented.Basic implementation of a
ClusterSelector where a random Cluster is selected from the options
presented.Basic implementation of a
CommandSelector where a random Command is selected from the options
presented.An
AgentMetadataInspector that accepts or rejects all agents based on the value of an environment property.A service whose implementation should be responsible for forwarding requests between Genie server nodes.
Default implementation of
RequestForwardingService.The payload of information representing all the concrete details the system needs to run a job.
Context object for encapsulating state into the selectors.
An exception thrown when a resource selector encounters an unrecoverable error while trying to select a resource
from a collection of possible resources.
A data class for returning the results of an attempted resource selection.
A builder for
ResourceSelectionResult instances.Generic interface for a selector which selects a resource from a set of resources for a given job request.
Interface for defining the contract between the selection of a resource from a set of resources for a given
job request.
Class to represent a generic response from a script which selects a resource from a set of resources.
A builder for these the results to prevent scripts from having to redo everything based on constructors if
we change parameters.
Auto configuration which enables
Retryable for method calls on beans.All properties related to Http retry template in Genie.
Retry properties specific to a particular service.
Assembles root resource from a JsonNode.
Rest controller for the V3 API root.
Implementation of the AttachmentService interface which saves attachments to AWS S3.
Exception thrown when the system tries to save a user attachment to an underlying data store and it fails for
some reason.
An implementation of the
AgentLauncherSelector interface which uses user-provided script to make decisions
based on the list of agent launchers and the job request supplied.An implementation of the
ClusterSelector interface which uses user-provided script to make decisions
based on the list of clusters and the job request supplied.Implementation of
CommandSelector which defers the decision to a script provided by the system
administrators.An exception thrown when a script bean encounters an error during execution.
An exception thrown when a script cannot be retrieved or compiled.
Utility to load, reload and execute scripts (in whichever format/language supported by
ScriptEngine) via URI
(e.g., local file, classpath, URL).Properties for
ScriptManager.An exception thrown when a script bean is not configured an thus it cannot be loaded or executed.
Configuration for script extensions.
Spring Auto Configuration for the selectors module.
Configuration for all the services.
Projection for returning the setup file of a given entity.
Proof of concept server interceptor that logs gRPC requests and errors.
Properties to configure notification delivered via SNS.
Projection for returning only the status of a given resource.
A temporary in-memory structure to hold in-transit data.
Application pointcut expressions.
Entity representing a Tag.
Configuration of beans for asynchronous tasks within Genie.
Performs any cleanup when the system is shutting down.
Properties related to the thread pool for the task executor within Genie.
Properties related to the thread pool for the task executor within Genie.
Utility methods used by various Genie tasks.
Agent launcher that spawns a job in a dedicated container through Titus.
A retry policy that has different behavior based on the type of exception thrown by the rest client during
calls to the Titus API.
An interface that should be implemented by any class which wants to modify the Titus job request before it is
sent.
Configuration properties for the
TitusAgentLauncherImpl.Titus job request POJO.
Titus batch job parameters.
Titus job container DTO.
Titus job container constraints.
Titus job disruption budget.
Titus job container image.
Titus job retry policy detail.
Job Group information.
Titus job network configuration.
Titus job owner POJO.
Titus job container resources POJO.
Titus job retry policy.
Titus job security profile.
Titus job disruption budget detail.
Titus job response POJO.
An extendable entity class for tables which have a UniqueId field.
Projection for getting the Unique Id of a resource.
Utility class for UNIX user and file permissions.
A converter between a String and a
URI to enforce well formatted schema representations of resources.An aggregate of running jobs and memory used for a given user.
Properties related to publishing of user metrics.
A task which publishes user metrics.
Configuration for bean validation within Genie.
An
AgentMetadataInspector that accepts agent whose version matches a regular expression
(obtained via properties) and rejects everything else.Auto configuration for Zookeper components.
Properties related to Zookeeper.