All Classes and Interfaces
Class
Description
Class that encapsulates the OAuth credentials.
Configuration for various agent beans.
Properties related to cleaning up jobs associated to AWOL/MIA agents.
Metadata for a Genie Agent client.
Interface for commands that the agent executes.
Configuration options for the Genie agent.
Builder to create an immutable
AgentConfigRequest
instance.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
.This service regularly produces a manifest of the executing job folder and pushes it to the server.
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
.Service that maintains an active connection with a Genie server node by sending heart beats.
Projection for job hosts.
Auto-configuration for the default implementations of
AgentMetadataInspector
s.Leader task that cleans up jobs whose agent crashed or disconnected.
Register an agent to listen for job kill messages from the server
and respond to them.
The builder and methods available for a request generated by a Genie agent typically from the command arguments.
Builder for a V4 Job Request.
Agent side job specification service for resolving and retrieving job specifications from the server.
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.
Utility to locate and relocate agent log file.
Utility class that locates and relocates the agent log file.
Container for Genie agent metadata and runtime information.
Implementation of AgentMetadata.
Component that inspects an Agent client metadata and makes decision on whether it is allowed to proceed.
Root properties class for agent.
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.
Data class to hold information about a Genie client whether it is an API client or an Agent.
The builder and methods available for a request generated by a REST API request.
Builder for a V4 Job Request.
Configuration for external API tier.
Application DTO.
An immutable V4 Application resource.
A builder to create applications.
Client library for the Application Service.
Representation of the state of an Application.
Metadata supplied by a user for an Application resource.
A builder to create application user metadata instances.
Assembles Application resources out of applications.
Predicate
generation helpers for querying ApplicationEntity
.Fields representing all the values users can set when creating a new Application resource.
Builder for a V4 Application Request.
REST end-point for supporting Applications.
An interface that provides all methods needed for the Genie application client implementation.
The available statuses for applications.
The available statuses for 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
.Archive job output files and logs, if the job reached a state where it is appropriate to do so.
Possible archival statuses for a Job.
Possible archival statuses for a Job.
Properties related to cleaning up jobs archive status.
Leader task that find jobs whose archival status was left in 'PENDING' state.
Interfaces for command-line delegates (groups of options shared by multiple commands).
Delegate for agent dependencies cache.
Delegate for job folder cleanup options.
Delegate for agent job request parameters.
Delegate for agent runtime options.
Delegate for server connection options.
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.
Spring Boot auto configuration for AWS related beans for the Genie Agent.
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.
Base fields for multiple DTOs.
Builder pattern to save constructor arguments.
The base for all Genie top level entities.
Projection for the common fields.
Base class for search results containing common fields.
An
AgentMetadataInspector
that rejects agent whose version matches a regular expression
(obtained via properties) and accepts everything else.Extension of
TagAdapter
that specifies that tags should be key value pairs of Strings as they are in
Brave instrumentation.Any cleanup needed at program shutdown for Brave instrumentation.
Container DTO class for Brave based components for tracing in
Genie server and agent.
A property class which holds information about how to interact with a specific S3 Bucket.
Auto configuration to enable Spring Boot Caching annotation support.
Failure to update the job archive status remotely.
Failure to update the job status remotely.
Claim the job, so no other agent can execute it.
Performs cleanup of the job directory after execution.
Enum to describe the different kind of post-execution cleanup of the job directory.
Spring auto configuration class to contain all beans involved in the CLI for the Agent.
Common base for API and Agent client metadata.
A simple interface representing a closeable lock.
Cluster DTO object.
An immutable V4 Cluster resource.
A builder to create clusters.
Client library for the Cluster Service.
Cluster Criteria.
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.Metadata supplied by a user for a Cluster resource.
A builder to create cluster user metadata instances.
Assembles Cluster resources out of clusters.
Predicate
generation helpers for querying ClusterEntity
.Fields representing all the values users can set when creating a new Cluster resource.
Builder for a V4 Cluster Request.
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.
An interface that provides all methods needed for the Genie cluster client implementation.
The possible statuses for a cluster.
The possible statuses for a cluster.
A command data transfer object.
An immutable V4 Command resource.
A builder to create commands.
Client library for the Command Service.
Representation of the state of the Command Object.
Metadata supplied by a user for a Command resource.
A builder to create command user metadata instances.
Assembles Command resources out of commands.
Predicate
generation helpers for querying CommandEntity
.Fields representing all the values users can set when creating a new Command resource.
Builder for a V4 Command Request.
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
.An interface that provides all methods needed for the Genie command client implementation.
The available statuses for Commands.
The available statuses for Commands.
Common fields for multiple DTOs.
Builder pattern to save constructor arguments.
Metadata fields common to all Genie resources (Jobs, clusters, etc).
Builder for common fields.
Common fields for Resource requests (clusters, commands, jobs, etc).
Fields common to every Genie v4 resource (cluster, command, etc).
Auto configuration of any services that are common to both the agent and the server.
Auto configuration for common tracing components within Genie server and agent.
A representation of compute resources that a Genie entity (job/command/etc.) may request or use.
Builder for generating immutable
ComputeResources
instances.Configures the agent with server-provided runtime parameters that are independent of the job.
Failure to obtain configuration properties from server.
Sets up context state based on the type of execution and other command-line parameters.
Utilities for interacting with the user terminal/console.
Job execution listener that prints messages visible to the user in the console.
Representation of metadata corresponding to the container image (docker, etc.) that the job should be launched in.
Builder for immutable instances of
ContainerImage
.Utility methods re-used in various controllers.
Creates the job directory.
Creates the job script (a.k.a.
Representation of various criterion options available.
Representation of various criterion options available.
Builder for creating a Criterion instance.
Builder for creating a Criterion instance.
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.
Default implementation of
BraveTagAdapter
which is just a proxy for the actual call.A default directory writer implementation.
DTO for representing a directory contents.
DTO for representing information about an entry within a job directory.
Sends the server the final job status, if the job reached a state where it is appropriate to do so.
A manifest of all the files and subdirectories in a directory.
Factory that encapsulates directory manifest creation.
This interface defines a filter function used during creation of the manifest.
Representation of the metadata for a job file on a given underlying storage system.
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.
Download dependencies such as binaries and configurations attached to the job and its dependent entities.
Exception thrown by services that fail to download dependencies for a job.
Service to download a set of files to local disk.
Manifest containing source (URIs) and their expected destination on disk after download.
Builder for Manifest.
Utility class to help convert between V3 and internal DTOs.
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.
Spring auto configuration for beans required for job execution.
Elements that should be brought into an execution environment for a given resource (job, cluster, etc).
Base class DTO for DTOs which require a setup file.
A builder for helping to create instances.
Container for various options for user supplying criteria for the execution environment of a job.
A projection for fields from an entity which are needed for an
JobSpecification.ExecutionResource
.Abstract base class for Genie Agent stage of execution.
A factory for
Executor
instances.Exit codes for Genie agent.
Trigger implementation whose scheduling delay grows exponentially based on a given factor.
How the delay is calculated.
Properties for
ExponentialBackOffTrigger
used in various places.Fatal exception that should stop execution early.
Interface for a cache that downloads resources via URL and stores them on local disk for later reuse.
File Entity.
CloseableLock for a file.
Factory for creating locks implementing
CloseableLock
.Properties for
AgentFileStreamService
.An implementation of
JobArchiver
which attempts to copy the job directory somewhere else on the file
system for backup.DTO for a job that reached a final state.
Builder.
Projection for a job entity that reached a terminal status.
Genie Agent application.
Provides a health indicator relative to the behavior of Genie Agents and this Server.
An exception to represent the case where an Agent was rejected by the server.
Main entry point for execution after the application is initialized.
Main Genie Spring Configuration class.
An exception to represent the case where an application was expected to exist (e.g.
Extension of a GenieException for all bad request failures.
Base class for Genie checked exceptions.
An exception class that represents all failures received by the client.
An exception class that represents 429 - Too Many Requests received from the server.
An exception to represent the case where a cluster was expected to exist (e.g.
An exception to represent the case where a command was expected to exist (e.g.
Failure to convert objects into wire format or vice versa.
Health indicator for system cpu usage.
Adds default properties to the Spring environment before application refresh.
Adds default properties to the Spring environment before application refresh.
Genie Event Bus interface.
An event bus implementation for the Genie application to use.
The common exception class that represents a service failure.
Exception mapper for Genie Exceptions.
Container for information about the host a Genie process (web server or agent) is running on.
Exception thrown when an id is attempting to be saved that already exists in the system.
Exception thrown when a status supplied by a client for as their known previous status doesn't match what the system
has in the database.
Exception thrown when a job is already claimed in the system and another agent tries to claim it.
An exception to represent the case where a job was expected to exist (e.g.
When a request for resolving a job can't be completed for some reason.
When resolution fails with a runtime error, such as the selector timing out.
An exception to represent the case where a job specification was expected to exist but it doesn't.
An object that encapsulates network configurations for Genie client HTTP requests.
Extension of a GenieException for all not found exceptions.
A singleton for sharing a Jackson Object Mapper instance across Genie and not having to redefine the Object Mapper
everywhere.
Extension of a GenieException for all precondition failures.
Base class for Genie runtime exceptions.
Extension of a GenieException for all internal server failures.
Extension of a GenieException for all server unavailable failures.
Interface for any task that should run in the Genie system.
The enumeration values which a
GenieTask
can be be scheduled with.Reusable Spring Boot test application.
Extension of a GenieException for timeouts.
Extension of a GenieException for a user exceeding some limit (e.g., submitting too many jobs).
Extension of
GenieHostInfo
which adds metadata specific to the web server.Container class for RPC related properties.
Failure to retrieve job status from the server.
Utility functions that can be used within Groovy scripts executed from Genie.
Implementation of
AgentFileStreamService
over gRPC.AgentFileStreamService
gRPC implementation.Implementation of the
AgentJobKillService
, listens for kill coming from server using long-polling.Spring auto configuration for gRPC components.
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.Spring auto configuration for the various gRPC services required for an agent to communicate with the Genie server.
Utilities for working with H2 database.
Failure to handshake with server.
Perform server handshake, to ensure server is ok with this agent running a job.
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 for
AgentHeartBeatService
.Static utility class to determine the local hostname.
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.
Exception thrown when the attachment filename is illegal.
Representation of metadata corresponding to the container image (docker, etc.) that the job should be launched in.
Builder for immutable instances of
Image
.Performs generic initialization.
Representation of the outcome of an inspection performed by an
AgentMetadataInspector
.The possible outcomes of an inspection.
Configuration overrides for integration tests.
Auto configuration for shared DTO instances within the web server.
Unchecked exception thrown in case a state action is executed with an unexpected state.
Auto configuration for configuring
JCommander
to parse CLI arguments of the Agent.Read only data transfer object representing a Job in the Genie system.
A builder to create jobs.
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.
Exception thrown in case there is a problem with archiving files.
A projection which only returns the archive location for a job.
Implementations of this interface should be able to a write job files to a
WritableResource
root location.A service which is responsible for taking the files related to running a Genie job and backing them up to a different
location.
Default implementation of the
JobArchiveService
.Client library for the Job Service.
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.
A class holding some constants to be used everywhere.
Factory-like service that produces
DirectoryManifest
for Genie jobs directories.Implementation of
JobDirectoryManifestCreatorService
that caches manifests produced by the factory for a few
seconds, thus avoiding re-calculating the same for subsequent requests (e.g.An exception thrown when a job was archived but the manifest of the archive can't be found in the archive location.
Converts
DirectoryManifest
from/to AgentManifestMessage
in order to transport manifests
over gRPC.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
).Final values for settings of the Genie job execution environment.
Builder to create an immutable
JobEnvironment
instance.Fields that allow manipulation of the Genie job execution container environment.
Builder to create an immutable
JobEnvironmentRequest
instance.All information needed to show state of a running job.
A builder to create job requests.
Listener of job execution.
Assembles Job Request resources out of JobRequest DTOs.
Projection with the data present in a Genie JobExecutionEntity from pre-3.3.0.
Interface JobExecutionStateMachine hides the actual state machine details.
Implementation of the job execution state machine.
Publishes Amazon SNS notifications with detailed information about each completed job.
Exception thrown by AgentJobService when trying to reserve an ID that has already been used.
An object to return aggregate data selected with regards to memory usage on a given Genie host.
Interface for services to kill jobs.
Properties for
AgentJobKillService
.Exception during job launch.
Top level coordination service responsible for taking a job request and running the job if possible.
Default implementation of the
JobLaunchService
.Additional metadata associated with a Job Request such as client host, user agent, etc.
Metadata supplied by a user for a job.
Builder for creating a JobMetadata instance.
A builder to create job user metadata instances.
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.
Service that monitors the job directory and may decide to kill the job if some limit is exceeded.
Properties of
JobMonitorService
.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
.Singleton to manage the subprocess for the actual user job this Agent instance is managing.
Configures and launches a job sub-process using metadata passed through ExecutionContext.
A DTO POJO to capture final information about the job process this agent process was responsible for.
A builder to create valid, immutable
JobProcessResult
instances.Projection for the fields originally available in pre-3.3.0 JobEntity classes.
All information needed to make a request to run a new job.
All details a user will provide to Genie in order to run a job.
A builder to create job requests.
Convert job request arguments delegate into an
AgentJobRequest
.Exception thrown in case of conversion error due to resulting object failing validation.
Metadata gathered by the system as part of any
JobRequest
.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
.Failure to reserve a job id for reasons other than the specified job id being already used.
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.
This class represents the subset of data returned from a Job when a search for Jobs is conducted.
Assembles Job resources out of job search result DTOs.
An interface that provides all methods needed for the Genie job client implementation.
Converter of proto messages for the
JobServiceGrpc.JobServiceImplBase
service to
and from V4 DTO POJO's.Utility/helper to map exceptions into protocol responses.
Service that sets up a directory for a job to execute in.
Properties for
JobSetupService
.Properties related to job forwarding.
Properties for various job related locations.
Properties pertaining to how much memory jobs can use on Genie.
This DTO represents all the information needed to execute a job by the Genie Agent.
Common representation of resources used for job execution e.g.
Projection of the database fields which make up the required elements of a job specification.
Exception thrown by AgentJobService.
All properties related to jobs in Genie.
Event representing a job status change.
Publishes Amazon SNS notifications for fine-grained job state changes.
Possible statuses for a Job.
Possible statuses for a Job.
Constant strings for status message attached to a job after it terminates.
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.Utility methods for interacting with JSON.
Truncate instants to millisecond precision during ISO 8601 serialization to string for backwards compatibility.
Truncate instants to millisecond precision during ISO 8601 serialization to string for backwards compatibility.
Service responsible for killing the job.
Enumeration for the source of a request to kill the job.
Launches the job process.
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.
Exception thrown when there is a problem with locks.
Logs execution errors encountered so far.
Listener that logs state machine events and transitions.
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.
An interceptor that adds security headers to all outgoing requests.
Obtains job specification from server.
Utilities to compose filesystem paths.
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.Spring Auto Configuration for the
com.netflix.genie.agent.execution.process
module.Utility class that produces a map of properties and their values if they match a given prefix.
Factory class that produces
PropertiesMapCache
instances.Auto configuration for registering
ConfigurationPropertiesBinding
beans.Utilities for working with Spring
PropertySource
.Auto configuration of components common to both the agent and the server.
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.Supply random types.
Triggers a manual refresh of the cached files manifest.
Implementation of DirectoryManifestFilter that filters manifest entries base on a list of regular expressions
provided via properties class.
Properties for
RegexDirectoryManifestFilter
.Utility class to match a string against an ordered set of regexes and obtain an accept/reject response.
Ruleset builder.
The two responses to an input.
An individual rule in a ruleset.
An
AgentMetadataInspector
that accepts or rejects all agents based on the value of an environment property.Moves the agent log file into the job directory from the temporary location.
A service whose implementation should be responsible for forwarding requests between Genie server nodes.
Default implementation of
RequestForwardingService
.Performs job reservation, or ensures the job is pre-reserved and ready to be claimed.
The payload of information representing all the concrete details the system needs to run a job.
Representing the result of resolving resources of type R from a
Criterion
.Representing the result of resolving resources of type R from a
Criterion
.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.
Class that evaluates the retrofit response code and maps it to an appropriate Genie Exception.
Exception thrown by state machine transition for retryable errors (e.g, network error talking to server).
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.
DTO for metadata related to the runtime environment of a given job.
Builder class for
Runtime
instances.A representation of compute resources that a Genie entity (job/command/etc.) may request or use.
Builder for generating immutable
RuntimeResources
instances.Implementation of the AttachmentService interface which saves attachments to AWS S3.
An
AmazonS3
client factory class.Implementation of
JobArchiveService
for S3 destinations.This class implements the
ProtocolResolver
interface.A class which takes an instance of
S3ProtocolResolver
and adds it to the Spring ApplicationContext
set of ProtocolResolver
.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.
An interface whose implementation is supposed to modify the HTTP Request by adding Security credentials.
Spring Auto Configuration for the selectors module.
Spring auto configuration for the service tier of an Agent process.
Configuration for all the services.
Sets the final job status (success/fail/kill).
Updates job status when job starts initializing.
Updates the server job status after launch.
Projection for returning the setup file of a given entity.
Exception during the set up of a job.
Properties to configure the Agent shutdown process.
Performs final shutdown.
Proof of concept server interceptor that logs gRPC requests and errors.
This class extends
SimpleStorageResource
in order to efficiently handle range requests.Properties to configure notification delivered via SNS.
Sort key for entity search results.
Sort direction of entity search results.
Starts the file streaming service.
Starts the heartbeat service.
Starts the kill service.
Execution state machine states.
Projection for returning only the status of a given resource.
Stops the file streaming service.
Stops the heartbeat service.
Stops the job kill service.
A temporary in-memory structure to hold in-transit data.
Spring configuration for Swagger via Spring Doc.
Application pointcut expressions.
An interface for implementations to adapt any tags published by default OSS components for internal conventions.
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.
Utility methods for dealing with time.
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.
Class that contains the logic to get OAuth credentials from IDP.
A interface to fetch access tokens.
This interface exists to provide a shared contract for how trace information is shared between the Genie
server job request handling and the agent process launch.
Constants used for adding metadata to tracing spans.
A listener which adds data to spans based on the events emitted by the state machine.
Controller for forwarding UI requests.
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 interceptor class that updates the User Agent String of the request with user info.
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.
A summary of the resources used by a given user.
A helper
RestController
which allows the UI to request information about the current user.CLI utility methods.
Configuration for bean validation within Genie.
Wait for job process to exit.
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.