builder/build/cnb/lang_php.go
Rama main · réplica de lectura del repositorio original.
package cnb
import (
"strings"
"github.com/goodrain/rainbond/builder/build"
corev1 "k8s.io/api/core/v1"
)
type phpConfig struct{}
func (p *phpConfig) BuildAnnotations(re *build.Request, annotations map[string]string) {
applyDependencyMirrorAnnotation(annotations)
if version := firstNonEmptyEnv(re.BuildEnvs, "BP_PHP_VERSION", "BUILD_RUNTIMES", "RUNTIMES"); version != "" {
setAnnotationValue(annotations, "cnb-bp-php-version", version)
}
server := strings.TrimSpace(re.BuildEnvs["BUILD_RUNTIMES_SERVER"])
if server == "" {
server = "nginx"
}
setAnnotationValue(annotations, "cnb-bp-php-server", server)
setAnnotationValue(annotations, "cnb-bp-composer-version", firstNonEmptyEnv(re.BuildEnvs, "BP_COMPOSER_VERSION", "BUILD_COMPOSER_VERSION"))
setAnnotationValue(annotations, "cnb-bp-composer-install-options", firstNonEmptyEnv(re.BuildEnvs, "BP_COMPOSER_INSTALL_OPTIONS", "BUILD_COMPOSER_INSTALL_OPTIONS"))
setAnnotationValue(annotations, "cnb-bp-composer-install-global", re.BuildEnvs["BUILD_COMPOSER_INSTALL_GLOBAL"])
setAnnotationValue(annotations, "cnb-bp-php-web-dir", firstNonEmptyEnv(re.BuildEnvs, "BP_PHP_WEB_DIR", "BUILD_PHP_WEB_DIR"))
if truthyBuildEnv(re.BuildEnvs["BUILD_PHP_NGINX_ENABLE_HTTPS"]) {
setAnnotationValue(annotations, "cnb-bp-php-nginx-enable-https", "true")
}
if truthyBuildEnv(re.BuildEnvs["BUILD_PHP_ENABLE_HTTPS_REDIRECT"]) {
setAnnotationValue(annotations, "cnb-bp-php-enable-https-redirect", "true")
}
}
func (p *phpConfig) BuildEnvVars(re *build.Request) []corev1.EnvVar {
var envs []corev1.EnvVar
envs = appendEnvVar(envs, "COMPOSER_VENDOR_DIR", firstNonEmptyEnv(re.BuildEnvs, "COMPOSER_VENDOR_DIR", "BUILD_COMPOSER_VENDOR_DIR"))
envs = appendEnvVar(envs, "COMPOSER", firstNonEmptyEnv(re.BuildEnvs, "COMPOSER", "BUILD_COMPOSER_FILE"))
envs = appendEnvVar(envs, "COMPOSER_AUTH", firstNonEmptyEnv(re.BuildEnvs, "COMPOSER_AUTH", "BUILD_COMPOSER_AUTH"))
return envs
}
func (p *phpConfig) InjectMirrorConfig(re *build.Request) error {
return ensureProcfile(re)
}
func (p *phpConfig) CustomOrder(re *build.Request) []orderBuildpack {
return nil
}