Implement common configuration loading mechanism.

This commit is contained in:
2023-03-19 16:35:09 -07:00
parent 59fbea0a37
commit a043e0852f
9 changed files with 48 additions and 63 deletions

View File

@ -1,11 +1,8 @@
package gay.pizza.foundation.tailscale
import com.charleskorn.kaml.Yaml
import gay.pizza.foundation.common.BaseFoundationPlugin
import gay.pizza.foundation.common.FoundationCoreLoader
import gay.pizza.foundation.shared.PluginMainClass
import gay.pizza.foundation.shared.copyDefaultConfig
import kotlin.io.path.inputStream
@PluginMainClass
class FoundationTailscalePlugin : BaseFoundationPlugin() {
@ -14,12 +11,11 @@ class FoundationTailscalePlugin : BaseFoundationPlugin() {
override fun onEnable() {
val foundation = FoundationCoreLoader.get(server)
val configPath = copyDefaultConfig<FoundationTailscalePlugin>(
slF4JLogger,
foundation.pluginDataPath,
config = loadConfigurationWithDefault(
foundation,
TailscaleConfig.serializer(),
"tailscale.yaml"
)
config = Yaml.default.decodeFromStream(TailscaleConfig.serializer(), configPath.inputStream())
controller = TailscaleController(server, config)
controller.enable()
}