Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Introduce new monitoring flag #194

Closed
Closed
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
25 changes: 13 additions & 12 deletions charts/orchestrator/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,8 +28,8 @@ The following table lists the configurable parameters of the Orchestrator chart
| `rhdhOperator.secretRef.github.token` | Key in the secret with name defined in the 'name' field that contains the value of the authentication token as expected by GitHub. Required for importing resource to the catalog, launching software templates and more. Defaults to 'GITHUB_TOKEN', empty for not available. | `"GITHUB_TOKEN"` |
| `rhdhOperator.secretRef.github.clientId` | Key in the secret with name defined in the 'name' field that contains the value of the client ID that you generated on GitHub, for GitHub authentication (requires GitHub App). Defaults to 'GITHUB_CLIENT_ID', empty for not available. | `"GITHUB_CLIENT_ID"` |
| `rhdhOperator.secretRef.github.clientSecret` | Key in the secret with name defined in the 'name' field that contains the value of the client secret tied to the generated client ID. Defaults to 'GITHUB_CLIENT_SECRET', empty for not available. | `"GITHUB_CLIENT_SECRET"` |
| `rhdhOperator.secretRef.k8s.clusterToken` | Key in the secret with name defined in the 'name' field that contains the value of the Kubernetes API bearer token used for authentication. Defaults to 'K8S_CLUSTER_URL', empty for not available. | `"K8S_CLUSTER_URL"` |
| `rhdhOperator.secretRef.k8s.clusterUrl` | Key in the secret with name defined in the 'name' field that contains the value of the API URL of the kubernetes cluster. Defaults to 'K8S_CLUSTER_TOKEN', empty for not available. | `"K8S_CLUSTER_TOKEN"` |
| `rhdhOperator.secretRef.k8s.clusterToken` | Key in the secret with name defined in the 'name' field that contains the value of the API URL of the kubernetes cluster. Defaults to 'K8S_CLUSTER_TOKEN', empty for not available. | `"K8S_CLUSTER_TOKEN"` |
Copy link
Contributor

@masayag masayag May 27, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

those 2 lines seem to be be mixed, but not an issue of this PR.
Pls rebased (I fixed it in another PR which is merged)

