Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Automatically generates configuration files for Lithops

License

NotificationsYou must be signed in to change notification settings

lithops-cloud/lithopscloud

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Lithopscloud is a CLI tool that greatly simplifies user experience by generating Lithops and Ray configuration files.

Setup

The tool been mostly tested with Ubuntu 18.04/20.04, but should work with most Linux systemsRequirements:ssh-keygen utility installed:

sudo apt install openssh-client

Installlithopscloud from pip repository

pip install lithopscloud

Usage

Use the configuration tool as follows

lithopscloud [--iam-api-key IAM_API_KEY] [-i INPUT_FILE] [-o OUTPUT_PATH] [--verify_config CONFIG_FILE_PATH] [--version] [--backend backend] [--defaults]

Get a short description of the available flags vialithopscloud --help


Flags Detailed Description

KeyDefaultMandatoryAdditional info
iam-api-keyyesIBM Cloud API key. To generate a new API Key, adhere to the followingguide
input-file<compute_backend>/defaults.pynoExisting config file to be used as a template in the configuration process
output-pathA randomly generated path to a randomly named yaml filenoA custom location the config file will be written to
verify-confignoVerifies the integrity of an existing config file and outputs a usable config file based on it. Currently doesn't support gen2 backends.
versionnoReturns lithopscloud's package version

Verify Additional ways of configuration

Using theverify-config option enables verification of additional valid ways of configuration, that otherwiseleft unchecked. This mode scans for any possible subset of valid parameters and extract them to output a newlithops config file (e.g., verify cos configured by HMAC credentials).To utilize simply runlithopscloud --verify-config CONFIG_FILE_PATH -o OUTPUT_FILE_PATH
Please note that this feature doesn't currently support the verification of gen2 backends.

Supported backends:

Standalone Compute Backends

Serverless Compute Backends

Storage Backends

  • Gen2/Lithops
  • Gen2/Ray
  • Local Host
  • IBM Cloud Functions
  • IBM Code Engine
  • IBM Cloud Object Storage

Using lithopscloud to generate config file without user interaction

In order to let lithopscloud generate config file based on some defaults and create vpc and all its peripherial assets automatically, please run:

lithopscloud -a <API_KEY> -b <BACKEND> --defaults
  • currently, lithopsgen2 is the only supported backend

Using lithopscloud config tool programmatically

Notice, not all fields are mandatory. Unspecified resources will be created automatically on the backend.

E.g.If existing vpc id not provided - vpc will be created automatically with all required peripherial resources like security groups, gateway.. etc following minimal default requiermentsIf ssh key details not provided - new ssh key pair will be generated and registered in ibm cloud

Lithops Gen2
from lithopscloud import generate_configfrom lithopscloud import LITHOPS_GEN2, LITHOPS_CF, LITHOPS_CE, RAY_GEN2, LOCAL_HOSTapi_key = '<IAM_API_KEY>'region = 'eu-de'generate_config(LITHOPS_GEN2, api_key, region, cos_bucket_name='kpavel-bucket', image_id='r010-5a674db7-95aa-45c5-a2f1-a6aa9d7e93ad', key_id='r010-fe6cb103-60e6-46bc-9cb5-14e415990849', ssh_key_filename='/home/kpavel/.ssh/id_rsa', profile_name='bx2-2x8', vpc_id='r010-af1adda4-e4e5-4060-9aa2-7a0c981aff8e')

Mandatory fields are: backend_type (LITHOPS_GEN2), api_key, region and cos_bucket.Minimal example:

from lithopscloud import generate_configfrom lithopscloud import LITHOPS_GEN2, RAY_GEN2api_key = <IAM_API_KEY>region = 'ca-tor'cos_bucket_name='kpavel-bucket'config_file = generate_config(LITHOPS_GEN2, api_key, region, cos_bucket_name=cos_bucket_name)
Ray Gen2
from lithopscloud import generate_configfrom lithopscloud import RAY_GEN2api_key = '<IAM_API_KEY>'region = 'eu-de'generate_config(RAY_GEN2, api_key, region, image_id='r010-5a674db7-95aa-45c5-a2f1-a6aa9d7e93ad', key_id='r010-fe6cb103-60e6-46bc-9cb5-14e415990849', ssh_key_filename='/home/kpavel/.ssh/id_rsa', profile_name='bx2-2x8', vpc_id='r010-af1adda4-e4e5-4060-9aa2-7a0c981aff8e', min_workers=1, max_workers=1)

Mandatory fields are: backend_type (LITHOPS_GEN2), api_key, region and cos_bucket.Minimal example:

from lithopscloud import generate_configfrom lithopscloud import RAY_GEN2api_key = <IAM_API_KEY>region = 'eu-de'config_file = generate_config(RAY_GEN2, api_key, region)

For Contributors

Add new unsupported sections to config file

If the new configuration is provider specific

  1. implementconfig_builder.py interface
  2. add your implementation underprovider package
  3. add reference to your implementation in the list of exported modules, e.g.lithops modules

If the new configuration is common for multiple providers

  1. implementconfig_builder.py interface to hold common logic
  2. add your implementation tomodules package
  3. extend your common implementation under each provider package, e.g.lithops image.py andray image.py to have config file specific logic

About

Automatically generates configuration files for Lithops

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors2

  •  
  •  

Languages


[8]ページ先頭

©2009-2025 Movatter.jp