Skip to content

Commit

Permalink
Add migration to fix kubeconfig paths that point to snap config dir (#…
Browse files Browse the repository at this point in the history
…972)

* Add migration to fix kubeconfig paths that point to snap config dir

Signed-off-by: Lauri Nevala <[email protected]>
  • Loading branch information
nevalla authored Sep 25, 2020
1 parent 950fd65 commit 13b99af
Show file tree
Hide file tree
Showing 2 changed files with 35 additions and 0 deletions.
2 changes: 2 additions & 0 deletions src/migrations/cluster-store/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ import version260Beta3 from "./2.6.0-beta.3"
import version270Beta0 from "./2.7.0-beta.0"
import version270Beta1 from "./2.7.0-beta.1"
import version360Beta1 from "./3.6.0-beta.1"
import snap from "./snap"

export default {
...version200Beta2,
Expand All @@ -16,4 +17,5 @@ export default {
...version270Beta0,
...version270Beta1,
...version360Beta1,
...snap
}
33 changes: 33 additions & 0 deletions src/migrations/cluster-store/snap.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
// Fix embedded kubeconfig paths under snap config

import { migration } from "../migration-wrapper";
import { ClusterModel, ClusterStore } from "../../common/cluster-store";
import { getAppVersion } from "../../common/utils/app-version";
import fs from "fs"

export default migration({
version: getAppVersion(), // Run always after upgrade
run(store, printLog) {
if (!process.env["SNAP"]) return;

printLog("Migrating embedded kubeconfig paths")
const storedClusters: ClusterModel[] = store.get("clusters") || [];
if (!storedClusters.length) return;

printLog("Number of clusters to migrate: ", storedClusters.length)
const migratedClusters = storedClusters
.map(cluster => {
/**
* replace snap version with 'current' in kubeconfig path
*/
if (!fs.existsSync(cluster.kubeConfigPath)) {
const kubeconfigPath = cluster.kubeConfigPath.replace(/\/snap\/kontena-lens\/[0-9]*\//, "/snap/kontena-lens/current/")
cluster.kubeConfigPath = kubeconfigPath
}
return cluster;
})


store.set("clusters", migratedClusters)
}
})

0 comments on commit 13b99af

Please sign in to comment.