Repository: appvia/kev
Pull request #588 (2021-06-23 15:02:47)

Rename application-generated filenames
Addresses #584. 

Modifies generation of environment override filenames by providing a dedicated infix constant (rather than deriving the infix portion of the generated `docker-compose` filenames from the app manifest name, which is now going to deviate anyway). Specifically, now generates `docker-compose.env.[environment].yaml` instead of `docker-compose.kev.[environment].yaml`.

Also involves changes to:

* All tests and fixtures to use new naming conventions,
* The Wordpress example files, 
* The tutorial files to reflect new filename changes,
* The e2e help Bash script.

Raised as a draft initially as further work is incoming around renaming of `kev.yaml` to... something else, which will also be handled as part of this PR.


Patch:
diff --git a/cmd/kev/cmd/init.go b/cmd/kev/cmd/init.go
index 82b1d39..1176101 100644
--- a/cmd/kev/cmd/init.go
+++ b/cmd/kev/cmd/init.go
@@ -25,7 +25,7 @@ var initLongDesc = `Tracks compose sources & creates deployment environments.
 
 Examples:
 
-  ### Initialise kev.yaml with root docker-compose.yml and override file tracking. Adds a sandbox dev deployment environment.
+  ### Initialise the project with root docker-compose.yml and override file tracking. Adds a sandbox dev deployment environment.
   $ kev init
 
   ### Use an alternate docker-compose.yml file.
diff --git a/docs/cli/kev.md b/docs/cli/kev.md
index 8d872c0..aa642f0 100644
--- a/docs/cli/kev.md
+++ b/docs/cli/kev.md
@@ -22,4 +22,4 @@ Develop Kubernetes apps iteratively using Docker-Compose.
 * [kev render](kev_render.md)	 - Generates application's deployment artefacts according to the specified output format for a given environment (ALL environments by default).
 * [kev version](kev_version.md)	 - Print version information.
 
-###### Auto generated by spf13/cobra on 23-Jun-2021
+###### Auto generated by spf13/cobra on 25-Jun-2021
diff --git a/docs/cli/kev_dev.md b/docs/cli/kev_dev.md
index 89cb48c..b8f3f40 100644
--- a/docs/cli/kev_dev.md
+++ b/docs/cli/kev_dev.md
@@ -56,4 +56,4 @@ kev dev [flags]
 
 * [kev](kev.md)	 - Develop Kubernetes apps iteratively using Docker-Compose.
 
-###### Auto generated by spf13/cobra on 23-Jun-2021
+###### Auto generated by spf13/cobra on 25-Jun-2021
diff --git a/docs/cli/kev_init.md b/docs/cli/kev_init.md
index f88ee7c..c257048 100644
--- a/docs/cli/kev_init.md
+++ b/docs/cli/kev_init.md
@@ -8,7 +8,7 @@ Tracks compose sources & creates deployment environments.
 
 Examples:
 
-  ### Initialise kev.yaml with root docker-compose.yml and override file tracking. Adds a sandbox dev deployment environment.
+  ### Initialise the project with root docker-compose.yml and override file tracking. Adds a sandbox dev deployment environment.
   $ kev init
 
   ### Use an alternate docker-compose.yml file.
@@ -45,4 +45,4 @@ kev init [flags]
 
 * [kev](kev.md)	 - Develop Kubernetes apps iteratively using Docker-Compose.
 
-###### Auto generated by spf13/cobra on 23-Jun-2021
+###### Auto generated by spf13/cobra on 25-Jun-2021
diff --git a/docs/cli/kev_render.md b/docs/cli/kev_render.md
index cef3b84..16247f6 100644
--- a/docs/cli/kev_render.md
+++ b/docs/cli/kev_render.md
@@ -32,4 +32,4 @@ kev render [flags]
 
 * [kev](kev.md)	 - Develop Kubernetes apps iteratively using Docker-Compose.
 
-###### Auto generated by spf13/cobra on 23-Jun-2021
+###### Auto generated by spf13/cobra on 25-Jun-2021
diff --git a/docs/cli/kev_version.md b/docs/cli/kev_version.md
index df0a0d8..9eddf21 100644
--- a/docs/cli/kev_version.md
+++ b/docs/cli/kev_version.md
@@ -16,4 +16,4 @@ kev version [flags]
 
 * [kev](kev.md)	 - Develop Kubernetes apps iteratively using Docker-Compose.
 
-###### Auto generated by spf13/cobra on 23-Jun-2021
+###### Auto generated by spf13/cobra on 25-Jun-2021
diff --git a/docs/misc/reconcile.md b/docs/misc/reconcile.md
index 8640645..bb3e4e8 100644
--- a/docs/misc/reconcile.md
+++ b/docs/misc/reconcile.md
@@ -7,7 +7,7 @@ title: Misc
 
 ## Reconciling project changes
 
-Kev tracks updates made to a project's docker-compose files (files listed in `kev.yaml`).
+Kev tracks updates made to a project's docker-compose files (files listed in `appmeta.yaml`).
 
 Kev will specifically monitor the scenarios listed here. And, then apply strategies to manage those scenarios.
 
diff --git a/docs/tutorials/getting-started-with-kev.md b/docs/tutorials/getting-started-with-kev.md
index 2239d86..2ed6a29 100644
--- a/docs/tutorials/getting-started-with-kev.md
+++ b/docs/tutorials/getting-started-with-kev.md
@@ -108,22 +108,22 @@ Detecting secrets in: docker-compose.yaml
  ✓  None detected in service: wordpress
 
 » Creating deployment environments...
- ✓  Creating the dev sandbox env file: docker-compose.kev.dev.yaml
- ✓  Creating the local env file: docker-compose.kev.local.yaml
- ✓  Creating the stage env file: docker-compose.kev.stage.yaml
+ ✓  Creating the dev sandbox env file: docker-compose.env.dev.yaml
+ ✓  Creating the local env file: docker-compose.env.local.yaml
+ ✓  Creating the stage env file: docker-compose.env.stage.yaml
 
 » Detecting Skaffold settings...
 Skipping - no Skaffold options detected
 
 Project initialised!
-A 'kev.yaml' file was created. Do not edit this file.
+A 'appmeta.yaml' file was created. Do not edit this file.
 It syncs your deployment environments to updates made
 to your compose sources.
 
 And, the following deployment env files have been created:
-    dev: docker-compose.kev.dev.yaml
-  local: docker-compose.kev.local.yaml
-  stage: docker-compose.kev.stage.yaml
+    dev: docker-compose.env.dev.yaml
+  local: docker-compose.env.local.yaml
+  stage: docker-compose.env.stage.yaml
 
 Update these to configure your deployments per related environment.
 
@@ -139,25 +139,26 @@ Kev has now been initialised and configured. It has,
 - Created `dev` (a sandbox used by Kev for continuous development), `local` (useful for testing on our own machine) and `staging` (useful for testing on a remote machine) _Compose environment overrides_.
 
 It has also generated four files:
-- `kev.yaml`, a manifest that describes our _source application definition_ and _Compose environment overrides_.
-- Three `docker-compose.kev.*.yaml` files to represent our _Compose environment overrides_.
+- `appmeta.yaml`, a project metadata file that describes our _source application definition_ and _Compose environment overrides_.
+- Three `docker-compose.env.*.yaml` files to represent our _Compose environment overrides_.
 
-#### Manifest: kev.yaml
+#### Project metadata file
+
+The `appmeta.yaml` metadata file contains references to all required files in the conversion process. Its creation confirms a successful `init`,
 
-The `kev.yaml` manifest file confirms a successful `init`,
 ```yaml
 id: b903b060-9762-4a59-8131-47e129f70256
 compose:
   - docker-compose.yaml
 environments:
