Octavia CLI is a tool to manage Airbyte configuration in YAML. It has the following features:
- Scaffolding of a readable directory architecture that will host the YAML configs.
- Auto-generation of YAML config file that matches the resources' schemas.
- Manage Airbyte resources with YAML config files.
- Safe resources update through diff display and validation.
- Simple secret management to avoid versioning credentials.
The project is under development: readers can refer to our tech spec deck for an introduction to the tool.
We encourage users to use the CLI with docker to avoid the hassle of setting up a Python installation. The project is under development: we have not yet published any docker image to our Docker registry.
- Build the project locally (from the root of the repo):
SUB_BUILD=OCTAVIA_CLI ./gradlew build #from the root of the repo
- Run the CLI from docker:
docker run airbyte/octavia-cli:dev
- Create an
octavia
alias in your.bashrc
or.zshrc
:
echo 'alias octavia="docker run airbyte/octavia-cli:dev"' >> ~/.zshrc
source ~/.zshrc
octavia
Octavia is currently under development. You can find a detailed and updated execution plan here. We welcome community contributions!
Summary of achievements:
Date | Milestone |
---|---|
2022-01-25 | Implement octavia init + some context checks |
2022-01-19 | Implement octavia list workspace sources , octavia list workspace destinations , octavia list workspace connections |
2022-01-17 | Implement octavia list connectors source and octavia list connectors destinations |
2022-01-17 | Generate an API Python client from our Open API spec |
2021-12-22 | Bootstrapping the project's code base |
- Install Python 3.8.12. We suggest doing it through
pyenv
- Create a virtualenv:
python -m venv .venv
- Activate the virtualenv:
source .venv/bin/activate
- Install dev dependencies:
pip install -e .\[dev\]
- Install
pre-commit
hooks:pre-commit install
- Run the test suite:
pytest --cov=octavia_cli unit_tests
- Iterate: please check the Contributing for instructions on contributing.
- Please sign up to Airbyte's Slack workspace and join the
#octavia-cli
. We'll sync up community efforts in this channel. - Read the execution plan and find a task you'd like to work on.
- Open a PR, make sure to test your code thoroughly.