Releases

Highlights of v0.0.8 release

Watch dependent resources for change

The operator will now watch all the dependent resources (DestinationRule, Gateway, VirtualService, Deployment) and reconcile the Session on any change.

This means that even if a third-party tool reconfigures the current state, overwrites it, or pushes new releases, the operator will ensure that the special route is still operational.

All changes in this release

Command line

Bugs

Documentation

New features

Operator

New features

  • feat(operator): watch manipulated resources for reconcile on change (#719), by @aslakknutsen

Bugs

Latest dependencies update

Highlights of v0.0.7 release

Route available in Status

You can use the Route option to define the criteria you want to use for this Session either via Session.Spec.Route or via the --route CLI option. If you don’t, the operator will calculate a route for you using header:x-workspace-route:"session.name".

You can now find the currently used Route reflected in Session.Status.Route.

Improvement to CustomResourceDefintion and ClusterServiceVersion

We’ve added better descriptions and some field-level documentation to the CustomResourceDefintion and the ClusterServiceVersion

All changes in this release

Documentation

New features

Operator

New features

Project infrastructure

New features

Highlights of v0.0.6 release

Available in OperatorHub

Starting with this release you should be able to install istio-workspace in a new way; either via the Openshift Console Operator Hub or https://operatorhub.io/

New contributors

In this release we’ve been so lucky to get a little help from our new friend Humphrey Shotton.

Thank you! :)

All changes in this release

Command line

New features

Operator

New features

Project infrastructure

New features

Bugs

Testing

New features

Latest dependencies update

Highlights of v0.0.5 release

The main focus of this release was to move to the new version of the Operator SDK and be able to leverage the Operator Lifecycle Manager as an installation process. This will allow us to make the project available for easy consumption via the Operator Hub.

Operator All the Things

All changes in this release

Command line

Bugs

Operator

New features

Project infrastructure

New features

Testing