-  dev: docker-compose.kev.dev.yaml
-  local: docker-compose.kev.local.yaml
-  stage: docker-compose.kev.stage.yaml
+  dev: docker-compose.env.dev.yaml
+  local: docker-compose.env.local.yaml
+  stage: docker-compose.env.stage.yaml
 ```
 
-#### Compose environment overrides: docker-compose.kev.*.yaml
+#### Compose environment overrides files
 
-The created `dev`, `local` and `stage` _Compose environment overrides_ are currently identical.
+The created `docker-compose.env.dev.yaml` (and `local` and `stage` equivalents)  are generated for each of the `-e` switches we used in the `kev init` command. These _Compose environment overrides_ are currently identical.
 
 The `x-k8s` extension section for each service enables you to control how the app runs on Kubernetes. See the [configuration reference](../reference/config-params.md) to find all the available options and understand how they affect deployments.
 
@@ -205,29 +206,29 @@ Detecting secrets in: docker-compose.yaml
  ✓  None detected in service: wordpress
 
 » Validating compose environment overrides...
-Detecting secrets in: docker-compose.kev.dev.yaml
+Detecting secrets in: docker-compose.env.dev.yaml
  ✓  None detected in service: wordpress
-Detecting secrets in: docker-compose.kev.local.yaml
+Detecting secrets in: docker-compose.env.local.yaml
  ✓  None detected in service: wordpress
-Detecting secrets in: docker-compose.kev.stage.yaml
+Detecting secrets in: docker-compose.env.stage.yaml
  ✓  None detected in service: wordpress
 
 » Detecting project updates...
-dev: docker-compose.kev.dev.yaml
+dev: docker-compose.env.dev.yaml
  ✓  No version update detected
  ✓  No service additions detected
  ✓  No service removals detected
  ✓  No env var removals detected
  ✓  No volume additions detected
  ✓  No volume removals detected
-local: docker-compose.kev.local.yaml
+local: docker-compose.env.local.yaml
  ✓  No version update detected
  ✓  No service additions detected
  ✓  No service removals detected
  ✓  No env var removals detected
  ✓  No volume additions detected
  ✓  No volume removals detected
-stage: docker-compose.kev.stage.yaml
+stage: docker-compose.env.stage.yaml
  ✓  No version update detected
  ✓  No service additions detected
  ✓  No service removals detected
@@ -236,19 +237,19 @@ stage: docker-compose.kev.stage.yaml
  ✓  No volume removals detected
 
 » Rendering manifests, format: kubernetes...
-dev: docker-compose.kev.dev.yaml
+dev: docker-compose.env.dev.yaml
  ✓  Converted service: wordpress
    | rendered Deployment
    | rendered Service
  ✓  Networking
    | rendered NetworkPolicy
-local: docker-compose.kev.local.yaml
+local: docker-compose.env.local.yaml
  ✓  Converted service: wordpress
    | rendered Deployment
    | rendered Service
  ✓  Networking
    | rendered NetworkPolicy
-stage: docker-compose.kev.stage.yaml
+stage: docker-compose.env.stage.yaml
  ✓  Converted service: wordpress
    | rendered Deployment
    | rendered Service
@@ -420,7 +421,7 @@ https://github.com/appvia/kev/blob/master/docs/reference/config-params.md#refere
 ...
 
 » Rendering manifests, format: kubernetes...
-dev: docker-compose.kev.dev.yaml
+dev: docker-compose.env.dev.yaml
  ✓  Converted service: db
    | rendered StatefulSet
    | rendered Service
@@ -429,7 +430,7 @@ dev: docker-compose.kev.dev.yaml
     ...
  ✓  Networking
     ...
-local: docker-compose.kev.local.yaml
+local: docker-compose.env.local.yaml
  ✓  Converted service: db
    | rendered StatefulSet
    | rendered Service
@@ -438,7 +439,7 @@ local: docker-compose.kev.local.yaml
     ...
  ✓  Networking
     ...
-stage: docker-compose.kev.stage.yaml
+stage: docker-compose.env.stage.yaml
  ✓  Converted service: db
    | rendered StatefulSet
    | rendered Service
@@ -536,7 +537,7 @@ As it happens, we have a requirement that our `stage` environment should mirror
 
 In this case, we need to run 5 instances of the `wordpress` service to simulate how the app works in a heavy user traffic setting.
 
-Let's make this happen. We need to edit our `docker-compose.kev.stage.yaml` Compose environment override file.
+Let's make this happen. We need to edit our `docker-compose.env.stage.yaml` Compose environment override file.
 
 We'll change the: `x-k8s.workload.replicas` value from 1 to 5.
 
diff --git a/docs/tutorials/kev-dev-with-skaffold.md b/docs/tutorials/kev-dev-with-skaffold.md
index 9d06e97..06912a0 100644
--- a/docs/tutorials/kev-dev-with-skaffold.md
+++ b/docs/tutorials/kev-dev-with-skaffold.md
@@ -42,11 +42,11 @@ This command prepares your application and bootstraps a new Skaffold config (_sk
 
 #### Retrofit Skaffold support in existing Kev project
 
-If a Kev project has been previously initialised without Skaffold support, the easiest way forward to adopt Skaffold is to remove _kev.yaml_ file and initialize the project again.
+If a Kev project has been previously initialised without Skaffold support, the easiest way forward to adopt Skaffold is to remove _appmeta.yaml_ file and initialize the project again.
 
 **Note:** Be mindful that names of all the environments you want to track must be specified - Kev `init` won't automatically discover existing environment override files!
 
-Alternatively, use `skaffold init` to bootstrap _skaffold.yaml_ and tell Kev about the fact by adding the following line in _kev.yaml_ file:
+Alternatively, use `skaffold init` to bootstrap _skaffold.yaml_ and tell Kev about the fact by adding the following line in _appmeta.yaml_ file:
 
 ```sh
 # Initialize Skaffold in your project
@@ -55,7 +55,7 @@ Alternatively, use `skaffold init` to bootstrap _skaffold.yaml_ and tell Kev abo
 skaffold init
 ```
 
-And then add the following line to the `kev.yaml` file.
+And then add the following line to the `appmeta.yaml` file.
 
 ```yaml
 compose:
diff --git a/docs/tutorials/quickstart-guide.md b/docs/tutorials/quickstart-guide.md
index ba34e8e..8e3c153 100644
--- a/docs/tutorials/quickstart-guide.md
+++ b/docs/tutorials/quickstart-guide.md
@@ -34,10 +34,10 @@ It makes use of,
 Creating the files below in your project directory:
 
 ```sh
-├── docker-compose.kev.dev.yaml         # dev sandbox Compose environment override file
-├── docker-compose.kev.prod.yaml        # prod Compose environment override file
-├── docker-compose.kev.stage.yaml       # stage Compose environment override file
-├── kev.yaml                            # kev project manifest
+├── docker-compose.env.dev.yaml         # dev sandbox Compose environment override file
+├── docker-compose.env.prod.yaml        # prod Compose environment override file
+├── docker-compose.env.stage.yaml       # stage Compose environment override file
+├── appmeta.yaml                        # kev project manifest
 ├── ...
 ```
 
diff --git a/docs/tutorials/simple-nodejs-app-ci-workflow.md b/docs/tutorials/simple-nodejs-app-ci-workflow.md
index 3cf4155..c77e28f 100644
--- a/docs/tutorials/simple-nodejs-app-ci-workflow.md
+++ b/docs/tutorials/simple-nodejs-app-ci-workflow.md
@@ -104,7 +104,7 @@ You will notice the staging environment configuration file has been created:
 > Added environment specific override files:
 ```sh
 ...
-|- docker-compose.kev.staging.yaml      # staging env
+|- docker-compose.env.staging.yaml      # staging env
 ```
 
 Adjust your Kubernetes `staging` application parameters for each of the components as needed. This is done via Compose [extensions](../../docs/reference/config-params.md).
