Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion env_gen.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
| ACD_NAMESPACE | devtroncd | |
| ACD_PASSWORD | | |
| ACD_USERNAME | admin | |
| APP | orchestrator | |
| APP | orchestrator | Application name |
| APP_SYNC_IMAGE | quay.io/devtron/chart-sync:1227622d-132-3775 | |
| APP_SYNC_JOB_RESOURCES_OBJ | | |
| APP_SYNC_SERVICE_ACCOUNT | chart-sync | |
Expand Down
19 changes: 11 additions & 8 deletions fetchAllEnv/fetchAllEnv.go
Original file line number Diff line number Diff line change
Expand Up @@ -36,9 +36,10 @@ type EnvField struct {
}

const (
envFieldTypeTag = "env"
envDefaultFieldTypeTag = "envDefault"
MARKDOWN_FILENAME = "env_gen.md"
envFieldTypeTag = "env"
envDefaultFieldTypeTag = "envDefault"
envDescriptionFieldTypeTag = "envDescription"
MARKDOWN_FILENAME = "env_gen.md"
)

const MarkdownTemplate = `
Expand Down Expand Up @@ -97,14 +98,15 @@ func convertTagToStructTag(tag string) reflect.StructTag {
return reflect.StructTag(strings.Split(tag, "`")[1])
}

func getEnvKeyAndValue(tag reflect.StructTag) (string, string) {
func getEnvKeyAndValue(tag reflect.StructTag) (string, string, string) {
envKey := tag.Get(envFieldTypeTag)
envValue := tag.Get(envDefaultFieldTypeTag)
envDescription := tag.Get(envDescriptionFieldTypeTag)
// check if there exist any value provided in env for this field
if value, ok := os.LookupEnv(envKey); ok {
envValue = value
}
return envKey, envValue
return envKey, envValue, envDescription
}

func processGoFile(filePath string, allFields *[]EnvField, uniqueKeys *map[string]bool) error {
Expand All @@ -122,13 +124,14 @@ func processGoFile(filePath string, allFields *[]EnvField, uniqueKeys *map[strin
for _, field := range structType.Fields.List {
if field.Tag != nil {
strippedTags := convertTagToStructTag(field.Tag.Value)
envKey, envValue := getEnvKeyAndValue(strippedTags)
envKey, envValue, envDescription := getEnvKeyAndValue(strippedTags)
if len(envKey) == 0 || (*uniqueKeys)[envKey] {
continue
}
*allFields = append(*allFields, EnvField{
Env: envKey,
EnvValue: envValue,
Env: envKey,
EnvValue: envValue,
EnvDescription: envDescription,
})
(*uniqueKeys)[envKey] = true
}
Expand Down
2 changes: 1 addition & 1 deletion pkg/sql/connection.go
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ type Config struct {
Password string `env:"PG_PASSWORD" envDefault:"" secretData:"-"`
Database string `env:"PG_DATABASE" envDefault:"orchestrator"`
CasbinDatabase string `env:"CASBIN_DATABASE" envDefault:"casbin"`
ApplicationName string `env:"APP" envDefault:"orchestrator"`
ApplicationName string `env:"APP" envDefault:"orchestrator" envDescription:"Application name"`
LogQuery bool `env:"PG_LOG_QUERY" envDefault:"true"`
LogAllQuery bool `env:"PG_LOG_ALL_QUERY" envDefault:"false"`
ExportPromMetrics bool `env:"PG_EXPORT_PROM_METRICS" envDefault:"false"`
Expand Down