Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
23 changes: 23 additions & 0 deletions ray/.helmignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
# Patterns to ignore when building packages.
# This supports shell glob matching, relative path matching, and
# negation (prefixed with !). Only one pattern per line.
.DS_Store
# Common VCS dirs
.git/
.gitignore
.bzr/
.bzrignore
.hg/
.hgignore
.svn/
# Common backup files
*.swp
*.bak
*.tmp
*.orig
*~
# Various IDEs
.project
.idea/
*.tmproj
.vscode/
6 changes: 6 additions & 0 deletions ray/Chart.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
apiVersion: v2
name: ray
description: A Helm chart for Kubernetes
type: application
version: '1.0.13'
appVersion: "2.46.0"
56 changes: 56 additions & 0 deletions ray/OlaresManifest.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
olaresManifest.version: '0.10.0'
olaresManifest.type: app
apiVersion: v2
metadata:
name: ray
description: ray
icon: https://app.cdn.olares.com/appstore/kuberay/icon.png
appid: ray
version: '1.0.13'
title: KubeRay
categories:
- Utilities
permission:
appData: true
appCache: true
spec:
versionName: '0.0.24'
fullDescription: |
Ray is at the center of the world's most powerful AI platforms. It precisely orchestrates infrastructure for any distributed workload on any accelerator at any scale.

developer: ray
website: https://www.ray.io/
sourceCode: https://github.com/ray-project/ray
submitter: Olares
locale:
- en-US
- zh-CN
doc: https://github.com/ray-project/ray
license:
- text: Apache-2.0
url: https://github.com/ray-project/ray?tab=Apache-2.0-1-ov-file
requiredMemory: 1024Mi
limitedMemory: 6120Mi
requiredDisk: 128Mi
limitedDisk: 256Mi
requiredCpu: 100m
limitedCpu: 1000m
supportArch:
- amd64
subCharts:
- name: rayserver
shared: true
- name: ray
options:
dependencies:
- name: olares
type: system
version: '>=1.12.5-0'
images:
- beclab/rayproject-ray:2.46.0
entrances:
- name: ray
port: 8265
host: client
title: KubeRay
icon: https://app.cdn.olares.com/appstore/kuberay/icon.png
6 changes: 6 additions & 0 deletions ray/i18n/en-US/OlaresManifest.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
metadata:
title: Ray
description: Ray is at the center of the world's most powerful AI platforms.
spec:
fullDescription: |
Ray is at the center of the world's most powerful AI platforms. It precisely orchestrates infrastructure for any distributed workload on any accelerator at any scale.
8 changes: 8 additions & 0 deletions ray/i18n/zh-CN/OlaresManifest.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
metadata:
description: Ray is at the center of the world's most powerful AI platforms.
title: Ray
spec:
fullDescription: |
Ray is at the center of the world's most powerful AI platforms. It precisely orchestrates infrastructure for any distributed workload on any accelerator at any scale.


