-
Notifications
You must be signed in to change notification settings - Fork 50
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
feat: adds bundle definition for kubeflow-lite 1.6
- Loading branch information
Showing
3 changed files
with
231 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,67 @@ | ||
# Kubeflow Operators | ||
|
||
## Introduction | ||
|
||
Charmed Kubeflow is a full set of Kubernetes operators to deliver the 30+ applications and services | ||
that make up the latest version of Kubeflow, for easy operations anywhere, from workstations to | ||
on-prem, to public cloud and edge. | ||
|
||
A charm is a software package that includes an operator together with metadata that supports the | ||
integration of many operators in a coherent aggregated system. | ||
|
||
This technology leverages the Juju Operator Lifecycle Manager to provide day-0 to day-2 operations | ||
of Kubeflow. | ||
|
||
Visit [charmed-kubeflow.io][charmedkf] for more information. | ||
|
||
## Install | ||
|
||
|
||
For any Kubernetes, follow the [installation instructions][install]. | ||
|
||
## Testing | ||
|
||
To deploy this bundle and run tests locally, do the following: | ||
|
||
1. Set up Kubernetes, Juju, and deploy the bundle you're interested in (`kubeflow` or | ||
`kubeflow-lite`) using the [installation guide](https://charmed-kubeflow.io/docs/install/). This | ||
must include populating the `.kube/config` file with your Kubernetes cluster as the active | ||
context. Do not create a namespace with the same name as the username, this will cause | ||
pipelines tests to fail. Beware of using `admin` as the dex-auth static-username as the tests | ||
attempt to create a profile and `admin` conflicts with an existing default profile. | ||
1. Install test prerequisites: | ||
|
||
```bash | ||
sudo snap install juju-wait --classic | ||
sudo snap install juju-kubectl --classic | ||
sudo snap install charmcraft --classic | ||
sudo apt update | ||
sudo apt install -y libssl-dev firefox-geckodriver | ||
sudo pip3 install tox | ||
sudo pip3 install -r requirements.txt | ||
``` | ||
|
||
1. Run tests on your bundle with tox. As many tests need authentication, make sure you pass the | ||
username and password you set in step (1) through environment variable or argument, for example: | ||
- full bundle (using command line arguments): | ||
``` | ||
tox -e tests -- -m full --username [email protected] --password user123 | ||
``` | ||
- lite bundle (using environment variables): | ||
``` | ||
export [email protected] | ||
export KUBEFLOW_AUTH_PASSWORD=user1234 | ||
tox -e tests -- -m lite | ||
``` | ||
|
||
Subsets of the tests are also available using pytest's substring expression selector (e.g.: | ||
`tox -e tests -- -m full --username [email protected] --password user123 -k 'selenium'` to run just | ||
the selenium tests). | ||
## Documentation | ||
Read the [official documentation][docs]. | ||
[charmedkf]: https://charmed-kubeflow.io/ | ||
[docs]: https://charmed-kubeflow.io/docs/ | ||
[install]: https://charmed-kubeflow.io/docs/install |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,163 @@ | ||
# Modified from https://github.com/canonical/kubeflow-ci/blob/main/releases/1.4/kubeflow-bundle.yaml | ||
|
||
bundle: kubernetes | ||
name: kubeflow-lite | ||
applications: | ||
admission-webhook: | ||
charm: admission-webhook | ||
channel: 1.4/edge | ||
scale: 1 | ||
_github_repo_name: admission-webhook-operator | ||
argo-controller: | ||
charm: argo-controller | ||
channel: 3.1/edge | ||
scale: 1 | ||
_github_repo_name: argo-operators | ||
dex-auth: | ||
charm: dex-auth | ||
channel: 2.28/edge | ||
scale: 1 | ||
trust: true | ||
_github_repo_name: dex-auth-operator | ||
envoy: | ||
charm: envoy | ||
channel: 1.12/edge | ||
scale: 1 | ||
_github_repo_name: envoy-operator | ||
istio-ingressgateway: | ||
charm: istio-gateway | ||
channel: 1.11/edge | ||
scale: 1 | ||
trust: true | ||
_github_repo_name: istio-operators | ||
istio-pilot: | ||
charm: istio-pilot | ||
channel: 1.11/edge | ||
scale: 1 | ||
_github_repo_name: istio-operators | ||
options: | ||
default-gateway: kubeflow-gateway | ||
jupyter-controller: | ||
charm: jupyter-controller | ||
channel: 1.6/edge | ||
scale: 1 | ||
_github_repo_name: notebook-operators | ||
jupyter-ui: | ||
charm: jupyter-ui | ||
channel: 1.6/edge | ||
scale: 1 | ||
_github_repo_name: notebook-operators | ||
kfp-api: | ||
charm: kfp-api | ||
channel: 2.0/edge | ||
scale: 1 | ||
_github_repo_name: kfp-operators | ||
kfp-db: | ||
charm: charmed-osm-mariadb-k8s | ||
channel: latest/edge | ||
scale: 1 | ||
options: | ||
database: mlpipeline | ||
kfp-persistence: | ||
charm: kfp-persistence | ||
channel: 2.0/edge | ||
scale: 1 | ||
_github_repo_name: kfp-operators | ||
kfp-profile-controller: | ||
charm: kfp-profile-controller | ||
channel: 2.0/edge | ||
scale: 1 | ||
_github_repo_name: kfp-operators | ||
kfp-schedwf: | ||
charm: kfp-schedwf | ||
channel: 2.0/edge | ||
scale: 1 | ||
_github_repo_name: kfp-operators | ||
kfp-ui: | ||
charm: kfp-ui | ||
channel: 2.0/edge | ||
scale: 1 | ||
_github_repo_name: kfp-operators | ||
kfp-viewer: | ||
charm: kfp-viewer | ||
channel: 2.0/edge | ||
scale: 1 | ||
_github_repo_name: kfp-operators | ||
kfp-viz: | ||
charm: kfp-viz | ||
channel: 2.0/edge | ||
scale: 1 | ||
_github_repo_name: kfp-operators | ||
kubeflow-dashboard: | ||
charm: kubeflow-dashboard | ||
channel: 1.6/edge | ||
scale: 1 | ||
_github_repo_name: kubeflow-dashboard-operator | ||
kubeflow-profiles: | ||
charm: kubeflow-profiles | ||
channel: 1.6/edge | ||
scale: 1 | ||
_github_repo_name: kubeflow-profiles-operator | ||
kubeflow-roles: | ||
charm: kubeflow-roles | ||
channel: 1.6/edge | ||
scale: 1 | ||
trust: true | ||
_github_repo_name: kubeflow-roles-operator | ||
kubeflow-volumes: | ||
charm: kubeflow-volumes | ||
channel: 1.6/edge | ||
scale: 1 | ||
_github_repo_name: kubeflow-volumes-operator | ||
metacontroller-operator: | ||
charm: metacontroller-operator | ||
channel: 0.3/edge | ||
scale: 1 | ||
trust: true | ||
_github_repo_name: metacontroller-operator | ||
mlmd: | ||
charm: mlmd | ||
channel: 1.0/edge | ||
scale: 1 | ||
_github_repo_name: mlmd-operator | ||
minio: | ||
charm: minio | ||
channel: latest/edge | ||
scale: 1 | ||
_github_repo_name: minio-operator | ||
oidc-gatekeeper: | ||
charm: oidc-gatekeeper | ||
channel: ckf-1.4/edge | ||
scale: 1 | ||
_github_repo_name: oidc-gatekeeper-operator | ||
seldon-controller-manager: | ||
charm: seldon-core | ||
channel: 1.6/edge | ||
scale: 1 | ||
_github_repo_name: seldon-core-operator | ||
training-operator: | ||
charm: training-operator | ||
channel: 1.5/edge | ||
scale: 1 | ||
trust: true | ||
_github_repo_name: training-operator | ||
relations: | ||
- [argo-controller, minio] | ||
- [dex-auth:oidc-client, oidc-gatekeeper:oidc-client] | ||
- [istio-pilot:ingress, dex-auth:ingress] | ||
- [istio-pilot:ingress, jupyter-ui:ingress] | ||
- [istio-pilot:ingress, kfp-ui:ingress] | ||
- [istio-pilot:ingress, kubeflow-dashboard:ingress] | ||
- [istio-pilot:ingress, kubeflow-volumes:ingress] | ||
- [istio-pilot:ingress, oidc-gatekeeper:ingress] | ||
- [istio-pilot:ingress-auth, oidc-gatekeeper:ingress-auth] | ||
- [istio-pilot:istio-pilot, istio-ingressgateway:istio-pilot] | ||
- [kfp-api, kfp-db] | ||
- [kfp-api:kfp-api, kfp-persistence:kfp-api] | ||
- [kfp-api:kfp-api, kfp-ui:kfp-api] | ||
- [kfp-api:kfp-viz, kfp-viz:kfp-viz] | ||
- [kfp-api:object-storage, minio:object-storage] | ||
- [kfp-profile-controller:object-storage, minio:object-storage] | ||
- [kfp-ui:object-storage, minio:object-storage] | ||
- [kubeflow-profiles, kubeflow-dashboard] | ||
- [mlmd:grpc, envoy:grpc] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
type: bundle |