diff --git a/docs/tutorials/simple-nodejs-app-workflow.md b/docs/tutorials/simple-nodejs-app-workflow.md
index 8c267bf..9c3e86b 100644
--- a/docs/tutorials/simple-nodejs-app-workflow.md
+++ b/docs/tutorials/simple-nodejs-app-workflow.md
@@ -23,9 +23,9 @@ You will notice that 3 separate environment specific configuration files have be
 
 > Added environment specific override files:
 ```sh
-|- docker-compose.kev.dev.yaml
-|- docker-compose.kev.staging.yaml
-|- docker-compose.kev.prod.yaml
+|- docker-compose.env.dev.yaml
+|- docker-compose.env.staging.yaml
+|- docker-compose.env.prod.yaml
 ```
 
 (The `dev` configuration is created by default by kev).
diff --git a/examples/wordpress-mysql/README.md b/examples/wordpress-mysql/README.md
index dbcc210..12f5fdb 100644
--- a/examples/wordpress-mysql/README.md
+++ b/examples/wordpress-mysql/README.md
@@ -7,10 +7,10 @@ It also contains all the _Kev_ artefacts required to migrate the app from a Dock
 Project structure:
 ```
 .
-├── docker-compose.kev.dev.yaml
-├── docker-compose.kev.local.yaml
-├── docker-compose.kev.stage.yaml
+├── docker-compose.env.dev.yaml
+├── docker-compose.env.local.yaml
+├── docker-compose.env.stage.yaml
 ├── docker-compose.yaml
-├── kev.yaml
+├── appmeta.yaml
 └── README.md
 ```
diff --git a/examples/wordpress-mysql/appmeta.yaml b/examples/wordpress-mysql/appmeta.yaml
new file mode 100644
index 0000000..fdd9013
--- /dev/null
+++ b/examples/wordpress-mysql/appmeta.yaml
@@ -0,0 +1,7 @@
+id: 98b5e7c9-4a40-4006-bb5e-57e496b183c4
+compose:
+  - docker-compose.yaml
+environments:
+  dev: docker-compose.env.dev.yaml
+  local: docker-compose.env.local.yaml
+  stage: docker-compose.env.stage.yaml
diff --git a/examples/wordpress-mysql/docker-compose.kev.dev.yaml b/examples/wordpress-mysql/docker-compose.env.dev.yaml
similarity index 100%
rename from examples/wordpress-mysql/docker-compose.kev.dev.yaml
rename to examples/wordpress-mysql/docker-compose.env.dev.yaml
diff --git a/examples/wordpress-mysql/docker-compose.kev.local.yaml b/examples/wordpress-mysql/docker-compose.env.local.yaml
similarity index 100%
rename from examples/wordpress-mysql/docker-compose.kev.local.yaml
rename to examples/wordpress-mysql/docker-compose.env.local.yaml
diff --git a/examples/wordpress-mysql/docker-compose.kev.stage.yaml b/examples/wordpress-mysql/docker-compose.env.stage.yaml
similarity index 100%
rename from examples/wordpress-mysql/docker-compose.kev.stage.yaml
rename to examples/wordpress-mysql/docker-compose.env.stage.yaml
diff --git a/examples/wordpress-mysql/kev.yaml b/examples/wordpress-mysql/kev.yaml
deleted file mode 100644
index bfa157c..0000000
--- a/examples/wordpress-mysql/kev.yaml
+++ /dev/null
@@ -1,7 +0,0 @@
-id: 98b5e7c9-4a40-4006-bb5e-57e496b183c4
-compose:
-  - docker-compose.yaml
-environments:
-  dev: docker-compose.kev.dev.yaml
-  local: docker-compose.kev.local.yaml
-  stage: docker-compose.kev.stage.yaml
diff --git a/pkg/kev/kev.go b/pkg/kev/kev.go
index 916e8a0..1b61902 100644
--- a/pkg/kev/kev.go
+++ b/pkg/kev/kev.go
@@ -23,7 +23,7 @@ const (
 
 var (
 	// ManifestFilename is a name of main application manifest file
-	ManifestFilename    = "kev.yaml"
+	ManifestFilename    = "appmeta.yaml"
 	SecretsReferenceUrl = "https://github.com/appvia/kev/blob/master/docs/reference/config-params.md#reference-k8s-secret-key-value"
 )
 
diff --git a/pkg/kev/manifest.go b/pkg/kev/manifest.go
index af84ed4..2d1b698 100644
--- a/pkg/kev/manifest.go
+++ b/pkg/kev/manifest.go
@@ -34,6 +34,10 @@ import (
 	"gopkg.in/yaml.v3"
 )
 
+// Infix component of generated environment override filenames
+// (e.g. results in docker-compose.env.dev.yaml)
+const envOverrideFileInfix = "env"
+
 // NewManifest returns a new Manifest struct.
 func NewManifest(sources *Sources) *Manifest {
 	return &Manifest{
@@ -59,11 +63,6 @@ func LoadManifest(workingDir string) (*Manifest, error) {
 	return m, nil
 }
 
-// GetManifestName returns base manifest file name (without extension)
-func GetManifestName() string {
-	return strings.TrimSuffix(ManifestFilename, filepath.Ext(ManifestFilename))
-}
-
 // WriteTo writes out a manifest to a writer.
 // The Manifest struct implements the io.WriterTo interface.
 func (m *Manifest) WriteTo(w io.Writer) (n int64, err error) {
@@ -143,7 +142,7 @@ func (m *Manifest) MintEnvironments(candidates []string) error {
 	}
 
 	for _, env := range candidates {
-		envFilename := filepath.Join(m.getWorkingDir(), fmt.Sprintf(fileNameTemplate, GetManifestName(), env))
+		envFilename := filepath.Join(m.getWorkingDir(), fmt.Sprintf(fileNameTemplate, envOverrideFileInfix, env))
 		var step kmd.Step
 		if env == SandboxEnv {
 			step = sg.Add(fmt.Sprintf("Creating the %s sandbox env file: %s", SandboxEnv, envFilename))


Test patch:
diff --git a/e2e/helper.bash b/e2e/helper.bash
index 70b95b1..521b468 100644
--- a/e2e/helper.bash
+++ b/e2e/helper.bash
@@ -23,8 +23,8 @@ setup() {
 }
 
 teardown() {
-  [ -f "$BATS_TEST_DIRNAME/kev.yaml" ] && rm -f "$BATS_TEST_DIRNAME/kev.yaml"
-  [ -f "$BATS_TEST_DIRNAME/docker-compose.kev.$E2E_KEV_ENV.yaml" ] && rm -rf "$BATS_TEST_DIRNAME/docker-compose.kev.$E2E_KEV_ENV.yaml"
+  [ -f "$BATS_TEST_DIRNAME/appmeta.yaml" ] && rm -f "$BATS_TEST_DIRNAME/appmeta.yaml"
+  [ -f "$BATS_TEST_DIRNAME/docker-compose.env.$E2E_KEV_ENV.yaml" ] && rm -rf "$BATS_TEST_DIRNAME/docker-compose.env.$E2E_KEV_ENV.yaml"
   [ -d "$TMP/k8s" ] && rm -rf "$TMP/k8s"
   cd -
 }
diff --git a/pkg/kev/init_test.go b/pkg/kev/init_test.go
index 1cac94f..27dfece 100644
--- a/pkg/kev/init_test.go
+++ b/pkg/kev/init_test.go
@@ -60,7 +60,7 @@ var _ = Describe("InitRunner", func() {
 		})
 
 		It("should contain an override environment", func() {
-			filename := filepath.Join(workingDir, "compose.kev.dev.yml")
+			filename := filepath.Join(workingDir, "compose.env.dev.yml")
 			Expect(results).To(ContainElement(kev.WritableResult{WriterTo: env, FilePath: filename}))
 		})
 	})
@@ -83,7 +83,7 @@ var _ = Describe("InitRunner", func() {
 			Expect(buffer.String()).To(ContainSubstring("compose:"))
 			Expect(buffer.String()).To(MatchRegexp(`.*- .*compose.yml`))
 			Expect(buffer.String()).To(ContainSubstring("environments:"))
-			Expect(buffer.String()).To(MatchRegexp(`dev: .*compose.kev.dev.yml`))
+			Expect(buffer.String()).To(MatchRegexp(`dev: .*compose.env.dev.yml`))
 		})
 	})
 
diff --git a/pkg/kev/init_ui_test.go b/pkg/kev/init_ui_test.go
index ad1a492..702f919 100644
--- a/pkg/kev/init_ui_test.go
+++ b/pkg/kev/init_ui_test.go
@@ -105,7 +105,7 @@ var _ = Describe("InitRunner UI", func() {
 			Expect(err).NotTo(HaveOccurred())
 
 			Expect(log.NextHeader()).To(HaveKeyWithValue("Creating deployment environments...", []string{}))
-			Expect(log.NextStep()).To(HaveKeyWithValue("Creating the dev sandbox env file: testdata/init-default/compose-yml/compose.kev.dev.yml", []string{}))
+			Expect(log.NextStep()).To(HaveKeyWithValue("Creating the dev sandbox env file: testdata/init-default/compose-yml/compose.env.dev.yml", []string{}))
 			Expect(log.NextStep()).To(HaveKeyWithValue("Success", []string{}))
 		})
 	})
