Skip to content
Snippets Groups Projects
Commit f95863fc authored by Jessica Yuen's avatar Jessica Yuen
Browse files

Add .metadata folder to env dir structure

This change simply hides the environment metadata details that we do not
want users directly modifying into a .metadata folder.
parent 2169ce8b
No related branches found
No related tags found
No related merge requests found
......@@ -30,7 +30,8 @@ import (
)
const (
defaultEnvName = "default"
defaultEnvName = "default"
metadataDirName = ".metadata"
schemaFilename = "swagger.json"
extensionsLibFilename = "k.libsonnet"
......@@ -87,11 +88,17 @@ func (m *manager) createEnvironment(name, uri string, extensionsLibData, k8sLibD
return err
}
metadataPath := appendToAbsPath(envPath, metadataDirName)
err = m.appFS.MkdirAll(string(metadataPath), defaultFolderPermissions)
if err != nil {
return err
}
log.Infof("Generating environment metadata at path '%s'", envPath)
// Generate the schema file.
log.Debugf("Generating '%s', length: %d", schemaFilename, len(specData))
schemaPath := appendToAbsPath(envPath, schemaFilename)
schemaPath := appendToAbsPath(metadataPath, schemaFilename)
err = afero.WriteFile(m.appFS, string(schemaPath), specData, defaultFilePermissions)
if err != nil {
log.Debugf("Failed to write '%s'", schemaFilename)
......@@ -99,7 +106,7 @@ func (m *manager) createEnvironment(name, uri string, extensionsLibData, k8sLibD
}
log.Debugf("Generating '%s', length: %d", k8sLibFilename, len(k8sLibData))
k8sLibPath := appendToAbsPath(envPath, k8sLibFilename)
k8sLibPath := appendToAbsPath(metadataPath, k8sLibFilename)
err = afero.WriteFile(m.appFS, string(k8sLibPath), k8sLibData, defaultFilePermissions)
if err != nil {
log.Debugf("Failed to write '%s'", k8sLibFilename)
......@@ -107,7 +114,7 @@ func (m *manager) createEnvironment(name, uri string, extensionsLibData, k8sLibD
}
log.Debugf("Generating '%s', length: %d", extensionsLibFilename, len(extensionsLibData))
extensionsLibPath := appendToAbsPath(envPath, extensionsLibFilename)
extensionsLibPath := appendToAbsPath(metadataPath, extensionsLibFilename)
err = afero.WriteFile(m.appFS, string(extensionsLibPath), extensionsLibData, defaultFilePermissions)
if err != nil {
log.Debugf("Failed to write '%s'", extensionsLibFilename)
......
......@@ -170,7 +170,7 @@ func (m *manager) CreateComponent(name string, text string, templateType prototy
}
func (m *manager) LibPaths(envName string) (libPath, envLibPath AbsPath) {
return m.libPath, appendToAbsPath(m.environmentsPath, envName)
return m.libPath, appendToAbsPath(m.environmentsPath, envName, metadataDirName)
}
func (m *manager) createAppDirTree() error {
......
......@@ -84,8 +84,10 @@ func TestInitSuccess(t *testing.T) {
}
}
envPath := appendToAbsPath(appPath, string(defaultEnvDir))
schemaPath := appendToAbsPath(envPath, schemaFilename)
envPath := appendToAbsPath(appPath, string(environmentsDir))
metadataPath := appendToAbsPath(appPath, string(defaultEnvDir), string(metadataDirName))
schemaPath := appendToAbsPath(metadataPath, schemaFilename)
bytes, err := afero.ReadFile(testFS, string(schemaPath))
if err != nil {
t.Fatalf("Failed to read swagger file at '%s':\n%v", schemaPath, err)
......@@ -93,7 +95,7 @@ func TestInitSuccess(t *testing.T) {
t.Fatalf("Expected swagger file at '%s' to have value: '%s', got: '%s'", schemaPath, blankSwaggerData, actualSwagger)
}
k8sLibPath := appendToAbsPath(envPath, k8sLibFilename)
k8sLibPath := appendToAbsPath(metadataPath, k8sLibFilename)
k8sLibBytes, err := afero.ReadFile(testFS, string(k8sLibPath))
if err != nil {
t.Fatalf("Failed to read ksonnet-lib file at '%s':\n%v", k8sLibPath, err)
......@@ -101,7 +103,7 @@ func TestInitSuccess(t *testing.T) {
t.Fatalf("Expected swagger file at '%s' to have value: '%s', got: '%s'", k8sLibPath, blankK8sLib, actualK8sLib)
}
extensionsLibPath := appendToAbsPath(envPath, extensionsLibFilename)
extensionsLibPath := appendToAbsPath(metadataPath, extensionsLibFilename)
extensionsLibBytes, err := afero.ReadFile(testFS, string(extensionsLibPath))
if err != nil {
t.Fatalf("Failed to read ksonnet-lib file at '%s':\n%v", extensionsLibPath, err)
......
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment