Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • frank/mlflow-kubeserve
1 result
Show changes
Commits on Source (2)
......@@ -23,3 +23,5 @@ testbin/*
*.swp
*.swo
*~
v[0-9.]*.yaml
......@@ -3,7 +3,7 @@
# To re-generate a bundle for another specific version without changing the standard setup, you can:
# - use the VERSION as arg of the bundle target (e.g make bundle VERSION=0.0.2)
# - use environment variables to overwrite this value (e.g export VERSION=0.0.2)
VERSION ?= 0.0.1
VERSION ?= 0.2.0
# CHANNELS define the bundle channels used in the bundle.
# Add a new line here if you would like to change its default config. (E.g CHANNELS = "candidate,fast,stable")
......@@ -29,7 +29,7 @@ BUNDLE_METADATA_OPTS ?= $(BUNDLE_CHANNELS) $(BUNDLE_DEFAULT_CHANNEL)
#
# For example, running 'make bundle-build bundle-push catalog-build catalog-push' will build and push both
# sauerburger.dev/mlflow-kubeserve-bundle:$VERSION and sauerburger.dev/mlflow-kubeserve-catalog:$VERSION.
IMAGE_TAG_BASE ?= sauerburger.dev/mlflow-kubeserve
IMAGE_TAG_BASE ?= sauerburger.com/mlflow-kubeserve
# BUNDLE_IMG defines the image:tag used for the bundle.
# You can use it as an arg. (E.g make bundle-build BUNDLE_IMG=<some-registry>/<project-name-bundle>:<tag>)
......@@ -47,7 +47,7 @@ ifeq ($(USE_IMAGE_DIGESTS), true)
endif
# Image URL to use all building/pushing image targets
IMG ?= controller:latest
IMG ?= gitlab.sauerburger.com:5049/frank/mlflow-kubeserve/operator:$(VERSION)
# ENVTEST_K8S_VERSION refers to the version of kubebuilder assets to be downloaded by envtest binary.
ENVTEST_K8S_VERSION = 1.24.1
......@@ -143,6 +143,11 @@ deploy: manifests kustomize ## Deploy controller to the K8s cluster specified in
cd config/manager && $(KUSTOMIZE) edit set image controller=${IMG}
$(KUSTOMIZE) build config/default | kubectl apply -f -
.PHONY: package
package: manifests kustomize ## Deploy controller to the K8s cluster specified in ~/.kube/config.
cd config/manager && $(KUSTOMIZE) edit set image controller=${IMG}
$(KUSTOMIZE) build config/default > v$(VERSION).yaml
.PHONY: undeploy
undeploy: ## Undeploy controller from the K8s cluster specified in ~/.kube/config. Call with ignore-not-found=true to ignore resource not found errors during deletion.
$(KUSTOMIZE) build config/default | kubectl delete --ignore-not-found=$(ignore-not-found) -f -
......
......@@ -9,13 +9,3 @@ webhook:
leaderElection:
leaderElect: true
resourceName: 0aaa3cca.sauerburger.dev
# leaderElectionReleaseOnCancel defines if the leader should step down volume
# when the Manager ends. This requires the binary to immediately end when the
# Manager is stopped, otherwise, this setting is unsafe. Setting this significantly
# speeds up voluntary leader transitions as the new leader don't have to wait
# LeaseDuration time first.
# In the default scaffold provided, the program ends immediately after
# the manager stops, so would be fine to enable this option. However,
# if you are doing or is intended to do any operation such as perform cleanups
# after the manager stops then its usage might be unsafe.
# leaderElectionReleaseOnCancel: true
......@@ -5,6 +5,12 @@ generatorOptions:
disableNameSuffixHash: true
configMapGenerator:
- name: manager-config
files:
- files:
- controller_manager_config.yaml
name: manager-config
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
images:
- name: controller
newName: gitlab.sauerburger.com:5049/frank/mlflow-kubeserve/operator
newTag: 0.2.0
apiVersion: operators.coreos.com/v1alpha1
kind: ClusterServiceVersion
metadata:
annotations:
alm-examples: '[]'
capabilities: Basic Install
name: mlflow-kubeserve.v0.0.0
namespace: placeholder
spec:
apiservicedefinitions: {}
customresourcedefinitions:
owned:
- description: ModelDeployment is the Schema for the modeldeployments API
displayName: Model Deployment
kind: ModelDeployment
name: modeldeployments.kubeserve.sauerburger.dev
version: v1alpha1
description: Build and serve mlflow models within a Kubernets clsuter
displayName: mlflow-kubeserve
icon:
- base64data: ""
mediatype: ""
install:
spec:
deployments: null
strategy: ""
installModes:
- supported: false
type: OwnNamespace
- supported: false
type: SingleNamespace
- supported: false
type: MultiNamespace
- supported: true
type: AllNamespaces
keywords:
- k8s
- mlflow
- mlops
links:
- name: Mlflow Kubeserve
url: https://mlflow-kubeserve.domain
maintainers:
- email: frank@sauerburger.com
name: Frank Sauerburger
maturity: alpha
provider:
name: Frank Sauerburger
url: https://gitlab.sauerburger.com/frank/mlflow-kubeserve
version: 0.0.0
......@@ -5,6 +5,42 @@ metadata:
creationTimestamp: null
name: manager-role
rules:
- apiGroups:
- apps
resources:
- deployments
verbs:
- create
- delete
- get
- list
- patch
- update
- watch
- apiGroups:
- batch
resources:
- jobs
verbs:
- create
- delete
- get
- list
- patch
- update
- watch
- apiGroups:
- ""
resources:
- persistentvolumeclaims
verbs:
- create
- delete
- get
- list
- patch
- update
- watch
- apiGroups:
- kubeserve.sauerburger.dev
resources:
......
......@@ -43,6 +43,9 @@ type ModelDeploymentReconciler struct {
//+kubebuilder:rbac:groups=kubeserve.sauerburger.dev,resources=modeldeployments,verbs=get;list;watch;create;update;patch;delete
//+kubebuilder:rbac:groups=kubeserve.sauerburger.dev,resources=modeldeployments/status,verbs=get;update;patch
//+kubebuilder:rbac:groups=kubeserve.sauerburger.dev,resources=modeldeployments/finalizers,verbs=update
//+kubebuilder:rbac:groups=apps,resources=deployments,verbs=get;list;watch;create;update;patch;delete
//+kubebuilder:rbac:groups=batch,resources=jobs,verbs=get;list;watch;create;update;patch;delete
//+kubebuilder:rbac:groups=core,resources=persistentvolumeclaims,verbs=get;list;watch;create;update;patch;delete
// Reconcile is part of the main kubernetes reconciliation loop which aims to
// move the current state of the cluster closer to the desired state.
......