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
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,7 @@ public class OpenApiGenerator implements Generator {
boolean regenerateCodeOnly = false;
boolean enableParamDescription = true;
boolean generateModelOnly = false;
boolean generateValuesYml = false;

public OpenApiGenerator() {
typeMapping.put("array", "java.util.List");
Expand Down Expand Up @@ -104,6 +105,8 @@ public void generate(String targetPath, Object model, Any config) throws IOExcep
skipServerInfo = config.toBoolean("skipServerInfo");
regenerateCodeOnly = config.toBoolean("specChangeCodeReGenOnly");
enableParamDescription = config.toBoolean("enableParamDescription");

generateValuesYml = config.toBoolean("generateValuesYml");

String version = config.toString("version");
String serviceId = config.get("groupId") + "." + config.get("artifactId") + "-" + config.get("version");
Expand Down Expand Up @@ -166,6 +169,10 @@ public void generate(String targetPath, Object model, Any config) throws IOExcep

// exclusion list for Config module
transfer(targetPath, ("src.main.resources.config").replace(".", separator), "exclusions.yml", templates.rest.openapi.exclusions.template());

// values.yml file, transfer only if explicitly set in the config.json
if(generateValuesYml)
transfer(targetPath, ("src.main.resources.config").replace(".", separator), "values.yml", templates.rest.openapi.values.template());
}
}

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,97 @@
#--------------------------------------------------------------------------------
# values.yml : Set of values commonly overridden in microservices
# The file can be extended with other elements, as necessary
#--------------------------------------------------------------------------------

#--------------------------------------------------------------------------------
# client.yml
#--------------------------------------------------------------------------------
# key distribution server url
client.server_url: set-real-value-here
# client_id used to access key distribution service. It can be the same client_id with token service or not.
client.client_id: set-real-value-here

#--------------------------------------------------------------------------------
# server.yml
#--------------------------------------------------------------------------------
# Https port if enableHttps is true. It will be ignored if dynamicPort is true
server.httpsPort: set-real-value-here

# Enable HTTPS should be true on official environment and most dev environments.
server.enableHttps: set-real-value-here

# Http/2 is enabled by default for better performance and it works with the client module.
server.enableHttp2: set-real-value-here

# Minimum port range. This define a range for the dynamic allocated ports so that it is easier to setup
# firewall rule to enable this range. Default 2400 to 2500 block has 100 port numbers and should be
# enough for most cases unless you are using a big bare metal box as Kubernetes node that can run 1000s pods
server.minPort: 2400

# Maximum port rang. The range can be customized to adopt your network security policy and can be increased or
# reduced to ease firewall rules.
server.maxPort: 2500

# environment tag that will be registered on consul to support multiple instances per env for testing.
# https://github.com/networknt/light-doc/blob/master/docs/content/design/env-segregation.md
# This tag should only be set for testing env, not production. The production certification process will enforce it.
server.environment: dev

# Build number, to be set by teams for auditing purposes.
# Allows teams to audit the value and set it according to their release management processes
server.buildNumber: latest

#--------------------------------------------------------------------------------
# security.yml
#--------------------------------------------------------------------------------
# Enable JWT verification flag.
security.enableVerifyJwt: set-real-value-here

#--------------------------------------------------------------------------------
# datasource.yml
#--------------------------------------------------------------------------------
datasource.jdbcUrl: set-real-value-here
datasource.username: set-real-value-here

datasource.maximumPoolSize: set-real-value-here
datasource.prepStmtCacheSize: set-real-value-here
datasource.prepStmtCacheSqlLimit: set-real-value-here
datasource.conectionTimeout: set-real-value-here

#--------------------------------------------------------------------------------
# secret.yml
#--------------------------------------------------------------------------------
# Sever section
# Key store password, the path of keystore is defined in server.yml
secret.serverKeystorePass: set-real-value-here
# Key password, the key is in keystore
secret.serverKeyPass: set-real-value-here
# Trust store password, the path of truststore is defined in server.yml
secret.serverTruststorePass: set-real-value-here

# Client section
# Key store password, the path of keystore is defined in server.yml
secret.clientKeystorePass: set-real-value-here
# Key password, the key is in keystore
secret.clientKeyPass: set-real-value-here
# Trust store password, the path of truststore is defined in server.yml
secret.clientTruststorePass: set-real-value-here
# Authorization code client secret for OAuth2 server
secret.authorizationCodeClientSecret: set-real-value-here
# Client credentials client secret for OAuth2 server
secret.clientCredentialsClientSecret: set-real-value-here
# Fresh token client secret for OAuth2 server
secret.refreshTokenClientSecret: set-real-value-here
# Key distribution client secret for OAuth2 server
secret.keyClientSecret: set-real-value-here

# Consul section
# Consul Token for service registry and discovery
secret.consulToken: set-real-value-here

# EmailSender password
secret.emailPassword: set-real-value-here

# Database Section
secret.mysqlDatabasePassword: set-real-value-here
secret.oracleDatabasePassword: set-real-value-here