Fuga - Helper toolset for Google Cloud Cimposer
Project description
(This project is in public-beta status)
Fuga ['fu:ga]
Fuga is a toolset (and API wrappers) for Google Cloud Composer (Airflow), which allows Composer users to develop/deploy workflows easier and in more organized way.
Quickstart
Install Requirements
- gcloud
- Python 3+
Note: pyenv always provides an entrypoint for both python2/3 and throw an
error when one doesn't actually exists, which makes gcloud cli crashes at its
runtime. To prevent this, use something like pyenv global 3.x.x 2.x.x
to
provide both python2/3 or alias python2=python
to let your system choose
where to route the command.
Install fuga (cli)
$ # (on your own machine)
$ pip install fuga
Install fuga templates
Fuga powers cookiecutter to offer various templates/boilerplates for fuga experiments. You need to install it to your environment before using fuga.
$ git clone git@github.com:reproio/fuga-cookiecutter-experiment-default.git \
~/.cookiecutters/fuga-cookiecutter-experiment-default
$ git clone git@github.com:reproio/fuga-cookiecutter-pod-operator-default.git \
~/.cookiecutters/fuga-cookiecutter-pod-operator-default
Create Cloud Composer Environment
Creating new Cloud Composer Environment is not supported by the tool at the moment.
Install fuga to Composer Environment
You need to install fuga to Compooser Environment if you want to use fuga airflow utilities.
Initialize Fuga environment
Fuga needs to know which GCP project and GCS bucket to use with it.
fuga environment init
command with let you choose one or create new for each.
$ fuga environment init
# follow instructions
Create your experiment
$ fuga experiment new my_experiment
...
Deploy your experiment
$ cd my_experiment
$ fuga experiment deploy
...
(optional) Create your implementation for KubernetesPodOperator
If you want to use an operator with external dependency which is not able to be resolved using just PyPI packages, (e.g. MeCab) you may need to use KuberenetesPodOperator.
Fuga supports generating a scaffold for KuberenetesPodOperator and deploy(and rollback(WIP)) it on Google Cloud Container Registry.
$ cd my_experiment
$ fuga pod-operator new my_pod_operator
...
$ fuga pod-operator deploy my_pod_operator
...
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
File details
Details for the file fuga-0.1.7-py2.py3-none-any.whl
.
File metadata
- Download URL: fuga-0.1.7-py2.py3-none-any.whl
- Upload date:
- Size: 20.9 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.20.1 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.7.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | ed4ce9735f8c75f334e94731afc6b6e14278117612c1525f8ab40a38f20809e4 |
|
MD5 | fe76ce8026feeae3d403eb08286fae43 |
|
BLAKE2b-256 | 586c3d4e1cbf7017b6de800a0c7a3b413b9c4778b15e5acf2ddf1022e91c2f60 |