All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and is generated by Changie.## October 19, 2022
- upgrade go to 1.17
- Upgrade opslevel-go to v2022.7.15
- update to go 1.18
- Add command
collect
to send k8s payloads to custom even checks - update opslevel-go to v2022.8.25
- BREAKING CHANGE:
--api-url
no longer needs/graphql
on the end - this keeps this field in sync with our other tools. A full example of usage is--api-url=https://self-hosted.prod.example.com
- Fix sample config to show how tools entries can set environment
docker pull public.ecr.aws/opslevel/kubectl-opslevel:v2022.10.19
- Updating version command output format
[v2022.02.25]: https://github.com/OpsLevel/kubectl-opslevel/compare/v2022.02.08...v2022.02.25## [v2022.02.08] - 2022-02-08
- remove ldflags override from goreleaser.yml to fix output of version command
[v2022.02.08]: https://github.com/OpsLevel/kubectl-opslevel/compare/v2022.01.27...v2022.02.08## [v2022.01.27] - 2022-01-27
- set opslevel client timeout to 40s and allow configuration via OPSLEVEL_API_TIMEOUT or corresponding cli flag
- If all tags in a service tag assign API already exist on the service then skip sending an API request
- remove duplicate values from the tag assigns array before sending to the API to reduce memory pressure
- fix a bug where API failures during service lookup causes new service creation
[v2022.01.27]: https://github.com/OpsLevel/kubectl-opslevel/compare/v2022.01.19...v2022.01.27## [v2022.01.19] - 2022-01-19
Switch to CalVer
- Do not send a ServiceUpdate mutation if nothing changed about the data
[v2022.01.19]: https://github.com/OpsLevel/kubectl-opslevel/compare/v0.6.6...v2022.01.19## [v0.6.6] - 2021-12-17
- add curl back to pickup certificates
[v0.6.6]: https://github.com/OpsLevel/kubectl-opslevel/compare/v0.6.5...v0.6.6## [v0.6.5] - 2021-12-17
- upgrade jq to 1.6
[v0.6.5]: https://github.com/OpsLevel/kubectl-opslevel/compare/v0.6.4...v0.6.5## [v0.6.4] - 2021-12-14
- add ability to restrict
service preview
to json output to pipe to jq for debugging - add log statements when unable to find Tier, Lifecycle or Team by alias
- upgrade opslevel-go to 0.4.2
- use new opslevel-go cache by alias and remove similar code from this library
[v0.6.4]: https://github.com/OpsLevel/kubectl-opslevel/compare/v0.6.3...v0.6.4## [v0.6.3] - 2021-10-31
- fix issue with reconciling services that would create duplicate services during
service reconcile
with latest k8s version
[v0.6.3]: https://github.com/OpsLevel/kubectl-opslevel/compare/v0.6.2...v0.6.3## [v0.6.2] - 2021-10-31
- only subscribe to the OnUpdate of the Informer so we don't run into parallel processing issues with
service reconcile
[v0.6.2]: https://github.com/OpsLevel/kubectl-opslevel/compare/v0.6.1...v0.6.2## [v0.6.1] - 2021-10-26
- skipover duplicate keys in tags.assign when merging service data due to overlapping aliases
[v0.6.1]: https://github.com/OpsLevel/kubectl-opslevel/compare/v0.6.0...v0.6.1## v0.5.1 - 2021-10-04
- 0.5.0 docker image didn't run after refactor
v0.5.0 - 2021-10-04
- fix docker image build to have latest jq binary installed
- fix documentation of workers environment variable
- update layout of readme based on enduser feedback
- upgrade opslevel-go to 0.4.0 and set new graphql custom user agent
- remove functionality of
account
commands and direct user to our official CLI
v0.4.9 - 2021-09-29
- bubble up JQ errors are warning logs to help diagnose problems
- tag mutations for a service were being run in parallel but should have been serial
- Deprecated selector "labels" but used incorrect spelling of labels in the json tags
- improve client side service deduplication which prevents a class of bugs with parallel API calls - also makes
service preview
output more representative of actual results
- only include auto alias
k8s:<name>-<namespace>
if no alias results were found
v0.4.8 - 2021-09-20
- skip over aliases that are empty strings as they are not valid to register
v0.4.7 - 2021-09-09
- improve readme and add a troubleshooting section
- add ability to specify a list of namespaces so the tool does not need permissions to list namespaces
- add ability to override OpsLevel API URL
- adds support for reading api tokens from the filesystem using the argument
--api-token-path
- convert prefered environment variable prefix from
OL_
toOPSLEVEL_
but still support old prefix
v0.4.6 - 2021-08-08
- JSON-Schema has incorrect case on fields because of missing JSON struct tags
- improve performance of
service import
by using goroutines for all followon API calls (assign tags, assign tools, etc) after service create/update - improve performance of
service import
by switching TagAssign to use the batch call rather then 1 by 1 - improve
service import
performance by applying concurrency to processing service data into API calls
v0.4.5 - 2021-08-01
v0.4.5-rc.1 - 2021-08-01
- bubble up k8s client errors
- add command to generate shell completion scripts for [bash|zsh|fish|powershell]
- add command
config schema
for generating the jsonschema for the configuration file - allow specifying a sample count on
service preview
to limit the amount of data returned
- change release process to use goreleaser for docker images too
v0.4.4 - 2021-07-22
- fix index lookup error when a service field is not configured in a selector resulting in a empty lookup array
- fix logic around aggregating services so that multiple import selectors work
v0.4.3 - 2021-07-21
- properly handle jq expressions that return ‘empty’ rather then null now that we batch expression operations
- upgrade jq from 1.4 to 1.6 (#58)
v0.4.2 - 2021-07-14
- simplify install instructions to use homebrew
- switch exclude filters to use JQ multiParser to increase performance on filtering resources
- use new multiParse JQ processing when processing the service fields to increase performance when working with 100’s of resources in Kubernetes
- implement ability to run JQ statements on arrays of resources to speed up processing when retrieving 100’s of resources from Kubernetes
v0.4.1 - 2021-07-10
- switch to goreleaser for publishing
- Revert "Extract Documentation to OpsLevel Website"
- Extract Documentation to OpsLevel Website
v0.4.0 - 2021-06-25
- update readme to use new opslevel AWS ECR alias
- update sample configuration file in readme to reflect config version 1.1.0
- switch demo to asciinema
- move readme documentation to OpsLevel website
- add ability to filter resources based on jq expressions that return truthy
- add config validation messages for new selector excludes format
- add config selector validation to help user upgrade from 1.0.0 -> 1.1.0 with helpful messages
- support targeting ANY k8s resource in the cluster
- bump config version to support query any resource kind in the cluster
v0.3.1-beta.1 - 2021-06-13
- protect against empty alias value
- protect against empty key or value in tag assign and create lists
- remove overlapped keys that exist in parsed
tags.assign
if key name also exists intags.create
- adjust golang binary inside docker container to have same version as when built outside the container
- add install instructions for using docker container
- add ability to reconcile linked service repository display name
- add ability to assign repositories to services
- add kubernetes deploy instructions that link to the helm chart
v0.3.0.beta1 - 2021-05-29
- support all auth methods for kubeconfig by importing the auth package
- load kubeconfig using client-go ConfigLoadingRules to support multi file KUBECONFIG settings
- remove 'include_prereleases' from the release badge
- fix badge link to go.mod
- add a reminder to install the tool first in the quickstart section
- rework the readme to have a better flow for new users
- support tags that are updated and tags that are append only
- Provide a way to exclude a namespace(s) via the selector
- add publishing of docker image to AWS public OpsLevel ECR
- support printing out comments as part of the config sample command to help explain aspects about the configuration file
- support a version field in the configuration file to allow for making backwards incompatible changes
- improve the
service import
output to include an indentation character for better readability - improve the output that surrounds the
service preview
data to better instruct the user what to do next
- switch final docker image to use ubuntu instead of golang
- k8sutils resource type handler functions use []byte to reduce code duplication
- cleanup folder structure to improve docker build caching
- change version command to just print out the version rather then using a log statement
v0.2.0 - 2021-05-22
- flag
—api-token
did not work but the environment variable did
- upgrade to opslevel-go 0.2.0
- add badges to readme
- set MIT license
- added "beta" status callout in readme
- add terminalizer demo file and gif
- add quick description to beginning of readme after badges
- add ability to list aliases for tool categories
account tools
- add a more simple sample configuration using the command with an additional flag
config sample —simple
- enrich output during client validation when 401 unauthorized
- move opslevel client creation to a common function to always validate for an API key
- move HasTool check to opslevel-go and validate existance with environment not url to allow for updating the url of a tool
v0.1.3 - 2021-05-16
- update opslevel-go to 0.1.3
- add quickstart to readme
- remove docker install instructions from the readme
- validate jq is installed and on the path - if not log a message
- add a log statement when finished importing data for a given service
- skip over aliases and tags that already exist on the service
- Simple reconcile of existing service entries
- set a more opinionated aliases configuration with a default
- bump the log statement for skipping a tool down to debug level
- find services via the aliases list rather then using name
- improve error output when unable to cache tiers, lifecycle, teams
- change default log format to be more human readable
- Improve service import log output to explain what steps were success or failed (#6)
- extract opslevel api client library to opslevel-go (#8)
v0.1.2 - 2021-05-08
- Init Changelog
- Update readme TOC
- Write a more robust readme to help with getting started
- Support attaching Lifecycle, Tier and Owner on newly created service entries
- Implement listing Team aliases available in your account
- Implement listing Tier aliases available in your account
- Implement listing Lifecycle aliases available in your account
- Implement Account command for viewing data about your OpsLevel account
- Support creating tags on newly created service entries
- Support creating tools on newly created service entries