Skip to content

Commit

Permalink
feat: adds bundle definition for kubeflow-lite 1.6
Browse files Browse the repository at this point in the history
  • Loading branch information
DnPlas committed Jul 11, 2022
1 parent c859046 commit a78ceb6
Show file tree
Hide file tree
Showing 3 changed files with 231 additions and 0 deletions.
67 changes: 67 additions & 0 deletions releases/1.6/edge/kubeflow-lite/README.md
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
163 changes: 163 additions & 0 deletions releases/1.6/edge/kubeflow-lite/bundle.yaml
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]
1 change: 1 addition & 0 deletions releases/1.6/edge/kubeflow-lite/charmcraft.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
type: bundle

0 comments on commit a78ceb6

Please sign in to comment.