Packages 
Package Description
com.netflix.genie
Common test resources in the base package.
com.netflix.genie.agent
Classes shared by the entire Agent project.
com.netflix.genie.agent.cli
Commands for Agent and their command-line arguments descriptors.
com.netflix.genie.agent.cli.logging
Logging components.
com.netflix.genie.agent.execution
Job execution.
com.netflix.genie.agent.execution.exceptions
Execution exceptions.
com.netflix.genie.agent.execution.process
Interfaces and classes involved with managing and interacting with the underlying job process this agent is responsible for.
com.netflix.genie.agent.execution.process.impl
Implementations of any interfaces that would be found in the parent package.
com.netflix.genie.agent.execution.services
Services used during job execution components.
com.netflix.genie.agent.execution.services.impl
Implementations of execution services for the Agent.
com.netflix.genie.agent.execution.services.impl.grpc
gRPC based implementations of the agent execution services.
com.netflix.genie.agent.execution.statemachine
Job execution state machine.
com.netflix.genie.agent.execution.statemachine.listeners
Listeners for JobExecutionStateMachine.
com.netflix.genie.agent.execution.statemachine.stages
Execution stages of Agent state machine.
com.netflix.genie.agent.properties
Agent properties.
com.netflix.genie.agent.rpc
RPC clients and utilities.
com.netflix.genie.agent.spring.autoconfigure
Spring Boot auto configuration classes.
com.netflix.genie.agent.spring.processors
Any environment post processors for Spring that are needed.
com.netflix.genie.agent.utils
Utility classes.
com.netflix.genie.agent.utils.locks
Locks used for caching resources.
com.netflix.genie.agent.utils.locks.impl
CloseableLock implementations used for caching resources.
com.netflix.genie.client
Client library for Genie.
com.netflix.genie.client.apis
Package containing all the interfaces encapsulating request calls to Genie.
com.netflix.genie.client.configs
Package containing configuration classes for Genie client.
com.netflix.genie.client.exceptions
A package containing all exceptions in the Genie client.
com.netflix.genie.client.interceptors
A package that contains all interceptors to be added to modify outgoing requests and incoming responses.
com.netflix.genie.client.security.oauth2
Package containing Oauth security related classes.
com.netflix.genie.client.security.oauth2.impl
Package containing implementations of interfaces defined in the oauth package.
com.netflix.genie.common.dto
Data transfer objects for Genie for the APIs as well as the internal services.
com.netflix.genie.common.dto.search
DTOs specifically related to search results.
com.netflix.genie.common.exceptions
Classes that represent Genie exceptions.
com.netflix.genie.common.external.util
Common utility classes shared amongst various Genie modules.
com.netflix.genie.common.internal.aws.s3
This package contains classes and utilities for working with the AWS S3 service.
com.netflix.genie.common.internal.configs
Common Spring Auto Configuration classes for use in both Agent and Server.
com.netflix.genie.common.internal.dtos
DTOs shared between the Agent and the Server code base.
com.netflix.genie.common.internal.dtos.converters
Package for converting gRPC messages to V4 DTOs and vice versa.
com.netflix.genie.common.internal.exceptions.checked
Package to contain exceptions that are checked but only used internally within Genie web or agent projects.
com.netflix.genie.common.internal.exceptions.unchecked
All unchecked (Runtime) exceptions for Genie.
com.netflix.genie.common.internal.jobs
Common job classes shared by agent and server.
com.netflix.genie.common.internal.properties
Property classes used by both agent and web modules.
com.netflix.genie.common.internal.services
Any service interfaces and implementations shared between the Agent and the Server codebases.
com.netflix.genie.common.internal.services.impl
Implementations of service interfaces found in com.netflix.genie.common.internal.services.
com.netflix.genie.common.internal.spring.autoconfigure
Auto configuration classes for modules within this package.
com.netflix.genie.common.internal.tracing
Components shared between the server and agent related to request tracing.
com.netflix.genie.common.internal.tracing.brave
Classes specific to tracing using Brave.
com.netflix.genie.common.internal.tracing.brave.impl
Implementations of any interfaces found in com.netflix.genie.common.internal.tracing.brave.
com.netflix.genie.common.internal.util
Internal utilities shared by client and server components.
com.netflix.genie.common.util
Classes that have common Genie utilities.
com.netflix.genie.swagger.spring.autoconfigure
Auto configuration for Spring applications relating to Swagger.
com.netflix.genie.test.suppliers
Functional interfaces for suppliers.
com.netflix.genie.test.web.configs
Any configurations used during web testing.
com.netflix.genie.ui.controllers
Controllers for MVC.
com.netflix.genie.web.agent.apis.rpc.servers
Implementations and helper classes for creating and managing a gRPC server.
com.netflix.genie.web.agent.apis.rpc.v4.endpoints
Implementations of V4 gRPC service interfaces.
com.netflix.genie.web.agent.apis.rpc.v4.interceptors
Custom interceptors for the gRPC server.
com.netflix.genie.web.agent.inspectors
Interfaces and classes used to inspect metadata coming from an Agent.
com.netflix.genie.web.agent.inspectors.impl
Implementations for inspectors.
com.netflix.genie.web.agent.launchers
Interfaces and utilities which are used to launch instances of the Genie Agent somewhere to service a job.
com.netflix.genie.web.agent.launchers.dtos
Data objects specific to implementations of AgentLauncher.
com.netflix.genie.web.agent.launchers.impl
Implmentations of interfaces which are used to launch instances of the Genie Agent somewhere to service a job.
com.netflix.genie.web.agent.resources
Spring Resource abstraction applied to file streamed during a running agent job.
com.netflix.genie.web.agent.services
Services specific to the Agent module of the Genie web application.
com.netflix.genie.web.agent.services.impl
Default implementations of Agent Services.
com.netflix.genie.web.apis.rest.v3.controllers
Classes that represent the REST-ful resources provided by Genie.
com.netflix.genie.web.apis.rest.v3.hateoas.assemblers
Classes used to assemble entity models from resources.
com.netflix.genie.web.aspects
Various Spring aspects for Genie web.
com.netflix.genie.web.data.observers
Entity observer classes that get notified about transformations applied to entities.
com.netflix.genie.web.data.services
Service definitions specific to the data tier of Genie web.
com.netflix.genie.web.data.services.impl.jpa
Implementations of data services with JPA as the underlying technology.
com.netflix.genie.web.data.services.impl.jpa.converters
Converters between entities and various DTOs.
com.netflix.genie.web.data.services.impl.jpa.entities
Entity classes that represent the Genie data model/internal state.
com.netflix.genie.web.data.services.impl.jpa.listeners
Entity listeners classes that listen to changes applied in persistent storage.
com.netflix.genie.web.data.services.impl.jpa.queries.aggregates
A package containing aggregates interfaces for Spring Data JPA.
com.netflix.genie.web.data.services.impl.jpa.queries.predicates
Package containing specification classes for use with JPA queries through Spring.
com.netflix.genie.web.data.services.impl.jpa.queries.projections
A package containing projection interfaces for Spring Data JPA.
com.netflix.genie.web.data.services.impl.jpa.queries.projections.v4
Projections for V4 data types.
com.netflix.genie.web.data.services.impl.jpa.repositories
Classes used for accessing data with JPA.
com.netflix.genie.web.data.services.impl.jpa.utils
Utilities for working with JPA or the Genie databases in general.
com.netflix.genie.web.dtos
Immutable DTOs specifically used by the web server.
com.netflix.genie.web.events
Contains all the classes which extend ApplicationEvent for customized events within Genie.
com.netflix.genie.web.exceptions.checked
All checked exceptions specific to the web server.
com.netflix.genie.web.health
Classes for reporting health information to actuator.
com.netflix.genie.web.introspection
Classes related to the web server inspecting or knowing its own state at runtime.
com.netflix.genie.web.properties
This package contains classes which represent configuration properties for type binding and simpler usage.
com.netflix.genie.web.properties.converters
A package which contains implementations of Converter to convert between String representations of properties and more complex objects that can be used more effectively programmatically without spreading such conversion all over the code.
com.netflix.genie.web.resources.writers
Interfaces and implementations to convert a directory to given representations.
com.netflix.genie.web.scripts
Package for script loaded at runtime to provide custom extensions and behavior.
com.netflix.genie.web.selectors
Package to contain interfaces and classes which provide plugin functionality for selecting resources at runtime for jobs.
com.netflix.genie.web.selectors.impl
Implementations of various selector interfaces.
com.netflix.genie.web.services
Interfaces for core Genie services.
com.netflix.genie.web.services.impl
Implementations of services specific to a web application.
com.netflix.genie.web.spring.actuators
Actuator endpoints.
com.netflix.genie.web.spring.autoconfigure
Various Spring configurations for Genie web.
com.netflix.genie.web.spring.autoconfigure.agent.apis.rpc.servers
Auto configuration for the RPC server used for the agent on the web server.
com.netflix.genie.web.spring.autoconfigure.agent.apis.rpc.v4.endpoints
Auto configuration of V4 gRPC endpoints for the agent to connect to.
com.netflix.genie.web.spring.autoconfigure.agent.apis.rpc.v4.interceptors
Auto configuration of V4 gRPC interceptors for the agent to connect to.
com.netflix.genie.web.spring.autoconfigure.agent.inspectors
Auto configuration for the inspectors package for the agent module.
com.netflix.genie.web.spring.autoconfigure.agent.launchers
Auto configuration for the launchers package of the agent module.
com.netflix.genie.web.spring.autoconfigure.agent.resources
Auto configurations for the agent module resources package.
com.netflix.genie.web.spring.autoconfigure.agent.services
Agent services auto configuration.
com.netflix.genie.web.spring.autoconfigure.apis
Auto configurations for the apis package.
com.netflix.genie.web.spring.autoconfigure.apis.rest.v3.hateoas
Auto configurations for the hateoas package for the V3 REST API.
com.netflix.genie.web.spring.autoconfigure.aspects
Auto configuration for aspects applied to the Genie server.
com.netflix.genie.web.spring.autoconfigure.aws
AWS beans Autoconfiguration.
com.netflix.genie.web.spring.autoconfigure.data
Auto configuration for data module of to the Genie server.
com.netflix.genie.web.spring.autoconfigure.events
Auto configuration for data module of to the Genie server.
com.netflix.genie.web.spring.autoconfigure.health
Auto configuration for health module of to the Genie server.
com.netflix.genie.web.spring.autoconfigure.introspection
Auto configurations for the introspection module.
com.netflix.genie.web.spring.autoconfigure.properties.converters
Auto configurations for property conversion.
com.netflix.genie.web.spring.autoconfigure.scripts
Script extensions configuration.
com.netflix.genie.web.spring.autoconfigure.selectors
Auto configuration for the selectors module of Genie web.
com.netflix.genie.web.spring.autoconfigure.services
Auto configuration for services module of the Genie server.
com.netflix.genie.web.spring.autoconfigure.tasks
Auto configuration for tasks module of the Genie server.
com.netflix.genie.web.spring.autoconfigure.tasks.leader
Auto configuration for the leader tasks module of the Genie server.
com.netflix.genie.web.spring.autoconfigure.tasks.node
Auto configuration for the node tasks module of the Genie server.
com.netflix.genie.web.spring.processors
Any environment post processors for Spring that are needed.
com.netflix.genie.web.tasks
Classes which Genie will run basically as cron jobs to do various impl.
com.netflix.genie.web.tasks.leader
Classes involved in leadership election and tasks associated with being a cluster leader.
com.netflix.genie.web.tasks.node
Classes that run as tasks on every node in a Genie cluster.
com.netflix.genie.web.util
General utility classes.