diff --git a/pkg/kev/kev_reconcile_test.go b/pkg/kev/kev_reconcile_test.go
index 4f00ee2..8ac9ff8 100644
--- a/pkg/kev/kev_reconcile_test.go
+++ b/pkg/kev/kev_reconcile_test.go
@@ -73,7 +73,7 @@ var _ = Describe("Reconcile", func() {
 				workingDir = "testdata/reconcile-override-rollback"
 				source, err = kev.NewComposeProject([]string{workingDir + "/docker-compose.yaml"})
 				Expect(err).NotTo(HaveOccurred())
-				overrideFiles = []string{workingDir + "/docker-compose.kev.dev.yaml"}
+				overrideFiles = []string{workingDir + "/docker-compose.env.dev.yaml"}
 			})
 
 			It("confirms the version pre reconciliation", func() {
@@ -88,7 +88,7 @@ var _ = Describe("Reconcile", func() {
 		Context("for services and volumes", func() {
 			BeforeEach(func() {
 				workingDir = "testdata/reconcile-override-keep"
-				overrideFiles = []string{workingDir + "/docker-compose.kev.dev.yaml"}
+				overrideFiles = []string{workingDir + "/docker-compose.env.dev.yaml"}
 			})
 
 			When("the override service extensions have been updated", func() {
@@ -174,7 +174,7 @@ var _ = Describe("Reconcile", func() {
 		Context("when a compose service has been removed", func() {
 			BeforeEach(func() {
 				workingDir = "testdata/reconcile-service-removal"
-				overrideFiles = []string{workingDir + "/docker-compose.kev.dev.yaml"}
+				overrideFiles = []string{workingDir + "/docker-compose.env.dev.yaml"}
 			})
 
 			It("confirms the number of services pre reconciliation", func() {
@@ -205,7 +205,7 @@ var _ = Describe("Reconcile", func() {
 		Context("when the compose service is edited", func() {
 			BeforeEach(func() {
 				workingDir = "testdata/reconcile-service-edit"
-				overrideFiles = []string{workingDir + "/docker-compose.kev.dev.yaml"}
+				overrideFiles = []string{workingDir + "/docker-compose.env.dev.yaml"}
 			})
 
 			Context("and it changes port mode to host", func() {
@@ -242,8 +242,8 @@ var _ = Describe("Reconcile", func() {
 				BeforeEach(func() {
 					workingDir = "testdata/reconcile-service-basic"
 					overrideFiles = []string{
-						workingDir + "/docker-compose.kev.dev.yaml",
-						workingDir + "/docker-compose.kev.stage.yaml",
+						workingDir + "/docker-compose.env.dev.yaml",
+						workingDir + "/docker-compose.env.stage.yaml",
 					}
 				})
 
@@ -338,8 +338,8 @@ var _ = Describe("Reconcile", func() {
 			BeforeEach(func() {
 				workingDir = "testdata/reconcile-volume-add"
 				overrideFiles = []string{
-					workingDir + "/docker-compose.kev.dev.yaml",
-					workingDir + "/docker-compose.kev.stage.yaml",
+					workingDir + "/docker-compose.env.dev.yaml",
+					workingDir + "/docker-compose.env.stage.yaml",
 				}
 			})
 
@@ -381,7 +381,7 @@ var _ = Describe("Reconcile", func() {
 		Context("when a compose volume has been removed", func() {
 			BeforeEach(func() {
 				workingDir = "testdata/reconcile-volume-removal"
-				overrideFiles = []string{workingDir + "/docker-compose.kev.dev.yaml"}
+				overrideFiles = []string{workingDir + "/docker-compose.env.dev.yaml"}
 			})
 
 			It("confirms the number of volumes pre reconciliation", func() {
@@ -410,7 +410,7 @@ var _ = Describe("Reconcile", func() {
 		Context("when a compose volume has been edited", func() {
 			BeforeEach(func() {
 				workingDir = "testdata/reconcile-volume-edit"
-				overrideFiles = []string{workingDir + "/docker-compose.kev.dev.yaml"}
+				overrideFiles = []string{workingDir + "/docker-compose.env.dev.yaml"}
 			})
 
 			It("confirms the volume name pre reconciliation", func() {
@@ -443,7 +443,7 @@ var _ = Describe("Reconcile", func() {
 		Context("when compose env vars have been removed", func() {
 			BeforeEach(func() {
 				workingDir = "testdata/reconcile-env-var-removal"
-				overrideFiles = []string{workingDir + "/docker-compose.kev.dev.yaml"}
+				overrideFiles = []string{workingDir + "/docker-compose.env.dev.yaml"}
 			})
 
 			It("confirms the env vars pre reconciliation", func() {
@@ -477,7 +477,7 @@ var _ = Describe("Reconcile", func() {
 		Context("when compose env var is overridden in an environment", func() {
 			BeforeEach(func() {
 				workingDir = "testdata/reconcile-env-var-override"
-				overrideFiles = []string{workingDir + "/docker-compose.kev.dev.yaml"}
+				overrideFiles = []string{workingDir + "/docker-compose.env.dev.yaml"}
 			})
 
 			It("confirms the overridden env var pre reconciliation", func() {
@@ -504,7 +504,7 @@ var _ = Describe("Reconcile", func() {
 		Context("when compose or override env var is not assigned a value", func() {
 			BeforeEach(func() {
 				workingDir = "testdata/reconcile-env-var-unassigned"
-				overrideFiles = []string{workingDir + "/docker-compose.kev.dev.yaml"}
+				overrideFiles = []string{workingDir + "/docker-compose.env.dev.yaml"}
 			})
 
 			It("should not error", func() {
@@ -516,7 +516,7 @@ var _ = Describe("Reconcile", func() {
 			Context("liveness tcp", func() {
 				BeforeEach(func() {
 					workingDir = "testdata/reconcile-healthcheck-tcp"
-					overrideFiles = []string{workingDir + "/docker-compose.kev.dev.yaml"}
+					overrideFiles = []string{workingDir + "/docker-compose.env.dev.yaml"}
 				})
 
 				It("should have a valid tcp", func() {
@@ -531,7 +531,7 @@ var _ = Describe("Reconcile", func() {
 			Context("liveness and readiness http", func() {
 				BeforeEach(func() {
 					workingDir = "testdata/reconcile-healthcheck-http"
-					overrideFiles = []string{workingDir + "/docker-compose.kev.dev.yaml"}
+					overrideFiles = []string{workingDir + "/docker-compose.env.dev.yaml"}
 				})
 
 				It("should have a valid http liveness probe", func() {
diff --git a/pkg/kev/kev_test.go b/pkg/kev/kev_test.go
index 4fe8b13..7f9bc48 100644
--- a/pkg/kev/kev_test.go
+++ b/pkg/kev/kev_test.go
@@ -37,7 +37,7 @@ func TestCanLoadAManifest(t *testing.T) {
 		Environments: kev.Environments{
 			&kev.Environment{
 				Name: "dev",
-				File: "testdata/in-cluster-wordpress/docker-compose.kev.dev.yaml",
+				File: "testdata/in-cluster-wordpress/docker-compose.env.dev.yaml",
 			},
 		},
 	}
diff --git a/pkg/kev/render_ui_test.go b/pkg/kev/render_ui_test.go
index 2863c04..01b29dd 100644
--- a/pkg/kev/render_ui_test.go
+++ b/pkg/kev/render_ui_test.go
@@ -81,7 +81,7 @@ var _ = Describe("RenderRunner UI", func() {
 
 			Expect(log.NextHeader()).To(HaveKeyWithValue("Validating compose environment overrides...", []string{}))
 
-			Expect(log.NextOutput()).To(HaveKeyWithValue("Detecting secrets in: testdata/detect-secrets/docker-compose.kev.dev.yaml", []string{}))
+			Expect(log.NextOutput()).To(HaveKeyWithValue("Detecting secrets in: testdata/detect-secrets/docker-compose.env.dev.yaml", []string{}))
 			Expect(log.NextStep()).To(HaveKeyWithValue(`Analysing service: db`, []string{}))
 			Expect(log.NextStep()).To(HaveKeyWithValue("Warning", []string{`[Detected in service:  db]`}))
 
diff --git a/pkg/kev/testdata/detect-secrets/kev.yaml b/pkg/kev/testdata/detect-secrets/appmeta.yaml
similarity index 65%
rename from pkg/kev/testdata/detect-secrets/kev.yaml
rename to pkg/kev/testdata/detect-secrets/appmeta.yaml
index fcda71c..937f74e 100644
--- a/pkg/kev/testdata/detect-secrets/kev.yaml
+++ b/pkg/kev/testdata/detect-secrets/appmeta.yaml
@@ -2,4 +2,4 @@ id: 10b5c35d-8b9a-42af-a16e-ed758a06c231
 compose:
   - testdata/detect-secrets/docker-compose.yaml
 environments:
-  dev: testdata/detect-secrets/docker-compose.kev.dev.yaml
+  dev: testdata/detect-secrets/docker-compose.env.dev.yaml
diff --git a/pkg/kev/testdata/detect-secrets/docker-compose.kev.dev.yaml b/pkg/kev/testdata/detect-secrets/docker-compose.env.dev.yaml
similarity index 100%
rename from pkg/kev/testdata/detect-secrets/docker-compose.kev.dev.yaml
rename to pkg/kev/testdata/detect-secrets/docker-compose.env.dev.yaml
diff --git a/pkg/kev/testdata/in-cluster-wordpress/kev.yaml b/pkg/kev/testdata/in-cluster-wordpress/appmeta.yaml
similarity index 65%
rename from pkg/kev/testdata/in-cluster-wordpress/kev.yaml
rename to pkg/kev/testdata/in-cluster-wordpress/appmeta.yaml
index 5a7dfd2..eaefe8f 100644
--- a/pkg/kev/testdata/in-cluster-wordpress/kev.yaml
+++ b/pkg/kev/testdata/in-cluster-wordpress/appmeta.yaml
@@ -2,4 +2,4 @@ id: 10b5c35d-8b9a-42af-a16e-ed758a06c231
 compose:
   - testdata/in-cluster-wordpress/docker-compose.yaml
 environments:
-  dev: testdata/in-cluster-wordpress/docker-compose.kev.dev.yaml
+  dev: testdata/in-cluster-wordpress/docker-compose.env.dev.yaml
diff --git a/pkg/kev/testdata/in-cluster-wordpress/docker-compose.kev.dev.yaml b/pkg/kev/testdata/in-cluster-wordpress/docker-compose.env.dev.yaml
similarity index 100%
rename from pkg/kev/testdata/in-cluster-wordpress/docker-compose.kev.dev.yaml
rename to pkg/kev/testdata/in-cluster-wordpress/docker-compose.env.dev.yaml
diff --git a/pkg/kev/testdata/merge/kev.yaml b/pkg/kev/testdata/merge/appmeta.yaml
similarity index 67%
rename from pkg/kev/testdata/merge/kev.yaml
rename to pkg/kev/testdata/merge/appmeta.yaml
index b2d483b..c549703 100644
--- a/pkg/kev/testdata/merge/kev.yaml
+++ b/pkg/kev/testdata/merge/appmeta.yaml
@@ -2,4 +2,4 @@ id: 10b5c35d-8b9a-42af-a16e-ed758a06c231
 compose:
   - testdata/merge/docker-compose.yaml
 environments:
-  dev: testdata/merge/docker-compose.kev.dev.yaml
+  dev: testdata/merge/docker-compose.env.dev.yaml
diff --git a/pkg/kev/testdata/merge/docker-compose.kev.dev.yaml b/pkg/kev/testdata/merge/docker-compose.env.dev.yaml
similarity index 100%
rename from pkg/kev/testdata/merge/docker-compose.kev.dev.yaml
rename to pkg/kev/testdata/merge/docker-compose.env.dev.yaml
diff --git a/pkg/kev/testdata/reconcile-env-var-override/kev.yaml b/pkg/kev/testdata/reconcile-env-var-override/appmeta.yaml
similarity index 67%
rename from pkg/kev/testdata/reconcile-env-var-override/kev.yaml
rename to pkg/kev/testdata/reconcile-env-var-override/appmeta.yaml
index 55644ea..a3700f2 100644
--- a/pkg/kev/testdata/reconcile-env-var-override/kev.yaml
+++ b/pkg/kev/testdata/reconcile-env-var-override/appmeta.yaml
@@ -2,4 +2,4 @@ id: 10b5c35d-8b9a-42af-a16e-ed758a06c231
 compose:
   - testdata/reconcile-env-var-override/docker-compose.yaml
 environments:
-  dev: testdata/reconcile-env-var-override/docker-compose.kev.dev.yaml
+  dev: testdata/reconcile-env-var-override/docker-compose.env.dev.yaml
diff --git a/pkg/kev/testdata/reconcile-env-var-override/docker-compose.kev.dev.yaml b/pkg/kev/testdata/reconcile-env-var-override/docker-compose.env.dev.yaml
similarity index 100%
rename from pkg/kev/testdata/reconcile-env-var-override/docker-compose.kev.dev.yaml
rename to pkg/kev/testdata/reconcile-env-var-override/docker-compose.env.dev.yaml
diff --git a/pkg/kev/testdata/reconcile-env-var-removal/kev.yaml b/pkg/kev/testdata/reconcile-env-var-removal/appmeta.yaml
similarity index 66%
rename from pkg/kev/testdata/reconcile-env-var-removal/kev.yaml
rename to pkg/kev/testdata/reconcile-env-var-removal/appmeta.yaml
index e017cc6..31c58fe 100644
--- a/pkg/kev/testdata/reconcile-env-var-removal/kev.yaml
+++ b/pkg/kev/testdata/reconcile-env-var-removal/appmeta.yaml
@@ -2,4 +2,4 @@ id: 10b5c35d-8b9a-42af-a16e-ed758a06c231
 compose:
   - testdata/reconcile-env-var-removal/docker-compose.yaml
 environments:
-  dev: testdata/reconcile-env-var-removal/docker-compose.kev.dev.yaml
+  dev: testdata/reconcile-env-var-removal/docker-compose.env.dev.yaml
diff --git a/pkg/kev/testdata/reconcile-env-var-removal/docker-compose.kev.dev.yaml b/pkg/kev/testdata/reconcile-env-var-removal/docker-compose.env.dev.yaml
similarity index 100%
rename from pkg/kev/testdata/reconcile-env-var-removal/docker-compose.kev.dev.yaml
rename to pkg/kev/testdata/reconcile-env-var-removal/docker-compose.env.dev.yaml
diff --git a/pkg/kev/testdata/reconcile-env-var-unassigned/kev.yaml b/pkg/kev/testdata/reconcile-env-var-unassigned/appmeta.yaml
similarity index 67%
rename from pkg/kev/testdata/reconcile-env-var-unassigned/kev.yaml
rename to pkg/kev/testdata/reconcile-env-var-unassigned/appmeta.yaml
index 974d915..60840aa 100644
--- a/pkg/kev/testdata/reconcile-env-var-unassigned/kev.yaml
+++ b/pkg/kev/testdata/reconcile-env-var-unassigned/appmeta.yaml
@@ -2,4 +2,4 @@ id: 10b5c35d-8b9a-42af-a16e-ed758a06c231
 compose:
   - testdata/reconcile-env-var-unassigned/docker-compose.yaml
 environments:
-  dev: testdata/reconcile-env-var-unassigned/docker-compose.kev.dev.yaml
+  dev: testdata/reconcile-env-var-unassigned/docker-compose.env.dev.yaml
diff --git a/pkg/kev/testdata/reconcile-env-var-unassigned/docker-compose.kev.dev.yaml b/pkg/kev/testdata/reconcile-env-var-unassigned/docker-compose.env.dev.yaml
similarity index 100%
rename from pkg/kev/testdata/reconcile-env-var-unassigned/docker-compose.kev.dev.yaml
rename to pkg/kev/testdata/reconcile-env-var-unassigned/docker-compose.env.dev.yaml
diff --git a/pkg/kev/testdata/reconcile-healthcheck-http/kev.yaml b/pkg/kev/testdata/reconcile-healthcheck-http/appmeta.yaml
similarity index 67%
rename from pkg/kev/testdata/reconcile-healthcheck-http/kev.yaml
rename to pkg/kev/testdata/reconcile-healthcheck-http/appmeta.yaml
index 7ecf759..b44deb9 100644
--- a/pkg/kev/testdata/reconcile-healthcheck-http/kev.yaml
+++ b/pkg/kev/testdata/reconcile-healthcheck-http/appmeta.yaml
@@ -2,4 +2,4 @@ id: 10b5c35d-8b9a-42af-a16e-ed758a06c231
 compose:
   - testdata/reconcile-healthcheck-http/docker-compose.yaml
 environments:
-  dev: testdata/reconcile-healthcheck-http/docker-compose.kev.dev.yaml
+  dev: testdata/reconcile-healthcheck-http/docker-compose.env.dev.yaml
diff --git a/pkg/kev/testdata/reconcile-healthcheck-http/docker-compose.kev.dev.yaml b/pkg/kev/testdata/reconcile-healthcheck-http/docker-compose.env.dev.yaml
similarity index 100%
rename from pkg/kev/testdata/reconcile-healthcheck-http/docker-compose.kev.dev.yaml
rename to pkg/kev/testdata/reconcile-healthcheck-http/docker-compose.env.dev.yaml
diff --git a/pkg/kev/testdata/reconcile-healthcheck-tcp/kev.yaml b/pkg/kev/testdata/reconcile-healthcheck-tcp/appmeta.yaml
similarity index 66%
rename from pkg/kev/testdata/reconcile-healthcheck-tcp/kev.yaml
rename to pkg/kev/testdata/reconcile-healthcheck-tcp/appmeta.yaml
index 9660561..1287307 100644
--- a/pkg/kev/testdata/reconcile-healthcheck-tcp/kev.yaml
+++ b/pkg/kev/testdata/reconcile-healthcheck-tcp/appmeta.yaml
@@ -2,4 +2,4 @@ id: 10b5c35d-8b9a-42af-a16e-ed758a06c231
 compose:
   - testdata/reconcile-healthcheck-tcp/docker-compose.yaml
 environments:
-  dev: testdata/reconcile-healthcheck-tcp/docker-compose.kev.dev.yaml
+  dev: testdata/reconcile-healthcheck-tcp/docker-compose.env.dev.yaml
diff --git a/pkg/kev/testdata/reconcile-healthcheck-tcp/docker-compose.kev.dev.yaml b/pkg/kev/testdata/reconcile-healthcheck-tcp/docker-compose.env.dev.yaml
similarity index 100%
rename from pkg/kev/testdata/reconcile-healthcheck-tcp/docker-compose.kev.dev.yaml
rename to pkg/kev/testdata/reconcile-healthcheck-tcp/docker-compose.env.dev.yaml
diff --git a/pkg/kev/testdata/reconcile-override-keep/kev.yaml b/pkg/kev/testdata/reconcile-override-keep/appmeta.yaml
similarity index 66%
rename from pkg/kev/testdata/reconcile-override-keep/kev.yaml
rename to pkg/kev/testdata/reconcile-override-keep/appmeta.yaml
index 45d305f..1bff2cb 100644
--- a/pkg/kev/testdata/reconcile-override-keep/kev.yaml
+++ b/pkg/kev/testdata/reconcile-override-keep/appmeta.yaml
@@ -2,4 +2,4 @@ id: 10b5c35d-8b9a-42af-a16e-ed758a06c231
 compose:
   - testdata/reconcile-override-keep/docker-compose.yaml
 environments:
-  dev: testdata/reconcile-override-keep/docker-compose.kev.dev.yaml
+  dev: testdata/reconcile-override-keep/docker-compose.env.dev.yaml
diff --git a/pkg/kev/testdata/reconcile-override-keep/docker-compose.kev.dev.yaml b/pkg/kev/testdata/reconcile-override-keep/docker-compose.env.dev.yaml
similarity index 100%
rename from pkg/kev/testdata/reconcile-override-keep/docker-compose.kev.dev.yaml
rename to pkg/kev/testdata/reconcile-override-keep/docker-compose.env.dev.yaml
diff --git a/pkg/kev/testdata/reconcile-override-rollback/kev.yaml b/pkg/kev/testdata/reconcile-override-rollback/appmeta.yaml
similarity index 67%
rename from pkg/kev/testdata/reconcile-override-rollback/kev.yaml
rename to pkg/kev/testdata/reconcile-override-rollback/appmeta.yaml
index 03974ce..d4f45cf 100644
--- a/pkg/kev/testdata/reconcile-override-rollback/kev.yaml
+++ b/pkg/kev/testdata/reconcile-override-rollback/appmeta.yaml
@@ -2,4 +2,4 @@ id: 10b5c35d-8b9a-42af-a16e-ed758a06c231
 compose:
   - testdata/reconcile-override-rollback/docker-compose.yaml
 environments:
-  dev: testdata/reconcile-override-rollback/docker-compose.kev.dev.yaml
+  dev: testdata/reconcile-override-rollback/docker-compose.env.dev.yaml
diff --git a/pkg/kev/testdata/reconcile-override-rollback/docker-compose.kev.dev.yaml b/pkg/kev/testdata/reconcile-override-rollback/docker-compose.env.dev.yaml
similarity index 100%
rename from pkg/kev/testdata/reconcile-override-rollback/docker-compose.kev.dev.yaml
rename to pkg/kev/testdata/reconcile-override-rollback/docker-compose.env.dev.yaml
diff --git a/pkg/kev/testdata/reconcile-service-basic/kev.yaml b/pkg/kev/testdata/reconcile-service-basic/appmeta.yaml
similarity index 50%
rename from pkg/kev/testdata/reconcile-service-basic/kev.yaml
rename to pkg/kev/testdata/reconcile-service-basic/appmeta.yaml
index 45eae51..22cfc9e 100644
--- a/pkg/kev/testdata/reconcile-service-basic/kev.yaml
+++ b/pkg/kev/testdata/reconcile-service-basic/appmeta.yaml
@@ -2,5 +2,5 @@ id: 10b5c35d-8b9a-42af-a16e-ed758a06c231
 compose:
   - testdata/reconcile-service-basic/docker-compose.yaml
 environments:
-  dev: testdata/reconcile-service-basic/docker-compose.kev.dev.yaml
-  stage: testdata/reconcile-service-basic/docker-compose.kev.stage.yaml
+  dev: testdata/reconcile-service-basic/docker-compose.env.dev.yaml
+  stage: testdata/reconcile-service-basic/docker-compose.env.stage.yaml
diff --git a/pkg/kev/testdata/reconcile-service-basic/docker-compose.kev.dev.yaml b/pkg/kev/testdata/reconcile-service-basic/docker-compose.env.dev.yaml
similarity index 100%
rename from pkg/kev/testdata/reconcile-service-basic/docker-compose.kev.dev.yaml
rename to pkg/kev/testdata/reconcile-service-basic/docker-compose.env.dev.yaml
diff --git a/pkg/kev/testdata/reconcile-service-basic/docker-compose.kev.stage.yaml b/pkg/kev/testdata/reconcile-service-basic/docker-compose.env.stage.yaml
similarity index 100%
rename from pkg/kev/testdata/reconcile-service-basic/docker-compose.kev.stage.yaml
rename to pkg/kev/testdata/reconcile-service-basic/docker-compose.env.stage.yaml
diff --git a/pkg/kev/testdata/reconcile-service-deploy/kev.yaml b/pkg/kev/testdata/reconcile-service-deploy/appmeta.yaml
similarity index 66%
rename from pkg/kev/testdata/reconcile-service-deploy/kev.yaml
rename to pkg/kev/testdata/reconcile-service-deploy/appmeta.yaml
index d840cf2..35e08f3 100644
--- a/pkg/kev/testdata/reconcile-service-deploy/kev.yaml
+++ b/pkg/kev/testdata/reconcile-service-deploy/appmeta.yaml
@@ -2,4 +2,4 @@ id: 10b5c35d-8b9a-42af-a16e-ed758a06c231
 compose:
   - testdata/reconcile-service-deploy/docker-compose.yaml
 environments:
-  dev: testdata/reconcile-service-deploy/docker-compose.kev.dev.yaml
+  dev: testdata/reconcile-service-deploy/docker-compose.env.dev.yaml
diff --git a/pkg/kev/testdata/reconcile-service-deploy/docker-compose.kev.dev.yaml b/pkg/kev/testdata/reconcile-service-deploy/docker-compose.env.dev.yaml
similarity index 100%
rename from pkg/kev/testdata/reconcile-service-deploy/docker-compose.kev.dev.yaml
rename to pkg/kev/testdata/reconcile-service-deploy/docker-compose.env.dev.yaml
diff --git a/pkg/kev/testdata/reconcile-service-edit/kev.yaml b/pkg/kev/testdata/reconcile-service-edit/appmeta.yaml
similarity index 65%
rename from pkg/kev/testdata/reconcile-service-edit/kev.yaml
rename to pkg/kev/testdata/reconcile-service-edit/appmeta.yaml
index c9707cf..a5e438e 100644
--- a/pkg/kev/testdata/reconcile-service-edit/kev.yaml
+++ b/pkg/kev/testdata/reconcile-service-edit/appmeta.yaml
@@ -2,4 +2,4 @@ id: 10b5c35d-8b9a-42af-a16e-ed758a06c231
 compose:
   - testdata/reconcile-service-edit/docker-compose.yaml
 environments:
-  dev: testdata/reconcile-service-edit/docker-compose.kev.dev.yaml
+  dev: testdata/reconcile-service-edit/docker-compose.env.dev.yaml
diff --git a/pkg/kev/testdata/reconcile-service-edit/docker-compose.kev.dev.yaml b/pkg/kev/testdata/reconcile-service-edit/docker-compose.env.dev.yaml
similarity index 100%
rename from pkg/kev/testdata/reconcile-service-edit/docker-compose.kev.dev.yaml
rename to pkg/kev/testdata/reconcile-service-edit/docker-compose.env.dev.yaml
diff --git a/pkg/kev/testdata/reconcile-service-healthcheck/kev.yaml b/pkg/kev/testdata/reconcile-service-healthcheck/appmeta.yaml
similarity index 68%
rename from pkg/kev/testdata/reconcile-service-healthcheck/kev.yaml
rename to pkg/kev/testdata/reconcile-service-healthcheck/appmeta.yaml
index 1b77e11..e7430c9 100644
--- a/pkg/kev/testdata/reconcile-service-healthcheck/kev.yaml
+++ b/pkg/kev/testdata/reconcile-service-healthcheck/appmeta.yaml
@@ -2,4 +2,4 @@ id: 10b5c35d-8b9a-42af-a16e-ed758a06c231
 compose:
   - testdata/reconcile-service-healthcheck/docker-compose.yaml
 environments:
-  dev: testdata/reconcile-service-healthcheck/docker-compose.kev.dev.yaml
+  dev: testdata/reconcile-service-healthcheck/docker-compose.env.dev.yaml
diff --git a/pkg/kev/testdata/reconcile-service-healthcheck/docker-compose.kev.dev.yaml b/pkg/kev/testdata/reconcile-service-healthcheck/docker-compose.env.dev.yaml
similarity index 100%
rename from pkg/kev/testdata/reconcile-service-healthcheck/docker-compose.kev.dev.yaml
rename to pkg/kev/testdata/reconcile-service-healthcheck/docker-compose.env.dev.yaml
diff --git a/pkg/kev/testdata/reconcile-service-removal/kev.yaml b/pkg/kev/testdata/reconcile-service-removal/appmeta.yaml
similarity index 66%
rename from pkg/kev/testdata/reconcile-service-removal/kev.yaml
rename to pkg/kev/testdata/reconcile-service-removal/appmeta.yaml
index 676d421..eb1f4d2 100644
--- a/pkg/kev/testdata/reconcile-service-removal/kev.yaml
+++ b/pkg/kev/testdata/reconcile-service-removal/appmeta.yaml
@@ -2,4 +2,4 @@ id: 10b5c35d-8b9a-42af-a16e-ed758a06c231
 compose:
   - testdata/reconcile-service-removal/docker-compose.yaml
 environments:
-  dev: testdata/reconcile-service-removal/docker-compose.kev.dev.yaml
+  dev: testdata/reconcile-service-removal/docker-compose.env.dev.yaml
diff --git a/pkg/kev/testdata/reconcile-service-removal/docker-compose.kev.dev.yaml b/pkg/kev/testdata/reconcile-service-removal/docker-compose.env.dev.yaml
similarity index 100%
rename from pkg/kev/testdata/reconcile-service-removal/docker-compose.kev.dev.yaml
rename to pkg/kev/testdata/reconcile-service-removal/docker-compose.env.dev.yaml
diff --git a/pkg/kev/testdata/reconcile-version/kev.yaml b/pkg/kev/testdata/reconcile-version/appmeta.yaml
similarity index 64%
rename from pkg/kev/testdata/reconcile-version/kev.yaml
rename to pkg/kev/testdata/reconcile-version/appmeta.yaml
index c7f2a7f..0d619e6 100644
--- a/pkg/kev/testdata/reconcile-version/kev.yaml
+++ b/pkg/kev/testdata/reconcile-version/appmeta.yaml
@@ -2,4 +2,4 @@ id: 10b5c35d-8b9a-42af-a16e-ed758a06c231
 compose:
   - testdata/reconcile-version/docker-compose.yaml
 environments:
-  dev: testdata/reconcile-version/docker-compose.kev.dev.yaml
+  dev: testdata/reconcile-version/docker-compose.env.dev.yaml
diff --git a/pkg/kev/testdata/reconcile-version/docker-compose.kev.dev.yaml b/pkg/kev/testdata/reconcile-version/docker-compose.env.dev.yaml
similarity index 100%
rename from pkg/kev/testdata/reconcile-version/docker-compose.kev.dev.yaml
rename to pkg/kev/testdata/reconcile-version/docker-compose.env.dev.yaml
diff --git a/pkg/kev/testdata/reconcile-volume-add/appmeta.yaml b/pkg/kev/testdata/reconcile-volume-add/appmeta.yaml
new file mode 100644
index 0000000..9e6a7f4
--- /dev/null
+++ b/pkg/kev/testdata/reconcile-volume-add/appmeta.yaml
@@ -0,0 +1,6 @@
+id: 10b5c35d-8b9a-42af-a16e-ed758a06c231
+compose:
+  - testdata/reconcile-volume-add/docker-compose.yaml
+environments:
+  dev: testdata/reconcile-volume-add/docker-compose.env.dev.yaml
+  stage: testdata/reconcile-volume-add/docker-compose.env.stage.yaml
diff --git a/pkg/kev/testdata/reconcile-volume-add/docker-compose.kev.dev.yaml b/pkg/kev/testdata/reconcile-volume-add/docker-compose.env.dev.yaml
similarity index 100%
rename from pkg/kev/testdata/reconcile-volume-add/docker-compose.kev.dev.yaml
rename to pkg/kev/testdata/reconcile-volume-add/docker-compose.env.dev.yaml
diff --git a/pkg/kev/testdata/reconcile-volume-add/docker-compose.kev.stage.yaml b/pkg/kev/testdata/reconcile-volume-add/docker-compose.env.stage.yaml
similarity index 100%
rename from pkg/kev/testdata/reconcile-volume-add/docker-compose.kev.stage.yaml
rename to pkg/kev/testdata/reconcile-volume-add/docker-compose.env.stage.yaml
diff --git a/pkg/kev/testdata/reconcile-volume-add/kev.yaml b/pkg/kev/testdata/reconcile-volume-add/kev.yaml
deleted file mode 100644
index e153979..0000000
--- a/pkg/kev/testdata/reconcile-volume-add/kev.yaml
+++ /dev/null
@@ -1,6 +0,0 @@
-id: 10b5c35d-8b9a-42af-a16e-ed758a06c231
-compose:
-  - testdata/reconcile-volume-add/docker-compose.yaml
-environments:
-  dev: testdata/reconcile-volume-add/docker-compose.kev.dev.yaml
-  stage: testdata/reconcile-volume-add/docker-compose.kev.stage.yaml
diff --git a/pkg/kev/testdata/reconcile-volume-edit/kev.yaml b/pkg/kev/testdata/reconcile-volume-edit/appmeta.yaml
similarity index 65%
rename from pkg/kev/testdata/reconcile-volume-edit/kev.yaml
rename to pkg/kev/testdata/reconcile-volume-edit/appmeta.yaml
index 6f87cd9..6f3beb9 100644
--- a/pkg/kev/testdata/reconcile-volume-edit/kev.yaml
+++ b/pkg/kev/testdata/reconcile-volume-edit/appmeta.yaml
@@ -2,4 +2,4 @@ id: 10b5c35d-8b9a-42af-a16e-ed758a06c231
 compose:
   - testdata/reconcile-volume-edit/docker-compose.yaml
 environments:
-    dev: testdata/reconcile-volume-edit/docker-compose.kev.dev.yaml
+    dev: testdata/reconcile-volume-edit/docker-compose.env.dev.yaml
diff --git a/pkg/kev/testdata/reconcile-volume-edit/docker-compose.kev.dev.yaml b/pkg/kev/testdata/reconcile-volume-edit/docker-compose.env.dev.yaml
similarity index 100%
rename from pkg/kev/testdata/reconcile-volume-edit/docker-compose.kev.dev.yaml
rename to pkg/kev/testdata/reconcile-volume-edit/docker-compose.env.dev.yaml
diff --git a/pkg/kev/testdata/reconcile-volume-removal/kev.yaml b/pkg/kev/testdata/reconcile-volume-removal/appmeta.yaml
similarity index 66%
rename from pkg/kev/testdata/reconcile-volume-removal/kev.yaml
rename to pkg/kev/testdata/reconcile-volume-removal/appmeta.yaml
index b836d29..e041a7f 100644
--- a/pkg/kev/testdata/reconcile-volume-removal/kev.yaml
+++ b/pkg/kev/testdata/reconcile-volume-removal/appmeta.yaml
@@ -2,4 +2,4 @@ id: 10b5c35d-8b9a-42af-a16e-ed758a06c231
 compose:
   - testdata/reconcile-volume-removal/docker-compose.yaml
 environments:
-  dev: testdata/reconcile-volume-removal/docker-compose.kev.dev.yaml
+  dev: testdata/reconcile-volume-removal/docker-compose.env.dev.yaml
diff --git a/pkg/kev/testdata/reconcile-volume-removal/docker-compose.kev.dev.yaml b/pkg/kev/testdata/reconcile-volume-removal/docker-compose.env.dev.yaml
similarity index 100%
rename from pkg/kev/testdata/reconcile-volume-removal/docker-compose.kev.dev.yaml
rename to pkg/kev/testdata/reconcile-volume-removal/docker-compose.env.dev.yaml
diff --git a/pkg/kev/testdata/validation/kev.yaml b/pkg/kev/testdata/validation/appmeta.yaml
similarity index 66%
rename from pkg/kev/testdata/validation/kev.yaml
rename to pkg/kev/testdata/validation/appmeta.yaml
index 2fd3221..870e157 100644
--- a/pkg/kev/testdata/validation/kev.yaml
+++ b/pkg/kev/testdata/validation/appmeta.yaml
@@ -2,4 +2,4 @@ id: 10b5c35d-8b9a-42af-a16e-ed758a06c231
 compose:
   - testdata/validation/docker-compose.yaml
 environments:
-  dev: testdata/validation/docker-compose.kev.dev.yaml
+  dev: testdata/validation/docker-compose.env.dev.yaml