NOTE: This repo contains only the documentation for the private BoltsOps repo code. Original file: https://github.com/boltops-pro/kubes-pro/blob/main/CHANGELOG.md The docs are publish so they are available for interested subscribers. For access to the source code, you can become a BoltOps subscriber. See: https://learn.boltops.com
All notable changes to this project will be documented in this file. This project loosely tries to adhere to Semantic Versioning, even before v1.0.
Highlights:
- kubes helm support
- kubes gitops support
- kubes job support
- kubes release history support: also rollback, preview, diff, logs, show, save
- kubes apply and deploy will prompt with preview now. Can bypass prompt with
kubes apply -y
option orKUBES_YES=1
- kustomize_wrapper as default mode. It's faster and helps with gitops tooling.
- friendly tag for docker image name support. friendly tag state storage: s3 and gcs bucket support
- Sealed Secret support with kubeseal.
- Rename
kubes compile
command tokubes build
. Rename kubes "compile" hook to kubes "build" hook. - support shorthand resource filenames: build and new resource
- Dockerfile.base concept added.
kubes docker base
. State can be stored on filesystem, s3, or gcs - Improved helper support for improved AWS secrets support.
- Empty content in generated YAML resource will result in skipping a resource. Easier way to skip and not create resources with logic.
- Remove support for CLI command filtering for role and resource. IE:
kubes apply web service
. Rarely used feature, tough to remember, and shared resources need to be deploy also. Instead, users can just runkubes build
andkubectl apply -f .kubes/output/web/service.yaml
directly. - Auto-add KUBES_EXTRA to namespace fields when set. You can use
config.namespace.append_extra = false
to disable. - Rename
KUBES_DEFAULT_EXEC
toKUBES_EXEC_SHELL
env var.
More:
- update docs
- default show layering
- always set a value for Kubes.app
- dont prune on preview
- add --role option back to new resource generator
- edge case: auto auth on docker build if needed
- generalized image_tag.format option
- hpa DSL
- kind helper method available in the templates. useful for conditional logic in base/all.yaml
Breaking changes:
- The DSL
namespace
method has been replaced withnamespace_field
. This is because there's a newnamespace
helper method that is commonly useful. - config.repo renamed to config.docker.repo
- config.repo_auto_auth renamed to config.docker.auth = "auto"
- KUBES_IMAGE_TAG env var renamed to KUBES_DOCKER_TAG
- KUBES_DOCKER_REPO_AUTO_AUTH env var renamed to KUBES_DOCKER_AUTH
- #69 improve config map multiple files support
- #68 kubes docker name
- KUBES_IMAGE_TAG env var override ability
- #67 small improvement to show layering: show compiled output path
- #66 show layering improvements: show resource layers also
- only show error if exit_on_fail
- #65 show variables layers support
- improve new secret generator
- #64 extra variable layering
- add extra layering docs
- add Kubes.extra method
- update managed_certificate and ingress apiVersion
- #63 remove kubes meta from yaml
- adjust app layer. keep old layer also for now though
- #62 config map files: add Kubes.app txt layer
- #61 add erb support for config_map_files and generic_secret_data helpers
- bump kubes_aws and kubes_google dependencies
- #60 Config files
- improve gem dependency version specifiers
- allow --version command to run outside project
- #56 New hook generator
- #57 Fix activesupport require
- add nokogiri dependency. looks like aws-sdk removed it and its breaking specs
- hook generator docs
- new hook generator
- #55 make helper methods available in variables files
- #54 fix configMap and secret hash when not first element in Array
- remove init yaml templates, removed duplication
- write full.yaml to .kubes/tmp instead
- #46 call run method to respect config.suffix_hash
- #44 require singleton
- #43 store docker image name in env based folder
- fix kubes help
- #42 load helpers for dsl properly
- fix merge layer
- #41 multiple resources yaml support
- #40 fix version check
- dependencies version bump: kubes_google
- dependencies version bump: kubes_aws and kubes_google
- #39 google secrets fetcher option
- #38 fix auto auth for docker login to registry, docs for secret base64, update dependencies
- #37 Dockerfile for ci and hook updates
- #36 add plugin hooks support
- update gemspec dependency to plugins that provide the secrets helpers
- #35 mix layering support: evaluate DSL so layering can be mixed between YAML and DSL docs: https://kubes.guru/docs/layering/mix/
- custom variables support: docs https://kubes.guru/docs/variables/basic/
- custom helpers support: docs https://kubes.guru/docs/helpers/custom/
- plugins helpers support
- generators: new resource, new helper, new variable
- setup autoloader earlier. removes need for shims
- auth login for gcr also
- fix cli -h when not within Kubes project
- fix deployment generator
- #34 Generators, docker_image helper, check project, also write full.yaml #34
- new generators: docs: https://kubes.guru/docs/generators/
docker_image
helper. deprecatedbuilt_image
.config.image
option support.- check_project: check within a Kubes project
- job dsl
- kubes compile: auto run docker build and push when if needed
- also write .kubes/output/full.yaml
- #33 improve switch context: earlier and only when needed
- #32 custom helpers support
- #31 kubes AWS helpers
- #30 friendly message for rendered erb yaml and dsl errors
- fix backtrace_reject pattern
- #29 fix edge case when user provides hook on option for non-kubectl hooks
- #28 base64 helper
- kubes init: default namespace now includes Kubes.env
- fix kubes deploy: compile it gets called once and output folder kept
- include kubes_google dependency helpers
- #26 features: kubes vs kubectl hooks, prune, etc
- hooks: kubes, kubectl, docker breaking changes.
- hooks now in the .kubes/config/hooks folder.
- hook for kubectl supports
on
option for more control over when to run hook. - generalize hasher
- auto prune hashed resources like ConfigMap and Secret
- kubes prune command for manual running
- support .yml extension also
- renamed exec
--name
to--deployment
option. - add
--pod
option toexec
andlogs
command. - fix md5 hash for multiple types within envFrom
- add skip config option
- #25 small fixes: show pod and fetch items nil
- #24 fix namespace newline and logs for single container
- #23 init namespace option
- #22 logs -c option. fix kubes logs for pods with multiple containers
- #21 add namespace to logs command
- #20 improve sidecar support. kubes exec -c option also
- #19 new commands: exec, logs
- delete preview
- show pods as part of get
- #18 gcloud builder. change to config.builder
- #17 cloudbuild build strategy
- #16 google cloudbuild support & docs: add Dockerfile for kubes as a docker entrypoint
- #15 use kubernetes default deployment strategy instead
- #14 init template updates, dockerfile_port helper
- #13 improve network policy dsl
- Initial release.
- Placeholder