@maticnetwork/matic-cli
Version:
Testing toolkit to setup, manage and operate Polygon networks
38 lines (30 loc) • 1.06 kB
JavaScript
// noinspection JSUnresolvedFunction
import { findMaxDevnetId } from '../common/files-utils'
import fs from 'fs'
const shell = require('shelljs')
export async function terraformInit() {
const nextDevnetId = !fs.existsSync('./deployments')
? 1
: findMaxDevnetId() + 1
shell.exec(`mkdir -p ./deployments/devnet-${nextDevnetId}`)
shell.exec(`cp ./.env ./deployments/devnet-${nextDevnetId}/.env`)
shell.exec(
`cp ./secret.tfvars ./deployments/devnet-${nextDevnetId}/secret.tfvars`
)
shell.exec(`cp ./main.tf ./deployments/devnet-${nextDevnetId}/main.tf`)
shell.exec(
`cp ./variables.tf ./deployments/devnet-${nextDevnetId}/variables.tf`
)
require('dotenv').config({
path: `./deployments/devnet-${nextDevnetId}/.env`
})
shell.pushd(`./deployments/devnet-${nextDevnetId}`)
shell.exec(`terraform workspace new devnet-${nextDevnetId}`)
shell.popd()
console.log('📍Executing terraform init...')
shell.exec(`terraform -chdir=./deployments/devnet-${nextDevnetId} init`, {
env: {
...process.env
}
})
}