{"id":19888226,"url":"https://github.com/project-codeflare/ibm-ray-config","last_synced_at":"2026-05-13T00:35:57.391Z","repository":{"id":61243127,"uuid":"548633988","full_name":"project-codeflare/ibm-ray-config","owner":"project-codeflare","description":null,"archived":false,"fork":false,"pushed_at":"2023-09-07T10:56:01.000Z","size":559,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":4,"default_branch":"main","last_synced_at":"2025-09-19T02:43:39.548Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/project-codeflare.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2022-10-10T00:14:57.000Z","updated_at":"2022-10-11T11:30:35.000Z","dependencies_parsed_at":"2023-02-15T17:55:37.857Z","dependency_job_id":null,"html_url":"https://github.com/project-codeflare/ibm-ray-config","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/project-codeflare/ibm-ray-config","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/project-codeflare%2Fibm-ray-config","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/project-codeflare%2Fibm-ray-config/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/project-codeflare%2Fibm-ray-config/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/project-codeflare%2Fibm-ray-config/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/project-codeflare","download_url":"https://codeload.github.com/project-codeflare/ibm-ray-config/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/project-codeflare%2Fibm-ray-config/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32963172,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-12T23:30:32.555Z","status":"ssl_error","status_checked_at":"2026-05-12T23:30:18.191Z","response_time":102,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-12T18:06:41.114Z","updated_at":"2026-05-13T00:35:57.370Z","avatar_url":"https://github.com/project-codeflare.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Ray VPC allocator / Configuration Generator For IBM VPC\n\n`ibm-ray-config` is a CLI tool that seamlessly allocates and registers VPC resources (such as: subnets, gateways, ips, ssh keys and security groups rules), to generate Ray configuration files and executables for IBM VPC.\n\n## Setup\n\nThe tool has been mostly tested with Ubuntu 20.04/22.04 and Fedora 35/37, but should work on most Linux systems.   \nRequirements: `ssh-keygen` utility installed:\n```\nsudo apt install openssh-client\n```\n\nInstall `ibm-ray-config` from pip repository\n\n```\npip install ibm-ray-config\n```\n\n## Usage\n\n### Set up IBM VPC resources and configure a cluster for Ray:\n\n```\nibm-ray-config [--iam-api-key IAM_API_KEY] [--r REGION] [-o OUTPUT_PATH] [--compute-iam-endpoint IAM_ENDPOINT] [--version] \n```\n\nGet a short description of the available flags via ```ibm-ray-config --help```\n\n\u003cbr/\u003e\n\n#### Flags Detailed Description\n\n\u003c!--- \u003cimg width=125/\u003e is used in the following table to create spacing ---\u003e\n |\u003cspan style=\"color:orange\"\u003eKey|\u003cspan style=\"color:orange\"\u003eDefault|\u003cspan style=\"color:orange\"\u003eMandatory|\u003cspan style=\"color:orange\"\u003eAdditional info|\n |---|---|---|---|\n | iam-api-key   | |yes|IBM Cloud API key. To generate a new API Key, adhere to the following [guide](https://www.ibm.com/docs/en/spectrumvirtualizecl/8.1.3?topic=installing-creating-api-key)\n |output-path   |current working directory ($PWD) | no |A custom location for the program's outputs |\n |version       | | no |Returns ibm-ray-config's package version|\n |region| | no|Geographical location for deployment and scope for available resources by the IBM-VPC service. Region are listed \u003ca href=\"https://cloud.ibm.com/docs/vpc?topic=vpc-creating-a-vpc-in-a-different-region\u0026interface=cli\"\u003e here\u003c/a\u003e. |\n compute_iam_endpoint|https://iam.cloud.ibm.com|no|Alternative IAM endpoint url for the cloud provider, e.g. https://iam.test.cloud.ibm.com|\n\n### Operate the cluster\nTo interact with the cluster, execute the scripts in `\u003ccluster_folder\u003e/scripts/`:  \n- `up.sh`, `down.sh`, `stop.sh` and `submit.sh` correspond to Ray's counterpart [commands](https://docs.ray.io/en/latest/cluster/cli.html?highlight=cli#ray-monitor).\n- `down-vpc.sh`  will delete all resources created by Ray and `ibm-ray-config`  \n- `connect.sh` will open a secure connection to your cluster, while `disconnect.sh` will terminate it.\n- `ray.sh` can be used to run all other of Ray's [commands](https://docs.ray.io/en/latest/cluster/cli.html?highlight=cli#ray-monitor).\n- `tunnel.sh` establish forward additional ports over secure ssh tunnel using, e.g. ray serve ports: `tunnel.sh 8000`. \n\nNotice - To use Ray commands without the aforementioned scripts, either run them from the cluster's folder, or edit the `ssh_private_key` field to contain the absolute path to the associated ssh private key.\n\n### Using ibm-ray-config Config Tool Programmatically\n#### Disclaimer:  \nThis feature is currently dysfunctional, as it wasn't maintained throughout the previous releases.  \nWe hope to support it in the near future. \n\nAttention: though not all fields are mandatory, unspecified resources will be created automatically on the backend.\n\nMandatory fields are: `iam_api_key` and `region`.\nProcessor architecture: Intel x86.    \n\nUnspecified Fields will be replaced with the following values:     \n- `vpc_id` - If available a random one will be chosen.\n         Otherwise (if no VPC exists) a new VPC named:ray-default-vpc-\u003cINT\u003e will be created and a random floating-ip will be assigned to the subnet's gateway. The process may create a new floating-ip if no unbound ip exists. \n- `ssh_key_filename` (path to private ssh-key) - A new one will be created and registered under the specified region. \n- `key_id` (ssh-key on the IBM-VPC platform) - If ssh_key_filename instead specified the public key will be generated and registered, otherwise, a new key will be created and registered.   \n- `image_id` - The VMs image will be Ubuntu 20.04.\n- `profile_name` - 'bx2-2x8', which equates to: 2CPUs, 8GiB RAM, 100GB storage.\n- `min_workers` - 0.\n- `max_workers` - 0.\n\nExample:\n```\nfrom ibm_ray_config import generate_config\n\napi_key = '\u003cIAM_API_KEY\u003e'\nregion = 'eu-de'\ngenerate_config(iam_api_key=api_key, region=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)\n```\n\nMinimal example using mandatory fields:\n\n```\nfrom ibm_ray_config import generate_config\n\napi_key = \u003cIAM_API_KEY\u003e\nregion = 'eu-de'\nconfig_file = generate_config(iam_api_key=api_key, region=region)\n```\n\n### Test and Usage \nAttention: to run multiple clusters under the same VPC, make sure their cluster names (`cluster_name` in the config file) are unique.      \n\nTo deploy a Ray cluster with the configuration created, please use the \u003ca href=\"https://github.com/project-codeflare/ibm-vpc-ray-connector\"\u003e ibm-vpc-ray-connector \u003c/a\u003e. Follow the instructions via the provided link to test your configuration files.\n\n## Execution Example\n![part1](doc-assets/example1.png?raw=true)\n![part2](doc-assets/example2.png?raw=true)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fproject-codeflare%2Fibm-ray-config","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fproject-codeflare%2Fibm-ray-config","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fproject-codeflare%2Fibm-ray-config/lists"}