7 changes: 7 additions & 0 deletions ray/owners
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
owners:
- 'LittleLollipop'
- 'TShentu'
- 'pengpeng'
- 'harveyff'
- 'zdf-org'
- 'hysyeah'
6 changes: 6 additions & 0 deletions ray/ray/Chart.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
apiVersion: v2
appVersion: '2.46.0'
description: description
name: ray
type: application
version: 1.0.13
137 changes: 137 additions & 0 deletions ray/ray/templates/client.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,137 @@
apiVersion: v1
kind: ConfigMap
metadata:
name: nginx-config
namespace: {{ .Release.Namespace }}
data:
nginx.conf: |
server {
listen 8265;
access_log /opt/bitnami/openresty/nginx/logs/access.log;
error_log /opt/bitnami/openresty/nginx/logs/error.log;

proxy_connect_timeout 30s;
proxy_send_timeout 60s;
proxy_read_timeout 600s;

proxy_http_version 1.1;

proxy_set_header Host $host;
proxy_set_header X-Forwarded-Host $http_host;
proxy_set_header Authorization $http_authorization;
proxy_set_header Cookie $http_cookie;
proxy_set_header X-Original-Forwarded-For $http_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Real-IP $remote_addr;

proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";

add_header Access-Control-Allow-Origin $http_origin always;
add_header Access-Control-Allow-Credentials 'true' always;
add_header Access-Control-Allow-Methods "GET, POST, PUT, PATCH, DELETE, OPTIONS" always;
add_header Access-Control-Allow-Headers "Authorization, Content-Type, X-Requested-With, userid, token, X-CSRF-Token" always;
add_header Access-Control-Expose-Headers "Content-Length, Content-Range" always;
add_header Access-Control-Max-Age 86400 always;

location / {
resolver coredns.kube-system.svc.cluster.local valid=10s;
proxy_pass http://rayserver-kuberay-head-svc.rayserver-shared:8265;

add_header X-Frame-Options "";

proxy_next_upstream error timeout http_502 http_503 http_504 http_403;
proxy_next_upstream_tries 3;

if ($request_method = OPTIONS) {
add_header Access-Control-Allow-Origin $http_origin always;
add_header Access-Control-Allow-Credentials 'true' always;
add_header Access-Control-Allow-Methods "GET, POST, PUT, PATCH, DELETE, OPTIONS" always;
add_header Access-Control-Allow-Headers "Authorization, Content-Type, X-Requested-With, userid, token, X-CSRF-Token" always;
add_header Access-Control-Max-Age 86400 always;
add_header Content-Length 0;
add_header Content-Type 'text/plain charset=UTF-8';
return 204;
}
}
}
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: {{ .Release.Name }}
namespace: {{ .Release.Namespace }}
labels:
io.kompose.service: client
spec:
replicas: 1
selector:
matchLabels:
io.kompose.service: client
strategy: {}
template:
metadata:
labels:
io.kompose.network/chrome-default: "true"
io.kompose.service: client
spec:
volumes:
- name: nginx-config
configMap:
name: nginx-config
defaultMode: 438
items:
- key: nginx.conf
path: nginx.conf
containers:
- name: nginx
image: beclab/aboveos-bitnami-openresty:1.25.3-2
ports:
- containerPort: 8265
protocol: TCP
env:
- name: OPENRESTY_CONF_FILE
value: /etc/nginx/nginx.conf
startupProbe:
tcpSocket:
port: 8265
failureThreshold: 30
periodSeconds: 10
livenessProbe:
httpGet:
path: /
port: 8265
initialDelaySeconds: 10
timeoutSeconds: 30
periodSeconds: 30
successThreshold: 1
failureThreshold: 10
resources:
limits:
cpu: 100m
memory: 256Mi
requests:
cpu: 10m
memory: 64Mi
volumeMounts:
- name: nginx-config
mountPath: /etc/nginx/nginx.conf
subPath: nginx.conf
- name: nginx-config
mountPath: /opt/bitnami/openresty/nginx/conf/server_blocks/nginx.conf
subPath: nginx.conf
---
apiVersion: v1
kind: Service
metadata:
name: client
namespace: {{ .Release.Namespace }}
spec:
type: ClusterIP
selector:
io.kompose.service: client
ports:
- name: client
protocol: TCP
port: 8265
targetPort: 8265
Empty file added ray/ray/values.yaml
Empty file.
24 changes: 24 additions & 0 deletions ray/rayserver/Chart.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
apiVersion: v2
name: ray
description: A Helm chart for Kubernetes

# A chart can be either an 'application' or a 'library' chart.
#
# Application charts are a collection of templates that can be packaged into versioned archives
# to be deployed.
#
# Library charts provide useful utilities or functions for the chart developer. They're included as
# a dependency of application charts to inject those utilities and functions into the rendering
# pipeline. Library charts do not define any templates and therefore cannot be deployed.
type: application

# This is the chart version. This version number should be incremented each time you make changes
# to the chart and its templates, including the app version.
# Versions are expected to follow Semantic Versioning (https://semver.org/)
version: '1.0.13'

# This is the version number of the application being deployed. This version number should be
# incremented each time you make changes to the application. Versions are not expected to
# follow Semantic Versioning. They should reflect the version the application is using.
# It is recommended to use it with quotes.
appVersion: "2.46.0"
Loading