From 8654da7dfd29cb32b643504e56a0da1a4d363b0e Mon Sep 17 00:00:00 2001 From: Guillaume Moutier Date: Thu, 18 Apr 2024 21:39:34 -0400 Subject: [PATCH] add demo app (#55) fix bootstrap --- .../applicationset-bootstrap.yaml | 5 + bootstrap/ic-shared-app/deployment-app.yaml | 105 ++++++++++++++++++ bootstrap/ic-shared-app/kustomization.yaml | 18 +++ bootstrap/ic-shared-app/namespace.yaml | 11 ++ bootstrap/ic-shared-app/route-app.yaml | 20 ++++ bootstrap/ic-shared-app/secret-db.yaml | 14 +++ bootstrap/ic-shared-app/secret-minio.yaml | 13 +++ bootstrap/ic-shared-app/service-app.yaml | 19 ++++ 8 files changed, 205 insertions(+) create mode 100644 bootstrap/ic-shared-app/deployment-app.yaml create mode 100644 bootstrap/ic-shared-app/kustomization.yaml create mode 100644 bootstrap/ic-shared-app/namespace.yaml create mode 100644 bootstrap/ic-shared-app/route-app.yaml create mode 100644 bootstrap/ic-shared-app/secret-db.yaml create mode 100644 bootstrap/ic-shared-app/secret-minio.yaml create mode 100644 bootstrap/ic-shared-app/service-app.yaml diff --git a/bootstrap/applicationset/applicationset-bootstrap.yaml b/bootstrap/applicationset/applicationset-bootstrap.yaml index ee158c4d..bbb58d0e 100644 --- a/bootstrap/applicationset/applicationset-bootstrap.yaml +++ b/bootstrap/applicationset/applicationset-bootstrap.yaml @@ -42,6 +42,11 @@ spec: repoURL: https://github.com/rh-aiservices-bu/parasol-insurance.git targetRevision: dev path: bootstrap/ic-shared-milvus + - cluster: in-cluster + name: ic-shared-app + repoURL: https://github.com/rh-aiservices-bu/parasol-insurance.git + targetRevision: dev + path: bootstrap/ic-shared-app template: metadata: name: '{{name}}' diff --git a/bootstrap/ic-shared-app/deployment-app.yaml b/bootstrap/ic-shared-app/deployment-app.yaml new file mode 100644 index 00000000..3f332605 --- /dev/null +++ b/bootstrap/ic-shared-app/deployment-app.yaml @@ -0,0 +1,105 @@ +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: ic-app + annotations: + argocd.argoproj.io/sync-wave: "1" +spec: + replicas: 1 + selector: + matchLabels: + app: ic-app + template: + metadata: + creationTimestamp: null + labels: + app: ic-app + deployment: ic-app + spec: + containers: + - name: insurance-claim-app + image: quay.io/rh-aiservices-bu/rhoai-lab-insurance-claim-app:2.1.1 + ports: + - containerPort: 5000 + protocol: TCP + env: + - name: NAMESPACE + valueFrom: + fieldRef: + fieldPath: metadata.namespace + - name: INFERENCE_SERVER_URL + value: http://llm.ic-shared-llm.svc.cluster.local:8000/v1 + - name: MODEL_NAME + value: 'mistralai/Mistral-7B-Instruct-v0.2' + - name: MAX_TOKENS + value: '512' + - name: TOP_P + value: '0.95' + - name: TEMPERATURE + value: '0.01' + - name: PRESENCE_PENALTY + value: '1.03' + - name: POSTGRES_HOST + value: claimdb.ic-shared-db.svc.cluster.local + - name: POSTGRES_DB + valueFrom: + secretKeyRef: + name: claimdb + key: database-name + - name: POSTGRES_USER + valueFrom: + secretKeyRef: + name: claimdb + key: database-user + - name: POSTGRES_PASSWORD + valueFrom: + secretKeyRef: + name: claimdb + key: database-password + - name: POSTGRES_PORT + value: '5432' + - name: S3_ENDPOINT_URL + value: http://minio.ic-shared-minio.svc.cluster.local:9000 + - name: IMAGES_BUCKET + value: claim-images + - name: AWS_ACCESS_KEY_ID + valueFrom: + secretKeyRef: + name: secret-minio + key: aws_access_key_id + - name: AWS_SECRET_ACCESS_KEY + valueFrom: + secretKeyRef: + name: secret-minio + key: aws_secret_access_key + - name: MILVUS_HOST + value: vectordb-milvus.ic-shared-milvus.svc.cluster.local + - name: MILVUS_PORT + value: '19530' + - name: MILVUS_USERNAME + value: root + - name: MILVUS_PASSWORD + value: Milvus + - name: SCORE_THRESHOLD + value: '0.90' + - name: MILVUS_COLLECTION + value: california_driver_handbook_1_0 + - name: MAX_RETRIEVED_DOCS + value: '4' + resources: {} + terminationMessagePath: /dev/termination-log + terminationMessagePolicy: File + imagePullPolicy: Always + restartPolicy: Always + terminationGracePeriodSeconds: 30 + dnsPolicy: ClusterFirst + securityContext: {} + schedulerName: default-scheduler + strategy: + type: RollingUpdate + rollingUpdate: + maxUnavailable: 25% + maxSurge: 25% + revisionHistoryLimit: 10 + progressDeadlineSeconds: 600 \ No newline at end of file diff --git a/bootstrap/ic-shared-app/kustomization.yaml b/bootstrap/ic-shared-app/kustomization.yaml new file mode 100644 index 00000000..640ccdc3 --- /dev/null +++ b/bootstrap/ic-shared-app/kustomization.yaml @@ -0,0 +1,18 @@ +--- +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization + +namespace: ic-shared-app + +commonLabels: + component: ic-claim-app + +resources: +# wave 0 +- namespace.yaml +- secret-db.yaml +- secret-minio.yaml +# wave 1 +- deployment-app.yaml +- service-app.yaml +- route-app.yaml diff --git a/bootstrap/ic-shared-app/namespace.yaml b/bootstrap/ic-shared-app/namespace.yaml new file mode 100644 index 00000000..8b63c9eb --- /dev/null +++ b/bootstrap/ic-shared-app/namespace.yaml @@ -0,0 +1,11 @@ +--- +apiVersion: v1 +kind: Namespace +metadata: + name: ic-shared-app + labels: + app: ic-shared-app + argocd.argoproj.io/managed-by: openshift-gitops + annotations: + openshift.io/display-name: "Shared Demo Application" + argocd.argoproj.io/sync-wave: "0" diff --git a/bootstrap/ic-shared-app/route-app.yaml b/bootstrap/ic-shared-app/route-app.yaml new file mode 100644 index 00000000..c3963e9e --- /dev/null +++ b/bootstrap/ic-shared-app/route-app.yaml @@ -0,0 +1,20 @@ +--- +kind: Route +apiVersion: route.openshift.io/v1 +metadata: + name: ic-app + labels: + app: ic-app + annotations: + argocd.argoproj.io/sync-wave: "1" +spec: + to: + kind: Service + name: ic-app + weight: 100 + port: + targetPort: http + tls: + termination: edge + insecureEdgeTerminationPolicy: Redirect + wildcardPolicy: None diff --git a/bootstrap/ic-shared-app/secret-db.yaml b/bootstrap/ic-shared-app/secret-db.yaml new file mode 100644 index 00000000..12966855 --- /dev/null +++ b/bootstrap/ic-shared-app/secret-db.yaml @@ -0,0 +1,14 @@ +--- +kind: Secret +apiVersion: v1 +metadata: + name: claimdb + labels: + app: claimdb + annotations: + argocd.argoproj.io/sync-wave: "0" +stringData: + database-name: claimdb + database-password: claimdb + database-user: claimdb +type: Opaque \ No newline at end of file diff --git a/bootstrap/ic-shared-app/secret-minio.yaml b/bootstrap/ic-shared-app/secret-minio.yaml new file mode 100644 index 00000000..75553db4 --- /dev/null +++ b/bootstrap/ic-shared-app/secret-minio.yaml @@ -0,0 +1,13 @@ +--- +kind: Secret +apiVersion: v1 +metadata: + name: secret-minio + labels: + app: ic-app-minio + annotations: + argocd.argoproj.io/sync-wave: "0" +stringData: + aws_access_key_id: minio + aws_secret_access_key: minio123 +type: Opaque \ No newline at end of file diff --git a/bootstrap/ic-shared-app/service-app.yaml b/bootstrap/ic-shared-app/service-app.yaml new file mode 100644 index 00000000..c8bba3c8 --- /dev/null +++ b/bootstrap/ic-shared-app/service-app.yaml @@ -0,0 +1,19 @@ +--- +apiVersion: v1 +kind: Service +metadata: + name: ic-app + labels: + app: ic-app + annotations: + argocd.argoproj.io/sync-wave: "1" +spec: + ports: + - name: http + protocol: TCP + port: 5000 + targetPort: 5000 + selector: + app: ic-app + sessionAffinity: None + type: ClusterIP