Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 10 additions & 0 deletions internal/constants/constants.go
Original file line number Diff line number Diff line change
Expand Up @@ -187,6 +187,16 @@ const (
DefaultOrganizationFields string = "id,name"
)

// Connect flags defaults
const (
// DefaultBackendManageAddress is the default address for reaching backendManage
DefaultBackendManageAddress = "localhost:9002"

// DefaultPasswordFile is the default file read when authenticating to backendManage
// TODO : const + "/" + const
DefaultPasswordFile = "secrets/internal_auth_password"
)

// Migration command defaults and configuration
const (
// DefaultMigrationProgressInterval is the default interval for checking migration progress
Expand Down
14 changes: 10 additions & 4 deletions internal/manage/actions/action/action.go
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,9 @@ package action
import (
"encoding/json"
"fmt"
"os"

"github.com/OpenSlides/openslides-cli/internal/constants"
"github.com/OpenSlides/openslides-cli/internal/logger"
"github.com/OpenSlides/openslides-cli/internal/manage/client"
"github.com/OpenSlides/openslides-cli/internal/utils"
Expand Down Expand Up @@ -42,12 +44,16 @@ func Cmd() *cobra.Command {
Args: cobra.RangeArgs(1, 2),
}

address := cmd.Flags().StringP("address", "a", "", "address of the OpenSlides backendManage service (required)")
passwordFile := cmd.Flags().String("password-file", "", "file with password for authorization (required)")
address := cmd.Flags().StringP("address", "a", constants.DefaultBackendManageAddress, "address of the OpenSlides backendManage service (required)")
passwordFile := cmd.Flags().String("password-file", constants.DefaultPasswordFile, "file with password for authorization (required)")
payloadFile := cmd.Flags().StringP("file", "f", "", "JSON file with the payload, or - for stdin")

_ = cmd.MarkFlagRequired("address")
_ = cmd.MarkFlagRequired("password-file")
if addressEnv := os.Getenv("OSMANAGE_BACKEND_ADDRESS"); addressEnv != "" {
address = &addressEnv
}
if passwordFileEnv := os.Getenv("OSMANAGE_BACKEND_PASSWORD_FILE"); passwordFileEnv != "" {
passwordFile = &passwordFileEnv
}

cmd.RunE = func(cmd *cobra.Command, args []string) error {
logger.Info("=== ACTION ===")
Expand Down
14 changes: 10 additions & 4 deletions internal/manage/actions/createuser/createuser.go
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,9 @@ package createuser
import (
"encoding/json"
"fmt"
"os"

"github.com/OpenSlides/openslides-cli/internal/constants"
"github.com/OpenSlides/openslides-cli/internal/logger"
"github.com/OpenSlides/openslides-cli/internal/manage/client"
"github.com/OpenSlides/openslides-cli/internal/utils"
Expand Down Expand Up @@ -42,12 +44,16 @@ func Cmd() *cobra.Command {
Args: cobra.RangeArgs(0, 1),
}

address := cmd.Flags().StringP("address", "a", "", "address of the OpenSlides backendManage service (required)")
passwordFile := cmd.Flags().String("password-file", "", "file with password for authorization (required)")
address := cmd.Flags().StringP("address", "a", constants.DefaultBackendManageAddress, "address of the OpenSlides backendManage service (required)")
passwordFile := cmd.Flags().String("password-file", constants.DefaultPasswordFile, "file with password for authorization (required)")
userFile := cmd.Flags().StringP("file", "f", "", "JSON file with user data, or - for stdin")

_ = cmd.MarkFlagRequired("address")
_ = cmd.MarkFlagRequired("password-file")
if addressEnv := os.Getenv("OSMANAGE_BACKEND_ADDRESS"); addressEnv != "" {
address = &addressEnv
}
if passwordFileEnv := os.Getenv("OSMANAGE_BACKEND_PASSWORD_FILE"); passwordFileEnv != "" {
passwordFile = &passwordFileEnv
}

cmd.RunE = func(cmd *cobra.Command, args []string) error {
logger.Info("=== CREATE USER ===")
Expand Down
32 changes: 26 additions & 6 deletions internal/manage/actions/get/get.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ import (
"context"
"encoding/json"
"fmt"
"os"
"reflect"
"regexp"
"strconv"
Expand Down Expand Up @@ -94,12 +95,31 @@ func Cmd() *cobra.Command {
postgresDatabase := cmd.Flags().String("postgres-database", "", "PostgreSQL database (required)")
postgresPasswordFile := cmd.Flags().String("postgres-password-file", "", "PostgreSQL password file (required)")

// Mark PostgreSQL flags as required
_ = cmd.MarkFlagRequired("postgres-host")
_ = cmd.MarkFlagRequired("postgres-port")
_ = cmd.MarkFlagRequired("postgres-user")
_ = cmd.MarkFlagRequired("postgres-database")
_ = cmd.MarkFlagRequired("postgres-password-file")
if postgresHostEnv := os.Getenv("OSMANAGE_POSTGRES_HOST"); postgresHostEnv != "" {
postgresHost = &postgresHostEnv
} else {
_ = cmd.MarkFlagRequired("postgres-host")
}
if postgresPortEnv := os.Getenv("OSMANAGE_POSTGRES_PORT"); postgresPortEnv != "" {
postgresPort = &postgresPortEnv
} else {
_ = cmd.MarkFlagRequired("postgres-port")
}
if postgresUserEnv := os.Getenv("OSMANAGE_POSTGRES_USER"); postgresUserEnv != "" {
postgresUser = &postgresUserEnv
} else {
_ = cmd.MarkFlagRequired("postgres-user")
}
if postgresDatabaseEnv := os.Getenv("OSMANAGE_POSTGRES_DATABASE"); postgresDatabaseEnv != "" {
postgresDatabase = &postgresDatabaseEnv
} else {
_ = cmd.MarkFlagRequired("postgres-database")
}
if postgresPasswordFileEnv := os.Getenv("OSMANAGE_POSTGRES_PASSWORD_FILE"); postgresPasswordFileEnv != "" {
postgresPasswordFile = &postgresPasswordFileEnv
} else {
_ = cmd.MarkFlagRequired("postgres-password-file")
}

// Query flags
fields := cmd.Flags().StringSlice("fields", nil, "only include the provided fields in output")
Expand Down
14 changes: 9 additions & 5 deletions internal/manage/actions/initialdata/initialdata.go
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ import (
"os"
"strings"

"github.com/OpenSlides/openslides-cli/internal/constants"
"github.com/OpenSlides/openslides-cli/internal/logger"
"github.com/OpenSlides/openslides-cli/internal/manage/client"
"github.com/OpenSlides/openslides-cli/internal/utils"
Expand Down Expand Up @@ -45,14 +46,17 @@ func Cmd() *cobra.Command {
Args: cobra.NoArgs,
}

address := cmd.Flags().StringP("address", "a", "", "address of the OpenSlides backendManage service (required)")
passwordFile := cmd.Flags().String("password-file", "", "file with password for authorization (required)")
address := cmd.Flags().StringP("address", "a", constants.DefaultBackendManageAddress, "address of the OpenSlides backendManage service (required)")
passwordFile := cmd.Flags().String("password-file", constants.DefaultPasswordFile, "file with password for authorization (required)")
superadminPasswordFile := cmd.Flags().String("superadmin-password-file", "", "file with superadmin password (required)")
dataFile := cmd.Flags().StringP("file", "f", "", "JSON file with initial data, or - for stdin")

_ = cmd.MarkFlagRequired("address")
_ = cmd.MarkFlagRequired("password-file")
_ = cmd.MarkFlagRequired("superadmin-password-file")
if addressEnv := os.Getenv("OSMANAGE_BACKEND_ADDRESS"); addressEnv != "" {
address = &addressEnv
}
if passwordFileEnv := os.Getenv("OSMANAGE_BACKEND_PASSWORD_FILE"); passwordFileEnv != "" {
passwordFile = &passwordFileEnv
}

cmd.RunE = func(cmd *cobra.Command, args []string) error {
if strings.TrimSpace(*superadminPasswordFile) == "" {
Expand Down
13 changes: 9 additions & 4 deletions internal/manage/actions/migrations/migrations.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ import (
"context"
"encoding/json"
"fmt"
"os"
"strings"
"time"

Expand Down Expand Up @@ -112,11 +113,15 @@ func createMigrationCmd(name, description string, withProgressTracking bool) *co
Args: cobra.NoArgs,
}

address := cmd.Flags().StringP("address", "a", "", "address of the OpenSlides backendManage service (required)")
passwordFile := cmd.Flags().String("password-file", "", "file with password for authorization (required)")
address := cmd.Flags().StringP("address", "a", constants.DefaultBackendManageAddress, "address of the OpenSlides backendManage service (required)")
passwordFile := cmd.Flags().String("password-file", constants.DefaultPasswordFile, "file with password for authorization (required)")

_ = cmd.MarkFlagRequired("address")
_ = cmd.MarkFlagRequired("password-file")
if addressEnv := os.Getenv("OSMANAGE_BACKEND_ADDRESS"); addressEnv != "" {
address = &addressEnv
}
if passwordFileEnv := os.Getenv("OSMANAGE_BACKEND_PASSWORD_FILE"); passwordFileEnv != "" {
passwordFile = &passwordFileEnv
}

var progressInterval *time.Duration
if withProgressTracking {
Expand Down
14 changes: 10 additions & 4 deletions internal/manage/actions/set/set.go
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,11 @@ package set
import (
"encoding/json"
"fmt"
"os"
"sort"
"strings"

"github.com/OpenSlides/openslides-cli/internal/constants"
"github.com/OpenSlides/openslides-cli/internal/logger"
"github.com/OpenSlides/openslides-cli/internal/manage/client"
"github.com/OpenSlides/openslides-cli/internal/utils"
Expand Down Expand Up @@ -58,12 +60,16 @@ func Cmd() *cobra.Command {
Args: cobra.RangeArgs(1, 2),
}

address := cmd.Flags().StringP("address", "a", "", "address of the OpenSlides backendManage service (required)")
passwordFile := cmd.Flags().String("password-file", "", "file with password for authorization (required)")
address := cmd.Flags().StringP("address", "a", constants.DefaultBackendManageAddress, "address of the OpenSlides backendManage service (required)")
passwordFile := cmd.Flags().String("password-file", constants.DefaultPasswordFile, "file with password for authorization (required)")
payloadFile := cmd.Flags().StringP("file", "f", "", "JSON file with the payload, or - for stdin")

_ = cmd.MarkFlagRequired("address")
_ = cmd.MarkFlagRequired("password-file")
if addressEnv := os.Getenv("OSMANAGE_BACKEND_ADDRESS"); addressEnv != "" {
address = &addressEnv
}
if passwordFileEnv := os.Getenv("OSMANAGE_BACKEND_PASSWORD_FILE"); passwordFileEnv != "" {
passwordFile = &passwordFileEnv
}

cmd.RunE = func(cmd *cobra.Command, args []string) error {
logger.Info("=== SET ACTION ===")
Expand Down
15 changes: 11 additions & 4 deletions internal/manage/actions/setpassword/setpassword.go
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,10 @@ package setpassword
import (
"encoding/json"
"fmt"
"os"
"strings"

"github.com/OpenSlides/openslides-cli/internal/constants"
"github.com/OpenSlides/openslides-cli/internal/logger"
"github.com/OpenSlides/openslides-cli/internal/manage/client"
"github.com/OpenSlides/openslides-cli/internal/utils"
Expand All @@ -25,13 +27,18 @@ func Cmd() *cobra.Command {
Args: cobra.NoArgs,
}

address := cmd.Flags().StringP("address", "a", "", "address of the OpenSlides backendManage service (required)")
passwordFile := cmd.Flags().String("password-file", "", "file with password for authorization (required)")
address := cmd.Flags().StringP("address", "a", constants.DefaultBackendManageAddress, "address of the OpenSlides backendManage service (required)")
passwordFile := cmd.Flags().String("password-file", constants.DefaultPasswordFile, "file with password for authorization (required)")
password := cmd.Flags().StringP("password", "p", "", "new password of the user (required)")
userID := cmd.Flags().Int64P("user_id", "u", 0, "ID of the user account (required)")

_ = cmd.MarkFlagRequired("address")
_ = cmd.MarkFlagRequired("password-file")
if addressEnv := os.Getenv("OSMANAGE_BACKEND_ADDRESS"); addressEnv != "" {
address = &addressEnv
}
if passwordFileEnv := os.Getenv("OSMANAGE_BACKEND_PASSWORD_FILE"); passwordFileEnv != "" {
passwordFile = &passwordFileEnv
}

_ = cmd.MarkFlagRequired("user_id")
_ = cmd.MarkFlagRequired("password")

Expand Down
Loading