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

feat(app): [KDL6-185] improve user tools operator #1093

Open
wants to merge 37 commits into
base: feat/KDL6-183-improve-kdl-operators
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
37 commits
Select commit Hold shift + click to select a range
b2a3165
feat(repo-cloner): [KDL6-207] standarize dockerfile
ialejandro Dec 10, 2024
d56fa83
feat(mlflow): [KDL6-32] use official base image (#1074)
ialejandro Dec 11, 2024
bdd314e
feat(project-operator): [KDL6-186] improve
ialejandro Dec 16, 2024
b6f968c
chore(hack): update values
ialejandro Dec 17, 2024
d9ab0ac
chore(hack): update values
ialejandro Dec 17, 2024
e86a2c5
feat(hack): clean filebrowser
ialejandro Dec 17, 2024
fa6452b
Merge remote-tracking branch 'origin/main' into feat/KDL-6-186-improv…
igzjaviergil Dec 17, 2024
dc2fee3
chore: typo
ialejandro Dec 17, 2024
044ae56
chore: typo
ialejandro Dec 17, 2024
3756b7f
chore: typo
ialejandro Dec 17, 2024
39c58be
docs
ialejandro Dec 17, 2024
a3d6108
docs
ialejandro Dec 17, 2024
2b54646
chore(hack): update release
ialejandro Dec 17, 2024
37764fa
feat: [KDL6-186] KDL create dynamic KDL Project
igzjaviergil Dec 18, 2024
16eb14e
Merge branch 'feat/KDL-6-186-improve-project-operator' of igz.github.…
igzjaviergil Dec 18, 2024
33633ca
feat: [KDL6-186] update comment
igzjaviergil Dec 18, 2024
650acc1
feat: [KDL6-186] update comment
igzjaviergil Dec 19, 2024
1512de3
feat(operators): improve user-tools-operator
ialejandro Dec 18, 2024
bf1cb77
test
ialejandro Dec 20, 2024
300b03e
feat: [KDL6-185] Create UserTools CR frojm Configmap
igzjaviergil Dec 23, 2024
5720beb
Merge branch 'feat/KDL6-185-improve-user-tools-operator' of igz.githu…
igzjaviergil Dec 23, 2024
d6f4906
feat: [KDL6-185] add go.sum files removed by accident
igzjaviergil Dec 23, 2024
3c2fd71
feat: [KDL6-185] clean up of environment variables
igzjaviergil Dec 23, 2024
c9637eb
feat(project-operator): add filebrowser custom image
ialejandro Dec 23, 2024
a650549
chore(go): update deps
ialejandro Dec 23, 2024
6d3d280
fix(filebrowser): image base
ialejandro Dec 23, 2024
78c803a
feat(project-operator): use filebrowser with minio
ialejandro Dec 23, 2024
c8279da
chore(operators): bump appVersion
ialejandro Dec 24, 2024
e0212f8
Merge branch 'feat/KDL6-183-improve-kdl-operators' into feat/KDL6-185…
ialejandro Dec 24, 2024
b0cef2d
feat: [KDL6-185] fix template name and gofmt
igzjaviergil Dec 24, 2024
953fb69
ci(github): add filebrowser build
ialejandro Dec 24, 2024
4efb55c
fix(hack): add default values
ialejandro Dec 24, 2024
f0d8076
fix(hack): add default values
ialejandro Dec 24, 2024
707af25
fix(hack): add default values
ialejandro Dec 24, 2024
508c603
fix(hack): add default values
ialejandro Dec 24, 2024
1e9b693
fix(hack): add default values
ialejandro Dec 24, 2024
d246329
feat: [KDL6-185] fix go code
igzjaviergil Dec 24, 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
1 change: 1 addition & 0 deletions .github/workflows/component-linter.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ jobs:
directory:
- app
- cleaner
- filebrowser
- mlflow
- project-operator
- repo-cloner
Expand Down
3 changes: 2 additions & 1 deletion .github/workflows/releases-create.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
name: "[Releases] Create"

env:
COMPONENTS: "app,cleaner,mlflow,project-operator,repo-cloner,user-tools-operator"
COMPONENTS: "app,cleaner,filebrowser,mlflow,project-operator,repo-cloner,user-tools-operator"

on:
workflow_dispatch:
Expand All @@ -18,6 +18,7 @@ on:
- all
- kdl-app
- cleaner
- filebrowser
- mlflow
- project-operator
- repo-cloner
Expand Down
23 changes: 0 additions & 23 deletions app/api/.env.dev

This file was deleted.

97 changes: 14 additions & 83 deletions app/api/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -38,16 +38,19 @@ docker build \

#### KDL server

| Environment variable | Description | Default value |
|--------------------------------|---------------------------------------------|----------------|
| `BASE_DOMAIN_NAME` | Base domain name for the KDL server | `kdl.local` |
| `KDL_SERVER_MONGODB_NAME` | MongoDB Database name for the KDL server | |
| `KDL_SERVER_MONGODB_URI` | MongoDB URI for the KDL server | |
| `KDL_SERVER_PORT` | Port for the KDL API | `8080` |
| `KDL_SERVER_STATIC_FILES_PATH` | Path for the static files of the KDL server | |
| `POD_NAMESPACE` | Namespace for the KDL server | |
| `SHARED_VOLUME` | Shared volume for the KDL server | |
| `TLS_ENABLED` | Enable TLS for the KDL server | `true` |
| Environment variable | Description | Default value |
|----------------------------------|-----------------------------------------------|------------------------------------------------------------------------|
| `RELEASE_NAME` | Release name for the KDL server | `kdl-local` |
| `KDL_SERVER_MONGODB_NAME` | MongoDB Database name for the KDL server | |
| `KDL_SERVER_MONGODB_URI` | MongoDB URI for the KDL server | |
| `KDL_SERVER_PORT` | Port for the KDL API | `8080` |
| `KDL_SERVER_STATIC_FILES_PATH` | Path for the static files of the KDL server | |
| `POD_NAMESPACE` | Namespace for the KDL server | |
| `PROJECT_FILEBROWSER_URL` | URL for the File Browser service | `http://kdlapp.kdl.local/filebrowser/PROJECT_ID/` |
| `PROJECT_MLFLOW_URL` | URL for the MLflow service | `http://kdlapp.kdl.local/mlflow/PROJECT_ID/` |
| `USER_TOOLS_VSCODE_URL` | URL for the VScode service | `http://USERNAME-code.kdl.local/?folder=/home/coder/repos/REPO_FOLDER` |
| `KUBECONFIG_DOWNLOAD_ENABLED` | Enable kubeconfig download for the User Tools | `false` |
| `KUBECONFIG_EXTERNAL_SERVER_URL` | URL for the kubeconfig download service | |

#### KnowledgeGalaxy

Expand All @@ -64,79 +67,7 @@ docker build \
| `MINIO_ENDPOINT` | URL for the Minio service | `http://minio:9000` |
| `MINIO_SECRET_KEY` | Secret key for the Minio service | |

### Filebrowser

| Environment variable | Description | Default value |
|--------------------------------------|----------------------------------------------------|---------------------------------------------------|
| `PROJECT_FILEBROWSER_AFFINITY` | Encoded affinity for the File Browser service | `{}` |
| `PROJECT_FILEBROWSER_IMG_PULLPOLICY` | Pull policy for the File Browser image | `IfNotPresent` |
| `PROJECT_FILEBROWSER_IMG_REPO` | Repository for the File Browser image | `filebrowser/filebrowser` |
| `PROJECT_FILEBROWSER_IMG_TAG` | Tag for the File Browser image | `v2` |
| `PROJECT_FILEBROWSER_NODESELECTOR` | Encoded node selector for the File Browser service | `{}` |
| `PROJECT_FILEBROWSER_TOLERATIONS` | Encoded tolerations for the File Browser service | `[]` |
| `PROJECT_FILEBROWSER_URL` | URL for the File Browser service | `http://kdlapp.kdl.local/filebrowser/PROJECT_ID/` |

### MLflow

| Environment variable | Description | Default value |
|----------------------------------------------|----------------------------------------------------|----------------------------------------------|
| `PROJECT_MLFLOW_AFFINITY` | Encoded affinity for the MLflow service | `{}` |
| `PROJECT_MLFLOW_ENCODED_INGRESS_ANNOTATIONS` | Encoded ingress annotations for the MLflow service | `{}` |
| `PROJECT_MLFLOW_IMG_PULLPOLICY` | Pull policy for the MLflow image | `IfNotPresent` |
| `PROJECT_MLFLOW_IMG_REPO` | Repository for the MLflow image | `konstellation/kdl-mlflow` |
| `PROJECT_MLFLOW_IMG_TAG` | Tag for the MLflow image | `v0.13.5` |
| `PROJECT_MLFLOW_INGRESS_CLASS_NAME` | Ingress class name for the MLflow service | `nginx` |
| `PROJECT_MLFLOW_INGRESS_TLS_SECRET_NAME` | TLS secret name for the MLflow service | |
| `PROJECT_MLFLOW_NODESELECTOR` | Encoded node selector for the MLflow service | `{}` |
| `PROJECT_MLFLOW_STORAGE_CLASS_NAME` | Storage class name for the MLflow service | `standard` |
| `PROJECT_MLFLOW_STORAGE_SIZE` | Storage size for the MLflow service | `1Gi` |
| `PROJECT_MLFLOW_TOLERATIONS` | Encoded tolerations for the MLflow service | `[]` |
| `PROJECT_MLFLOW_URL` | URL for the MLflow service | `http://kdlapp.kdl.local/mlflow/PROJECT_ID/` |

### oauth2-proxy

| Environment variable | Description | Default value |
|-------------------------------|----------------------------------------|-------------------------------------|
| `OAUTH2_PROXY_IMG_PULLPOLICY` | Pull policy for the oauth2-proxy image | `IfNotPresent` |
| `OAUTH2_PROXY_IMG_REPO` | Repository for the oauth2-proxy image | `quay.io/oauth2-proxy/oauth2-proxy` |
| `OAUTH2_PROXY_IMG_TAG` | Tag for the oauth2-proxy image | `v7.0.1-amd64` |

### VScode

| Environment variable | Description | Default value |
|-------------------------|----------------------------------|----------------------------|
| `VSCODE_IMG_PULLPOLICY` | Pull policy for the VScode image | `IfNotPresent` |
| `VSCODE_IMG_REPO` | Repository for the VScode image | `konstellation/kdl-vscode` |
| `VSCODE_IMG_TAG` | Tag for the VScode image | `v0.15.0` |

### repo-cloner

| Environment variable | Description | Default value |
|------------------------------|---------------------------------------|---------------------------------|
| `REPO_CLONER_IMG_PULLPOLICY` | Pull policy for the repo-cloner image | `IfNotPresent` |
| `REPO_CLONER_IMG_REPO` | Repository for the repo-cloner image | `konstellation/kdl-repo-cloner` |
| `REPO_CLONER_IMG_TAG` | Tag for the repo-cloner image | `0.18.0` |

### user-tools-operator

| Environment variable | Description | Default value |
|---------------------------------------------|--------------------------------------------------------|------------------------------------------------------------------------|
| `USER_TOOLS_ENCODED_INGRESS_ANNOTATIONS` | Encoded ingress annotations for the User Tools service | `{}` |
| `USER_TOOLS_INGRESS_CLASS_NAME` | Ingress class name for the User Tools service | `nginx` |
| `USER_TOOLS_KUBECONFIG_DOWNLOAD_ENABLED` | Enable kubeconfig download for the User Tools service | `false` |
| `USER_TOOLS_KUBECONFIG_EXTERNAL_SERVER_URL` | URL for the kubeconfig download service | |
| `USER_TOOLS_OAUTH2_PROXY_IMG_PULLPOLICY` | Pull policy for the VScode image | `IfNotPresent` |
| `USER_TOOLS_OAUTH2_PROXY_IMG_REPO` | Repository for the oauth2-proxy image | `quay.io/oauth2-proxy/oauth2-proxy` |
| `USER_TOOLS_OAUTH2_PROXY_IMG_TAG` | Tag for the oauth2-proxy image | `v7.0.1-amd64` |
| `USER_TOOLS_STORAGE_CLASSNAME` | Storage class name for the User Tools service | `standard` |
| `USER_TOOLS_STORAGE_SIZE` | Storage size for the User Tools service | `10Gi` |
| `USER_TOOLS_TLS_SECRET_NAME` | TLS secret name for the User Tools service | |
| `USER_TOOLS_VSCODE_RUNTIME_IMG_PULLPOLICY` | Pull policy for the VScode Runtime image | `IfNotPresent` |
| `USER_TOOLS_VSCODE_RUNTIME_IMG_REPO` | Repository for the VScode Runtime image | `konstellation/kdl-py` |
| `USER_TOOLS_VSCODE_RUNTIME_IMG_TAG` | Tag for the VScode Runtime image | `3.9` |
| `USER_TOOLS_VSCODE_URL` | URL for the VScode service | `http://USERNAME-code.kdl.local/?folder=/home/coder/repos/REPO_FOLDER` |

### Labels
#### Labels

| Environment variable | Default value | Description |
|-------------------------------|---------------|------------------------------------------------------------------------------|
Expand Down
6 changes: 3 additions & 3 deletions app/api/go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ go 1.23.2

require (
bou.ke/monkey v1.0.2
github.com/99designs/gqlgen v0.17.60
github.com/99designs/gqlgen v0.17.61
github.com/go-co-op/gocron v1.37.0
github.com/go-logr/logr v1.4.2
github.com/go-logr/zapr v1.3.0
Expand All @@ -18,7 +18,7 @@ require (
github.com/vektah/gqlparser/v2 v2.5.20
go.mongodb.org/mongo-driver v1.17.1
go.uber.org/zap v1.27.0
golang.org/x/crypto v0.30.0
golang.org/x/crypto v0.31.0
gopkg.in/yaml.v3 v3.0.1
gotest.tools/v3 v3.5.1
k8s.io/api v0.32.0
Expand Down Expand Up @@ -109,7 +109,7 @@ require (
go.opentelemetry.io/otel/trace v1.28.0 // indirect
go.uber.org/atomic v1.9.0 // indirect
go.uber.org/multierr v1.11.0 // indirect
golang.org/x/net v0.30.0 // indirect
golang.org/x/net v0.33.0 // indirect
golang.org/x/oauth2 v0.23.0 // indirect
golang.org/x/sync v0.10.0 // indirect
golang.org/x/sys v0.28.0 // indirect
Expand Down
12 changes: 6 additions & 6 deletions app/api/go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@ bou.ke/monkey v1.0.2 h1:kWcnsrCNUatbxncxR/ThdYqbytgOIArtYWqcQLQzKLI=
bou.ke/monkey v1.0.2/go.mod h1:OqickVX3tNx6t33n1xvtTtu85YN5s6cKwVug+oHMaIA=
dario.cat/mergo v1.0.0 h1:AGCNq9Evsj31mOgNPcLyXc+4PNABt905YmuqPYYpBWk=
dario.cat/mergo v1.0.0/go.mod h1:uNxQE+84aUszobStD9th8a29P2fMDhsBdgRYvZOxGmk=
github.com/99designs/gqlgen v0.17.60 h1:xxl7kQDCNw79itzWQtCUSXgkovCyq9r+ogSXfZpKPYM=
github.com/99designs/gqlgen v0.17.60/go.mod h1:vQJzWXyGya2TYL7cig1G4OaCQzyck031MgYBlUwaI9I=
github.com/99designs/gqlgen v0.17.61 h1:vE7xLRC066n9wehgjeplILOWtwz75zbzcV2/Iv9i3pw=
github.com/99designs/gqlgen v0.17.61/go.mod h1:rFU1T3lhv/tPeAlww/DJ4ol2YxT/pPpue+xxPbkd3r4=
github.com/AdaLogics/go-fuzz-headers v0.0.0-20230811130428-ced1acdcaa24 h1:bvDV9vkmnHYOMsOr4WLk+Vo07yKIzd94sVoIqshQ4bU=
github.com/AdaLogics/go-fuzz-headers v0.0.0-20230811130428-ced1acdcaa24/go.mod h1:8o94RPi1/7XTJvwPpRSzSUedZrtlirdB3r9Z20bi2f8=
github.com/Azure/go-ansiterm v0.0.0-20230124172434-306776ec8161 h1:L/gRVlceqvL25UVaW/CKtUDjefjrs0SPonmDGUVOYP0=
Expand Down Expand Up @@ -277,8 +277,8 @@ golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACk
golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
golang.org/x/crypto v0.30.0 h1:RwoQn3GkWiMkzlX562cLB7OxWvjH1L8xutO2WoJcRoY=
golang.org/x/crypto v0.30.0/go.mod h1:kDsLvtWBEx7MV9tJOj9bnXsPbxwJQ6csT/x4KIN4Ssk=
golang.org/x/crypto v0.31.0 h1:ihbySMvVjLAeSH1IbfcRTkD/iNscyz8rGzjF/E5hV6U=
golang.org/x/crypto v0.31.0/go.mod h1:kDsLvtWBEx7MV9tJOj9bnXsPbxwJQ6csT/x4KIN4Ssk=
golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
Expand All @@ -290,8 +290,8 @@ golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwY
golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg=
golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM=
golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c=
golang.org/x/net v0.30.0 h1:AcW1SDZMkb8IpzCdQUaIq2sP4sZ4zw+55h6ynffypl4=
golang.org/x/net v0.30.0/go.mod h1:2wGyMJ5iFasEhkwi13ChkO/t1ECNC4X4eBKkVFyYFlU=
golang.org/x/net v0.33.0 h1:74SYHlV8BIgHIFC/LrYkOGIwL19eTYXQ5wc6TBuO36I=
golang.org/x/net v0.33.0/go.mod h1:HXLR5J+9DxmrqMwG9qjGCxZ+zKXxBru04zlTvWlWuN4=
golang.org/x/oauth2 v0.23.0 h1:PbgcYx2W7i4LvjJWEbf0ngHV6qJYr86PkAV3bXdLEbs=
golang.org/x/oauth2 v0.23.0/go.mod h1:XYTD2NtWslqkgxebSiOHnXEap4TF09sJSc7H1sXbhtI=
golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
Expand Down
Loading
Loading