Skip to content

Commit

Permalink
Merge branch 'develop' into upload-goals-to-all-plans
Browse files Browse the repository at this point in the history
  • Loading branch information
cartermak authored Sep 7, 2023
2 parents 5825e9f + 681debc commit 0d82a60
Show file tree
Hide file tree
Showing 47 changed files with 2,117 additions and 1,011 deletions.
12 changes: 12 additions & 0 deletions .env
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
DOCKER_TAG=v1.12.0
REPOSITORY_DOCKER_URL=ghcr.io/nasa-ammos

AERIE_USERNAME=aerie
AERIE_PASSWORD=aerie

POSTGRES_USER=postgres
POSTGRES_PASSWORD=postgres
COMPOSE_PROJECT_NAME=aerie

HASURA_GRAPHQL_ADMIN_SECRET=admin
HASURA_GRAPHQL_JWT_SECRET='{ "type": "HS256", "key": "Thisisthedefaultsecretandneed32B" }'
4 changes: 3 additions & 1 deletion .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,8 @@ env:
HASURA_GRAPHQL_JWT_SECRET: "${{secrets.HASURA_GRAPHQL_JWT_SECRET}}"
POSTGRES_USER: "${{secrets.POSTGRES_USER}}"
POSTGRES_PASSWORD: "${{secrets.POSTGRES_PASSWORD}}"
DOCKER_TAG: "v1.12.0"
REPOSITORY_DOCKER_URL: "ghcr.io/nasa-ammos"

jobs:
unit-test:
Expand Down Expand Up @@ -45,7 +47,7 @@ jobs:
environment: integration-test-workflow
strategy:
matrix:
python-version: [ "3.6.15", "3.7", "3.8", "3.9", "3.10", "3.11" ]
python-version: [ "3.6.15", "3.11" ]
steps:
- uses: actions/checkout@v3
- name: Set up Python ${{ matrix.python-version }}
Expand Down
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -56,12 +56,12 @@ Aerie CLI provides a command-line interface and user-extendable Python backend f

This short procedure will get you up and running with the basics of Aerie CLI. Read the following sections for more information.

1. Install/update to Python 3.9
1. Install/update to Python >=3.9

2. Install Aerie CLI from Github:

```sh
python3 -m pip install git+https://github.com/NASA-AMMOS/aerie-cli.git#main
python3 -m pip install git+https://github.com/NASA-AMMOS/aerie-cli.git@main
```

