Skip to content

Commit 0b44fd2

Browse files
committed
Remove direct dependency on pipe-fittings
1 parent 06b07ae commit 0b44fd2

File tree

12 files changed

+1557
-462
lines changed

12 files changed

+1557
-462
lines changed

app_specific/consts.go

Lines changed: 91 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,91 @@
1+
package app_specific
2+
3+
import (
4+
"github.com/Masterminds/semver/v3"
5+
"github.com/zclconf/go-cty/cty"
6+
"path/filepath"
7+
)
8+
9+
// Application specific constants which MUST be set by the application
10+
11+
// app name and version
12+
13+
var AppName string
14+
var AppVersion *semver.Version
15+
16+
// filepaths
17+
18+
var DefaultVarsFileName string
19+
var LegacyDefaultVarsFileName string
20+
21+
// TODO KAI we need to provide a default (for now) as the flowpipe test code does not (always)
22+
// call SetAppSpecificConstants so this may be empty we need a proper solution to this
23+
var ModFileNameDeprecated = "mod.sp"
24+
25+
func ModFileNames() []string {
26+
var res []string
27+
for _, ext := range ModDataExtensions {
28+
res = append(res, "mod"+ext)
29+
30+
}
31+
return res
32+
}
33+
34+
func ModFilePaths(modFolder string) []string {
35+
var res []string
36+
for _, filename := range ModFileNames() {
37+
res = append(res, filepath.Join(modFolder, filename))
38+
}
39+
return res
40+
}
41+
42+
func DefaultModFileName() string {
43+
return ModFileNames()[0]
44+
}
45+
func DefaultModFilePath(modFolder string) string {
46+
return filepath.Join(modFolder, DefaultModFileName())
47+
}
48+
49+
var WorkspaceIgnoreFile string
50+
var WorkspaceDataDir string
51+
var InstallDir string
52+
var DefaultInstallDir string
53+
var DefaultConfigPath string
54+
55+
// extensions
56+
57+
var ConfigExtension string
58+
var ModDataExtensions []string
59+
var VariablesExtensions []string
60+
var AutoVariablesExtensions []string
61+
62+
// env vars
63+
64+
// EnvAppPrefix is the prefix for all app specific environment variables (e.g. ("STEAMPIPE_")
65+
var EnvAppPrefix string
66+
67+
// EnvInputVarPrefix is the prefix for environment variables that represent values for input variables.
68+
var EnvInputVarPrefix string
69+
70+
// Update check
71+
var VersionCheckHost string
72+
var VersionCheckPath string
73+
74+
var PluginHub string
75+
76+
// OciInstaller
77+
var DefaultImageRepoActualURL string
78+
var DefaultImageRepoDisplayURL string
79+
80+
// map of app specific custom cty types, keyed by the block name
81+
var CustomTypes map[string]cty.Type
82+
83+
// return a slice of the type name of app specific custom types
84+
func CustomTypesNames() []string {
85+
var res []string
86+
87+
for _, ty := range CustomTypes {
88+
res = append(res, ty.EncapsulatedType().String())
89+
}
90+
return res
91+
}

app_specific/env.go

Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,72 @@
1+
package app_specific
2+
3+
// app specific env vars
4+
var EnvUpdateCheck,
5+
EnvInstallDir,
6+
EnvInstallDatabase,
7+
EnvServicePassword,
8+
EnvMaxParallel,
9+
EnvDatabaseStartTimeout,
10+
EnvDashboardStartTimeout,
11+
EnvSnapshotLocation,
12+
EnvDatabase,
13+
EnvWorkspaceProfile,
14+
EnvDisplayWidth,
15+
EnvCacheEnabled,
16+
EnvCacheTTL,
17+
EnvCacheMaxTTL,
18+
EnvCacheMaxSize,
19+
EnvQueryTimeout,
20+
EnvConnectionWatcher,
21+
EnvWorkspaceChDir,
22+
EnvModLocation,
23+
EnvTelemetry,
24+
EnvIntrospection,
25+
EnvWorkspaceProfileLocation,
26+
EnvMemoryMaxMb,
27+
EnvMemoryMaxMbPlugin,
28+
EnvConfigPath,
29+
EnvLogLevel,
30+
EnvGitToken,
31+
EnvPipesToken,
32+
EnvProfile string
33+
34+
func SetAppSpecificEnvVarKeys(envAppPrefix string) {
35+
// set prefix
36+
EnvAppPrefix = envAppPrefix
37+
38+
EnvUpdateCheck = buildEnv("UPDATE_CHECK")
39+
EnvInstallDir = buildEnv("INSTALL_DIR")
40+
EnvInstallDatabase = buildEnv("INITDB_DATABASE_NAME")
41+
EnvServicePassword = buildEnv("DATABASE_PASSWORD")
42+
EnvMaxParallel = buildEnv("MAX_PARALLEL")
43+
EnvDatabaseStartTimeout = buildEnv("DATABASE_START_TIMEOUT")
44+
EnvDashboardStartTimeout = buildEnv("DASHBOARD_START_TIMEOUT")
45+
EnvSnapshotLocation = buildEnv("SNAPSHOT_LOCATION")
46+
EnvDatabase = buildEnv("DATABASE")
47+
EnvWorkspaceProfile = buildEnv("WORKSPACE")
48+
EnvDisplayWidth = buildEnv("DISPLAY_WIDTH")
49+
EnvCacheEnabled = buildEnv("CACHE")
50+
EnvCacheTTL = buildEnv("CACHE_TTL")
51+
EnvCacheMaxTTL = buildEnv("CACHE_MAX_TTL")
52+
EnvCacheMaxSize = buildEnv("CACHE_MAX_SIZE_MB")
53+
EnvQueryTimeout = buildEnv("QUERY_TIMEOUT")
54+
EnvConnectionWatcher = buildEnv("CONNECTION_WATCHER")
55+
EnvWorkspaceChDir = buildEnv("WORKSPACE_CHDIR")
56+
EnvModLocation = buildEnv("MOD_LOCATION")
57+
EnvTelemetry = buildEnv("TELEMETRY")
58+
EnvIntrospection = buildEnv("INTROSPECTION")
59+
EnvWorkspaceProfileLocation = buildEnv("WORKSPACE_PROFILES_LOCATION")
60+
EnvMemoryMaxMb = buildEnv("MEMORY_MAX_MB")
61+
EnvMemoryMaxMbPlugin = buildEnv("PLUGIN_MEMORY_MAX_MB")
62+
EnvConfigPath = buildEnv("CONFIG_PATH")
63+
EnvLogLevel = buildEnv("LOG_LEVEL")
64+
EnvGitToken = buildEnv("GIT_TOKEN")
65+
EnvPipesToken = buildEnv("PIPES_TOKEN")
66+
EnvProfile = buildEnv("PROFILE")
67+
}
68+
69+
// buildEnv is a function to construct an application specific env var key
70+
func buildEnv(suffix string) string {
71+
return EnvAppPrefix + suffix
72+
}

0 commit comments

Comments
 (0)