Skip to content

Commit 2846f57

Browse files
core modules
1 parent 7b2fcb8 commit 2846f57

File tree

27 files changed

+3008
-6
lines changed

27 files changed

+3008
-6
lines changed

.terraform.lock.hcl

Lines changed: 62 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Makefile

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,10 +10,8 @@ post-start:
1010
./scripts/setup-krew.sh
1111

1212
docs:
13-
terraform-docs markdown ./modules/treebeardkf > ./modules/treebeardkf/README.md
14-
go install github.com/norwoodj/helm-docs/cmd/helm-docs@latest
15-
helm-docs
13+
terraform-docs markdown . > ./README.md
1614

1715
fmt:
18-
terraform fmt **/*modules
16+
terraform fmt .
1917
.PHONY: build

README.md

Lines changed: 106 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,106 @@
1-
# terraform-kubernetes-kubeflow
2-
a Terraform module for managing Kubeflow
1+
## Requirements
2+
3+
| Name | Version |
4+
|------|---------|
5+
| <a name="requirement_helm"></a> [helm](#requirement\_helm) | ~> 2.12.1 |
6+
| <a name="requirement_kubernetes"></a> [kubernetes](#requirement\_kubernetes) | ~> 2.25.2 |
7+
| <a name="requirement_kustomization"></a> [kustomization](#requirement\_kustomization) | ~> 0.9.5 |
8+
9+
## Providers
10+
11+
| Name | Version |
12+
|------|---------|
13+
| <a name="provider_helm"></a> [helm](#provider\_helm) | 2.12.1 |
14+
| <a name="provider_kubernetes"></a> [kubernetes](#provider\_kubernetes) | 2.25.2 |
15+
| <a name="provider_kustomization"></a> [kustomization](#provider\_kustomization) | 0.9.5 |
16+
17+
## Modules
18+
19+
| Name | Source | Version |
20+
|------|--------|---------|
21+
| <a name="module_admission_webhook"></a> [admission\_webhook](#module\_admission\_webhook) | ./modules/kust | n/a |
22+
| <a name="module_central_dashboard"></a> [central\_dashboard](#module\_central\_dashboard) | ./modules/kust | n/a |
23+
| <a name="module_cert_manager"></a> [cert\_manager](#module\_cert\_manager) | ./modules/kust | n/a |
24+
| <a name="module_cluster_local_gateway"></a> [cluster\_local\_gateway](#module\_cluster\_local\_gateway) | ./modules/kust | n/a |
25+
| <a name="module_dex"></a> [dex](#module\_dex) | ./modules/kust | n/a |
26+
| <a name="module_istio_crds"></a> [istio\_crds](#module\_istio\_crds) | ./modules/kust | n/a |
27+
| <a name="module_istio_install"></a> [istio\_install](#module\_istio\_install) | ./modules/kust | n/a |
28+
| <a name="module_jupyter_web_app"></a> [jupyter\_web\_app](#module\_jupyter\_web\_app) | ./modules/kust | n/a |
29+
| <a name="module_knative_serving"></a> [knative\_serving](#module\_knative\_serving) | ./modules/kust | n/a |
30+
| <a name="module_kserve"></a> [kserve](#module\_kserve) | ./modules/kust | n/a |
31+
| <a name="module_kubeflow_issuer"></a> [kubeflow\_issuer](#module\_kubeflow\_issuer) | ./modules/kust | n/a |
32+
| <a name="module_kubeflow_istio_resources"></a> [kubeflow\_istio\_resources](#module\_kubeflow\_istio\_resources) | ./modules/kust | n/a |
33+
| <a name="module_kubeflow_namespace"></a> [kubeflow\_namespace](#module\_kubeflow\_namespace) | ./modules/kust | n/a |
34+
| <a name="module_kubeflow_pipelines"></a> [kubeflow\_pipelines](#module\_kubeflow\_pipelines) | ./modules/kust | n/a |
35+
| <a name="module_kubeflow_profile"></a> [kubeflow\_profile](#module\_kubeflow\_profile) | ./modules/kust | n/a |
36+
| <a name="module_kubeflow_ray_rbac"></a> [kubeflow\_ray\_rbac](#module\_kubeflow\_ray\_rbac) | ./modules/kust | n/a |
37+
| <a name="module_kubeflow_roles"></a> [kubeflow\_roles](#module\_kubeflow\_roles) | ./modules/kust | n/a |
38+
| <a name="module_mlflow_istio"></a> [mlflow\_istio](#module\_mlflow\_istio) | ./modules/kust | n/a |
39+
| <a name="module_models_web_app"></a> [models\_web\_app](#module\_models\_web\_app) | ./modules/kust | n/a |
40+
| <a name="module_notebook_controller"></a> [notebook\_controller](#module\_notebook\_controller) | ./modules/kust | n/a |
41+
| <a name="module_oidc_authservice"></a> [oidc\_authservice](#module\_oidc\_authservice) | ./modules/kust | n/a |
42+
| <a name="module_profiles_kfam"></a> [profiles\_kfam](#module\_profiles\_kfam) | ./modules/kust | n/a |
43+
| <a name="module_pvc_viewer_controller"></a> [pvc\_viewer\_controller](#module\_pvc\_viewer\_controller) | ./modules/kust | n/a |
44+
| <a name="module_tensorboard_web_app"></a> [tensorboard\_web\_app](#module\_tensorboard\_web\_app) | ./modules/kust | n/a |
45+
| <a name="module_volumes_web_app"></a> [volumes\_web\_app](#module\_volumes\_web\_app) | ./modules/kust | n/a |
46+
47+
## Resources
48+
49+
| Name | Type |
50+
|------|------|
51+
| [helm_release.external_dns](https://registry.terraform.io/providers/hashicorp/helm/latest/docs/resources/release) | resource |
52+
| [helm_release.external_secrets](https://registry.terraform.io/providers/hashicorp/helm/latest/docs/resources/release) | resource |
53+
| [helm_release.gatekeeper](https://registry.terraform.io/providers/hashicorp/helm/latest/docs/resources/release) | resource |
54+
| [helm_release.gpu_operator](https://registry.terraform.io/providers/hashicorp/helm/latest/docs/resources/release) | resource |
55+
| [helm_release.kuberay_operator](https://registry.terraform.io/providers/hashicorp/helm/latest/docs/resources/release) | resource |
56+
| [helm_release.mlflow](https://registry.terraform.io/providers/hashicorp/helm/latest/docs/resources/release) | resource |
57+
| [kubernetes_namespace.tkf_system](https://registry.terraform.io/providers/hashicorp/kubernetes/latest/docs/resources/namespace) | resource |
58+
| [kustomization_build.admission_webhook](https://registry.terraform.io/providers/kbst/kustomization/latest/docs/data-sources/build) | data source |
59+
| [kustomization_build.central_dashboard](https://registry.terraform.io/providers/kbst/kustomization/latest/docs/data-sources/build) | data source |
60+
| [kustomization_build.cert_manager](https://registry.terraform.io/providers/kbst/kustomization/latest/docs/data-sources/build) | data source |
61+
| [kustomization_build.cluster_local_gateway](https://registry.terraform.io/providers/kbst/kustomization/latest/docs/data-sources/build) | data source |
62+
| [kustomization_build.istio_crds](https://registry.terraform.io/providers/kbst/kustomization/latest/docs/data-sources/build) | data source |
63+
| [kustomization_build.jupyter_web_app](https://registry.terraform.io/providers/kbst/kustomization/latest/docs/data-sources/build) | data source |
64+
| [kustomization_build.kserve](https://registry.terraform.io/providers/kbst/kustomization/latest/docs/data-sources/build) | data source |
65+
| [kustomization_build.kubeflow_issuer](https://registry.terraform.io/providers/kbst/kustomization/latest/docs/data-sources/build) | data source |
66+
| [kustomization_build.kubeflow_namespace](https://registry.terraform.io/providers/kbst/kustomization/latest/docs/data-sources/build) | data source |
67+
| [kustomization_build.kubeflow_pipelines](https://registry.terraform.io/providers/kbst/kustomization/latest/docs/data-sources/build) | data source |
68+
| [kustomization_build.kubeflow_ray_rbac](https://registry.terraform.io/providers/kbst/kustomization/latest/docs/data-sources/build) | data source |
69+
| [kustomization_build.kubeflow_roles](https://registry.terraform.io/providers/kbst/kustomization/latest/docs/data-sources/build) | data source |
70+
| [kustomization_build.mlflow_istio](https://registry.terraform.io/providers/kbst/kustomization/latest/docs/data-sources/build) | data source |
71+
| [kustomization_build.models_web_app](https://registry.terraform.io/providers/kbst/kustomization/latest/docs/data-sources/build) | data source |
72+
| [kustomization_build.notebook_controller](https://registry.terraform.io/providers/kbst/kustomization/latest/docs/data-sources/build) | data source |
73+
| [kustomization_build.profiles_kfam](https://registry.terraform.io/providers/kbst/kustomization/latest/docs/data-sources/build) | data source |
74+
| [kustomization_build.pvc_viewer_controller](https://registry.terraform.io/providers/kbst/kustomization/latest/docs/data-sources/build) | data source |
75+
| [kustomization_build.tensorboard_web_app](https://registry.terraform.io/providers/kbst/kustomization/latest/docs/data-sources/build) | data source |
76+
| [kustomization_build.volumes_web_app](https://registry.terraform.io/providers/kbst/kustomization/latest/docs/data-sources/build) | data source |
77+
| [kustomization_overlay.dex](https://registry.terraform.io/providers/kbst/kustomization/latest/docs/data-sources/overlay) | data source |
78+
| [kustomization_overlay.istio_install](https://registry.terraform.io/providers/kbst/kustomization/latest/docs/data-sources/overlay) | data source |
79+
| [kustomization_overlay.knative_serving](https://registry.terraform.io/providers/kbst/kustomization/latest/docs/data-sources/overlay) | data source |
80+
| [kustomization_overlay.kubeflow_istio_resources](https://registry.terraform.io/providers/kbst/kustomization/latest/docs/data-sources/overlay) | data source |
81+
| [kustomization_overlay.kubeflow_profile](https://registry.terraform.io/providers/kbst/kustomization/latest/docs/data-sources/overlay) | data source |
82+
| [kustomization_overlay.oidc_authservice](https://registry.terraform.io/providers/kbst/kustomization/latest/docs/data-sources/overlay) | data source |
83+
84+
## Inputs
85+
86+
| Name | Description | Type | Default | Required |
87+
|------|-------------|------|---------|:--------:|
88+
| <a name="input_aws_region"></a> [aws\_region](#input\_aws\_region) | n/a | `string` | `"eu-west-1"` | no |
89+
| <a name="input_enable_external_dns"></a> [enable\_external\_dns](#input\_enable\_external\_dns) | n/a | `bool` | `true` | no |
90+
| <a name="input_enable_external_secrets"></a> [enable\_external\_secrets](#input\_enable\_external\_secrets) | n/a | `bool` | `false` | no |
91+
| <a name="input_enable_gatekeeper"></a> [enable\_gatekeeper](#input\_enable\_gatekeeper) | n/a | `bool` | `false` | no |
92+
| <a name="input_enable_gpu_operator"></a> [enable\_gpu\_operator](#input\_enable\_gpu\_operator) | n/a | `bool` | `false` | no |
93+
| <a name="input_enable_kserve"></a> [enable\_kserve](#input\_enable\_kserve) | n/a | `bool` | `false` | no |
94+
| <a name="input_enable_kubeflow_pipelines"></a> [enable\_kubeflow\_pipelines](#input\_enable\_kubeflow\_pipelines) | n/a | `bool` | `false` | no |
95+
| <a name="input_enable_kuberay"></a> [enable\_kuberay](#input\_enable\_kuberay) | n/a | `bool` | `false` | no |
96+
| <a name="input_enable_mlflow"></a> [enable\_mlflow](#input\_enable\_mlflow) | n/a | `bool` | `false` | no |
97+
| <a name="input_enable_tensorboard"></a> [enable\_tensorboard](#input\_enable\_tensorboard) | n/a | `bool` | `false` | no |
98+
| <a name="input_github"></a> [github](#input\_github) | n/a | <pre>object({<br> client_id = string<br> client_secret = string<br> org = string<br> })</pre> | n/a | yes |
99+
| <a name="input_hostname"></a> [hostname](#input\_hostname) | n/a | `string` | `"localhost"` | no |
100+
| <a name="input_owner_email"></a> [owner\_email](#input\_owner\_email) | The email of the owner of the Kubeflow deployment | `string` | n/a | yes |
101+
| <a name="input_port"></a> [port](#input\_port) | n/a | `string` | `"8080"` | no |
102+
| <a name="input_protocol"></a> [protocol](#input\_protocol) | n/a | `string` | `"http://"` | no |
103+
104+
## Outputs
105+
106+
No outputs.

kubeflow.tf

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
variable "owner_email" {
2+
description = "The email of the owner of the Kubeflow deployment"
3+
type = string
4+
}
5+
6+
data "kustomization_overlay" "kubeflow_profile" {
7+
resources = [
8+
"${path.module}/overlays/profile"
9+
]
10+
11+
patches {
12+
target {
13+
kind = "Profile"
14+
name = "prod"
15+
}
16+
patch = <<EOF
17+
apiVersion: kubeflow.org/v1
18+
kind: Profile
19+
metadata:
20+
name: prod
21+
spec:
22+
owner:
23+
kind: User
24+
name: ${var.owner_email}
25+
EOF
26+
}
27+
}
28+
29+
module "kubeflow_profile" {
30+
source = "./modules/kust"
31+
build = data.kustomization_overlay.kubeflow_profile
32+
depends_on = [
33+
module.profiles_kfam
34+
]
35+
}

0 commit comments

Comments
 (0)