3. Configure access to an Aerie host
Expand Down
217 changes: 136 additions & 81 deletions docker-compose-test.yml
Original file line number Diff line number Diff line change
@@ -1,169 +1,224 @@
# Pulled from https://github.com/NASA-AMMOS/aerie-ui/blob/fa404631caee079275a8e86d529bb428f6243871/docker-compose-test.yml
version: '3.7'
version: "3.7"
services:
aerie_gateway:
container_name: aerie_gateway
depends_on: ['postgres']
depends_on: ["postgres"]
environment:
AUTH_TYPE: none
GQL_API_URL: http://localhost:8080/v1/graphql
HASURA_GRAPHQL_JWT_SECRET: '${HASURA_GRAPHQL_JWT_SECRET}'
HASURA_GRAPHQL_JWT_SECRET: "${HASURA_GRAPHQL_JWT_SECRET}"
LOG_FILE: console
LOG_LEVEL: debug
NODE_TLS_REJECT_UNAUTHORIZED: '0'
NODE_TLS_REJECT_UNAUTHORIZED: "0"
PORT: 9000
POSTGRES_AERIE_MERLIN_DB: aerie_merlin
POSTGRES_AERIE_SCHEDULER_DB: aerie_scheduler
POSTGRES_HOST: postgres
POSTGRES_PASSWORD: '${AERIE_PASSWORD}'
POSTGRES_PASSWORD: "${AERIE_PASSWORD}"
POSTGRES_PORT: 5432
POSTGRES_USER: '${AERIE_USERNAME}'
image: 'ghcr.io/nasa-ammos/aerie-gateway:v1.6.2'
ports: ['9000:9000']
POSTGRES_USER: "${AERIE_USERNAME}"
image: "${REPOSITORY_DOCKER_URL}/aerie-gateway:${DOCKER_TAG}"
ports: ["9000:9000"]
restart: always
volumes:
- aerie_file_store:/app/files
aerie_merlin:
container_name: aerie_merlin
depends_on: ['postgres']
depends_on: ["postgres"]
environment:
MERLIN_DB: 'aerie_merlin'
MERLIN_DB_PASSWORD: '${AERIE_PASSWORD}'
HASURA_GRAPHQL_ADMIN_SECRET: "${HASURA_GRAPHQL_ADMIN_SECRET}"
HASURA_GRAPHQL_URL: http://hasura:8080/v1/graphql
MERLIN_DB: "aerie_merlin"
MERLIN_DB_PASSWORD: "${AERIE_PASSWORD}"
MERLIN_DB_PORT: 5432
MERLIN_DB_SERVER: postgres
MERLIN_DB_USER: '${AERIE_USERNAME}'
MERLIN_DB_USER: "${AERIE_USERNAME}"
MERLIN_LOCAL_STORE: /usr/src/app/merlin_file_store
MERLIN_PORT: 27183
MERLIN_USE_NEW_CONSTRAINT_PIPELINE: 'true'
JAVA_OPTS: >
-Dorg.slf4j.simpleLogger.defaultLogLevel=DEBUG
-Dorg.slf4j.simpleLogger.log.com.zaxxer.hikari=INFO
-Dorg.slf4j.simpleLogger.defaultLogLevel=WARN
-Dorg.slf4j.simpleLogger.logFile=System.err
UNTRUE_PLAN_START: '2000-01-01T11:58:55.816Z'
image: 'ghcr.io/nasa-ammos/aerie-merlin:v1.6.2'
ports: ['27183:27183']
UNTRUE_PLAN_START: "2000-01-01T11:58:55.816Z"
image: "${REPOSITORY_DOCKER_URL}/aerie-merlin:${DOCKER_TAG}"
ports: ["27183:27183"]
restart: always
volumes:
- aerie_file_store:/usr/src/app/merlin_file_store
aerie_merlin_worker:
container_name: aerie_merlin_worker
depends_on: ['postgres']
aerie_merlin_worker_1:
container_name: aerie_merlin_worker_1
depends_on: ["postgres"]
environment:
MERLIN_WORKER_DB: 'aerie_merlin'
MERLIN_WORKER_DB_PASSWORD: '${AERIE_PASSWORD}'
MERLIN_WORKER_DB: "aerie_merlin"
MERLIN_WORKER_DB_PASSWORD: "${AERIE_PASSWORD}"
MERLIN_WORKER_DB_PORT: 5432
MERLIN_WORKER_DB_SERVER: postgres
MERLIN_WORKER_DB_USER: '${AERIE_USERNAME}'
MERLIN_WORKER_DB_USER: "${AERIE_USERNAME}"
MERLIN_WORKER_LOCAL_STORE: /usr/src/app/merlin_file_store
SIMULATION_PROGRESS_POLL_PERIOD_MILLIS: 2000
JAVA_OPTS: >
-Dorg.slf4j.simpleLogger.defaultLogLevel=DEBUG
-Dorg.slf4j.simpleLogger.log.com.zaxxer.hikari=INFO
-Dorg.slf4j.simpleLogger.defaultLogLevel=INFO
-Dorg.slf4j.simpleLogger.log.com.zaxxer.hikari=WARN
-Dorg.slf4j.simpleLogger.logFile=System.err
UNTRUE_PLAN_START: "2000-01-01T11:58:55.816Z"
image: "${REPOSITORY_DOCKER_URL}/aerie-merlin-worker:${DOCKER_TAG}"
ports: ["27187:8080"]
restart: always
volumes:
- aerie_file_store:/usr/src/app/merlin_file_store:ro
aerie_merlin_worker_2:
container_name: aerie_merlin_worker_2
depends_on: ["postgres"]
environment:
MERLIN_WORKER_DB: "aerie_merlin"
MERLIN_WORKER_DB_PASSWORD: "${AERIE_PASSWORD}"
MERLIN_WORKER_DB_PORT: 5432
MERLIN_WORKER_DB_SERVER: postgres
MERLIN_WORKER_DB_USER: "${AERIE_USERNAME}"
MERLIN_WORKER_LOCAL_STORE: /usr/src/app/merlin_file_store
SIMULATION_PROGRESS_POLL_PERIOD_MILLIS: 2000
JAVA_OPTS: >
-Dorg.slf4j.simpleLogger.defaultLogLevel=INFO
-Dorg.slf4j.simpleLogger.log.com.zaxxer.hikari=WARN
-Dorg.slf4j.simpleLogger.logFile=System.err
UNTRUE_PLAN_START: '2000-01-01T11:58:55.816Z'
image: 'ghcr.io/nasa-ammos/aerie-merlin-worker:v1.6.2'
ports: ['27187:8080']
UNTRUE_PLAN_START: "2000-01-01T11:58:55.816Z"
image: "${REPOSITORY_DOCKER_URL}/aerie-merlin-worker:${DOCKER_TAG}"
ports: ["27188:8080"]
restart: always
volumes:
- aerie_file_store:/usr/src/app/merlin_file_store:ro
aerie_scheduler:
container_name: aerie_scheduler
depends_on: ['aerie_merlin', 'postgres']
depends_on: ["aerie_merlin", "postgres"]
environment:
HASURA_GRAPHQL_ADMIN_SECRET: '${HASURA_GRAPHQL_ADMIN_SECRET}'
HASURA_GRAPHQL_ADMIN_SECRET: "${HASURA_GRAPHQL_ADMIN_SECRET}"
MERLIN_GRAPHQL_URL: http://hasura:8080/v1/graphql
SCHEDULER_DB: 'aerie_scheduler'
SCHEDULER_DB_PASSWORD: '${AERIE_PASSWORD}'
SCHEDULER_DB: "aerie_scheduler"
SCHEDULER_DB_PASSWORD: "${AERIE_PASSWORD}"
SCHEDULER_DB_PORT: 5432
SCHEDULER_DB_SERVER: postgres
SCHEDULER_DB_USER: '${AERIE_USERNAME}'
SCHEDULER_DB_USER: "${AERIE_USERNAME}"
SCHEDULER_PORT: 27185
JAVA_OPTS: >
-Dorg.slf4j.simpleLogger.defaultLogLevel=DEBUG
-Dorg.slf4j.simpleLogger.log.com.zaxxer.hikari=INFO
-Dorg.slf4j.simpleLogger.defaultLogLevel=WARN
-Dorg.slf4j.simpleLogger.logFile=System.err
image: 'ghcr.io/nasa-ammos/aerie-scheduler:v1.6.2'
ports: ['27185:27185']
image: "${REPOSITORY_DOCKER_URL}/aerie-scheduler:${DOCKER_TAG}"
ports: ["27185:27185"]
restart: always
volumes:
- aerie_file_store:/usr/src/app/merlin_file_store
aerie_scheduler_worker:
container_name: aerie_scheduler_worker
depends_on: ['postgres']
aerie_scheduler_worker_1:
container_name: aerie_scheduler_worker_1
depends_on: ["postgres"]
environment:
HASURA_GRAPHQL_ADMIN_SECRET: '${HASURA_GRAPHQL_ADMIN_SECRET}'
HASURA_GRAPHQL_ADMIN_SECRET: "${HASURA_GRAPHQL_ADMIN_SECRET}"
MERLIN_GRAPHQL_URL: http://hasura:8080/v1/graphql
MERLIN_LOCAL_STORE: /usr/src/app/merlin_file_store
SCHEDULER_WORKER_DB: "aerie_scheduler"
SCHEDULER_WORKER_DB_PASSWORD: "${AERIE_PASSWORD}"
SCHEDULER_WORKER_DB_PORT: 5432
SCHEDULER_WORKER_DB_SERVER: postgres
SCHEDULER_WORKER_DB_USER: "${AERIE_USERNAME}"
SCHEDULER_OUTPUT_MODE: UpdateInputPlanWithNewActivities
MERLIN_LOCAL_STORE: /usr/src/app/merlin_file_store
SCHEDULER_RULES_JAR: /usr/src/app/merlin_file_store/scheduler_rules.jar
SCHEDULER_WORKER_DB: 'aerie_scheduler'
SCHEDULER_WORKER_DB_PASSWORD: '${AERIE_PASSWORD}'
JAVA_OPTS: >
-Dorg.slf4j.simpleLogger.log.com.zaxxer.hikari=INFO
-Dorg.slf4j.simpleLogger.logFile=System.err
image: "${REPOSITORY_DOCKER_URL}/aerie-scheduler-worker:${DOCKER_TAG}"
ports: ["27189:8080"]
restart: always
volumes:
- aerie_file_store:/usr/src/app/merlin_file_store:ro
aerie_scheduler_worker_2:
depends_on: ["postgres"]
environment:
HASURA_GRAPHQL_ADMIN_SECRET: "${HASURA_GRAPHQL_ADMIN_SECRET}"
MERLIN_GRAPHQL_URL: http://hasura:8080/v1/graphql
SCHEDULER_WORKER_DB: "aerie_scheduler"
SCHEDULER_WORKER_DB_PASSWORD: "${AERIE_PASSWORD}"
SCHEDULER_WORKER_DB_PORT: 5432
SCHEDULER_WORKER_DB_SERVER: postgres
SCHEDULER_WORKER_DB_USER: '${AERIE_USERNAME}'
SCHEDULER_WORKER_DB_USER: "${AERIE_USERNAME}"
SCHEDULER_OUTPUT_MODE: UpdateInputPlanWithNewActivities
MERLIN_LOCAL_STORE: /usr/src/app/merlin_file_store
SCHEDULER_RULES_JAR: /usr/src/app/merlin_file_store/scheduler_rules.jar
JAVA_OPTS: >
-Dorg.slf4j.simpleLogger.log.com.zaxxer.hikari=INFO
-Dorg.slf4j.simpleLogger.logFile=System.err
image: 'ghcr.io/nasa-ammos/aerie-scheduler-worker:v1.6.2'
ports: ['27189:8080']
image: "${REPOSITORY_DOCKER_URL}/aerie-scheduler-worker:${DOCKER_TAG}"
ports: ["27190:8080"]
restart: always
volumes:
- aerie_file_store:/usr/src/app/merlin_file_store:ro
aerie_sequencing:
container_name: aerie_sequencing
depends_on: ['postgres']
depends_on: ["postgres"]
environment:
HASURA_GRAPHQL_ADMIN_SECRET: '${HASURA_GRAPHQL_ADMIN_SECRET}'
HASURA_GRAPHQL_ADMIN_SECRET: "${HASURA_GRAPHQL_ADMIN_SECRET}"
LOG_FILE: console
LOG_LEVEL: debug
LOG_LEVEL: warn
MERLIN_GRAPHQL_URL: http://hasura:8080/v1/graphql
SEQUENCING_SERVER_PORT: 27184
SEQUENCING_DB: aerie_sequencing
SEQUENCING_DB_PASSWORD: '${AERIE_PASSWORD}'
SEQUENCING_DB_PASSWORD: "${AERIE_PASSWORD}"
SEQUENCING_DB_PORT: 5432
SEQUENCING_DB_SERVER: postgres
SEQUENCING_DB_USER: '${AERIE_USERNAME}'
SEQUENCING_DB_USER: "${AERIE_USERNAME}"
SEQUENCING_LOCAL_STORE: /usr/src/app/sequencing_file_store
SEQUENCING_SERVER_PORT: 27184
image: 'ghcr.io/nasa-ammos/aerie-sequencing:v1.6.2'
ports: ['27184:27184']
image: "${REPOSITORY_DOCKER_URL}/aerie-sequencing:${DOCKER_TAG}"
ports: ["27184:27184"]
restart: always
volumes:
- aerie_file_store:/usr/src/app/sequencing_file_store
aerie_ui:
container_name: aerie_ui
depends_on: ["postgres"]
environment:
ORIGIN: http://localhost
NODE_TLS_REJECT_UNAUTHORIZED: "0"
PUBLIC_LOGIN_PAGE: "enabled"
PUBLIC_GATEWAY_CLIENT_URL: http://localhost:9000
PUBLIC_GATEWAY_SERVER_URL: http://aerie_gateway:9000
PUBLIC_HASURA_CLIENT_URL: http://localhost:8080/v1/graphql
PUBLIC_HASURA_SERVER_URL: http://hasura:8080/v1/graphql
PUBLIC_HASURA_WEB_SOCKET_URL: ws://localhost:8080/v1/graphql
image: "${REPOSITORY_DOCKER_URL}/aerie-ui:${DOCKER_TAG}"
ports: ["80:80"]
restart: always
hasura:
container_name: aerie_hasura
depends_on: ['postgres']
depends_on: ["postgres"]
environment:
AERIE_MERLIN_DATABASE_URL: 'postgres://${AERIE_USERNAME}:${AERIE_PASSWORD}@postgres:5432/aerie_merlin'
AERIE_MERLIN_URL: 'http://aerie_merlin:27183'
AERIE_SCHEDULER_DATABASE_URL: 'postgres://${AERIE_USERNAME}:${AERIE_PASSWORD}@postgres:5432/aerie_scheduler'
AERIE_SCHEDULER_URL: 'http://aerie_scheduler:27185'
AERIE_SEQUENCING_DATABASE_URL: 'postgres://${AERIE_USERNAME}:${AERIE_PASSWORD}@postgres:5432/aerie_sequencing'
AERIE_SEQUENCING_URL: 'http://aerie_sequencing:27184'
AERIE_UI_DATABASE_URL: 'postgres://${AERIE_USERNAME}:${AERIE_PASSWORD}@postgres:5432/aerie_ui'
HASURA_GRAPHQL_ADMIN_SECRET: '${HASURA_GRAPHQL_ADMIN_SECRET}'
HASURA_GRAPHQL_DEV_MODE: 'true'
HASURA_GRAPHQL_ENABLE_CONSOLE: 'true'
AERIE_MERLIN_DATABASE_URL: "postgres://${AERIE_USERNAME}:${AERIE_PASSWORD}@postgres:5432/aerie_merlin"
AERIE_MERLIN_URL: "http://aerie_merlin:27183"
AERIE_SCHEDULER_DATABASE_URL: "postgres://${AERIE_USERNAME}:${AERIE_PASSWORD}@postgres:5432/aerie_scheduler"
AERIE_SCHEDULER_URL: "http://aerie_scheduler:27185"
AERIE_SEQUENCING_DATABASE_URL: "postgres://${AERIE_USERNAME}:${AERIE_PASSWORD}@postgres:5432/aerie_sequencing"
AERIE_SEQUENCING_URL: "http://aerie_sequencing:27184"
AERIE_UI_DATABASE_URL: "postgres://${AERIE_USERNAME}:${AERIE_PASSWORD}@postgres:5432/aerie_ui"
HASURA_GRAPHQL_ADMIN_SECRET: "${HASURA_GRAPHQL_ADMIN_SECRET}"
HASURA_GRAPHQL_DEV_MODE: "true"
HASURA_GRAPHQL_ENABLE_CONSOLE: "true"
HASURA_GRAPHQL_ENABLED_LOG_TYPES: startup, http-log, webhook-log, websocket-log, query-log
HASURA_GRAPHQL_JWT_SECRET: '${HASURA_GRAPHQL_JWT_SECRET}'
HASURA_GRAPHQL_LOG_LEVEL: info
HASURA_GRAPHQL_METADATA_DATABASE_URL: 'postgres://${AERIE_USERNAME}:${AERIE_PASSWORD}@postgres:5432/aerie_hasura'
HASURA_GRAPHQL_JWT_SECRET: "${HASURA_GRAPHQL_JWT_SECRET}"
HASURA_GRAPHQL_LOG_LEVEL: warn
HASURA_GRAPHQL_METADATA_DATABASE_URL: "postgres://${AERIE_USERNAME}:${AERIE_PASSWORD}@postgres:5432/aerie_hasura"
HASURA_GRAPHQL_METADATA_DIR: /hasura-metadata
image: 'ghcr.io/nasa-ammos/aerie-hasura:v1.6.2'
ports: ['8080:8080']
image: "${REPOSITORY_DOCKER_URL}/aerie-hasura:${DOCKER_TAG}"
ports: ["8080:8080"]
restart: always
postgres:
container_name: aerie_postgres
environment:
AERIE_PASSWORD: '${AERIE_PASSWORD}'
AERIE_USERNAME: '${AERIE_USERNAME}'
POSTGRES_DB: postgres
POSTGRES_PASSWORD: '${POSTGRES_PASSWORD}'
POSTGRES_USER: '${POSTGRES_USER}'
image: 'ghcr.io/nasa-ammos/aerie-postgres:v1.6.2'
ports: ['5432:5432']
POSTGRES_PASSWORD: "${POSTGRES_PASSWORD}"
POSTGRES_USER: "${POSTGRES_USER}"
AERIE_USERNAME: "${AERIE_USERNAME}"
AERIE_PASSWORD: "${AERIE_PASSWORD}"
image: "${REPOSITORY_DOCKER_URL}/aerie-postgres:${DOCKER_TAG}"
ports: ["5432:5432"]
restart: always
volumes:
- postgres_data:/var/lib/postgresql/data

volumes:
aerie_file_store:
mission_file_store:
postgres_data:
3 changes: 2 additions & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[tool.poetry]
name = "aerie-cli"
version = "1.2.1"
version = "1.2.2"
description = "aerie-cli"
authors = ["Gavin Martin <[email protected]>", "Mihir Kamble <[email protected]>"]
license = "MIT"
Expand All @@ -27,6 +27,7 @@ rich = "^12.6.0"
attrs = "^22.2.0"
pandas = "^1.1.5"
appdirs = "^1.4.4"
importlib-metadata = "^4.8.2"

[tool.poetry.dev-dependencies]
pytest = "^6.2.5"
Expand Down
Loading

0 comments on commit 0d82a60

Please sign in to comment.