* Use builder and container names when creating environment K8s object instead of keeping it empty. Add skeleton for podSpec field to give user an idea of how to use podSpec field. * Add a positive test for env podSpec * Add the test to CI tests * Remove duplicate wait_for_builder function * Fix CI tests failure * Fix CI tests failure * Add a negative test for env podSpec * Fix issues with negative test * Removing negative test as it may break executor which will affect other tests * Rebase with main as executor issue is fixed. Add the negative test. * Fix negative test --------- Signed-off-by: Md Soharab Ansari <soharab.ansari@infracloud.io>
174 lines
4.3 KiB
Go
174 lines
4.3 KiB
Go
/*
|
|
Copyright 2018 The Fission Authors.
|
|
|
|
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
|
|
|
|
http://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 v1
|
|
|
|
var (
|
|
MinimumKubernetesVersion = [3]int{1, 19, 0}
|
|
)
|
|
|
|
const (
|
|
EXECUTOR_INSTANCEID_LABEL string = "executorInstanceId"
|
|
DEFAULT_FUNCTION_TIMEOUT int = 60
|
|
)
|
|
|
|
const (
|
|
// ResourceVersionCount env variable is used for updating configmaps and secrets in pods
|
|
ResourceVersionCount string = "RESOURCE_VERSION_COUNT"
|
|
)
|
|
|
|
const (
|
|
ChecksumTypeSHA256 ChecksumType = "sha256"
|
|
)
|
|
|
|
const (
|
|
// ArchiveTypeLiteral means the package contents are specified in the Literal field of
|
|
// resource itself.
|
|
ArchiveTypeLiteral ArchiveType = "literal"
|
|
|
|
// ArchiveTypeUrl means the package contents are at the specified URL.
|
|
ArchiveTypeUrl ArchiveType = "url"
|
|
)
|
|
|
|
const (
|
|
BuildStatusPending = "pending"
|
|
BuildStatusRunning = "running"
|
|
BuildStatusSucceeded = "succeeded"
|
|
BuildStatusFailed = "failed"
|
|
BuildStatusNone = "none"
|
|
)
|
|
|
|
const (
|
|
AllowedFunctionsPerContainerSingle = "single"
|
|
AllowedFunctionsPerContainerInfinite = "infinite"
|
|
)
|
|
|
|
const (
|
|
ExecutorTypePoolmgr ExecutorType = "poolmgr"
|
|
ExecutorTypeNewdeploy ExecutorType = "newdeploy"
|
|
ExecutorTypeContainer ExecutorType = "container"
|
|
)
|
|
|
|
const (
|
|
StrategyTypeExecution = "execution"
|
|
)
|
|
|
|
const (
|
|
RuntimePodSpecPath = "/etc/fission/runtime-podspec-patch.yaml"
|
|
BuilderPodSpecPath = "/etc/fission/builder-podspec-patch.yaml"
|
|
)
|
|
|
|
const (
|
|
SharedVolumeUserfunc = "userfunc"
|
|
SharedVolumePackages = "packages"
|
|
SharedVolumeSecrets = "secrets"
|
|
SharedVolumeConfigmaps = "configmaps"
|
|
PodInfoVolume = "podinfo"
|
|
PodInfoMount = "/etc/podinfo"
|
|
)
|
|
|
|
const (
|
|
MessageQueueTypeKafka = "kafka"
|
|
)
|
|
|
|
const (
|
|
// FunctionReferenceFunctionName means that the function
|
|
// reference is simply by function name.
|
|
FunctionReferenceTypeFunctionName = "name"
|
|
|
|
FunctionReferenceTypeFunctionWeights = "function-weights"
|
|
|
|
// Other function reference types we'd like to support:
|
|
// Versioned function, latest version
|
|
// Versioned function. by semver "latest compatible"
|
|
// Set of function references (recursively), by percentage of traffic
|
|
)
|
|
|
|
const (
|
|
// failure type currently supported is http status code. This could be extended
|
|
// in the future.
|
|
FailureTypeStatusCode FailureType = "status-code"
|
|
|
|
// Status of canary config can be one of the following
|
|
CanaryConfigStatusPending = "pending"
|
|
CanaryConfigStatusSucceeded = "succeeded"
|
|
CanaryConfigStatusFailed = "failed"
|
|
CanaryConfigStatusAborted = "aborted"
|
|
|
|
// set a max number for iterations to prevent infinite processing of canary config
|
|
MaxIterationsForCanaryConfig = 10
|
|
)
|
|
|
|
const (
|
|
DefaultSpecializationTimeOut = 120
|
|
)
|
|
|
|
const (
|
|
FETCH_SOURCE = iota
|
|
FETCH_DEPLOYMENT
|
|
FETCH_URL
|
|
)
|
|
|
|
// executor kubernetes object label key
|
|
const (
|
|
ENVIRONMENT_NAMESPACE = "environmentNamespace"
|
|
ENVIRONMENT_NAME = "environmentName"
|
|
ENVIRONMENT_UID = "environmentUid"
|
|
FUNCTION_NAMESPACE = "functionNamespace"
|
|
FUNCTION_NAME = "functionName"
|
|
FUNCTION_UID = "functionUid"
|
|
FUNCTION_RESOURCE_VERSION = "functionResourceVersion"
|
|
EXECUTOR_TYPE = "executorType"
|
|
MANAGED = "managed"
|
|
)
|
|
|
|
const (
|
|
ANNOTATION_SVC_HOST = "svcHost"
|
|
)
|
|
|
|
const (
|
|
ArchiveLiteralSizeLimit int64 = 256 * 1024
|
|
)
|
|
|
|
const (
|
|
FissionBuilderSA = "fission-builder"
|
|
FissionFetcherSA = "fission-fetcher"
|
|
)
|
|
|
|
const (
|
|
CanaryConfigResource = "canaryconfigs"
|
|
EnvironmentResource = "environments"
|
|
FunctionResource = "functions"
|
|
HttpTriggerResource = "httptriggers"
|
|
KubernetesWatchResource = "kuberneteswatchtriggers"
|
|
MessageQueueResource = "messagequeuetriggers"
|
|
PackagesResource = "packages"
|
|
TimeTriggerResource = "timetriggers"
|
|
)
|
|
|
|
const (
|
|
Pods = "pods"
|
|
Deployments = "deployments"
|
|
ReplicaSets = "replicasets"
|
|
Services = "services"
|
|
ConfigMaps = "configmaps"
|
|
Secrets = "secrets"
|
|
)
|
|
|
|
const (
|
|
BuilderContainerName = "builder"
|
|
)
|