Files
airshipctl/pkg/config/constants.go
Matt McEuen 4e64e74b6f Add a setting for kustomize plugins
This adds an env var-driven configuration for the filesystem path
in which kustomize should expect its plugins (including airshipctl)
to be.  The value defaults to a subfolder off the `.airshipit` folder.

The config is persisted as a singleton rather than a member of
AirshipCTLSettings (or the Config) because
1. the settings object would have had to have been passed around
   a couple dozen additional files/functions,
2. it's reasonable to expect the plugin location to be consistent
   across threads in a multi-threaded, airshipctl-as-library context.

Settings_test.go was moved in to an environment_test package to avoid
a circular import dependency.

Change-Id: Icdd21bd3687ef42492e388af982d7b490af3eff3
2020-05-15 15:06:32 -05:00

68 lines
2.4 KiB
Go

/*
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
https://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
package config
import "opendev.org/airship/airshipctl/pkg/remote/redfish"
// Constants related to the ClusterType type
const (
Ephemeral = "ephemeral"
Target = "target"
AirshipClusterNameSeparator = "_"
AirshipDefaultClusterType = Target
)
// Constants related to Phases
const (
InitinfraPhase = "initinfra"
ClusterctlPhase = InitinfraPhase
BootstrapPhase = "bootstrap"
)
// AllClusterTypes holds cluster types
var AllClusterTypes = [2]string{Ephemeral, Target}
// Constants defining default values
const (
AirshipConfig = "config"
AirshipConfigAPIVersion = AirshipConfigGroup + "/" + AirshipConfigVersion
AirshipConfigDir = ".airship"
AirshipConfigEnv = "AIRSHIPCONFIG"
AirshipConfigGroup = "airshipit.org"
AirshipConfigKind = "Config"
AirshipConfigVersion = "v1alpha1"
AirshipDefaultBootstrapInfo = "default"
AirshipDefaultContext = "default"
AirshipDefaultManagementConfiguration = "default"
AirshipDefaultManifest = "default"
AirshipDefaultManifestRepo = "treasuremap"
AirshipDefaultManifestRepoLocation = "https://opendev.org/airship/" + AirshipDefaultManifestRepo
AirshipKubeConfig = "kubeconfig"
AirshipKubeConfigEnv = "AIRSHIP_KUBECONFIG"
AirshipPluginPath = "kustomize-plugins"
AirshipPluginPathEnv = "AIRSHIP_KUSTOMIZE_PLUGINS"
// Modules
AirshipDefaultBootstrapImage = "quay.io/airshipit/isogen:latest-debian_stable"
AirshipDefaultIsoURL = "http://localhost:8099/debian-custom.iso"
AirshipDefaultRemoteType = redfish.ClientType
)
// Default values for remote operations
const (
DefaultSystemActionRetries = 30
DefaultSystemRebootDelay = 30
)