From a35015352bab9276697b85d4b684cba1403b8f0a Mon Sep 17 00:00:00 2001 From: Carlos Eduardo Arango Gutierrez Date: Thu, 1 Aug 2024 12:13:12 +0200 Subject: [PATCH] Fix removed ENV VAR Translation Signed-off-by: Carlos Eduardo Arango Gutierrez --- cmd/action/ci/entrypoint.go | 28 ++++++++++++++++++++++++++++ cmd/action/ci/provider.go | 12 ++++++------ 2 files changed, 34 insertions(+), 6 deletions(-) diff --git a/cmd/action/ci/entrypoint.go b/cmd/action/ci/entrypoint.go index 6e1440868..c3725ab0e 100644 --- a/cmd/action/ci/entrypoint.go +++ b/cmd/action/ci/entrypoint.go @@ -49,6 +49,34 @@ func entrypoint(log *logger.FunLogger) error { cfg.Spec.ContainerRuntime.Name = v1alpha1.ContainerRuntimeNone } + // Read Inputs + // INPUT_* vars are optional since v0.2 of the action + // Users can set the variables on self hosted runners. + // Get INPUT_AWS_SSH_KEY to set AWS_SSH_KEY + sshKey := os.Getenv("INPUT_AWS_SSH_KEY") + if sshKey != "" { + err := os.Setenv("AWS_SSH_KEY", sshKey) + if err != nil { + return fmt.Errorf("failed to set AWS_SSH_KEY: %v", err) + } + } + // Map INPUT_AWS_ACCESS_KEY_ID and INPUT_AWS_SECRET_ACCESS_KEY + // to AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY + accessKeyID := os.Getenv("INPUT_AWS_ACCESS_KEY_ID") + if accessKeyID != "" { + err := os.Setenv("AWS_ACCESS_KEY_ID", accessKeyID) + if err != nil { + return fmt.Errorf("failed to set AWS_ACCESS_KEY_ID: %v", err) + } + } + secretAccessKey := os.Getenv("INPUT_AWS_SECRET_ACCESS_KEY") + if secretAccessKey != "" { + err := os.Setenv("AWS_SECRET_ACCESS_KEY", secretAccessKey) + if err != nil { + return fmt.Errorf("failed to set AWS_SECRET_ACCESS_KEY: %v", err) + } + } + provider, err := newProvider(log, cfg) if err != nil { return fmt.Errorf("failed to create provider: %v", err) diff --git a/cmd/action/ci/provider.go b/cmd/action/ci/provider.go index 03812a587..67dd83bdf 100644 --- a/cmd/action/ci/provider.go +++ b/cmd/action/ci/provider.go @@ -55,7 +55,7 @@ func newAwsProvider(log *logger.FunLogger, cfg v1alpha1.Environment) (*aws.Provi err := os.Mkdir(cachedir, 0755) if err != nil { log.Error(fmt.Errorf("error creating cache directory: %s", err)) - os.Exit(1) + return nil, err } } @@ -63,13 +63,13 @@ func newAwsProvider(log *logger.FunLogger, cfg v1alpha1.Environment) (*aws.Provi sshKey := os.Getenv("AWS_SSH_KEY") if sshKey == "" { log.Error(fmt.Errorf("ssh key not provided")) - os.Exit(1) + return nil, fmt.Errorf("ssh key not provided") } err := os.WriteFile(sshKeyFile, []byte(sshKey), 0600) if err != nil { log.Error(fmt.Errorf("error writing ssh key to file: %s", err)) - os.Exit(1) + return nil, err } // Set auth.PrivateKey @@ -93,7 +93,7 @@ func newVsphereProvider(log *logger.FunLogger, cfg v1alpha1.Environment) (*vsphe err := os.Mkdir(cachedir, 0755) if err != nil { log.Error(fmt.Errorf("error creating cache directory: %s", err)) - os.Exit(1) + return nil, err } } @@ -101,13 +101,13 @@ func newVsphereProvider(log *logger.FunLogger, cfg v1alpha1.Environment) (*vsphe sshKey := os.Getenv("VSPHERE_SSH_KEY") if sshKey == "" { log.Error(fmt.Errorf("ssh key not provided")) - os.Exit(1) + return nil, fmt.Errorf("ssh key not provided") } err := os.WriteFile(sshKeyFile, []byte(sshKey), 0600) if err != nil { log.Error(fmt.Errorf("error writing ssh key to file: %s", err)) - os.Exit(1) + return nil, err } // Set auth.PrivateKey