Skip to content

apache/airavata

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Apache Airavata

image

Build Status License Contributors

πŸš€ About

Apache Airavata is a software framework for executing and managing computational jobs on distributed computing resources including local clusters, supercomputers, national grids, academic and commercial clouds. Airavata builds on general concepts of service oriented computing, distributed messaging, and workflow composition and orchestration. Airavata bundles a server package with an API, client software development Kits and a general purpose reference UI implementation.

Key Features:

  • πŸ”§ Service-oriented architecture with distributed messaging
  • πŸ”„ Workflow composition and orchestration
  • ☁️ Multi-cloud and hybrid cloud support
  • πŸ–₯️ Comprehensive API and SDK ecosystem
  • 🌐 Reference UI implementation via Apache Airavata Django Portal

Learn more at airavata.apache.org

🧱 The Airavata Ecosystem

Apache Airavata is composed of modular components spanning core services, data management, user interfaces, and developer tooling.

πŸ”§ Core Services

  • airavata – Main microservices and orchestration engine
  • airavata-custos – Identity and access management framework
  • airavata-mft – Managed file transfer services

πŸ–₯️ User Interfaces

πŸ“¦ Data & Metadata Services

πŸ“š Documentation & Branding

πŸ§ͺ Experimental & Research

πŸ“‹ Prerequisites

Before building Apache Airavata, ensure you have:

Requirement Version Notes
Java SDK 17+ Set JAVA_HOME environment variable
Apache Maven 3.8+ Build automation tool
Git Latest Version control

πŸ”§ Environment Setup

Ubuntu/Debian:

export JAVA_HOME=/usr/lib/jvm/openjdk-17-jdk

macOS:

export JAVA_HOME=$(/usr/libexec/java_home -v 17)

Windows:

set JAVA_HOME=C:\Program Files\OpenJDK\openjdk-17

πŸ—οΈ Building from Source

Quick Start

# Clone the repository
git clone [email protected]:apache/airavata.git
cd airavata

# Build with tests
mvn clean install

# Build without tests (faster)
mvn clean install -DskipTests

# Find your distribution
ls -la modules/distribution/target/

🐳 Docker Development (Experimental)

⚠️ Note: Docker deployment is experimental and not recommended for production use.

Prerequisites:

  • Docker Engine 20.10+
  • Docker Compose 2.0+

Build and Deploy:

# 1. Build source and Docker images
git clone https://github.com/apache/airavata.git
cd airavata
mvn clean install
mvn docker:build -pl modules/distribution

# 2. Start all services
##Start all supporting services and Airavata microservices (API Server, Helix components, and Job Monitors)

docker-compose \
  -f modules/distribution/src/main/docker/docker-compose.yml \
  up -d

# 3. Verify services are running
docker-compose ps

Service Endpoints:

  • API Server: airavata.host:8960
  • Profile Service: airavata.host:8962
  • Keycloak: airavata.host:8443

Host Configuration: Add to your /etc/hosts file:

127.0.0.1    airavata.host

Stop Services:

docker-compose \
  -f modules/ide-integration/src/main/containers/docker-compose.yml \
  -f modules/distribution/src/main/docker/docker-compose.yml \
  down

πŸš€ Getting Started

The easiest way to get started with running Airavata locally and setting up a development environment is to follow the instructions in the ide-integration README.Those instructions will guide you on setting up a development environment with IntelliJ IDEA.

🀝 Contributing

We welcome contributions from the community! Here's how you can help:

  1. 🍴 Fork the repository
  2. 🌿 Create a feature branch
  3. ✨ Make your changes
  4. πŸ§ͺ Add tests if applicable
  5. πŸ“ Submit a pull request

Learn More:

πŸ’¬ Community & Support

Get Help:

πŸ“„ License

Licensed to the Apache Software Foundation (ASF) under one or more contributor
license agreements. See the NOTICE file distributed with this work for
additional information regarding copyright ownership.

The ASF licenses this file to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance with the License.
You may obtain a copy of the License at:

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed
under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
CONDITIONS OF ANY KIND, either express or implied. See the License for the
specific language governing permissions and limitations under the License.

See the LICENSE file for complete license details.


Made with ❀️ by the Apache Airavata Community