Releases: Mirantis/blueprint-cli
v1.0.0-rc.1
What's Changed
- Handle helm values as yaml by @nwneisen in #47
- Allow
bctl apply
on existing clusters by @nsteph in #45 - Remove
spec.components.core
by @ranyodh in #49 - Add support for
bctl kubeconfig
command for kind cluster by @sakshisharma84 in #50 - Add
bctl verify
command by @tppolkow in #51 - Added controller+worker k0s role by @byDimasik in #53
New Contributors
Full Changelog: v0.2.0...v1.0.0-rc.1
v0.2.0
What's Changed
- Move packages for reusability by @nwneisen in #42
- Support upgrading
K0s
by @tppolkow in #44 - Support for
FailurePolicy
andTimeout
fields by @tppolkow in #43 - Support for
Kustomize
in Manifest addons by @sakshisharma84 in #46
Support upgrading K0s
Users can now successfully upgrade the k0s
version present in the cluster by upgrading the blueprint and running bctl update
Create cluster & deploy Blueprint with k0s
provider:
kubernetes:
provider: k0s
version: 1.27.4+k0s.0
...
Attempt to upgrade patch version (1.27.4 -> 1.27.5):
kubernetes:
provider: k0s
version: 1.27.5+k0s.0
...
Cluster gets upgraded:
~/Projects/boundless-cli/bin/bctl -f exampleblueprint.yaml update
INF downloading new version of k0s binary
INF validating existing config with new version of k0s binary
INF new provider version validated
INF Updating provider
...
INFO ==> Running phase: Gather k0s facts
INFO [ssh] 54.204.76.190:22: found existing configuration
INFO [ssh] 54.204.76.190:22: is running k0s controller version v1.27.4+k0s.0
WARN [ssh] 54.204.76.190:22: k0s will be upgraded
INFO [ssh] 18.212.137.28:22: is running k0s worker version v1.27.4+k0s.0
WARN [ssh] 18.212.137.28:22: k0s will be upgraded
INFO [ssh] 54.204.76.190:22: checking if worker ip-172-31-16-192 has joined
INFO ==> Running phase: Validate facts
INFO ==> Running phase: Download k0s on hosts
INFO [ssh] 18.212.137.28:22: downloading k0s v1.27.5+k0s.0
INFO [ssh] 54.204.76.190:22: downloading k0s v1.27.5+k0s.0
INFO ==> Running phase: Configure k0s
INFO [ssh] 54.204.76.190:22: validating configuration
INFO ==> Running phase: Upgrade controllers
INFO [ssh] 54.204.76.190:22: starting upgrade
INFO [ssh] 54.204.76.190:22: waiting for the k0s service to start
WARN [ssh] 54.204.76.190:22: skipping scheduler and system pod checks because --no-wait given
INFO ==> Running phase: Upgrade workers
INFO Upgrading max 1 workers in parallel
INFO [ssh] 18.212.137.28:22: starting upgrade
INFO [ssh] 18.212.137.28:22: upgrade successful
Verify nodes have new version:
tpolkowski@tpolkowski-MBP16-1947 k0s-in-aws % kubectl get node
NAME STATUS ROLES AGE VERSION
ip-172-31-16-192 Ready,SchedulingDisabled <none> 5m17s v1.27.5+k0s
Certain
k0s
version upgrades may not work automatically and may require user edits to thek0s
config. In these casesbctl
will prevent the upgrade and inform the user to prevent the cluster from entering a broken state
~/Projects/boundless-cli/bin/bctl -f exampleblueprint.yaml update
INF downloading new version of k0s binary
INF validating existing config with new version of k0s binary
ERR validation of new provider version failed on host 54.204.76.190 : Error: failed to read config: error unmarshaling JSON: while decoding JSON: json: unknown field "tunneledNetworkingMode"
Error: provider failed pre-upgrade validation and may require manual changes: Process exited with status 1
FailurePolicy
and Timeout
fields in Manifest addons
Added new fields in Manifest addon spec that allow for users to specify how and when manifests should be recreated/reapplied.
Example:
- name: calico
kind: manifest
enabled: true
manifest:
url: https://raw.githubusercontent.com/projectcalico/calico/v3.26.3/manifests/calico.yaml
failurePolicy: Retry
timeout: 45s
Support for Kustomize
for Manifest addons
The users can now customize the static resources for URL based Manifest addons. These customization are based on Kustomize.
Following kustomize primitives are currently supported:
Example usage
- name: metallb
kind: manifest
enabled: true
namespace: boundless-system
manifest:
url: "https://raw.githubusercontent.com/metallb/metallb/v0.13.10/config/manifests/metallb-native.yaml"
failurePolicy: None
timeout: 45s
values:
images:
- name: quay.io/metallb/speaker:v0.13.10
newName: quay.io/metallb/speaker
newTag: v0.13.11
- name: quay.io/metallb/controller:v0.13.10
newName: quay.io/metallb/controller
newTag: v0.13.11
patches:
- patch: |-
apiVersion: apps/v1
kind: Deployment
metadata:
name: controller
namespace: metallb-system
spec:
template:
spec:
containers:
- name: controller
livenessProbe:
failureThreshold: 2
Full Changelog: v0.1.3...v0.2.0
v0.1.3
What's Changed
- Remove old demos/examples/samples by @nwneisen in #30
- [BOP-97] Allow localhost to be used for k0s in blueprints by @nwneisen in #31
- Make localhost optional by @nwneisen in #34
- [BOP-103] Create provider interface by @nwneisen in #33
- [BOP-76] Setup validation methods by @nwneisen in #32
- [BOP-217] Make types available in other Go apps by @byDimasik in #35
- Replace json tags with yaml tags in blueprint types by @byDimasik in #36
- [BOP-217] Make provider names externally reusable by @byDimasik in #37
- [BOP-25] Pass kind config to kind create by @nwneisen in #38
- Fix the k0s version validation by @nwneisen in #40
- [BOP-249] Fix the version output by @nwneisen in #41
- [BOP-140] Handle an existing cluster by @nwneisen in #39
New Contributors
- @byDimasik made their first contribution in #35
Full Changelog: v0.1.1...v0.1.3
v0.1.2
v0.1.1
What's Changed
Status command shows high level cluster status
bin/bctl -f blueprint-kind.yaml status
No boundless operator installation detected
Deployment helm-controller Desired: 1, Ready: 1/1, Available: 1/1
-------------------------------------------------------
NAME KIND STATUS
calico manifest Progressing
my-grafana chart Progressing
Status command can also be used to drill on for detailed status of any addon
bin/bctl -f blueprint-kind.yaml status calico
NAME KIND STATUS
calico manifest Available
Status Reason: Manifest Components Available
Detailed Status Message: Manifest Components Available
-------------------------------------------------------
ADDON RESOURCES
Daemonset calico-node Desired: 1, Ready: 1/1, Available: 1/1
Deployment calico-kube-controllers Desired: 1, Ready: 1/1, Available: 1/1
-------------------------------------------------------
BOUNDLESS SYSTEM EVENTS
failed to update manifest object with finalizer boundless-system/calico
Created Manifest boundless-system/calico
Created Manifest Addon default/calico
Full Changelog: v0.1.0...v0.1.1
v0.1.0
What's Changed
- Add support for manifest based add-ons by @sakshisharma84
- Remove
kubectl
dependency for installing boundless operator by @ranyodh - Deprecated flag:
--config
. Use--file
or-f
to specify blueprint file
- Removed flag:
--debug
. Use--log-level=(trace, debug, info, warn, error)
Full Changelog: v0.0.17...v0.1.0
v0.0.17
What's Changed
- [BOP-91] Build for arm mac by @nwneisen in #15
- [BOP-84] Switch everything to the PAT by @nwneisen in #12
- [BOP-44] Read/Write kubeconfig from default locations (explicit file, ENV variable and OS specific default location) by @ranyodh in #14
- Delete dev tag first in CI by @nwneisen in #16
- [BOP-109] add manifest support in CLI by @sakshisharma84 in #17
- Quick-fix: fix kind to chart in bctl init by @sakshisharma84 in #19
- Cleanup docs by @nwneisen in #18
- [BOP-44] Set the kubeconfig current context to the cluster created by bctl by @ranyodh in #20
- Suppress warning from runtime clint regarding logger by @ranyodh in #21
New Contributors
- @sakshisharma84 made their first contribution in #17
Full Changelog: v0.0.16-alpha...v0.0.17
v0.0.16-alpha
What's Changed
- [BOP-49] Add PR CI by @nwneisen in #6
- [BOP-52] Add release CI by @nwneisen in #7
- Fix api version in blueprint file that is generate with init by @ranyodh in #9
- [BOP-50][BOP-74] Add CI during merge by @nwneisen in #8
- Separate the dev and release publish workflows by @nwneisen in #11
Full Changelog: v0.0.15-alpha...v0.0.16-alpha
v0.0.15-alpha
Fix an issue that causes crash when spec.kubernetes
or spec.components.core
are not defined in the blueprint.
v0.0.14-alpha: Merge pull request #2 from Mirantis/fix-specs
BOP-43 Fix blueprint specs