DevOps and Development Tiles
This page documents tiles that provide development workflow automation and operational tooling for NGSS projects.
Development Workflow Automation
skaffold-tile
Provides comprehensive Kubernetes development workflow with Skaffold integration.
- Purpose
-
Manages Skaffold lifecycle for Kubernetes development, deployment, and integration testing with hot reloading capabilities.
- Features
-
-
Skaffold lifecycle management for Kubernetes development
-
Multiple development and integration profiles
-
Integration with JaCoCo for test coverage in containerized environments
-
Hot reloading support with Spring Boot DevTools
-
Integration test orchestration
-
- Key Capabilities
-
-
Development Workflow: Local Kubernetes development with hot reloading
-
Integration Testing: Orchestrates integration tests in Kubernetes environments
-
Coverage Collection: Includes JaCoCo integration test configurations (absorbed from deprecated
jacoco-integration-tests-tile) -
Multi-Profile Support: Different profiles for various development and CI scenarios
-
- Profile Support
-
-
skaffold-dev: Local development with hot reloading
-
skaffold-integration: Integration testing orchestration
-
with-skaffold: Skaffold-enabled builds
-
jenkins: CI/CD integration with Jenkins pipelines
-
- Integration Test Features
-
-
JaCoCo agent configuration for containerized tests
-
Remote coverage data collection from Kubernetes pods
-
Coverage dumping and reporting for services running in containers
-
Spring Boot DevTools integration for development efficiency
-
- Usage
-
-
Essential for modern Kubernetes-based development workflows
-
Recommended for services requiring integration testing in Kubernetes
-
Ideal for teams using Skaffold for local development
-
- Dependencies
-
-
Integrates with container build tiles (
jib-maven-plugin-tile,docker-maven-plugin-tile) -
Works with generated Skaffold configurations from
filegen-tile
-
Process Automation
vv-automation-tile
Automates Vulnerability and Version (V&V) management and documentation.
- Purpose
-
Generates V&V YAML files for vulnerability scanning, version management, and compliance tracking.
- Features
-
-
Automated V&V YAML file generation using
ngss-filegen-maven-plugin -
Vulnerability tracking and documentation
-
Version management automation
-
Integration with NGSS compliance processes
-
- Plugin Configuration
-
-
Uses
ngss-filegen-maven-pluginfor file generation -
Executes during Maven build lifecycle
-
Generates standardized V&V documentation
-
- Generated Artifacts
-
-
V&V YAML files for vulnerability tracking
-
Version management documentation
-
Compliance tracking files
-
Security scanning integration files
-
- Usage
-
-
Required for services that must comply with NGSS security and compliance requirements
-
Essential for vulnerability management processes
-
Integrates with security scanning pipelines
-
- Integration Points
-
-
Works with
filegen-tilefor comprehensive file generation -
Integrates with CI/CD pipelines for automated compliance
-
Supports security scanning workflows
-
Development Workflow Selection Guide
Use skaffold-tile when:
- Developing with Kubernetes locally
- Need integration testing in containerized environments
- Want hot reloading and rapid development cycles
- Require JaCoCo coverage from containerized integration tests
- Working with modern microservice architectures
Use vv-automation-tile when:
- Need automated vulnerability and version tracking
- Must comply with NGSS security requirements
- Want automated compliance documentation
- Integrating with security scanning processes
Modern Development Workflow
The recommended modern NGSS development workflow combines:
Core Development Stack:
- jib-maven-plugin-tile: Efficient container builds
- skaffold-tile: Kubernetes development workflow
- filegen-tile: Automated configuration generation
- backstage-tile: Developer portal integration
Example Configuration:
<tiles>
<tile>gov.va.mobile.tools.maven:jib-maven-plugin-tile:${ngss-tiles.version}</tile>
<tile>gov.va.mobile.tools.maven:skaffold-tile:${ngss-tiles.version}</tile>
<tile>gov.va.mobile.tools.maven:filegen-tile:${ngss-tiles.version}</tile>
<tile>gov.va.mobile.tools.maven:vv-automation-tile:${ngss-tiles.version}</tile>
<tile>gov.va.mobile.tools.maven:backstage-tile:${ngss-tiles.version}</tile>
</tiles>
Development Benefits: - Hot reloading for rapid development - Integrated testing in Kubernetes - Automated configuration generation - Comprehensive coverage collection - Developer portal integration - Security and compliance automation
Migration from Legacy Workflows
From Helm-based workflows:
- Replace helm-tile with skaffold-tile for modern Kubernetes development
- skaffold-tile provides superior development experience with hot reloading
- Integration testing capabilities are maintained and enhanced
From separate JaCoCo integration testing:
- skaffold-tile includes JaCoCo integration test configurations
- No longer need separate jacoco-integration-tests-tile
- Simplified configuration with better Kubernetes integration