Skip to content

Commit 3fd0905

Browse files
Remove creation of OAuth resources/logic and add annotation
1 parent 1497434 commit 3fd0905

9 files changed

+26
-318
lines changed

Diff for: src/codeflare_sdk/cluster/cluster.py

+1-13
Original file line numberDiff line numberDiff line change
@@ -33,10 +33,7 @@
3333
)
3434
from ..utils.kube_api_helpers import _kube_api_error_handling
3535
from ..utils.generate_yaml import is_openshift_cluster
36-
from ..utils.openshift_oauth import (
37-
create_openshift_oauth_objects,
38-
delete_openshift_oauth_objects,
39-
)
36+
4037
from .config import ClusterConfiguration
4138
from .model import (
4239
AppWrapper,
@@ -226,10 +223,6 @@ def up(self):
226223
the MCAD queue.
227224
"""
228225
namespace = self.config.namespace
229-
if self.config.openshift_oauth:
230-
create_openshift_oauth_objects(
231-
cluster_name=self.config.name, namespace=namespace
232-
)
233226

234227
try:
235228
config_check()
@@ -281,11 +274,6 @@ def down(self):
281274
except Exception as e: # pragma: no cover
282275
return _kube_api_error_handling(e)
283276

284-
if self.config.openshift_oauth:
285-
delete_openshift_oauth_objects(
286-
cluster_name=self.config.name, namespace=namespace
287-
)
288-
289277
def status(
290278
self, print_to_console: bool = True
291279
) -> Tuple[CodeFlareClusterStatus, bool]:

Diff for: src/codeflare_sdk/templates/base-template.yaml

+1
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@ spec:
4242
metadata:
4343
annotations:
4444
sdk.codeflare.dev/local_interactive: "False"
45+
codeflare.dev/oauth: 'False'
4546
labels:
4647
workload.codeflare.dev/appwrapper: "aw-kuberay"
4748
controller-tools.k8s.io: "1.0"

Diff for: src/codeflare_sdk/utils/generate_yaml.py

+20-3
Original file line numberDiff line numberDiff line change
@@ -219,14 +219,29 @@ def update_rayclient_ingress(
219219
spec["rules"][0]["host"] = f"rayclient-{cluster_name}-{namespace}.{ingress_domain}"
220220

221221

222-
def update_names(yaml, item, appwrapper_name, cluster_name, namespace):
222+
def update_names(yaml, item, appwrapper_name, cluster_name, namespace, openshift_oauth):
223223
metadata = yaml.get("metadata")
224224
metadata["name"] = appwrapper_name
225225
metadata["namespace"] = namespace
226226
lower_meta = item.get("generictemplate", {}).get("metadata")
227227
lower_meta["labels"]["workload.codeflare.dev/appwrapper"] = appwrapper_name
228+
lower_meta["annotations"]["codeflare.dev/oauth"] = f"{openshift_oauth}"
228229
lower_meta["name"] = cluster_name
229230
lower_meta["namespace"] = namespace
231+
lower_spec = item.get("generictemplate", {}).get("spec")
232+
if openshift_oauth:
233+
cookie_secret_env_var = {
234+
"name": "COOKIE_SECRET",
235+
"valueFrom": {
236+
"secretKeyRef": {
237+
"key": "cookie_secret",
238+
"name": f"{cluster_name}-oauth-config",
239+
}
240+
},
241+
}
242+
lower_spec["headGroupSpec"]["template"]["spec"]["containers"][0]["env"].append(
243+
cookie_secret_env_var
244+
)
230245

231246

232247
def update_labels(yaml, instascale, instance_types):
@@ -620,7 +635,7 @@ def _create_oauth_sidecar_object(
620635
"--upstream=http://localhost:8265",
621636
f"--tls-cert={tls_mount_location}/tls.crt",
622637
f"--tls-key={tls_mount_location}/tls.key",
623-
f"--cookie-secret={b64encode(urandom(64)).decode('utf-8')}", # create random string for encrypting cookie
638+
"--cookie-secret=$(COOKIE_SECRET)",
624639
f'--openshift-delegate-urls={{"/":{{"resource":"pods","namespace":"{namespace}","verb":"get"}}}}',
625640
],
626641
image="registry.redhat.io/openshift4/ose-oauth-proxy@sha256:1ea6a01bf3e63cdcf125c6064cbd4a4a270deaf0f157b3eabb78f60556840366",
@@ -707,7 +722,9 @@ def generate_appwrapper(
707722
item = resources["resources"].get("GenericItems")[0]
708723
ingress_item = resources["resources"].get("GenericItems")[1]
709724
route_item = resources["resources"].get("GenericItems")[2]
710-
update_names(user_yaml, item, appwrapper_name, cluster_name, namespace)
725+
update_names(
726+
user_yaml, item, appwrapper_name, cluster_name, namespace, openshift_oauth
727+
)
711728
update_labels(user_yaml, instascale, instance_types)
712729
update_priority(user_yaml, item, dispatch_priority, priority_val)
713730
update_custompodresources(

Diff for: src/codeflare_sdk/utils/openshift_oauth.py

-199
This file was deleted.

Diff for: tests/test-case-no-mcad.yamls

+1
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ apiVersion: ray.io/v1
33
kind: RayCluster
44
metadata:
55
annotations:
6+
codeflare.dev/oauth: 'False'
67
sdk.codeflare.dev/ingress_domain: apps.cluster.awsroute.org
78
sdk.codeflare.dev/local_interactive: 'False'
89
labels:

Diff for: tests/test-case-prio.yaml

+1
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ spec:
3333
kind: RayCluster
3434
metadata:
3535
annotations:
36+
codeflare.dev/oauth: 'False'
3637
sdk.codeflare.dev/ingress_domain: apps.cluster.awsroute.org
3738
sdk.codeflare.dev/local_interactive: 'False'
3839
labels:

Diff for: tests/test-case.yaml

+1
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ spec:
3232
kind: RayCluster
3333
metadata:
3434
annotations:
35+
codeflare.dev/oauth: 'False'
3536
sdk.codeflare.dev/ingress_domain: apps.cluster.awsroute.org
3637
sdk.codeflare.dev/local_interactive: 'False'
3738
labels:

Diff for: tests/test-default-appwrapper.yaml

+1
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ spec:
3232
annotations:
3333
sdk.codeflare.dev/ingress_domain: apps.cluster.awsroute.org
3434
sdk.codeflare.dev/local_interactive: 'False'
35+
codeflare.dev/oauth: 'False'
3536
labels:
3637
controller-tools.k8s.io: '1.0'
3738
workload.codeflare.dev/appwrapper: unit-test-default-cluster

0 commit comments

Comments
 (0)