New features

  • chore: moves dev images to rely on maistra-dev repo (#652), by @bartoszmajsak

  • fix(e2e): replace usage of ruby with python to limit dev container size (#640), by @aslakknutsen

Bugs

  • fix(circle): tree hash propagates properly to avoid redundant job runs (#657), by @bartoszmajsak

Latest dependencies update

Highlights of v0.0.4 release

This release has been primarily focused on hardening our test infrastructure and use cases coverage. This obviously resulted in quite a bit of improvements in our infra as well as bug fixes which you can see in the complete changelog below. There are a few notable change though.

Host-based routing

Up until now we provided header-based routing, where you added your custom header (e.g. X-PR-Route: 461) based on which the traffic was routed to the changed services. This feature adds a subdomain host to the gateway and let you access your changed service by using just a URL, so you can easily use your browser to test it.

Get the structural response from the ike create command

For simplicity and automation you might want to get the Session object that was created by the ike create command as part of the response. You can now do that by including the --json argument, and the resulting Session object will be printed to stdout.

ike install-operator is now ike install

We decided to rename installation command for two simple reasons - it’s obviously shorter, but it also better reflects what is happening under the hood. It installs istio-workspace controller, the same way as an operator would do.

All changes in this release

New features

Bug fixes

Latest dependencies update

  • actions/github-script to v3.1 (#575)

  • github.com/go-logr/logr to 0.3.0 (#577)

  • github.com/golang/protobuf to 1.4.3 (#579)

  • github.com/google/go-github to 32.1.0 (#507)

  • github.com/onsi/ginkgo to 1.14.2 (#554)

  • github.com/onsi/gomega to 1.10.4 (#611)

  • github.com/openshift/api to a843dc3 (#456)

  • github.com/operator-framework/operator-sdk to 0.17.1 (#451)

  • github.com/spf13/afero to 1.5.1 (#626)

  • github.com/spf13/cobra to 1.1.1 (#549)

  • github.com/spf13/viper to 1.7.1 (#530)

  • go.uber.org/goleak to 89d54f0 (#524)

  • go.uber.org/zap to 1.16.0 (#584)

  • google.golang.org/grpc to 1.35.0 (#624)

  • gopkg.in/h2non/gock.v1 to 1.0.16 (#578)

  • gopkg.in/yaml.v2 to 2.4.0 (#582)

  • k8s.io/apiextensions-apiserver to 0.20.2 (#621)

  • prometheus/client_golang to 1.8.0 (#580)

  • ubi8/ubi-minimal to 8.3 (#552)

Project infrastructure

Testing

Highlights of v0.0.3 release

This release is mainly focused around improving stability and refactorings, but there is one notable feature worth mentioning.

Resolution of host name for target Resource

As users are completely free to name Target Resource(Deployment or DeploymentConfig), Service and VirtualServices etc, we improved resolution strategy which previously relied on pattern matching.

By resolving Services that could possibly match the Target Resource, we look for all Virtual Services that specify that Service/Host.

Support full local cluster dns names

VirtualServices and DestinationRules can now be defined with both short form or full dns name using the Host field and istio-workspace will still be able to find the connections.

Example: ratings vs ratings.namespace.svc.cluster.local

All changes in this release

New features

Bug fixes

Latest dependencies update

  • build(deps): to 0.14.0 (#356)

  • github.com/google/go-github to 29.0.3 (#364)

  • github.com/onsi/ginkgo to 1.12.0 (#360)

  • github.com/onsi/gomega to 1.9.0 (#362)

  • github.com/operator-framework/operator-sdk to 0.15.2 (#366)

  • github.com/spf13/cobra to 0.0.6 (#369)

  • github.com/spf13/viper to 1.6.2 (#352)

  • go.uber.org/goleak to 75e74d7 (#377)

  • gopkg.in/fsnotify.v1 to 1.4.9 (#384)

Project infrastructure

Testing

Highlights of v0.0.2 release

Below you will find an exhaustive list of all the improvements since last release, but those are the most important changes:

Support for multiple development strategies

In v0.0.1 we only supported preparation of a telepresence session. In this release we’ve expanded this to allow specifying a strategy per Ref in the Session object.

Currently, we support two strategies: telepresence for local development and prepared-image.

The new prepared-image strategy allow you to setup a route for a pre-built image. It is a perfect fit for a CI system.

When using ike cli, the develop command will use the telepresence strategy while create will use the prepared-image strategy. The create command is non blocking compared to develop. The create command comes with a companion command delete to clean up when e.g. PR is merged.

Installing operator locally

Now you also can deploy operator to your local namespace, so where your project lives. This way only your namespace is watched.

Simply invoke ike install -l

To learn more head over to the official docs.

All changes in this release

New features

Bug fixes

Latest dependencies update

  • github.com/coreos/prometheus-operator to 0.30.0 (#114)

  • github.com/go-cmd/cmd to 1.1.0 (#311)

  • github.com/google/go-github to 28.1.1 (#262)

  • github.com/google/shlex to e7afc7f (#316)

  • github.com/onsi/ginkgo to 1.10.3 (#297)

  • github.com/onsi/gomega to 1.7.1 (#299)

  • github.com/operator-framework/operator-sdk to 0.13.0 (#320)

  • github.com/spf13/viper to 1.6.1 (#317)

  • go.uber.org/goleak to 7380c5a (#310)

  • sigs.k8s.io/controller-runtime to 0.3.0 (#287)

  • ubi8/ubi-minimal to 8.1 (#303)

Project infrastructure

Testing

Highlights of v0.0.1 release

Inspired by @bobbytables talk from OSCON 2018 we started hacking on open source tooling realizing the idea of safe development on production. Now, after long weeks in the making, we are extremely happy to announce the first release of istio-workspace project.

With this toolkit, we strive to enable developers to:

Develop their microservices locally, using the tools they love!

Connect to other services in the cluster and test their changes!

All of that without interfering with other developers and users!

All of it based on CNCF open source projects such as Istio and Telepresence.

How does it work?

  • ike develop wraps Telepresence and let you start local development while being connected to the real services in the cluster

    • in addition, it will restart the process when any files have been changed (see --watch flag)

  • istio-workspace operator takes care of configuring routes in Istio so that only you can hit your service under development

To learn more head over to the official docs.