Skip to content

Commit

Permalink
feat: add helm env var config exporter
Browse files Browse the repository at this point in the history
  • Loading branch information
adamcooke committed Mar 4, 2024
1 parent ce30c07 commit 8938988
Show file tree
Hide file tree
Showing 2 changed files with 33 additions and 0 deletions.
28 changes: 28 additions & 0 deletions lib/postal/helm_config_exporter.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
# frozen_string_literal: true

require "konfig/exporters/abstract"

module Postal
class HelmConfigExporter < Konfig::Exporters::Abstract

def export
contents = []

path = []

@schema.groups.each do |group_name, group|
path << group_name
group.attributes.each do |name, attr|
env_var = Konfig::Sources::Environment.path_to_env_var(path + [name])
contents << <<~VAR.strip
{{ include "app.envVar" (dict "name" "#{env_var}" "spec" .Values.postal.#{path.join('.')}.#{name} "root" . ) }}
VAR
end
path.pop
end

contents.join("\n")
end

end
end
5 changes: 5 additions & 0 deletions lib/tasks/postal.rake
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,11 @@ namespace :postal do
output = Postal::YamlConfigExporter.new(Postal::ConfigSchema).export
File.write("doc/config/yaml.yml", output)
end

desc "Generate Helm Environment Variables"
task generate_helm_env_vars: :environment do
puts Postal::HelmConfigExporter.new(Postal::ConfigSchema).export
end
end

Rake::Task["db:migrate"].enhance do
Expand Down

0 comments on commit 8938988

Please sign in to comment.