misc: workspace file now only needed when project id is omitted (CLI)

This commit is contained in:
Sheen Capadngan
2025-06-03 19:41:37 +08:00
parent 5878904f77
commit c0add863be
4 changed files with 37 additions and 46 deletions
-5
View File
@@ -72,7 +72,6 @@ func getDynamicSecretList(cmd *cobra.Command, args []string) {
infisicalToken = token.Token infisicalToken = token.Token
} else { } else {
util.RequireLogin() util.RequireLogin()
util.RequireLocalWorkspaceFile()
loggedInUserDetails, err := util.GetCurrentLoggedInUserDetails(true) loggedInUserDetails, err := util.GetCurrentLoggedInUserDetails(true)
if err != nil { if err != nil {
@@ -190,7 +189,6 @@ func createDynamicSecretLeaseByName(cmd *cobra.Command, args []string) {
infisicalToken = token.Token infisicalToken = token.Token
} else { } else {
util.RequireLogin() util.RequireLogin()
util.RequireLocalWorkspaceFile()
loggedInUserDetails, err := util.GetCurrentLoggedInUserDetails(true) loggedInUserDetails, err := util.GetCurrentLoggedInUserDetails(true)
if err != nil { if err != nil {
@@ -321,7 +319,6 @@ func renewDynamicSecretLeaseByName(cmd *cobra.Command, args []string) {
infisicalToken = token.Token infisicalToken = token.Token
} else { } else {
util.RequireLogin() util.RequireLogin()
util.RequireLocalWorkspaceFile()
loggedInUserDetails, err := util.GetCurrentLoggedInUserDetails(true) loggedInUserDetails, err := util.GetCurrentLoggedInUserDetails(true)
if err != nil { if err != nil {
@@ -429,7 +426,6 @@ func revokeDynamicSecretLeaseByName(cmd *cobra.Command, args []string) {
infisicalToken = token.Token infisicalToken = token.Token
} else { } else {
util.RequireLogin() util.RequireLogin()
util.RequireLocalWorkspaceFile()
loggedInUserDetails, err := util.GetCurrentLoggedInUserDetails(true) loggedInUserDetails, err := util.GetCurrentLoggedInUserDetails(true)
if err != nil { if err != nil {
@@ -536,7 +532,6 @@ func listDynamicSecretLeaseByName(cmd *cobra.Command, args []string) {
infisicalToken = token.Token infisicalToken = token.Token
} else { } else {
util.RequireLogin() util.RequireLogin()
util.RequireLocalWorkspaceFile()
loggedInUserDetails, err := util.GetCurrentLoggedInUserDetails(true) loggedInUserDetails, err := util.GetCurrentLoggedInUserDetails(true)
if err != nil { if err != nil {
+4 -5
View File
@@ -158,10 +158,6 @@ var secretsSetCmd = &cobra.Command{
util.HandleError(err, "Unable to parse flag") util.HandleError(err, "Unable to parse flag")
} }
if token == nil {
util.RequireLocalWorkspaceFile()
}
environmentName, _ := cmd.Flags().GetString("env") environmentName, _ := cmd.Flags().GetString("env")
if !cmd.Flags().Changed("env") { if !cmd.Flags().Changed("env") {
environmentFromWorkspace := util.GetEnvFromWorkspaceFile() environmentFromWorkspace := util.GetEnvFromWorkspaceFile()
@@ -175,6 +171,10 @@ var secretsSetCmd = &cobra.Command{
util.HandleError(err, "Unable to parse flag") util.HandleError(err, "Unable to parse flag")
} }
if token == nil && projectId == "" {
util.RequireLocalWorkspaceFile()
}
secretsPath, err := cmd.Flags().GetString("path") secretsPath, err := cmd.Flags().GetString("path")
if err != nil { if err != nil {
util.HandleError(err, "Unable to parse flag") util.HandleError(err, "Unable to parse flag")
@@ -317,7 +317,6 @@ var secretsDeleteCmd = &cobra.Command{
httpClient.SetAuthToken(token.Token) httpClient.SetAuthToken(token.Token)
} else { } else {
util.RequireLogin() util.RequireLogin()
util.RequireLocalWorkspaceFile()
loggedInUserDetails, err := util.GetCurrentLoggedInUserDetails(true) loggedInUserDetails, err := util.GetCurrentLoggedInUserDetails(true)
if err != nil { if err != nil {
+3 -7
View File
@@ -15,7 +15,6 @@ func GetAllFolders(params models.GetAllFoldersParameters) ([]models.SingleFolder
var folderErr error var folderErr error
if params.InfisicalToken == "" && params.UniversalAuthAccessToken == "" { if params.InfisicalToken == "" && params.UniversalAuthAccessToken == "" {
RequireLogin() RequireLogin()
RequireLocalWorkspaceFile()
log.Debug().Msg("GetAllFolders: Trying to fetch folders using logged in details") log.Debug().Msg("GetAllFolders: Trying to fetch folders using logged in details")
@@ -28,16 +27,15 @@ func GetAllFolders(params models.GetAllFoldersParameters) ([]models.SingleFolder
loggedInUserDetails = EstablishUserLoginSession() loggedInUserDetails = EstablishUserLoginSession()
} }
if params.WorkspaceId == "" {
workspaceFile, err := GetWorkSpaceFromFile() workspaceFile, err := GetWorkSpaceFromFile()
if err != nil { if err != nil {
return nil, err return nil, err
} }
params.WorkspaceId = workspaceFile.WorkspaceId
if params.WorkspaceId != "" {
workspaceFile.WorkspaceId = params.WorkspaceId
} }
folders, err := GetFoldersViaJTW(loggedInUserDetails.UserCredentials.JTWToken, workspaceFile.WorkspaceId, params.Environment, params.FoldersPath) folders, err := GetFoldersViaJTW(loggedInUserDetails.UserCredentials.JTWToken, params.WorkspaceId, params.Environment, params.FoldersPath)
folderErr = err folderErr = err
foldersToReturn = folders foldersToReturn = folders
} else if params.InfisicalToken != "" { } else if params.InfisicalToken != "" {
@@ -186,7 +184,6 @@ func CreateFolder(params models.CreateFolderParameters) (models.SingleFolder, er
// If no token is provided, we will try to get the token from the current logged in user // If no token is provided, we will try to get the token from the current logged in user
if params.InfisicalToken == "" { if params.InfisicalToken == "" {
RequireLogin() RequireLogin()
RequireLocalWorkspaceFile()
loggedInUserDetails, err := GetCurrentLoggedInUserDetails(true) loggedInUserDetails, err := GetCurrentLoggedInUserDetails(true)
if err != nil { if err != nil {
@@ -235,7 +232,6 @@ func DeleteFolder(params models.DeleteFolderParameters) ([]models.SingleFolder,
// If no token is provided, we will try to get the token from the current logged in user // If no token is provided, we will try to get the token from the current logged in user
if params.InfisicalToken == "" { if params.InfisicalToken == "" {
RequireLogin() RequireLogin()
RequireLocalWorkspaceFile()
loggedInUserDetails, err := GetCurrentLoggedInUserDetails(true) loggedInUserDetails, err := GetCurrentLoggedInUserDetails(true)
+7 -6
View File
@@ -251,11 +251,13 @@ func GetAllEnvironmentVariables(params models.GetAllSecretsParameters, projectCo
var errorToReturn error var errorToReturn error
if params.InfisicalToken == "" && params.UniversalAuthAccessToken == "" { if params.InfisicalToken == "" && params.UniversalAuthAccessToken == "" {
if params.WorkspaceId == "" {
if projectConfigFilePath == "" { if projectConfigFilePath == "" {
RequireLocalWorkspaceFile() RequireLocalWorkspaceFile()
} else { } else {
ValidateWorkspaceFile(projectConfigFilePath) ValidateWorkspaceFile(projectConfigFilePath)
} }
}
RequireLogin() RequireLogin()
@@ -276,6 +278,7 @@ func GetAllEnvironmentVariables(params models.GetAllSecretsParameters, projectCo
loggedInUserDetails = EstablishUserLoginSession() loggedInUserDetails = EstablishUserLoginSession()
} }
if params.WorkspaceId == "" {
var infisicalDotJson models.WorkspaceConfigFile var infisicalDotJson models.WorkspaceConfigFile
if projectConfigFilePath == "" { if projectConfigFilePath == "" {
@@ -293,12 +296,10 @@ func GetAllEnvironmentVariables(params models.GetAllSecretsParameters, projectCo
infisicalDotJson = projectConfig infisicalDotJson = projectConfig
} }
params.WorkspaceId = infisicalDotJson.WorkspaceId
if params.WorkspaceId != "" {
infisicalDotJson.WorkspaceId = params.WorkspaceId
} }
res, err := GetPlainTextSecretsV3(loggedInUserDetails.UserCredentials.JTWToken, infisicalDotJson.WorkspaceId, res, err := GetPlainTextSecretsV3(loggedInUserDetails.UserCredentials.JTWToken, params.WorkspaceId,
params.Environment, params.SecretsPath, params.IncludeImport, params.Recursive, params.TagSlugs, true) params.Environment, params.SecretsPath, params.IncludeImport, params.Recursive, params.TagSlugs, true)
log.Debug().Msgf("GetAllEnvironmentVariables: Trying to fetch secrets JTW token [err=%s]", err) log.Debug().Msgf("GetAllEnvironmentVariables: Trying to fetch secrets JTW token [err=%s]", err)
@@ -307,7 +308,7 @@ func GetAllEnvironmentVariables(params models.GetAllSecretsParameters, projectCo
if err != nil { if err != nil {
return nil, err return nil, err
} }
WriteBackupSecrets(infisicalDotJson.WorkspaceId, params.Environment, params.SecretsPath, backupEncryptionKey, res.Secrets) WriteBackupSecrets(params.WorkspaceId, params.Environment, params.SecretsPath, backupEncryptionKey, res.Secrets)
} }
secretsToReturn = res.Secrets secretsToReturn = res.Secrets
@@ -316,7 +317,7 @@ func GetAllEnvironmentVariables(params models.GetAllSecretsParameters, projectCo
if !isConnected { if !isConnected {
backupEncryptionKey, _ := GetBackupEncryptionKey() backupEncryptionKey, _ := GetBackupEncryptionKey()
if backupEncryptionKey != nil { if backupEncryptionKey != nil {
backedUpSecrets, err := ReadBackupSecrets(infisicalDotJson.WorkspaceId, params.Environment, params.SecretsPath, backupEncryptionKey) backedUpSecrets, err := ReadBackupSecrets(params.WorkspaceId, params.Environment, params.SecretsPath, backupEncryptionKey)
if len(backedUpSecrets) > 0 { if len(backedUpSecrets) > 0 {
PrintWarning("Unable to fetch the latest secret(s) due to connection error, serving secrets from last successful fetch. For more info, run with --debug") PrintWarning("Unable to fetch the latest secret(s) due to connection error, serving secrets from last successful fetch. For more info, run with --debug")
secretsToReturn = backedUpSecrets secretsToReturn = backedUpSecrets