All Classes and Interfaces

Class
Description
Properties related to cleaning up jobs associated to AWOL/MIA agents.
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.
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.
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.
An AttributeConverter to convert Integer objects into Long for storage and vice versa.
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.