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

Devops 1705 mergemaster #200

Merged
merged 25 commits into from
Nov 27, 2024
Merged
Show file tree
Hide file tree
Changes from 24 commits
Commits
Show all changes
25 commits
Select commit Hold shift + click to select a range
0e67405
new versions for default grafana and kibana images
denarsh Jul 23, 2024
f7ecdf0
fix typo in kibana version
denarsh Jul 25, 2024
3c27287
Update appdefaults.go
DannyAtal Jul 26, 2024
da1ea1a
Update values.yaml
DannyAtal Jul 26, 2024
14e2b70
Merge pull request #179 from AccessibleAI/DEV-23302-elastic-redis-gra…
denarsh-cnvrg Jul 28, 2024
8da1cb8
Merge branch 'DEVOPS-1705-updateimages' into DEV-23302-new-grafana-ki…
DannyAtal Aug 21, 2024
da07122
Merge pull request #185 from AccessibleAI/DEV-23302-new-grafana-kibana
DannyAtal Aug 21, 2024
728c5da
update images
DannyAtal Sep 16, 2024
591827d
update images
DannyAtal Sep 17, 2024
760e241
upgrade go and dockerfile
DannyAtal Sep 17, 2024
1da79fc
change redis and pg
DannyAtal Sep 17, 2024
d40f0cb
pg16
DannyAtal Sep 17, 2024
87e98ed
reduce pg to 12
DannyAtal Sep 17, 2024
b923304
Update values.yaml
DannyAtal Sep 24, 2024
890853a
Update values.yaml
DannyAtal Sep 24, 2024
60ee104
Merge pull request #192 from AccessibleAI/main
DannyAtal Sep 29, 2024
2035108
Update values.yaml
DannyAtal Oct 1, 2024
10e21cb
add secretRef to smtp and proxy config
denarsh Oct 7, 2024
3ad8ba2
fixes, update README
denarsh Oct 10, 2024
a470a39
Merge pull request #194 from AccessibleAI/DEV-24011-secretRef-SSO-SMTP
DannyAtal Oct 14, 2024
b472257
Merge branch 'DEVOPS-1705-mergemaster' into rebase-main
DannyAtal Oct 15, 2024
06a0c63
Merge pull request #195 from AccessibleAI/rebase-main
DannyAtal Oct 15, 2024
7c698b7
Update values.yaml
DannyAtal Oct 15, 2024
1f44cb8
Update values.yaml
DannyAtal Oct 29, 2024
4485086
Update values.yaml
DannyAtal Nov 27, 2024
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
2 changes: 1 addition & 1 deletion Dockerfile
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# Build the manager binary
FROM golang:1.22.6 as builder
FROM golang:1.23.0 as builder

WORKDIR /workspace
# Copy the Go Modules manifests
Expand Down
47 changes: 46 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,4 +21,49 @@ helm install cnvrg cnvrg/mlops \
--set registry.user="<CNVRG-USERNAME>" \
--set registry.password="<CNVRG-PASSWORD>" \
--set controlPlane.baseConfig.agentCustomTag="<AGENT-CUSTOM-TAG>"
```
```

## Using external secret for SMTP server
It's an option to specify external secret for SMTP server credintials instead setting it in helm chart values or cnvrgapp CRD .
The parameter to reference the secret is `controlPlane.smtp.CredentialsSecretRef` and the keys in the secret should be `username` and `password`.

```bash
helm install cnvrg cnvrg/mlops \
--create-namespace -n cnvrg \
--set controlPlane.smtp.credentialsSecretRef="SECRET-NAME"
```
secret example
```bash
apiVersion: v1
kind: Secret
metadata:
name: SECRET-NAME
namespace: cnvrg
type: Opaque
data:
username: YWRtaW4=
password: c2VjcmV0
```

## Using external secret for OAuth2 client configuration

