iter8

command module
v1.1.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 1, 2024 License: Apache-2.0 Imports: 2 Imported by: 0

README ยถ

Iter8: Kubernetes Release Optimizer

Iter8 release GoDoc

Iter8 is the Kubernetes release optimizer built for DevOps, MLOps, SRE and data science teams. Iter8 makes it easy to ensure that Kubernetes apps and ML models perform well and maximize business value.

Iter8 supports the following use-cases:

  1. Progressive release with automated traffic management
  2. A/B/n testing with a client SDK and business metrics
  3. Performance testing for HTTP and gRPC endpoints

Any Kubernetes resource type, including CRDs can be used with Iter8.

๐Ÿš€ Features

Iter8 introduces a set of tasks which can be composed in order to conduct tests.

Iter8 packs a number of powerful features that facilitate Kubernetes application and ML model testing. They include the following:

  1. Use any resource types. Iter8 is easily extensible so that an application being tested can be composed of any resource types including CRDs.
  2. Client SDK. A client SDK enables application frontend components to reliably associate business metrics with the contributing version of the backend thereby enabling A/B/n testing of backends.
  3. Composable test tasks. Performance test tasks include load generation and metrics storage simplifying setup.

Please see https://iter8.tools for the complete documentation.

๐Ÿ Issues

Iter8 issues are tracked here.

๐ŸŽ‰ Contributing

We welcome PRs!

See here for information about ways to contribute, finding an issue, asking for help, pull-request lifecycle, and more.

๐ŸŒบ Credits

Iter8 is primarily written in Go and builds on a few awesome open source projects including:

Documentation ยถ

Overview ยถ

Package main is the entry point for the Iter8 CLI. Iter8 is the Kubernetes release optimizer built for DevOps, MLOps, SRE and data science teams. Iter8 makes it easy to ensure that Kubernetes apps and ML models perform well and maximize business value.

Directories ยถ

Path Synopsis
abn
Package abn contains the implementation of the A/B/n service (via gRPC)
Package abn contains the implementation of the A/B/n service (via gRPC)
Package action contains the logic for each action that Iter8 can perform.
Package action contains the logic for each action that Iter8 can perform.
Package base defines Iter8's experiment, task and metric data structures.
Package base defines Iter8's experiment, task and metric data structures.
internal
Package internal provides gRPC code used for testing load-test-grpc
Package internal provides gRPC code used for testing load-test-grpc
internal/helloworld/helloworld
Package helloworld implements the helloworld grpc service.
Package helloworld implements the helloworld grpc service.
log
Package log enables logging for Iter8.
Package log enables logging for Iter8.
Package cmd defines the Iter8 CLI commands and their flags.
Package cmd defines the Iter8 CLI commands and their flags.
Package controllers provides Iter8 controller for reconciling Iter8 routemap resources
Package controllers provides Iter8 controller for reconciling Iter8 routemap resources
k8sclient
Package k8sclient provides the Kubernetes client for the controllers package
Package k8sclient provides the Kubernetes client for the controllers package
k8sclient/fake
Package fake provides fake Kuberntes clients for testing
Package fake provides fake Kuberntes clients for testing
Package driver enables interaction with experiment resources.
Package driver enables interaction with experiment resources.
Package metrics implements an HTTP service that exposes A/B/n SDK metrics
Package metrics implements an HTTP service that exposes A/B/n SDK metrics
Package storage provides the storage client for the controllers package
Package storage provides the storage client for the controllers package
badgerdb
Package badgerdb implements the storage interface with BadgerDB
Package badgerdb implements the storage interface with BadgerDB
client
Package client implements an implementation independent storage client
Package client implements an implementation independent storage client
redis
Package redis implements the storage interface with Redis
Package redis implements the storage interface with Redis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL