{"id":48322645,"url":"https://github.com/faermanj/lab-aliyun","last_synced_at":"2026-04-05T00:43:26.954Z","repository":{"id":229807505,"uuid":"777674339","full_name":"faermanj/lab-aliyun","owner":"faermanj","description":"Reference Implementations for Alibaba Cloud","archived":false,"fork":false,"pushed_at":"2024-08-14T07:57:20.000Z","size":80,"stargazers_count":2,"open_issues_count":0,"forks_count":2,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-10-12T23:03:05.098Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/faermanj.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2024-03-26T09:56:29.000Z","updated_at":"2024-08-16T03:51:27.000Z","dependencies_parsed_at":"2024-04-08T09:28:54.087Z","dependency_job_id":"511aa1e6-82c6-41d3-b505-621c93270a2c","html_url":"https://github.com/faermanj/lab-aliyun","commit_stats":null,"previous_names":["faermanj/lab-aliyun"],"tags_count":0,"template":true,"template_full_name":null,"purl":"pkg:github/faermanj/lab-aliyun","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/faermanj%2Flab-aliyun","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/faermanj%2Flab-aliyun/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/faermanj%2Flab-aliyun/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/faermanj%2Flab-aliyun/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/faermanj","download_url":"https://codeload.github.com/faermanj/lab-aliyun/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/faermanj%2Flab-aliyun/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31420770,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-05T00:25:07.052Z","status":"ssl_error","status_checked_at":"2026-04-05T00:25:05.923Z","response_time":60,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: 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":"2026-04-05T00:43:26.869Z","updated_at":"2026-04-05T00:43:26.940Z","avatar_url":"https://github.com/faermanj.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# OpenShift on Alibaba Cloud Lab\n\nOpenShift can be deployed and operated in the Alibaba Cloud, leveraging the benefits of both a well-architected kubernetes platform and the services offered by the cloud provider. Learn more about the providers in their websites:\n* [OpenShift](https://openshift.redhat.com/)\n* [Alibaba Cloud](https://www.alibabacloud.com/en)\n\nThis repository offers a reference implementation for deploying [OpenShift](https://openshift.redhat.com/) clusters on [Alibaba Cloud](https://www.alibabacloud.com/en), using the [Assisted Installer](https://www.redhat.com/en/blog/how-to-use-the-openshift-assisted-installer) and it's [AI CLI](https://github.com/karmab/aicli). Here you'll find all the scripts and templates to get started and deploy you cluster. In the follwoing sections you'll find the information about how to configure and run this solution.\n\n## Disclaimer\n\nThis repository is not maintained by Red Hat or AliBaba, it's an independent template solution built and shared by this repository colaborators.\n\n## Cluster Deployment Guide\n\nFollow this process to provision your cloud resources and install an OpenShift Cluster automatically on Alibaba Cloud.\nIf you'd like, this recording also demonstrates the entire process: https://youtu.be/9sTzdy8n-_0\n\n### Account Creation\n\nMake sure you have access to the following services:\n* [Red Hat Hybrid Console](https://console.redhat.com/)\n* [Alibaba Cloud](https://www.alibabacloud.com/en)\n\n### Workspace Creation\n\nThis repository is already configured for GitPod, so you can start a workspace with all tools pre-installed:\nhttps://gitpod.io/#https://github.com/faermanj/lab-aliyun\n\n\nAlso, you're welcome to clone this repository and setup your own machine, the exact dependencies and commands can be found in the [gitpod Containerfile](https://github.com/faermanj/lab-aliyun/blob/main/.gitpod.Containerfile).\n\n\n### Configure the Assited Installer CLI\n\n#### Configure the Token\nObtain your Assisted Installer Offline Token at https://cloud.redhat.com/openshift/token and set as an environment variable named `AI_OFFLINETOKEN`\n```bash\nexport AI_OFFLINETOKEN=\"YOUR_TOKEN\"\n```\nYou can also use dotfiles, [DirEnv](https://direnv.net) or your favorite mechanism to setup environment variables.\n\n#### Configure the pull secret\n\nLog in to the [OpenShift cluster manager portal](https://console.redhat.com/openshift/install/pull-secret) and download your pull secret to a file named ```openshift_pull.json```\n\n#### Verify access to the Assisted Installer Service \n\nTry listing your clusters:\n```bash\naicli list clusters\n```\n\n### Configure the Alibaba CLI\n\nSetup authentication of Alibaba CLI as described in [Configure identity credentials](https://www.alibabacloud.com/help/en/cli/configure-credentials?spm=a2c63.p38356.0.0.10e94b35JWCLey)\n\nVerify access to Alibaba services:\n```bash\naliyun sts GetCallerIdentity\n```\n\n### Configure Alibaba Resources\n\nThe file `my_cluster_configurations.json` contains settings that are going to be used by the scripts.\n\n*Review every setting according to your environment*\n\n```\n{\n    \"region\": \"us-east-1\",\n    \"base_domain\": \"devcluster.mycompany.com\",\n    \"cluster_name_prefix\": \"someone-\",\n    \"openshift_version\": \"4.16.2\",\n    \"ssh_public_key_file\": \"/home/gitpod/.ssh/id_rsa.pub\",\n    \"control_plane_instance_type\": \"ecs.g6.xlarge\",\n    \"compute_instance_type\": \"ecs.g6.large\",\n    \"create_sno_cluster\": false,\n    \"create_compact_cluster\": false,\n    \"create_bastion_host\": false,\n    \"bastion_host_image_id\": \"m-0xi1wndcxhwnxavcodzz\",\n    \"bastion_host_ssh_key_pair\": \"openshift-dev\",\n    \"resource_group_id\": \"rg-aek4mzon3le3dse\"\n}\n```\n\nHere's a brief description of each setting:\n* region: Alibaba region where resources will be provisioned \n* base_domain: DNS zone name where cluster will be created\n* cluster_name_prefix: Name prefix for the cluster and its resources\n* openshift_version: Version of openshift to use\n* ssh_public_key_file: Key file location for server access\n* control_plane_instance_type: ECS instance type for control plane instances\n* compute_instance_type: ECS instance type for worker nodes\n* create_sno_cluster: Create a cluster with control plane and worker in a single node\n* create_compact_cluster: Create a cluster with worker an control in the same nodes\n* create_bastion_host: Create an extra instance outside of the cluster\n* bastion_host_image_id: Image to be used for bastion host\n* bastion_host_ssh_key_pair: Keypair name for bastion host\n* resource_group_id: Alibaba Resource Manager group id\n\n### Code Review\n\nThe scripts in this repository will provision the cluster, download and convert the image, provision the cloud resources and install the software.\nThe entrypoint is the `lab-aliyun.sh.aliyun` script, which invokes each other in turn.\nThe resources are created using Alibaba Resource Orchestration service (ROS), from the template `infra/ros/template.ros.yaml`.\nYou may want to change that template to include other services, or add that template to your own solution.\n\n### Cluster Provisioning\n\nThe entrypoint script `lab-aliyun.sh.aliyun` can be executed and all steps should follow automatically.\nIn the end, your cluster will be installed and setup correctly.\nThe scripts create temporary files with logs, images and resource identities in the root of this repository, where it's exepected to execute.\n\n### Troubleshooting\nAlthough this code was tested and reviewed, there are quite some things that may go wrong, do check the logs and console for errors.\n\nThe first checkpoint is verifying that the stack is properly created in ROS. If the stack is rolled back, you'll find the reson in the events tab.\n\nAfter that, cluster will be provisioned in the assisted installer service. You can verify the progress in the Red Hat Hybrid Cloud Console.\n\n### Cleanup Resources\n\nIf you're no longer using the provisioned cluster, remember to delete the ROS stack and Openshift Cluster to avoid wasting resources.\n\n### Send us your feedback and contributions!\n\nLet us know if this reference implementation was helpful and how it could be improved.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffaermanj%2Flab-aliyun","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffaermanj%2Flab-aliyun","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffaermanj%2Flab-aliyun/lists"}