It's an option to specify external secret for OAuth2 client configuration instead setting it in helm chart values or cnvrgapp CRD. The parameter to reference the secret is `sso.central.credentialsSecretRef` and the keys in the secret should be `clientId`, `clientSecret`

```bash
helm install cnvrg cnvrg/mlops \
--create-namespace -n cnvrg \
--set sso.central.credentialsSecretRef="SECRET-NAME"
```

secret example
```bash
apiVersion: v1
kind: Secret
metadata:
name: SECRET-NAME
namespace: cnvrg
type: Opaque
data:
clientId: YWRtaW4=
clientSecret: c2VjcmV0
```
16 changes: 9 additions & 7 deletions api/v1/app.go
Original file line number Diff line number Diff line change
Expand Up @@ -122,13 +122,14 @@ type Ldap struct {
}

type SMTP struct {
Server string `json:"server,omitempty"`
Port int `json:"port,omitempty"`
Username string `json:"username,omitempty"`
Password string `json:"password,omitempty"`
Domain string `json:"domain,omitempty"`
OpensslVerifyMode string `json:"opensslVerifyMode,omitempty"`
Sender string `json:"sender,omitempty"`
Server string `json:"server,omitempty"`
Port int `json:"port,omitempty"`
CredentialsSecretRef string `json:"credentialsSecretRef,omitempty"`
Username string `json:"username,omitempty"`
Password string `json:"password,omitempty"`
Domain string `json:"domain,omitempty"`
OpensslVerifyMode string `json:"opensslVerifyMode,omitempty"`
Sender string `json:"sender,omitempty"`
}

