saveTidbManagedState function
Saves TiDB managed state without writing secrets into Worker sources.
Implementation
Future<void> saveTidbManagedState(
Map<String, dynamic> state, {
String environment = "prod",
}) async {
final file = File(tidbManagedStatePathFor(environment));
await file.parent.create(recursive: true);
final temporary = File("${file.path}.tmp");
await temporary.writeAsString(YamlWriter().write(state));
try {
await temporary.rename(file.path);
} on FileSystemException {
await file.writeAsString(await temporary.readAsString());
await temporary.delete();
}
}