DevOps
This guide is for communicating the NGSS-defined processes, practices, and conventions used in developing, building and deploying services to Kubernetes clusters in VA Mobile environments.
Latest News
Buildpacks Integration
ngss-maven-tiles 2.9 has added buildpacks-java-tile for configuring Cloud Native Buildpacks.
Buildpacks automatically create container images from source code without needing a Dockerfile, offering consistent, secure, and language-agnostic builds. Compared to tools like Jib or Docker, they handle dependency detection, layering, and base image management automatically — making builds more reproducible and maintenance simpler.
They also enable the base image to be updated without having to rebuild the application codebase, leading to faster turnaround of base image updates. skaffold.yaml changes are required.
Skaffold and Kustomize Migration
We have finished migrating CKM services to incorporate Kustomize and Skaffold for configuring Kubernetes deployments,
spanning both development and CI/CD utilization. This effectively replaces the collection of custom Maven plugins such
as helm-maven-plugin, ci-file-generator, and their associated custom configuration formats. Moving to a set of well-maintained,
publicly available, and stable tools and standard configuration specification formats will make it easier for developers and DevOps
engineers to define, maintain, and troubleshoot Kubernetes-based applications.
Use of Consul for managing non-sensitive application environment variables is being discontinued in favor of Kubernetes
ConfigMaps generated via Kustomize’s built in configMapGenerator, making it easier to specify deployment environment-specific
values.
Please see the below pages for more details on the changes.