type ObjectStorage struct {
Expand Down Expand Up @@ -407,6 +408,7 @@ type CentralSSO struct {
EmailDomain []string `json:"emailDomain,omitempty"`
ClientID string `json:"clientId,omitempty"`
ClientSecret string `json:"clientSecret,omitempty"`
CredentialsSecretRef string `json:"credentialsSecretRef,omitempty"`
OidcIssuerURL string `json:"oidcIssuerUrl,omitempty"`
ServiceUrl string `json:"serviceUrl,omitempty"`
Scope string `json:"scope,omitempty"`
Expand Down
4 changes: 2 additions & 2 deletions charts/cvatdbs/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -20,12 +20,12 @@ pg:
cpu: 200m
memory: 1Gi
redis:
image: redis:7.0.5
image: redis:7.4.0
confRef: cvat-redis
resources:
limits:
cpu: 1000m
memory: 2Gi
requests:
cpu: 100m
memory: 200Mi
memory: 200Mi
4 changes: 4 additions & 0 deletions charts/mlops/crds/mlops.cnvrg.io_cnvrgapps.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -267,6 +267,8 @@ spec:
type: object
smtp:
properties:
credentialsSecretRef:
type: string
domain:
type: string
opensslVerifyMode:
Expand Down Expand Up @@ -768,6 +770,8 @@ spec:
type: string
cookieDomain:
type: string
credentialsSecretRef:
type: string
emailDomain:
items:
type: string
Expand Down
2 changes: 2 additions & 0 deletions charts/mlops/templates/cap.yml
Original file line number Diff line number Diff line change
Expand Up @@ -138,6 +138,7 @@ spec:
port: {{.Values.controlPlane.smtp.port}}
username: {{.Values.controlPlane.smtp.username}}
password: {{.Values.controlPlane.smtp.password}}
credentialsSecretRef: {{.Values.controlPlane.smtp.credentialsSecretRef}}
domain: {{.Values.controlPlane.smtp.domain}}
opensslVerifyMode: {{.Values.controlPlane.smtp.opensslVerifyMode}}
sender: {{.Values.controlPlane.smtp.sender}}
Expand Down Expand Up @@ -338,6 +339,7 @@ spec:
emailDomain: {{ toJson .Values.sso.central.emailDomain }}
clientId: {{.Values.sso.central.clientId}}
clientSecret: {{.Values.sso.central.clientSecret}}
credentialsSecretRef: {{.Values.sso.central.credentialsSecretRef}}
oidcIssuerUrl: {{.Values.sso.central.oidcIssuerUrl}}
serviceUrl: {{.Values.sso.central.serviceUrl}}
scope: {{.Values.sso.central.scope}}
Expand Down
21 changes: 11 additions & 10 deletions charts/mlops/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,7 @@ controlPlane:
maxReplicas: 5
hyper:
enabled: true
image: hyper-server:latest
image: hyper-server:v2.0
port: 5050
replicas: 1
nodePort: 30050
Expand Down Expand Up @@ -128,6 +128,7 @@ controlPlane:
domain: ''
opensslVerifyMode: ''
sender: [email protected]
credentialsSecretRef: ''
objectStorage:
type: minio
bucket: cnvrg-storage
Expand All @@ -148,7 +149,7 @@ dbs:
pg:
enabled: true
serviceAccount: pg
image: postgresql-12-centos7:latest
image: postgresql-12-centos7:pg13
port: 5432
storageSize: 80Gi
svcName: postgres
Expand All @@ -172,7 +173,7 @@ dbs:
redis:
enabled: true
serviceAccount: redis
image: cnvrg-redis:v7.0.0
image: redis:7.4.0
svcName: redis
port: 6379
storageSize: 10Gi
Expand All @@ -190,7 +191,7 @@ dbs:
enabled: true
serviceAccount: minio
replicas: 1
image: minio:RELEASE.2021-05-22T02-34-39Z
image: minio:RELEASE.2024-09-13T20-26-02Z
port: 9000
storageSize: 100Gi
svcName: minio
Expand Down Expand Up @@ -244,8 +245,8 @@ dbs:
credsRef: kibana-creds
elastalert:
enabled: true
image: elastalert:3.0.0-beta.1
authProxyImage: nginx:1.20
image: elastalert:v5.1
authProxyImage: nginx:1.27.1
credsRef: elastalert-creds
port: 8080
nodePort: 32030
Expand All @@ -264,12 +265,12 @@ dbs:
enabled: true
credsRef: prom-creds
extraScrapeConfigs:
image: prometheus:v2.37.1
image: prometheus:v2.45.0-stable
DannyAtal marked this conversation as resolved.
Show resolved Hide resolved
storageClass: ""
storageSize: 50Gi
grafana:
enabled: true
image: grafana/grafana-oss:9.5.20
image: grafana/grafana-oss:11.2.0
svcName: grafana
port: 8080
nodePort: 30012
Expand Down Expand Up @@ -311,7 +312,7 @@ sso:
enabled: false
name: cnvrg-jwks
image: jwks:ns-watch-scope
cacheImage: redis:7.0.5
cacheImage: redis:7.4.0
central:
enabled: false
publicUrl: ''
Expand All @@ -323,6 +324,7 @@ sso:
- "*"
clientId: ''
clientSecret: ''
credentialsSecretRef: ''
oidcIssuerUrl: ''
serviceUrl: ''
scope: openid email profile
Expand Down Expand Up @@ -363,4 +365,3 @@ mpi:
metastorageprovisioner:
enabled: true
version: ''

4 changes: 2 additions & 2 deletions charts/mpi/values.yaml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
imageHub: docker.io
image: mpioperator/mpi-operator:v0.2.3
kubectlDeliveryImage: mpioperator/kubectl-delivery:v0.2.3
image: mpioperator/mpi-operator:v0.5
kubectlDeliveryImage: mpioperator/kubectl-delivery:v0.5
imagePullSecretRef: cnvrg-app-registry
scc: false
registry:
Expand Down
4 changes: 2 additions & 2 deletions charts/nomex/values.yaml
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
imageHub: docker.io/cnvrg
image: nomex:v1.0.0
imagePullSecretRef: cnvrg-app-registry
image: nomex:v2.0.0
imagePullSecretRef: cnvrg-app-registry
6 changes: 3 additions & 3 deletions charts/optionals/helmfile.yaml
Original file line number Diff line number Diff line change
@@ -1,21 +1,21 @@
releases:
- name: istio-base
chart: istio/base
version: 1.21.2
version: 1.23.1
namespace: istio-system
labels:
stage: istio-infra

- name: istiod
chart: istio/istiod
version: 1.21.2
version: 1.23.1
namespace: istio-system
labels:
stage: istio-infra

- name: istio-ingress
chart: istio/gateway
version: 1.21.2
version: 1.23.1
namespace: istio-system
labels:
stage: istio-gateway
Expand Down
4 changes: 4 additions & 0 deletions config/crd/bases/mlops.cnvrg.io_cnvrgapps.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -267,6 +267,8 @@ spec:
type: object
smtp:
properties:
credentialsSecretRef:
type: string
domain:
type: string
opensslVerifyMode:
Expand Down Expand Up @@ -768,6 +770,8 @@ spec:
type: string
cookieDomain:
type: string
credentialsSecretRef:
type: string
emailDomain:
items:
type: string
Expand Down
4 changes: 1 addition & 3 deletions go.mod
Original file line number Diff line number Diff line change
@@ -1,8 +1,6 @@
module github.com/AccessibleAI/cnvrg-operator

go 1.22.0

toolchain go1.22.2
go 1.23.0

require (
dario.cat/mergo v1.0.0
Expand Down
23 changes: 3 additions & 20 deletions go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -107,8 +107,6 @@ github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.m
github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c=
github.com/evanphx/json-patch v5.7.0+incompatible h1:vgGkfT/9f8zE6tvSCe74nfpAVDQ2tG6yudJd8LBksgI=
github.com/evanphx/json-patch v5.7.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk=
github.com/evanphx/json-patch/v5 v5.8.0 h1:lRj6N9Nci7MvzrXuX6HFzU8XjmhPiXPlsKEy1u0KQro=
github.com/evanphx/json-patch/v5 v5.8.0/go.mod h1:VNkHZ/282BpEyt/tObQO8s5CMPmYYq14uClGH4abBuQ=
github.com/evanphx/json-patch/v5 v5.9.0 h1:kcBlZQbplgElYIlo/n1hJbls2z/1awpXxpRi0/FOJfg=
github.com/evanphx/json-patch/v5 v5.9.0/go.mod h1:VNkHZ/282BpEyt/tObQO8s5CMPmYYq14uClGH4abBuQ=
github.com/exponent-io/jsonpath v0.0.0-20151013193312-d6023ce2651d h1:105gxyaGwCFad8crR9dcMQWvV9Hvulu6hwUh4tWPJnM=
Expand Down Expand Up @@ -329,12 +327,11 @@ github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+W
github.com/onsi/ginkgo v1.12.1/go.mod h1:zj2OWP4+oCPe1qIXoGWkgMRwljMUYCdkwsT2108oapk=
github.com/onsi/ginkgo v1.16.5 h1:8xi0RTUf59SOSfEtZMvwTvXYMzG4gV23XVHOZiXNtnE=
github.com/onsi/ginkgo v1.16.5/go.mod h1:+E8gABHa3K6zRBolWtd+ROzc/U5bkGt0FwiG042wbpU=
github.com/onsi/ginkgo/v2 v2.15.0 h1:79HwNRBAZHOEwrczrgSOPy+eFTTlIGELKy5as+ClttY=
github.com/onsi/ginkgo/v2 v2.15.0/go.mod h1:HlxMHtYF57y6Dpf+mc5529KKmSq9h2FpCF+/ZkwUxKM=
github.com/onsi/ginkgo/v2 v2.17.1 h1:V++EzdbhI4ZV4ev0UTIj0PzhzOcReJFyJaLjtSF55M8=
github.com/onsi/ginkgo/v2 v2.17.1/go.mod h1:llBI3WDLL9Z6taip6f33H76YcWtJv+7R3HigUjbIBOs=
github.com/onsi/gomega v1.7.1/go.mod h1:XdKZgCCFLUoM/7CFJVPcG8C1xQ1AJ0vpAezJrB7JYyY=
github.com/onsi/gomega v1.10.1/go.mod h1:iN09h71vgCQne3DLsj+A5owkum+a2tYe+TOCB1ybHNo=
github.com/onsi/gomega v1.31.0 h1:54UJxxj6cPInHS3a35wm6BK/F9nHYueZ1NVujHDrnXE=
github.com/onsi/gomega v1.31.0/go.mod h1:DW9aCi7U6Yi40wNVAvT6kzFnEVEI5n3DloYBiKiT6zk=
github.com/onsi/gomega v1.32.0 h1:JRYU78fJ1LPxlckP6Txi/EYqJvjtMrDC04/MM5XRHPk=
github.com/onsi/gomega v1.32.0/go.mod h1:a4x4gW6Pz2yK1MAmvluYme5lvYTn61afQ2ETw/8n4Lg=
github.com/opencontainers/go-digest v1.0.0 h1:apOUWs51W5PlhuyGyz9FCeeBIOUDA/6nW8Oi/yOhh5U=
github.com/opencontainers/go-digest v1.0.0/go.mod h1:0JzlMkj0TRzQZfJkVvzbP0HBR3IKzErnv2BNG4W4MAM=
Expand Down Expand Up @@ -615,30 +612,18 @@ helm.sh/helm/v3 v3.15.3 h1:HcZDaVFe9uHa6hpsR54mJjYyRy4uz/pc6csg27nxFOc=
helm.sh/helm/v3 v3.15.3/go.mod h1:FzSIP8jDQaa6WAVg9F+OkKz7J0ZmAga4MABtTbsb9WQ=
honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
k8s.io/api v0.30.0 h1:siWhRq7cNjy2iHssOB9SCGNCl2spiF1dO3dABqZ8niA=
k8s.io/api v0.30.0/go.mod h1:OPlaYhoHs8EQ1ql0R/TsUgaRPhpKNxIMrKQfWUp8QSE=
k8s.io/api v0.30.1 h1:kCm/6mADMdbAxmIh0LBjS54nQBE+U4KmbCfIkF5CpJY=
k8s.io/api v0.30.1/go.mod h1:ddbN2C0+0DIiPntan/bye3SW3PdwLa11/0yqwvuRrJM=
k8s.io/apiextensions-apiserver v0.30.0 h1:jcZFKMqnICJfRxTgnC4E+Hpcq8UEhT8B2lhBcQ+6uAs=
k8s.io/apiextensions-apiserver v0.30.0/go.mod h1:N9ogQFGcrbWqAY9p2mUAL5mGxsLqwgtUce127VtRX5Y=
k8s.io/apiextensions-apiserver v0.30.1 h1:4fAJZ9985BmpJG6PkoxVRpXv9vmPUOVzl614xarePws=
k8s.io/apiextensions-apiserver v0.30.1/go.mod h1:R4GuSrlhgq43oRY9sF2IToFh7PVlF1JjfWdoG3pixk4=
k8s.io/apimachinery v0.30.0 h1:qxVPsyDM5XS96NIh9Oj6LavoVFYff/Pon9cZeDIkHHA=
k8s.io/apimachinery v0.30.0/go.mod h1:iexa2somDaxdnj7bha06bhb43Zpa6eWH8N8dbqVjTUc=
k8s.io/apimachinery v0.30.1 h1:ZQStsEfo4n65yAdlGTfP/uSHMQSoYzU/oeEbkmF7P2U=
k8s.io/apimachinery v0.30.1/go.mod h1:iexa2somDaxdnj7bha06bhb43Zpa6eWH8N8dbqVjTUc=
k8s.io/apiserver v0.30.0 h1:QCec+U72tMQ+9tR6A0sMBB5Vh6ImCEkoKkTDRABWq6M=
k8s.io/apiserver v0.30.0/go.mod h1:smOIBq8t0MbKZi7O7SyIpjPsiKJ8qa+llcFCluKyqiY=
k8s.io/apiserver v0.30.1 h1:BEWEe8bzS12nMtDKXzCF5Q5ovp6LjjYkSp8qOPk8LZ8=
k8s.io/apiserver v0.30.1/go.mod h1:i87ZnQ+/PGAmSbD/iEKM68bm1D5reX8fO4Ito4B01mo=
k8s.io/cli-runtime v0.30.0 h1:0vn6/XhOvn1RJ2KJOC6IRR2CGqrpT6QQF4+8pYpWQ48=
k8s.io/cli-runtime v0.30.0/go.mod h1:vATpDMATVTMA79sZ0YUCzlMelf6rUjoBzlp+RnoM+cg=
k8s.io/client-go v0.30.0 h1:sB1AGGlhY/o7KCyCEQ0bPWzYDL0pwOZO4vAtTSh/gJQ=
k8s.io/client-go v0.30.0/go.mod h1:g7li5O5256qe6TYdAMyX/otJqMhIiGgTapdLchhmOaY=
k8s.io/client-go v0.30.1 h1:uC/Ir6A3R46wdkgCV3vbLyNOYyCJ8oZnjtJGKfytl/Q=
k8s.io/client-go v0.30.1/go.mod h1:wrAqLNs2trwiCH/wxxmT/x3hKVH9PuV0GGW0oDoHVqc=
k8s.io/component-base v0.30.0 h1:cj6bp38g0ainlfYtaOQuRELh5KSYjhKxM+io7AUIk4o=
k8s.io/component-base v0.30.0/go.mod h1:V9x/0ePFNaKeKYA3bOvIbrNoluTSG+fSJKjLdjOoeXQ=
k8s.io/component-base v0.30.1 h1:bvAtlPh1UrdaZL20D9+sWxsJljMi0QZ3Lmw+kmZAaxQ=
k8s.io/component-base v0.30.1/go.mod h1:e/X9kDiOebwlI41AvBHuWdqFriSRrX50CdwA9TFaHLI=
k8s.io/klog/v2 v2.120.1 h1:QXU6cPEOIslTGvZaXvFWiP9VKyeet3sawzTOvdXb4Vw=
Expand All @@ -651,8 +636,6 @@ k8s.io/utils v0.0.0-20240102154912-e7106e64919e h1:eQ/4ljkx21sObifjzXwlPKpdGLrCf
k8s.io/utils v0.0.0-20240102154912-e7106e64919e/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0=
oras.land/oras-go v1.2.5 h1:XpYuAwAb0DfQsunIyMfeET92emK8km3W4yEzZvUbsTo=
oras.land/oras-go v1.2.5/go.mod h1:PuAwRShRZCsZb7g8Ar3jKKQR/2A/qN+pkYxIOd/FAoo=
sigs.k8s.io/controller-runtime v0.17.0 h1:fjJQf8Ukya+VjogLO6/bNX9HE6Y2xpsO5+fyS26ur/s=
sigs.k8s.io/controller-runtime v0.17.0/go.mod h1:+MngTvIQQQhfXtwfdGw/UOQ/aIaqsYywfCINOtwMO/s=
sigs.k8s.io/controller-runtime v0.18.4 h1:87+guW1zhvuPLh1PHybKdYFLU0YJp4FhJRmiHvm5BZw=
sigs.k8s.io/controller-runtime v0.18.4/go.mod h1:TVoGrfdpbA9VRFaRnKgk9P5/atA0pMwq+f+msb9M8Sg=
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd h1:EDPBXCAspyGV4jQlpZSudPeMmr1bNJefnuqLsRAsHZo=
Expand Down
Loading
Loading