| `rhdhOperator.secretRef.k8s.clusterUrl` | Key in the secret with name defined in the 'name' field that contains the value of the Kubernetes API bearer token used for authentication. Defaults to 'K8S_CLUSTER_URL', empty for not available. | `"K8S_CLUSTER_URL"` |
| `rhdhOperator.secretRef.argocd.url` | Key in the secret with name defined in the 'name' field that contains the value of the URL of the ArgoCD API server. Defaults to 'ARGOCD_URL', empty for not available. | `"ARGOCD_URL"` |
| `rhdhOperator.secretRef.argocd.username` | Key in the secret with name defined in the 'name' field that contains the value of the username to login to ArgoCD. Defaults to 'ARGOCD_USERNAME', empty for not available. | `"ARGOCD_USERNAME"` |
| `rhdhOperator.secretRef.argocd.password` | Key in the secret with name defined in the 'name' field that contains the value of the password to authenticate to ArgoCD. Defaults to 'ARGOCD_PASSWORD', empty for not available. | `"ARGOCD_PASSWORD"` |
Expand All @@ -39,28 +39,29 @@ The following table lists the configurable parameters of the Orchestrator chart
| `rhdhOperator.subscription.name` | name of the operator package | `"rhdh"` |
| `rhdhPlugins.npmRegistry` | | `""` |
| `rhdhPlugins.scope` | | `"@janus-idp"` |
| `rhdhPlugins.orchestrator.package` | | `"backstage-plugin-orchestrator@1.9.4"` |
| `rhdhPlugins.orchestrator.integrity` | | `"sha512-d0kLVkdsWMxGkOOS1wB+u24mIdF0isNY4I0F3/eR/g0lI0q+uFJ8iW+8XmyaHKqa1ZMvg5pnMljJ6thJk85nSg=="` |
| `rhdhPlugins.orchestrator_backend.package` | | `"backstage-plugin-orchestrator-backend-dynamic@1.6.8"` |
| `rhdhPlugins.orchestrator_backend.integrity` | | `"sha512-Akb9digwa3b1tOXbfbm13Z+DIZV/lBaNX0HDXhaciYE4dWPPzB17/4eT74suim9e8k4THORGVIM/GC/f2HwMNQ=="` |
| `rhdhPlugins.notifications.package` | | `"[email protected].0"` |
| `rhdhPlugins.notifications.integrity` | | `"sha512-T00TKMTeLQoMTY6UnXuXpPXFN2f+w32i8qECpAe3yeZM1TJb2oe6hCNwzAdKjGGPlGPAGqc16IBpZV65rfM79Q=="` |
| `rhdhPlugins.notifications_backend.package` | | `"[email protected].6"` |
| `rhdhPlugins.notifications_backend.integrity` | | `"sha512-40hMkr/+5GdapDUuYBIwzZQLpPRJQxFIrr0PFACS40lmG98XcWP6HZ7dQ+VvZ1gAFnWU9HscIrWMwrlvtZ237g=="` |
| `rhdhPlugins.orchestrator.package` | | `"backstage-plugin-orchestrator@1.10.6"` |
| `rhdhPlugins.orchestrator.integrity` | | `"sha512-qSXQ2O7/eLBEF186PzaRfzLfutFYUq9MdiiIZbHejz+KML9rVInPJkc1tine3R3JQVuw1QBIQ2vhPNbGbHXWZg=="` |
| `rhdhPlugins.orchestrator_backend.package` | | `"backstage-plugin-orchestrator-backend-dynamic@1.8.0"` |
| `rhdhPlugins.orchestrator_backend.integrity` | | `"sha512-wVZE7Dak10edxh1ZEckzYKrE13GrqhzSVelURhxjZcgXEHdGPWYUFHNMEpte7hzIBE85350Ka7fpy7C4BNPvEw=="` |
| `rhdhPlugins.notifications.package` | | `"[email protected].5"` |
| `rhdhPlugins.notifications.integrity` | | `"sha512-BQ7ujmrbv2MLelNGyleC4Z8fVVywYBMYZTwmRC534WCT38QHQ0cWJbebOgeIYszFA98STW4F5tdKbVot/2gWMg=="` |
| `rhdhPlugins.notifications_backend.package` | | `"[email protected].11"` |
| `rhdhPlugins.notifications_backend.integrity` | | `"sha512-5zluThJwFVKX0Wlh4E15vDKUFGu/qJ0UsxHYWoISJ+ing1R38gskvN3kukylNTgOp8B78OmUglPfNlydcYEHvA=="` |
| `postgres.serviceName` | The name of the Postgres DB service to be used by platform services. Cannot be empty. | `"sonataflow-psql-postgresql"` |
| `postgres.serviceNamespace` | The namespace of the Postgres DB service to be used by platform services. | `"sonataflow-infra"` |
| `postgres.authSecret.name` | name of existing secret to use for PostgreSQL credentials. | `"sonataflow-psql-postgresql"` |
| `postgres.authSecret.userKey` | name of key in existing secret to use for PostgreSQL credentials. | `"postgres-username"` |
| `postgres.authSecret.passwordKey` | name of key in existing secret to use for PostgreSQL credentials. | `"postgres-password"` |
| `postgres.database` | existing database instance used by data index and job service | `"sonataflow"` |
| `orchestrator.namespace` | namespace where the data index, job service and workflows are deployed | `"sonataflow-infra"` |
| `orchestrator.namespace` | Namespace where sonataflow's workflows run. The value is captured when running the setup.sh script and stored as a label in the selected namespace. User can override the value by populating this field. Defaults to `sonataflow-infra`. | `"sonataflow-infra"` |
| `orchestrator.sonataPlatform.resources.requests.memory` | | `"64Mi"` |
| `orchestrator.sonataPlatform.resources.requests.cpu` | | `"250m"` |
| `orchestrator.sonataPlatform.resources.limits.memory` | | `"1Gi"` |
| `orchestrator.sonataPlatform.resources.limits.cpu` | | `"500m"` |
| `tekton.enabled` | whether to create the Tekton pipeline resources | `false` |
| `argocd.enabled` | whether to install the ArgoCD plugin and create the orchestrator AppProject | `false` |
| `argocd.namespace` | | `"orchestrator-gitops"` |
| `argocd.namespace` | Defines the namespace where the orchestrator's instance of ArgoCD is deployed. The value is captured when running setup.sh script and stored as a label in the selected namespace. User can override the value by populating this field. Defaults to `orchestrator-gitops` in the setup.sh script. | `""` |
| `monitoring.enabled` | whether to configure monitoring stack (Prometheus & Grafana) | `false` |



Expand Down
16 changes: 16 additions & 0 deletions charts/orchestrator/templates/monitoring/grafana-operator.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
{{- if .Values.monitoring.enabled }}

apiVersion: operators.coreos.com/v1alpha1
kind: Subscription
metadata:
name: grafana
namespace: {{ .Values.rhdhOperator.subscription.namespace }}
spec:
channel: v5
installPlanApproval: Automatic
name: grafana-operator
source: community-operators
sourceNamespace: openshift-marketplace
startingCSV: grafana-operator.v5.8.0

