summaryrefslogtreecommitdiffstats
path: root/config-model/src/main/perl/vespa-deploy
diff options
context:
space:
mode:
Diffstat (limited to 'config-model/src/main/perl/vespa-deploy')
-rwxr-xr-xconfig-model/src/main/perl/vespa-deploy31
1 files changed, 27 insertions, 4 deletions
diff --git a/config-model/src/main/perl/vespa-deploy b/config-model/src/main/perl/vespa-deploy
index fede8b994c1..ffde937bea0 100755
--- a/config-model/src/main/perl/vespa-deploy
+++ b/config-model/src/main/perl/vespa-deploy
@@ -87,7 +87,7 @@ readConfFile();
use strict;
use warnings;
use feature qw(switch say);
-use vars qw/ $opt_c $opt_h $opt_n $opt_v $opt_f $opt_t $opt_a $opt_e $opt_E $opt_r $opt_i $opt_p $opt_H $opt_R $opt_F $opt_V /;
+use vars qw/ $opt_c $opt_h $opt_n $opt_v $opt_f $opt_t $opt_a $opt_e $opt_E $opt_r $opt_i $opt_p $opt_z $opt_H $opt_R $opt_F $opt_V /;
use Env qw($HOME);
use JSON;
use Getopt::Std;
@@ -101,6 +101,9 @@ my $configsource_url_used_file = "$cloudconfig_dir/deploy-configsource-url-used"
my $pathPrefix;
+my $siaPath;
+my $siaCertsPath;
+my $siaKeysPath;
my $tenant = "default";
my $application = "default";
my $environment = "prod";
@@ -109,7 +112,8 @@ my $instance = "default";
my $version = "v2";
my $configserver = "";
my $port = "19071";
-getopts('c:fhnt:ve:E:r:a:i:p:HR:F:V:');
+my $cert = "";
+getopts('c:fhnt:ve:E:r:a:i:p:z:HR:F:V:');
if ($opt_h) {
usage();
@@ -144,8 +148,18 @@ if ($opt_p) {
$port = $opt_p;
}
+if ($opt_z) {
+ $cert = $opt_z;
+}
+
$pathPrefix = "/application/v2/tenant/$tenant/session";
+$siaPath = "/var/lib/sia/";
+
+$siaCertsPath = $siaPath . "certs/";
+
+$siaKeysPath = $siaPath . "keys/";
+
create_cloudconfig_dir();
$session_id_file = "$cloudconfig_dir/$tenant/deploy-session-id";
@@ -153,7 +167,10 @@ $session_id_file = "$cloudconfig_dir/$tenant/deploy-session-id";
my $command = shift;
$command ||= "help";
-my $curl_command = $VESPA_HOME . '/libexec/vespa/vespa-curl-wrapper -A vespa-deploy --silent --show-error --connect-timeout 30 --max-time 1200';
+my $curl_command = 'curl -A vespa-deploy --silent --show-error --connect-timeout 30 --max-time 1200';
+if ($cert) {
+ $curl_command = $curl_command . " -k --cert " . $siaCertsPath . $cert . ".cert.pem --key " . $siaKeysPath . $cert . ".key.pem ";
+}
my $CURL_PUT = $curl_command . ' --write-out \%{http_code} --request PUT';
my $CURL_GET = $curl_command . ' --request GET';
@@ -247,6 +264,8 @@ sub usage {
print " '-t <timeout>' (timeout in seconds)\n";
print " '-c <server>' (config server hostname)\n";
print " '-p <port>' (config server http port)\n";
+ print " '-z <cert>' (cert/key name)\n\n";
+
print "Try 'vespa-deploy help <command>' to get more help\n";
}
@@ -328,7 +347,11 @@ sub get_configsource_url {
my @configsources;
if ($configserver and $configserver ne "") {
- @configsources = ('http://' . $configserver . ':' . $port . '/');
+ if ($cert and $cert ne "") {
+ @configsources = ('https://' . $configserver . ':' . $port . '/');
+ } else {
+ @configsources = ('http://' . $configserver . ':' . $port . '/');
+ }
} else {
@configsources = split(' ', `$VESPA_HOME/bin/vespa-print-default configservers_http`);
}