Releases: maistra/istio-workspace
v0.5.3
Highlights of v0.5.3 release
In this release, we fixed the major shortcoming of our tool. Till now we always assumed that we are dealing with a single-namespace setup, where both your services and Istio components are defined. This obviously is not always the case, as your gateways can be defined in other namespaces, due to security policies implied on your infrastructure.
Kudos go to Nico Natalie for detailed bug report.
Command line
New features
-
feat: checks if operator exists for server-related cmds (#1081), by @bartoszmajsak
-
chore: introduces hook package to handle shutdowns in one place (#1067), by @bartoszmajsak
Bugs
-
fix: ensures version WARN always shows up (#1079), by @bartoszmajsak
-
fix(execute): shuts down spawned process on INTERRUPT (#1069), by @bartoszmajsak
Documentation
New features
-
docs: re-uses microk8s installation steps from docs (#1123), by @bartoszmajsak
-
docs: minor improvements of dev docs (#1092), by @bartoszmajsak
Operator
New features
- feat: supports Gateway resource defined in another namespace (#1124), by @bartoszmajsak
Testing
New features
-
feat(e2e): enriches error logs on test failure (#1116), by @bartoszmajsak
-
feat(e2e): uses ns defined in YAMLs while deploying resources (#1108), by @bartoszmajsak
Bugs
- fix(tests): extends timeouts in command tests (#1091), by @bartoszmajsak
Latest dependencies update
-
chore(deps): to v1.19 (#1102), by @bartoszmajsak
-
controller-runtime to 0.13.1 (#1112), by @dependabot
-
controller-tools to 0.10.0 (#1104), by @dependabot
-
fsnotify to 1.6.0 (#1114), by @dependabot
-
github.com/onsi/ginkgo/v2 to 2.5.0 (#1120), by @dependabot
-
github.com/onsi/gomega to 1.24.0 (#1113), by @dependabot
-
github.com/shirou/gopsutil/v3 to 3.22.10 (#1119), by @dependabot
-
go.uber.org/zap to 1.23.0 (#1111), by @dependabot
-
golang.org/x/tools to 0.3.0 (#1122), by @dependabot
-
golangci-lint-action to 3.3.0 (#1098), by @dependabot
-
google.golang.org/grpc to 1.50.1 (#1115), by @dependabot
-
k8s.io/* to 0.25.4 (#1117), by @bartoszmajsak
-
k8s.io/client-go to 0.24.4 (#1074), by @dependabot
-
k8s.io/code-generator to 0.24.4 (#1072), by @dependabot
-
k8s.io/klog/v2 to 2.80.1 (#1110), by @dependabot
-
mikefarah/yq/v4 to 4.29.2 (#1109), by @dependabot
-
progressbar/v3 to 3.11.0 (#1105), by @dependabot
-
shirou/gopsutil/v3 to 3.22.9 (#1107), by @dependabot
v0.5.2
Highlights of v0.5.2 release
This small release comes with one bug fix and one tiny improvement which makes developer experience while using ike
CLI more pleasant.
Autocompletion for flags with limited options
For flags which have limited options we have enabled autocompletion showing only the possible values. For example:
$ ike develop --method <TAB>
inject-tcp vpn-tcp
Fixed --watch
default behaviour
We’ve also discovered small, but a bit annoying bug of a --watch
feature.
With the default settings whenever you did something in Git while running ike develop
it was restarting the service under development. That should be behaving correctly now - it only restarts the service when you change the code, not Git internals :)
All changes in this release
Build System Integration
New features
- fix(tekton): improves tekton script by using env vars (#1046), by @bartoszmajsak
Command line
New features
-
feat(flag): enables limited-choice flags (#1055), by @bartoszmajsak
-
chore(tp): moves tp cmd logic to the wrapper (#1048), by @bartoszmajsak
Bugs
- fix(watch): correctly excludes paths starting with
.
(#1062), by @bartoszmajsak
Testing
New features
- chore(e2e): replaces hello-world container with 2MB image (#1043), by @bartoszmajsak
Latest dependencies update
-
github.com/onsi/gomega to 1.20.0 (#1052), by @dependabot
-
github.com/spf13/afero to 1.9.2 (#1053), by @dependabot
-
golang.org/x/tools to 0.1.12 (#1057), by @dependabot
-
google.golang.org/grpc to 1.48.0 (#1041), by @dependabot
-
k8s.io/api to 0.24.3 (#1039), by @dependabot
-
k8s.io/apimachinery to 0.24.3 (#1037), by @dependabot
-
k8s.io/client-go to 0.24.3 (#1040), by @dependabot
-
k8s.io/code-generator to 0.24.3 (#1036), by @dependabot
-
kisielk/errcheck to 1.6.2 (#1063), by @dependabot
-
mikefarah/yq/v4 to 4.27.2 (#1065), by @dependabot
-
prometheus/client_golang to 1.13.0 (#1064), by @dependabot
-
protobuf to 1.28.1 (#1056), by @dependabot
-
schollz/progressbar/v3 to 3.9.0 (#1058), by @dependabot
v0.5.1
Highlights of v0.5.1 release
This minor release brings one important change. From now on you can use ike
on arm64
chips!
While we are figuring out the best way to test ike
on ARM64 chips, this new binary version is shipped as-is. If you face any problems using it, please open an issue right away!
All changes in this release
Operator
Bugs
- fix(operator): pins olm image to be aligned with operator-sdk version (#1030), by @bartoszmajsak
Project infrastructure
New features
- feat(build): adds support for ARM64 chips (#1033), by @bartoszmajsak
Bugs
- fix(operator): pins olm image to be aligned with operator-sdk version (#1030), by @bartoszmajsak
Testing
New features
- chore(circleci): updates olm version (#1026), by @bartoszmajsak
Latest dependencies update
-
k8s.io/klog/v2 to 2.70.1 (#1017), by @dependabot
-
sigs.k8s.io/controller-runtime to 0.12.3 (#1018), by @dependabot
v0.5.0
Highlights of v0.5.0 release
This long postponed release has been cooking for a while, but it’s finally here!
There’s one important change - to have our own, distinct naming we prefixed maistra.io
apiGroup
with workspace.
across the project. So all existing sessions won’t be recognized by this version.
From this version onward we are collecting metrics on internal our calls, so you have an insight to what our controller is doing.
On top of that we optimized network traffic by leveraging PATCH
operations instead of PUT
when manipulating our existing resources.
And to top this announcement off with a screenshot - Session
custom resource is now shown as a wheel icon in Openshift :)
All changes in this release
Build System Integration
New features
- chore: extracts task preparation logic to its own script (#944), by @bartoszmajsak
Command line
Bugs
- fix(tp): handles telepresence version newer than v1 (#962), by @bartoszmajsak
Documentation
New features
-
docs: adds details about privilege containers for OpenShift (#991), by @bartoszmajsak
-
chore(docs): includes section about using minikube for dev (#956), by @bartoszmajsak
Operator
New features
-
feat(client-go): uses PATCH instead of PUT for istio resources (#937), by @bartoszmajsak
-
feat(operator): collect metrics for actions and api calls (#932), by @aslakknutsen
-
feat: adds workspace. prefix to apiGroup (#909), by @bartoszmajsak
-
feat(operator): add podStatus ui wheel to component (#875), by @aslakknutsen
Bugs
- fix(operator): add new groupname to csv config (#920), by @aslakknutsen
Project infrastructure
New features
-
chore(circleci): bumps e2e machine class to large (#1001), by @bartoszmajsak
-
chore(golang): bumps to 1.17.11 (#996), by @bartoszmajsak
-
fix(circleci): upgrades resource class for docker build (#995), by @bartoszmajsak
-
feat(make): enables image builder overwrite (#954), by @bartoszmajsak
-
feat(make): renames docker to container/image (#922), by @bartoszmajsak
-
chore(circleci): bumps golang builds to 1.17 (#884), by @bartoszmajsak
Bugs
-
fix(make): extracts release notes generation to script (#1014), by @bartoszmajsak
-
fix(gh): updates golangci-lint gh action (#990), by @bartoszmajsak
-
fix(scripts): handles unbound variables properly (#947), by @bartoszmajsak
Testing
New features
-
chore(test): makes tmp file system instance-based (#923), by @bartoszmajsak
-
feat(gh-actions): defines catlin tekton task linter job (#900), by @bartoszmajsak
-
test: add tests for validation rules (#876), by @aslakknutsen
Bugs
- fix(operator): runs the same test suite as on hub PR (#933), by @bartoszmajsak
Latest dependencies update
-
actions/checkout to 3 (#976), by @dependabot
-
actions/github-script to 6 (#972), by @dependabot
-
actions/setup-go to 3 (#981), by @dependabot
-
actions/setup-python to 3 (#975), by @dependabot
-
build(deps): to 8.5 (#1012), by @bartoszmajsak
-
build(golang): to to (#908), by @bartoszmajsak
-
controller-runtime to 0.10.2 (#938), by @dependabot
-
controller-tools to 0.9.2 (#1005), by @dependabot
-
deps(golang): to to (#958), by @bartoszmajsak
-
evanphx/json-patch to 5.6.0 (#1002), by @dependabot
-
feat(tests): to v2 (#969), by @bartoszmajsak
-
fsnotify/fsnotify to 1.5.4 (#999), by @dependabot
-
github.com/fsnotify/fsnotify to 1.5.1 (#899), by @dependabot
-
github.com/go-cmd/cmd to 1.4.1 (#1006), by @dependabot
-
github.com/joho/godotenv to 1.4.0 (#926), by @dependabot
-
github.com/mikefarah/yq to 4.13.5 (#949), by @dependabot
-
github.com/mikefarah/yq/v4 to 4.12.2 (#898), by @dependabot
-
github.com/onsi/ginkgo to 1.16.5 (#942), by @dependabot
-
github.com/onsi/ginkgo/v2 to 2.1.4 (#1009), by @dependabot
-
github.com/onsi/gomega to 1.16.0 (#897), by @dependabot
-
github.com/spf13/cobra to 1.5.0 (#1000), by @dependabot
-
github.com/spf13/viper to 1.12.0 (#1008), by @dependabot
-
go.uber.org/goleak to 1.1.12 (#939), by @dependabot
-
go.uber.org/zap to 1.21.0 (#997), by @dependabot
-
golang.org/x/tools to 0.1.11 (#1010), by @dependabot
-
golangci-lint-action to 3.2.0 (#984), by @dependabot
-
google.golang.org/grpc to 1.47.0 (#998), by @dependabot
-
google/go-github to v41.0.0 (#968), by @bartoszmajsak
-
google/protobuf to 1.27.1 (#895), by @dependabot
-
gopkg.in/h2non/gock.v1 to 1.1.2 (#896), by @dependabot
-
istio.io/client-go to 1.11.4 (#945), by @dependabot
-
k8s.io/api to 0.22.2 (#916), by @aslakknutsen
-
k8s.io/code-generator to 0.22.4 (#959), by @dependabot
-
k8s.io/controller-runtime to 0.10.0 (#906), by @dependabot
-
kisielk/errcheck to 1.6.1 (#1011), by [@dependabot...
v0.4.0
Highlights of v0.4.0 release
This release brings significant refactoring of istio-workspace
controller internals. We have rewritten how we validate, locate and manipulate resources involved in the development Session
. That said, it does not affect the users. That’s the aim of refactoring after all ;)
In addition, we expose Conditions
to indicate steps and their progress. Now you are able track the current state of the session via the session.status.state
field. We keep it simple for time being, with tree simple states:
-
processing
which can transition to -
failed
if things go wrong, -
or
succeeded
if all went fine.
On top of that you can look at the state of the individual resources manipulated in the conditions list where the source field references the specific resource.
All changes in this release
Build System Integration
Bugs
- fix(shellcheck): reworks ike-create task (#843), by @bartoszmajsak
Command line
New features
- chore: do not show cmd output when getting tp version (#868), by @bartoszmajsak
Operator
New features
-
feat(operator): add validation chain that blocks on error (#866), by @aslakknutsen
-
feat: adds condition when the source ref is located (#865), by @bartoszmajsak
-
feat(operator): reworks Controller internals to be stateless (#858), by @aslakknutsen
Bugs
- fix: populates the missing Status fields RefNames & Strategies (#867), by @aslakknutsen
Project infrastructure
New features
- feat(circleci): aggregates junit reports for CircleCI (#853), by @bartoszmajsak
Bugs
- fix(make): sets mv with --force flag to avoid prompting (#848), by @bartoszmajsak
Latest dependencies update
-
actions/github-script to v4.0.2 (#821), by @dependabot
-
chore(golint): to and (#842), by @bartoszmajsak
-
feat(operator): to latest (#855), by @bartoszmajsak
v0.3.0
Highlights of v0.3.0 release
The main focus of this release has been to improve error handling and bug fixes.
Mutate Virtual Services connected to a Gateway
We fixed a bug reported by our new friend Jorge Martinez that came into play when
trying to develop
on a service
that is connected to a Gateway. Simply put we handled the cases differently if it was connected
and not. A Connected service was implied to only create a new 'subdomain' handler to support the custom domains, while a non connected one would
support the header matches. Now this is changed so a connected service supports both, allowing you to develop
exposed and internal services.
The Session Name is now validated to follow RFC 1123
The session name is used as part of the sub domains that are created and needs to follow
the DNS naming spec. We now validate that it does before failing later. :)
Changed to use emperror for more detailed errors
With emperror we’ve got the ability to attach contextual metadata to the errors which
should make it easier to figure out what is wrong.
All changes in this release
Build System Integration
New features
- feat(log): introduce emperror for errors with details (#837), by @aslakknutsen
Command line
Bugs
-
fix: wrapped ike command uses full path of the parent cmd (#831), by @bartoszmajsak
-
fix(session): makes sure session name follows RFC 1123 (#835), by @bartoszmajsak
Operator
Bugs
-
fix(operator): mutate both connected and not vs (#838), by @aslakknutsen
-
fix(error): handle no destination rules found error (#828), by @aslakknutsen
Project infrastructure
New features
- chore(gh-actions): pins ubuntu to ubuntu-20.04 (#836), by @bartoszmajsak
Latest dependencies update
-
github.com/mikefarah/yq/v4 to 4.7.1 (#830), by @dependabot
-
github.com/onsi/ginkgo to 1.16.1 (#824), by @dependabot
v0.2.0
Highlights of v0.2.0 release
DestinationRule TrafficPolicy
Starting from this release we will reuse the TrafficPolicy
rules defined for the source version on the cloned version when
setting up a new route.
All changes in this release
Build System Integration
Bugs
- fix(tekton): reworks shell scripts to comply with SC (#817), by @bartoszmajsak
Documentation
New features
- chore(docs): updates release process description (#816), by @bartoszmajsak
Operator
New features
- feat(operator): new destinationrule use the same trafficPolicy (#808), by @aslakknutsen
Bugs
- fix(operator): increase operator resource limits (#814), by @aslakknutsen
Project infrastructure
New features
-
fix: rename Dockerfile to Containerfile (#819), by @aslakknutsen
-
feat(gh-actions): squashes pre-release commits (#813), by @bartoszmajsak
-
feat(gh-actions): infers version from title (#812), by @bartoszmajsak
-
fix(release): add skip-build directive to release commits (#806), by @aslakknutsen
Bugs
-
fix(build): set go_package in protoc to comply with new v (#807), by @aslakknutsen
-
fix(release): add quotes to tekton version in yaml (#805), by @aslakknutsen
Testing
New features
- fix(e2e): fails test if background develop cmd fails (#810), by @bartoszmajsak
Bugs
- fix(makefile): executes OC cli only if needed (#809), by @bartoszmajsak
Latest dependencies update
- github.com/operator-framework/operator-sdk to 1.6.1 (#811), by @aslakknutsen
v0.1.0
Highlights of v0.1.0 release
Specifying the exact resource to be manipulated
If you run commands targeting resources, such as Deployment
, till now you were only able to use Name
. This resulted in a lookup among the resources we currently handle. First we checked if Deployment
of the matching name is available. If not - we looked up for DeploymentConfig
.
With this release you can be exact:
$ ike create --deployment deployment/reviews-v1 --session bartek-icxzt --image docker.io/bmajsak/test:latest --route header:x=y
Better insights from the CLI
When you want to get details about the sessions available in your namespace, the built-in response for kubectl get sessions
is rather brief:
$ kubectl get sessions
NAME AGE
bartek-jcsgl 9s
In this release we reworked it so you can easily see all the relevant information at hand.
$ kubectl get sessions
NAMESPACE NAME REF NAMES STRATEGIES HOSTS ROUTE AGE
test-001 bartek-jcsgl ["reviews-v1"] ["prepared-image"] ["feature-x.ike-demo.io"] header:ike-id=feature-y 9s
Better insights of internal work
We’ve also enhanced the way we track status of our controller work. When you inspect Session
CRD you can now easily see the conditions which describe the actions performed by the controller.
This is also exposed in e.g. OpenShift Console
All changes in this release
Operator
New features
-
feat(operator): creates new destinationrules instead of manipulating (#799), by @aslakknutsen
-
feat(operator): supports kind as part of a ref name (#793), by @bartoszmajsak
-
feat(operator): enhances CLI output for CRD with custom columns (#786), by @bartoszmajsak
-
feat(operator): split action and success state in model (#785), by @bartoszmajsak
Project infrastructure
Bugs
-
fix(lint): enables goerr113 (#792), by @bartoszmajsak
-
fix(infra): run go mod tidy to match dependabot go.sum (#784), by @aslakknutsen
-
fix(tekton): ability to define base branch through env var when opening PR (#778), by @bartoszmajsak
Latest dependencies update
-
github.com/golang/protobuf to 1.5.2 (#789), by @dependabot
-
github.com/onsi/ginkgo to 1.16.0 (#788), by @dependabot
-
golangci/golangci-lint-action to v2.5.2 (#787), by @dependabot
-
google.golang.org/grpc to 1.36.1 (#771), by @dependabot
-
istio.io/client-go to 1.9.2 (#772), by @dependabot
v0.0.10
Highlights of v0.0.10 release
Apart from quite a few dependency updates, the Session
CRD now keeps conditions
which makes it easier to view in e.g. Openshift.
All changes in this release
Operator
New features
-
feat(operator): adds conditions with type, status, reason and msg (#773), by @bartoszmajsak
-
feat(operator): add LastTransitionTime to status (#767), by @bartoszmajsak
-
fix(bundle): make CSV sample more realistic (#762), by @aslakknutsen
Bugs
- fix(operator): set klog to unify loggers (#760), by @aslakknutsen
Project infrastructure
New features
-
feat(circleci): introduces env var to force cache invalidation (#768), by @bartoszmajsak
-
feat(circleci): caches snap deps (#763), by @bartoszmajsak
Testing
New features
- feat(circleci): updates microk8s to 1.19 stream (#764), by @bartoszmajsak
Latest dependencies update
-
github.com/golang/protobuf to 1.5.1 (#750), by @dependabot
-
github.com/mikefarah/yq/v4 to 4.6.3 (#770), by @dependabot
-
github.com/onsi/ginkgo to 1.15.2 (#745), by @dependabot
-
hashicorp/go-multierror to 1.1.1 (#740), by @dependabot
-
k8s.io/apimachinery to 0.20.5 (#756), by @dependabot
-
k8s.io/client-go to 0.20.5 (#754), by @dependabot
-
k8s.io/code-generator to 0.20.5 (#759), by @dependabot
-
k8s.io/klog/v2 to 2.8.0 (#761), by @dependabot
-
prometheus/client_golang to 1.10.0 (#751), by @dependabot
v0.0.9
Highlights of v0.0.9 release
Tekton / Openshift Pipeline Tasks
With this release you can now use istio-workspace
within Tekton to make special routes for
either preview or testing purposes. See Tekton Integration docs for more details.
All changes in this release
Build System Integration
New features
-
feat: tekton task release scripts (#735), by @bartoszmajsak
-
feat: initial move of Tekton tasks (#728), by @bartoszmajsak
Command line
Bugs
- fix: do not ignore errors when outputting in json (#741), by @bartoszmajsak
Documentation
New features
-
chore: rewords project description (#742), by @bartoszmajsak
-
feat(doc): add metadata and desc to Tekton Tasks (#736), by @aslakknutsen
Operator
Bugs
-
fix(operator): avoid reusing version in clone name (#743), by @aslakknutsen
-
fix: do not ignore errors when outputting in json (#741), by @bartoszmajsak
Project infrastructure
New features
- fix(circle): updates executor machine to Ubuntu 20.04 (#734), by @bartoszmajsak
Testing
New features
- feat(tekton): adds e2e tests for Tekton tasks (#738), by @aslakknutsen
Latest dependencies update
-
github.com/kisielk/errcheck to 1.6.0 (#722), by @dependabot
-
github.com/onsi/ginkgo to 1.15.1 (#732), by @dependabot
-
github.com/onsi/gomega to 1.11.0 (#733), by @dependabot
-
golangci/golangci-lint-action to v2.5.1. (#720), by @dependabot
-
google.golang.org/grpc to 1.36.0 (#721), by @dependabot
-
istio.io/client-go to 1.9.1 (#731), by @dependabot