{{- end }}
16 changes: 16 additions & 0 deletions charts/orchestrator/templates/monitoring/prometheus-operator.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
{{- if .Values.monitoring.enabled }}

apiVersion: operators.coreos.com/v1alpha1
kind: Subscription
metadata:
name: prometheus
namespace: {{ .Values.rhdhOperator.subscription.namespace }}
spec:
channel: beta
installPlanApproval: Automatic
name: prometheus
source: community-operators
sourceNamespace: openshift-marketplace
startingCSV: prometheusoperator.0.56.3

{{- end }}
3 changes: 3 additions & 0 deletions charts/orchestrator/templates/sonataflows.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,9 @@ spec:
limits:
memory: {{ .Values.orchestrator.sonataPlatform.resources.limits.memory }}
cpu: {{ .Values.orchestrator.sonataPlatform.resources.limits.cpu }}
{{- if .Values.monitoring.enabled }}
monitoring: true
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@JudeNiroshan is there a requirement to contribute a feature for the sonataflow operator for this?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, there is an epic in Sonataflow Operator -> apache/incubator-kie-kogito-serverless-operator#461

But it is not ready yet. Maybe we can ignore this CR condition until we have the operator modification.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we should wait for the epic to be completed and available for testing before introducing the monitoring attribute to this PR.
We can keep this one as draft for the meantime. WDYT?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah, I agree with you. I have already marked this as a draft PR. Once I have the serverless-workflows changes merged, I can do the manual testing on an already deployed helm chart.(Without the CR if condition)

{{- end }}
services:
dataIndex:
enabled: true
Expand Down
2 changes: 1 addition & 1 deletion charts/orchestrator/templates/tekton-pipeline.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -130,7 +130,7 @@ spec:
- name: CONTEXT
value: flat/$(params.workflowId)
- name: BUILD_EXTRA_ARGS
value: '--authfile=/workspace/dockerconfig/.dockerconfigjson --ulimit nofile=4096:4096 --build-arg WF_RESOURCES="." --build-arg MAVEN_ARGS_APPEND="-Dkogito.persistence.type=jdbc -Dquarkus.datasource.db-kind=postgresql -Dkogito.persistence.proto.marshaller=false" --build-arg QUARKUS_EXTENSIONS=org.kie.kogito:kogito-addons-quarkus-jobs-knative-eventing:9.99.1.redhat-00003,org.kie.kogito:kogito-addons-quarkus-persistence-jdbc:9.99.1.redhat-00003,org.kie.kogito:kogito-addons-persistence-jdbc:9.99.1.redhat-00003,io.quarkus:quarkus-jdbc-postgresql:3.2.9.Final,io.quarkus:quarkus-agroal:3.2.9.Final'
value: '--authfile=/workspace/dockerconfig/.dockerconfigjson --ulimit nofile=4096:4096 --build-arg WF_RESOURCES="." --build-arg MAVEN_ARGS_APPEND="-Dkogito.persistence.type=jdbc -Dquarkus.datasource.db-kind=postgresql -Dkogito.persistence.proto.marshaller=false" --build-arg QUARKUS_EXTENSIONS=org.kie.kogito:kogito-addons-quarkus-jobs-knative-eventing:9.99.1.redhat-00003,org.kie.kogito:kogito-addons-quarkus-persistence-jdbc:9.99.1.redhat-00003,org.kie.kogito:kogito-addons-persistence-jdbc:9.99.1.redhat-00003,io.quarkus:quarkus-jdbc-postgresql:3.2.9.Final,io.quarkus:quarkus-agroal:3.2.9.Final,org.kie:kie-addons-quarkus-monitoring-prometheus:999-SNAPSHOT,org.kie:kie-addons-quarkus-monitoring-sonataflow:999-SNAPSHOT'
- name: push-workflow-gitops
runAfter: ["build-gitops", "build-and-push-image"]
taskRef:
Expand Down
3 changes: 3 additions & 0 deletions charts/orchestrator/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -79,3 +79,6 @@ tekton:
argocd:
enabled: false # whether to install the ArgoCD plugin and create the orchestrator AppProject
namespace: "" # Defines the namespace where the orchestrator's instance of ArgoCD is deployed. The value is captured when running setup.sh script and stored as a label in the selected namespace. User can override the value by populating this field. Defaults to `orchestrator-gitops` in the setup.sh script.

monitoring:
enabled: false # whether to configure monitoring stack (Prometheus & Grafana)
Loading