- Minikube updated to 1.13.0 from 1.3.0
- The vagrantfile will now allocate a 100gb disk to grant more space to applications than need to house databases.
- Adds
--github
flag tosv install
for easily installing from a remote:branch for PR review.
- Update Kubernetes version from 1.13.7 to 1.14.10
- Update sv.js to contain new commands
sv switchContext
,sv getContext
andsv listProjects
.
- Update vagrant box version from 201807.12.0 to 201912.14.0
sv logs
no longer requires passing--filter
, it is now implied. So bothsudo sv logs sv-kubernetes-example
andsudo sv logs --filter=sv-kubernetes-example
are valid.sv logs
now supports multi-container pods.sv enterPod
now supports multi-container pods.
- Adds a weekly cron job to run the
docker system prune -f
command which cleans dangling images, containers, volumes and networks. - This cron job runs on Friday's and only affects docker/kubernetes resources that are no longer used (dangling)
- Fixes issue with images on pull requests being tagged incorrectly. Previously all images for pull requests were tagged as
:test
meaning that you could encounter race conditions between multiple pull requests. They now receive a unique name relative to the PR number,:pull-NUM
. If you are using{{ .Values.sv.tag }}
in your chart, then it should pick up the fix without change. {{ .Release.Name }}
should not be used in Docker image tags, instead use{{ .Chart.Name }}
.{{ .Release.Name }}
is still recommended for naming for all kubernetes resources. The{{ .Release.Name}}
changes depending on when the application boots in alias mode, such as for PRs where we support multiple variants of the same app in the same environment, while{{ .Chart.Name }}
stays consistent for the application, so it's appropriate for using in a Docker image tag.- Kubernetes secret template updated to utilize a
{{ .Release.Name }}
variable so that it works appropriately with Pull Requests. Pre-existing secrets should be updated to use the variable and wrap the whole value in""
otherwise you may receive a decryption error.
- Updates sv start to set
.Values.sv.dockerRegistry
to simplify building the docker image references in deployment files. - Adds support for per env
settings.buildOrder
- Options now available in settings.yaml
buildOrder_live
,buildOrder_qa
,buildOrder_dev
,buildOrder_test
- Env specific buildOrders overwrite the global
buildOrder
setting
- Options now available in settings.yaml
- Building of containers will now log a date stamp with when they start and finish to help determine which containers are building slow.
- Adds
sv fixDate
for resyncing the linux clock if it has drifted.
- Adds
sv debug
for assisting in debugging purposes. - Accessing help documentation for a command now requires
sudo sv [command] --help
since not all commands have arguments.
- #17 via Zeke - Adds
sv execPod
to run an arbitrary command on a running container. Updatessv enterPod
so that it uses bash if available and falls back to sh if not.
- The deployment system will now leverage docker layer caching.
- Images tagged for in the GCR used to be tagged with
ENV-VERSION
they are now just being tagged withENV
so an example would begcr.io/sv-shared-231700/sv-deploy-gce:dev
.
- Upgrade Kubernetes from
1.11 -> 1.13.7
- Increase box memory from
2 GB -> 4 GB
- Increase box cpu from
1 cpu -> 2 cpus
- Upgrade minikube version from
v0.30.0 -> v1.3.0
- Upgrade kubectl version from
1.11.0 -> 1.13.7
- Update minikube to use 2 CPUs
- Breaking change to how secrets are managed.
secrets_key
must now be added to the settings.yaml. See the secrets docs for more info.
- Adds ability to pass
--build-arg
tosv start
to pass custom docker build args. sv start
will now automatically pass aSV_ENV=env
build arg to all builds allowing Dockerfile's to have conditional behavior based on the env. Please use this with caution as different builds based on environment, by definition, introduce differnces between environments.
- Adds
sv restartPod
to restart one pod in an application.
- In the test environment we can now run multiple pull requests at the same time by giving them each a unique application name via the
--alias
flag. If you need to know the name of the deployed app you can access thesv.deploymentName
variable in your helm chart.
- Adds support for applications to have dependencies to allow installing/updating an app and all of it's dependencies in one call.
- Added support for
settings.buildOrder
for handling multi-step docker builds. - Added support for
settings.dockerBase
.
- Added
sv script
for executing scripts within your repositories. - Added
sv copyFrom
for copying files out of running containers.
- Adds a mechanic to verify if the sv-kubernetes installation is out of date, ran when executing
sv
commands.
- Updates the
sv install
command to update a checkout if it already exists as well as support switching to the proper remote/branch.
- Adds dnsmasq to sv-kubernetes to improve performance of building docker containers and dns lookups OUTSIDE the kubernetes env.
- Attempts to fix DNS delay issues by utilizing a kube-dns config map to bypass the VirtualBox dns routing which appears to cause delays.
sv-local-proxy
is nowsv-kube-proxy
since it will be utilized in other environments to handle proxying requests and SSL termination.
sv test
now requires the container to havemetadata.annotations.sv-test-command
to declare the test command.
- Changes the way the github authentication works. Previously it was using the token, now it's using the ssh key file to allow submodules to work better.
- Switching from utilizing separate repos for each container and moving to put the container repo within the application folder.
- Deprecated the
settings.yaml
capability, it is no longer required based on moving the repos.
- sv-kubernetes system refactored to built on a Ubuntu box instead of Centos.
- Build scripts re-engineered so that the main
setup.sh
can be executed multiple times to update all necessary pieces. - Build scripts split into sub-scripts to allow them to be executed individually when the time arises.
settings.yaml
file can now be placed in the root of your application helm repo and specify an array of containers. Each container will be cloned down on asv install
, in addition the containers can be auto-build when runningsv start
sv restart
removed and replace with--build
.sv start app env --build
will now build all containers specified in thesettings.yaml
file.