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-operator -l
To learn more head over to the official docs.
All changes in this release
New features
-
chore: improves error msg when namespace is not retrievable (#314), by @bartoszmajsak
-
feat: supports global envs for config (#272), by @aslakknutsen
-
feat: adds ability to validate engine Patches (#302), by @bartoszmajsak
-
chore: sets current dir while running telepresence (#296), by @bartoszmajsak
-
chore: removes hardcoded tp version (#293), by @bartoszmajsak
-
feat: aligns telepresence version used by client and cluster (#292), by @bartoszmajsak
-
feat(operator): allow to update the configuration of a ref in a session (#279), by @aslakknutsen
-
feat(cli): support creation and deletion of session without keeping cli alive (#252), by @aslakknutsen
-
feat(scenario): add a demo scenario and gateway host support (#256), by @aslakknutsen
-
feat: logs in plain-text when running as CLI (#253), by @bartoszmajsak
-
feat(cli): prints version hint when outdated (#251), by @bartoszmajsak
-
feat(strategy): support setting up a route for a prepared image (#248), by @aslakknutsen
-
feat: introduces cloning strategies (#235), by @aslakknutsen
-
feat: installs operator locally to selected namespace (#217), by @aslakknutsen
-
feat: adds labels to operator deployment (#216), by @bartoszmajsak
-
feat(dev): deploy operator to single namespace (#215), by @aslakknutsen
-
chore: aligns API group with maistra.io (#209), by @bartoszmajsak
-
feat: adds opencontainers labels to operator image (#211), by @bartoszmajsak
-
feat(template): externalize cloning of target resource (#206), by @aslakknutsen
-
feat(scan): scan for more virtual services to mutate (#200), by @aslakknutsen
-
feat(vs): do a better job at setting up the correct route (#154), by @aslakknutsen
-
feat(api): add API between Locators and Mutation (#98), by @aslakknutsen
-
feat: ike bash and zsh autocomplete (#181), by @bartoszmajsak
-
chore: moves cmd logic to pkg/ (#180), by @bartoszmajsak
Bug fixes
-
fix(cmd): installs operator to current namespace when --local mode used and no ns defined (#312), by @bartoszmajsak
-
fix(operator): mutate route if subset is missing (#308), by @aslakknutsen
-
feat(cli): return non 0 exit code on failure (#276), by @aslakknutsen
-
fix: enables use of IKE_CONFIG env var to pass config file (#275), by @bartoszmajsak
-
fix(cli): add sync flags to create/delete to allow ENV variables (#269), by @aslakknutsen
-
fix: handles error coming from root cmd (#265), by @bartoszmajsak
-
fix(develop): allow to join / leave session (#220), by @aslakknutsen
-
fix(api): apply correct json tag to inline resource (#198), by @aslakknutsen
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
-
fix: tunes options for linters (#266), by @bartoszmajsak
-
chore(circleci): bumps ocp client to 4.1.16 (#264), by @bartoszmajsak
-
chore: introduces lint-prepare target (#258), by @bartoszmajsak
-
chore(deps): locks down prometheus-operator (#249), by @aslakknutsen
-
fix(circleci): aligns golang version between jobs (#195), by @bartoszmajsak
-
chore(linter): disables gofmt (#191), by @bartoszmajsak
-
fix(make): takes first segment of GOPATH for operator-sdk (#194), by @bartoszmajsak
-
chore(make): gopath fix + self-install (#192), by @bartoszmajsak
-
chore(docker): update to rh ubi8 minimal base image (#187), by @aslakknutsen
-
fix(macos): ensures istio-workspace builds on MacOS (#185), by @bartoszmajsak
-
chore(circleci): bumps golang to latest and introduces yaml anchors (#183), by @bartoszmajsak
Testing
-
chore(tests): registers a project into smmr without using jq (#315), by @bartoszmajsak
-
feat(test): test service html ui (#268), by @aslakknutsen
-
chore: enables deployment config e2e tests (#295), by @bartoszmajsak
-
feat: introduces env var handling for tests (#294), by @bartoszmajsak
-
feat: cleans up ServiceMeshMemberRoll spec after test execution (#283), by @bartoszmajsak
-
feat: test infra enhancements (#278), by @bartoszmajsak
-
fix(tests): deletes namespace on failure (#267), by @bartoszmajsak
-
fix(test): proper namespaces in cli completion test (#254), by @bartoszmajsak
-
feat: dumps logs for failing e2e tests (#250), by @bartoszmajsak
-
feat(tests): adjusts e2e tests to be ran against 4.1 clusters (#227), by @bartoszmajsak
-
feat: adds opencontainers labels to test image (#213), by @bartoszmajsak
-
feat: updates project to be used against Maistra 0.12 (#207), by @bartoszmajsak
-
test(e2e): verifies production route (#205), by @bartoszmajsak
-
feat: aligns test scenario image creation variables & Add logging to test service (#199), by @aslakknutsen
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 developwraps 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
--watchflag)
-
-
istio-workspaceoperator 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.