From 625941a75f46cd7652850c863e0c2a063cec8a01 Mon Sep 17 00:00:00 2001 From: Fernanda Meheust Date: Tue, 29 Aug 2023 17:40:09 +0200 Subject: [PATCH 01/42] Reserved IP addresses --- datasources.tf | 11 ++++++++--- interface.yaml | 16 ++++++++++++++++ load-balancer.tf | 21 ++++++++++++++------- output.tf | 2 +- screenshots/9_Network.png | Bin 62350 -> 32996 bytes usage_instructions.md | 2 ++ variables.tf | 10 ++++++++++ 7 files changed, 51 insertions(+), 11 deletions(-) diff --git a/datasources.tf b/datasources.tf index e956e73..6b60785 100644 --- a/datasources.tf +++ b/datasources.tf @@ -143,14 +143,14 @@ data "template_file" "oci_deploy_config" { data "template_file" "deploy_script" { depends_on = [ - oci_load_balancer.flexible_loadbalancer, + oci_load_balancer_load_balancer.flexible_loadbalancer, oci_container_instances_container_instance.app_container_instance ] template = "${file("${path.module}/deploy.sh.template")}" vars = { "backend_name" = "${oci_container_instances_container_instance.app_container_instance[count.index].vnics[0].private_ip}:${var.exposed_port}" "backend_set_name" = "${var.application_name}_bset" - "load_balancer_id" = oci_load_balancer.flexible_loadbalancer.id + "load_balancer_id" = oci_load_balancer_load_balancer.flexible_loadbalancer.id "container_instance_id" = oci_container_instances_container_instance.app_container_instance[count.index].id } count = var.nb_copies @@ -216,4 +216,9 @@ data "oci_core_subnet" "db_subnet" { data "oci_core_subnet" "lb_subnet" { subnet_id = local.lb_subnet_id -} \ No newline at end of file +} + +data "oci_core_public_ip" "reserved_ip" { + ip_address = var.reserved_ip_address == "" ? "127.0.0.1" : var.reserved_ip_address + count = var.use_reserved_ip_address ? 1 : 0 +} diff --git a/interface.yaml b/interface.yaml index 15f092c..223afad 100644 --- a/interface.yaml +++ b/interface.yaml @@ -123,6 +123,8 @@ variableGroups: - existing_lb_subnet_id - lb_subnet_cidr - open_https_port + - use_reserved_ip_address + - reserved_ip_address - use_default_lb_configuration - maximum_bandwidth_in_mbps - minimum_bandwidth_in_mbps @@ -757,6 +759,20 @@ variables: subnet public and to open the HTTPS port of the load balancer to the Internet. default: false + use_reserved_ip_address: + type: boolean + required: true + title: Use a reserved IP address + visible: open_https_port + reserved_ip_address: + type: string + required: true + title: Reserved IP address + description: Pre-created public IP that will be used as the IP of this load balancer. This reserved IP will not be deleted when load balancer is deleted. This ip should not be already mapped to any other resource. + visible: + and: + - open_https_port + - use_reserved_ip_address # Container instances configuration shape: type: enum diff --git a/load-balancer.tf b/load-balancer.tf index 1da073c..48fab6f 100644 --- a/load-balancer.tf +++ b/load-balancer.tf @@ -2,7 +2,7 @@ # Licensed under the Universal Permissive License v 1.0 as shown at https://oss.oracle.com/licenses/upl. # creates load balancer and back ends -resource "oci_load_balancer" "flexible_loadbalancer" { +resource "oci_load_balancer_load_balancer" "flexible_loadbalancer" { shape = "flexible" compartment_id = var.compartment_id @@ -16,6 +16,13 @@ resource "oci_load_balancer" "flexible_loadbalancer" { minimum_bandwidth_in_mbps = var.minimum_bandwidth_in_mbps } + dynamic "reserved_ips" { + for_each = var.use_reserved_ip_address ? [1] : [] + content { + id = data.oci_core_public_ip.reserved_ip[0].id + } + } + is_private = var.open_https_port ? false : true display_name = local.load-balancer-name } @@ -26,7 +33,7 @@ resource "oci_load_balancer_backend_set" "load_balancer_backend_set" { oci_load_balancer_certificate.backend_certificate ] name = "${var.application_name}_bset" - load_balancer_id = oci_load_balancer.flexible_loadbalancer.id + load_balancer_id = oci_load_balancer_load_balancer.flexible_loadbalancer.id policy = "ROUND_ROBIN" health_checker { @@ -65,7 +72,7 @@ resource "oci_load_balancer_backend_set" "load_balancer_backend_set" { resource "oci_load_balancer_certificate" "backend_certificate" { #Required certificate_name = "backend-certificate" - load_balancer_id = oci_load_balancer.flexible_loadbalancer.id + load_balancer_id = oci_load_balancer_load_balancer.flexible_loadbalancer.id ca_certificate = (local.use-image ? var.ca_pem : tls_self_signed_cert.self_signed_certificate[0].cert_pem) @@ -85,7 +92,7 @@ resource "oci_load_balancer_backend" "load_balancer_backend" { depends_on = [ oci_load_balancer_backend_set.load_balancer_backend_set ] - load_balancer_id = oci_load_balancer.flexible_loadbalancer.id + load_balancer_id = oci_load_balancer_load_balancer.flexible_loadbalancer.id backendset_name = oci_load_balancer_backend_set.load_balancer_backend_set.name ip_address = oci_container_instances_container_instance.app_container_instance[count.index].vnics[0].private_ip port = var.exposed_port @@ -101,7 +108,7 @@ resource "oci_load_balancer_listener" "listener_https" { oci_load_balancer_backend_set.load_balancer_backend_set ] default_backend_set_name = oci_load_balancer_backend_set.load_balancer_backend_set.name - load_balancer_id = oci_load_balancer.flexible_loadbalancer.id + load_balancer_id = oci_load_balancer_load_balancer.flexible_loadbalancer.id name = "${var.application_name}_https" port = 443 protocol = "HTTP" @@ -121,7 +128,7 @@ resource "oci_load_balancer_listener" "listener_http" { oci_load_balancer_backend_set.load_balancer_backend_set ] default_backend_set_name = oci_load_balancer_backend_set.load_balancer_backend_set.name - load_balancer_id = oci_load_balancer.flexible_loadbalancer.id + load_balancer_id = oci_load_balancer_load_balancer.flexible_loadbalancer.id name = "${var.application_name}_http" port = 80 protocol = "HTTP" @@ -137,7 +144,7 @@ resource "oci_dns_rrset" "subdomain_rrset" { items { domain = local.domain_name - rdata = oci_load_balancer.flexible_loadbalancer.ip_address_details[0].ip_address + rdata = oci_load_balancer_load_balancer.flexible_loadbalancer.ip_address_details[0].ip_address rtype = "A" ttl = 30 } diff --git a/output.tf b/output.tf index 9bf43ac..b0194cd 100644 --- a/output.tf +++ b/output.tf @@ -5,5 +5,5 @@ output "app_url" { description = "Application URL : " - value = (var.create_fqdn ? "https://${local.domain_name}" : "http://${oci_load_balancer.flexible_loadbalancer.ip_address_details[0].ip_address}") + value = (var.create_fqdn ? "https://${local.domain_name}" : "http://${oci_load_balancer_load_balancer.flexible_loadbalancer.ip_address_details[0].ip_address}") } diff --git a/screenshots/9_Network.png b/screenshots/9_Network.png index 1392342e10c237fe8ccb7d1418d5efe8fe0986f5..bc45b3ed6373bdc1e2c8efdddd2dbd84de10fbb7 100644 GIT binary patch literal 32996 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ξ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 diff --git a/usage_instructions.md b/usage_instructions.md index 265f216..e7d4b7b 100644 --- a/usage_instructions.md +++ b/usage_instructions.md @@ -183,6 +183,8 @@ The load balancer subnet can either be a private or a public subnet. Resources i - Use existing load balancer subnet - **Select the load balancer subnet:** The Load Balancer will be created using this subnet. This list will contain both public and private subnets. Note that if a private subnet is chosen, the Load Balancer will not have a public IP address and will therefore not be directly accessible from the Internet. - **Open load balancer's HTTPS port:** By checking this checkbox you agree to make the load balancer subnet public and to open the HTTPS port of the load balancer to the Internet. + - **Use a reserved IP address:** check this checkbox to use an existing reserved public IP address. + - **Reserved IP address:** the reserved IP address to use By default the load balancer is configured with a minimum and maximum bandwidth of 10Mbps, the health check URL is set to "/" and the status code 200. These values can be changed if needed. diff --git a/variables.tf b/variables.tf index aea3c67..a8e4ebc 100644 --- a/variables.tf +++ b/variables.tf @@ -457,6 +457,16 @@ variable "current_user_token" { sensitive = true } +variable "use_reserved_ip_address" { + type = bool + default = false +} + +variable "reserved_ip_address" { + type = string + default = "" +} + locals { # application name with branch application_name = (var.branch == "" ? var.application_name : "${var.application_name}-${var.branch}") From ed062df65b8719b7f48539cdc9e3728bef65ccc9 Mon Sep 17 00:00:00 2001 From: Fernanda Meheust Date: Wed, 30 Aug 2023 11:04:26 +0200 Subject: [PATCH 02/42] Moved Certificate OCID to Load Balancer configuration, since application URL can use an external DNS provider --- interface.yaml | 14 +++++++------- load-balancer.tf | 14 +------------- network.tf | 4 ++-- screenshots/8_ApplicationURL.png | Bin 21890 -> 17908 bytes screenshots/9_Network.png | Bin 32996 -> 37511 bytes usage_instructions.md | 2 +- 6 files changed, 11 insertions(+), 23 deletions(-) diff --git a/interface.yaml b/interface.yaml index 223afad..62bc69d 100644 --- a/interface.yaml +++ b/interface.yaml @@ -106,7 +106,6 @@ variableGroups: - dns_compartment - zone - subdomain - - certificate_ocid - title: "Network" variables: - create_new_vcn @@ -123,6 +122,7 @@ variableGroups: - existing_lb_subnet_id - lb_subnet_cidr - open_https_port + - certificate_ocid - use_reserved_ip_address - reserved_ip_address - use_default_lb_configuration @@ -627,12 +627,6 @@ variables: title: Host name description: The host name will be created on the selected Zone and will resolve to the the load balancer's IP address. visible : create_fqdn - certificate_ocid: - type: string - required: true - title: Certificate OCID - description: You must have a SSL certificate available in OCI Certificates service. Provide the certificate OCID for the host name. - visible : create_fqdn # Network create_new_vcn: type: boolean @@ -759,6 +753,12 @@ variables: subnet public and to open the HTTPS port of the load balancer to the Internet. default: false + certificate_ocid: + type: string + required: true + title: Certificate OCID + description: You must have a SSL certificate available in OCI Certificates service. Provide the certificate OCID for the host name. + visible : open_https_port use_reserved_ip_address: type: boolean required: true diff --git a/load-balancer.tf b/load-balancer.tf index 48fab6f..023f9b1 100644 --- a/load-balancer.tf +++ b/load-balancer.tf @@ -120,19 +120,7 @@ resource "oci_load_balancer_listener" "listener_https" { verify_peer_certificate = false verify_depth = 0 } - count = (var.create_fqdn ? 1 : 0) -} - -resource "oci_load_balancer_listener" "listener_http" { - depends_on = [ - oci_load_balancer_backend_set.load_balancer_backend_set - ] - default_backend_set_name = oci_load_balancer_backend_set.load_balancer_backend_set.name - load_balancer_id = oci_load_balancer_load_balancer.flexible_loadbalancer.id - name = "${var.application_name}_http" - port = 80 - protocol = "HTTP" - count = (var.create_fqdn ? 0 : 1) + count = (var.open_https_port ? 1 : 0) } resource "oci_dns_rrset" "subdomain_rrset" { diff --git a/network.tf b/network.tf index e21039c..8b8f9fc 100644 --- a/network.tf +++ b/network.tf @@ -140,8 +140,8 @@ resource "oci_core_network_security_group_security_rule" "lb_ingress_https" { source_type = "CIDR_BLOCK" tcp_options { destination_port_range { - min = (var.create_fqdn ? 443 : 80) - max = (var.create_fqdn ? 443 : 80) + min = 443 + max = 443 } } count = var.open_https_port ? 1 : 0 diff --git a/screenshots/8_ApplicationURL.png b/screenshots/8_ApplicationURL.png index adc2a3629b98bfb1f45b6612d45ed77166be77ec..b883506c6569f6d35e35e492ebd331ce3073fa4c 100644 GIT binary patch literal 17908 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 literal 21890 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 diff --git a/screenshots/9_Network.png b/screenshots/9_Network.png index bc45b3ed6373bdc1e2c8efdddd2dbd84de10fbb7..8e605d6d6ce0ee56297ef6d9932dde905f6c814b 100644 GIT binary patch literal 37511 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
Hy!g8VGw$Y3$V7 zdC;bK@Hh9nuokj^O^dJPOd!tqnxz$AW@mP#1|XJs)qDOt2oY3Q68SV|u?D->;A;21sc2;&d2^ox)hESta zuN=ko%{AH3#-1OOkllk!jDPNT5UK>h- zTWBBZ8-~2y=A{b>-wq0{JVtQfoaah8U0iM>DySVm`2 z>06x=>11J7Bc4+*wv6?bp*zsupjE(W~uv!f>z zzixWa*=8#Cv_y}oKtOz_&M=<|X;F|fs=$$sz%JLsShwnsq z!cu%X+{J<7>W8cXpx&Fq@wa2o&=hdc`Oq60Q1Vzh7Q(4T8y~*BK7bgiFKuhGm$yZE z+}?;{O*rJ?<%%oJOu*^&M!RMnZ-#3Jo)aL0FT}KpmsXr#(O;4Awv#MNn zDV7w2o)UN{Z=E;d!DF45yL`Zo#7)R;{A8hhm zSj7DEt$S?og(Sf~!Ht~EaJ41R-i@pBeU^qG2eHWWA1TtLK=eLsiCU?NC?=3c2RJ9D z7nPD*Ma+NFXCiXQ_l#qWR`mEJxeYwCEn8wDitXcpcsrd7_m<-40p^cl3Q+L>j%Fun zrKo?s0uXYuRuq6pp=wH*_Wm{Nz6Xl(V{r|CNcK6-VpzlU0tCfwRK3sBR?zEYPK0_? z3Rj;D z=?LW5KLY~lgNI4BiDw9N<^$}~{a!(63-v>_?O6ZDo5NTt#`s!M;#kr;?ejc~uU}10 zezcXRt5$@0z&}*Gelt-5o@7`1S4?wFNfOU1gxTNmIEo2cMPuK~0xr968-d)zZHySw1V03By zb|%*cJ3rh%>g)fnVt)SrQ*8g=swVxv;liJafJ8&!bW41f*C>+L!N4B`%bp60K> hxbOJSU`v-9Y)=1|_>M$bi*0bJfu8A&%Io){{|9@tl7j#M literal 32996 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 Date: Thu, 22 Feb 2024 18:11:10 +0100 Subject: [PATCH 03/42] Remove changes that removes port 80 --- load-balancer.tf | 12 ++++++++++++ network.tf | 4 ++-- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/load-balancer.tf b/load-balancer.tf index 023f9b1..7ebbaba 100644 --- a/load-balancer.tf +++ b/load-balancer.tf @@ -123,6 +123,18 @@ resource "oci_load_balancer_listener" "listener_https" { count = (var.open_https_port ? 1 : 0) } +resource "oci_load_balancer_listener" "listener_http" { + depends_on = [ + oci_load_balancer_backend_set.load_balancer_backend_set + ] + default_backend_set_name = oci_load_balancer_backend_set.load_balancer_backend_set.name + load_balancer_id = oci_load_balancer.flexible_loadbalancer.id + name = "${var.application_name}_http" + port = 80 + protocol = "HTTP" + count = (var.create_fqdn ? 0 : (var.open_https_port ? 1 : 0)) +} + resource "oci_dns_rrset" "subdomain_rrset" { #Required domain = local.domain_name diff --git a/network.tf b/network.tf index 8b8f9fc..e21039c 100644 --- a/network.tf +++ b/network.tf @@ -140,8 +140,8 @@ resource "oci_core_network_security_group_security_rule" "lb_ingress_https" { source_type = "CIDR_BLOCK" tcp_options { destination_port_range { - min = 443 - max = 443 + min = (var.create_fqdn ? 443 : 80) + max = (var.create_fqdn ? 443 : 80) } } count = var.open_https_port ? 1 : 0 From f3f6ed919559a4dc9cec4b573db62de3bfe72abf Mon Sep 17 00:00:00 2001 From: Fernanda Meheust Date: Thu, 22 Feb 2024 18:18:38 +0100 Subject: [PATCH 04/42] open https port when certificate is provided --- load-balancer.tf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/load-balancer.tf b/load-balancer.tf index 7ebbaba..abb3f83 100644 --- a/load-balancer.tf +++ b/load-balancer.tf @@ -120,7 +120,7 @@ resource "oci_load_balancer_listener" "listener_https" { verify_peer_certificate = false verify_depth = 0 } - count = (var.open_https_port ? 1 : 0) + count = (var.open_https_port ? ( var.certificate_ocid != "none" ? 1 : 0) : 0) } resource "oci_load_balancer_listener" "listener_http" { From 505931ce537ff614c3068960b5ae23bdb197dfd2 Mon Sep 17 00:00:00 2001 From: Fernanda Meheust Date: Thu, 22 Feb 2024 18:30:10 +0100 Subject: [PATCH 05/42] Removed certificate changes --- interface.yaml | 114 ++++++++++++++++++++---------------------- usage_instructions.md | 3 +- 2 files changed, 57 insertions(+), 60 deletions(-) diff --git a/interface.yaml b/interface.yaml index c2bf950..41a895f 100644 --- a/interface.yaml +++ b/interface.yaml @@ -27,7 +27,7 @@ variableGroups: variables: - compartment_id - availability_domain -###APPLICATION_GROUP### + ###APPLICATION_GROUP### - title: "Stack authentication" variables: - use_existing_vault @@ -50,7 +50,7 @@ variableGroups: - autonomous_database - autonomous_database_user - autonomous_database_password -###APP_CONFIG_GROUP### + ###APP_CONFIG_GROUP### - title: "Application URL" variables: - create_fqdn @@ -106,7 +106,7 @@ variables: dependsOn: compartmentId: ${compartment_id} # Application -###APPLICATION### + ###APPLICATION### # APM is_free_tier: type: boolean @@ -125,7 +125,7 @@ variables: required: true title: Autonomous Database display name description: A user-friendly name to help you easily identify the resource. - visible: + visible: not: - use_existing_database autonomous_database_admin_password: @@ -134,9 +134,9 @@ variables: # validate description: Password must be 12 to 30 characters and contain at least one uppercase letter, one lowercase letter, and one number. The password cannot contain the double quote (") character or the username "admin". required: true - - visible: - not: + + visible: + not: - use_existing_database data_storage_size_in_tbs: type: number @@ -144,7 +144,7 @@ variables: title: Storage (TB) description: The amount of storage to allocate. default: 1 - visible: + visible: not: - use_existing_database # cpu_core_count: @@ -153,7 +153,7 @@ variables: # title: CPU core count # description: The number of OCPU cores to be made available to the database # default: 2 - # visible: + # visible: # not: # - use_existing_database ocpu_count: @@ -162,7 +162,7 @@ variables: title: OCPU count description: The number of OCPU cores to enable. Available cores are subject to your tenancy's service limits. default: 1 - visible: + visible: not: - use_existing_database db_compartment: @@ -171,9 +171,9 @@ variables: title: Autonomous Database compartment description: The compartment conataining the Autonomous Database. default: ${compartment_id} - visible: - and: - - use_existing_database + visible: + and: + - use_existing_database autonomous_database: type: oci:database:autonomousdatabase:id required: true @@ -181,8 +181,8 @@ variables: description: The Autonomous Database used by the application. dependsOn: compartmentId: ${db_compartment} - visible: - and: + visible: + and: - use_existing_database autonomous_database_user: type: string @@ -190,16 +190,16 @@ variables: title: DB username default: "" description: The username used to connect to the database. - visible: - and: + visible: + and: - use_existing_database autonomous_database_password: type: password title: DB user password required: true description: The password of the user used to access the database. - visible: - and: + visible: + and: - use_existing_database # Vault use_existing_vault: @@ -215,7 +215,7 @@ variables: required: true visible: not: - - use_existing_vault + - use_existing_vault vault_compartment_id: type: oci:identity:compartment:id required: true @@ -246,13 +246,13 @@ variables: visible: and: - use_existing_vault -###APP_CONFIG### + ###APP_CONFIG### # FQDN create_fqdn: - type : boolean + type: boolean required: true default: true - title : Create DNS record + title: Create DNS record description: If you check this checkbox the stack will create a DNS record that will resolve to the load balancer's IP address. dns_compartment: type: oci:identity:compartment:id @@ -261,18 +261,24 @@ variables: title: DNS and Certificate compartement description: Compartment containing the DNS Zone and the Certificate visible: create_fqdn - zone : + zone: type: string required: true title: DNS Zone - description : Domain name in which the host name will be created. - visible : create_fqdn + description: Domain name in which the host name will be created. + visible: create_fqdn subdomain: type: string required: true title: Host name description: The host name will be created on the selected Zone and will resolve to the the load balancer's IP address. - visible : create_fqdn + visible: create_fqdn + certificate_ocid: + type: string + required: true + title: Certificate OCID + description: You must have a SSL certificate available in OCI Certificates service. Provide the certificate OCID for the host name. + visible: create_fqdn # Network create_new_vcn: type: boolean @@ -284,14 +290,14 @@ variables: required: true title: The compartment of the existing VCN. default: compartment_ocid - visible: + visible: not: - create_new_vcn existing_vcn_id: type: oci:core:vcn:id required: true title: Select to VCN - visible: + visible: not: - create_new_vcn dependsOn: @@ -309,8 +315,8 @@ variables: required: true title: Use existing Application Subnet default: false - visible: - not : + visible: + not: - create_new_vcn existing_app_subnet_id: type: oci:core:subnet:id @@ -337,11 +343,11 @@ variables: title: Use existing Database Subnet default: false visible: - and: - - not: - - create_new_vcn + and: + - not: + - create_new_vcn - not: - - use_existing_database + - use_existing_database existing_db_subnet_id: type: oci:core:subnet:id required: true @@ -354,23 +360,23 @@ variables: db_subnet_cidr: type: string required: true - title: 'Database Subnet Creation: IPv4 CIDR Blocks' - description: 'The Autonomous Database will be created in this subnet. For example: 10.0.0.128/26' + title: "Database Subnet Creation: IPv4 CIDR Blocks" + description: "The Autonomous Database will be created in this subnet. For example: 10.0.0.128/26" default: "10.0.0.128/26" pattern: "^(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9]).(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9]).(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9]).(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])\\/(3[0-2]|[1-2]?[0-9])$" - visible: + visible: and: - - not: - - use_existing_db_subnet - not: - - use_existing_database + - use_existing_db_subnet + - not: + - use_existing_database use_existing_lb_subnet: type: boolean required: true title: Use existing Load Balancer Subnet default: false - visible: - not : + visible: + not: - create_new_vcn existing_lb_subnet_id: type: oci:core:subnet:id @@ -388,23 +394,17 @@ variables: description: The load balancer will be created in this subnet. pattern: "^(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9]).(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9]).(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9]).(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])\\/(3[0-2]|[1-2]?[0-9])$" default: "10.0.0.192/26" - visible: + visible: not: - use_existing_lb_subnet open_https_port: type: boolean required: true title: Open load balancer's HTTPS port - description: By checking this checkbox you agree to make the load balancer - subnet public and to open the HTTPS port of the load balancer to the + description: By checking this checkbox you agree to make the load balancer + subnet public and to open the HTTPS port of the load balancer to the Internet. default: false - certificate_ocid: - type: string - required: true - title: Certificate OCID - description: You must have a SSL certificate available in OCI Certificates service. Provide the certificate OCID for the host name. - visible : open_https_port use_reserved_ip_address: type: boolean required: true @@ -455,7 +455,7 @@ variables: type: number required: true title: Maximum bandwidth (Mbps) - description : 10Mbps for always free load balancer + description: 10Mbps for always free load balancer default: 10 visible: not: @@ -464,7 +464,7 @@ variables: type: number required: true title: Minimum bandwidth (Mbps) - description : 10Mbps for always free load balancer + description: 10Mbps for always free load balancer default: 10 visible: not: @@ -492,7 +492,7 @@ variables: required: true default: false title: Enable cookie-based session persistence - visible: + visible: not: use_default_lb_configuration session_affinity: type: enum @@ -521,7 +521,3 @@ outputs: type: link title: Application URL visible: true - - - - diff --git a/usage_instructions.md b/usage_instructions.md index 70b3720..b8f75c0 100644 --- a/usage_instructions.md +++ b/usage_instructions.md @@ -135,6 +135,8 @@ This is optional but if you have a DNS domain that's managed in OCI you can conf - **DNS and Certificate compartement:** select the compartment containing the DNS Zone and the Certificate - **DNS zone:** Domain name in which the hostname will be created. - **Hostname:** The hostname will be created on the selected Zone and will resolve to the load balancer's IP address. + - **Certificate OCID:** certificate for the application URL, this certificate will be added to the load balancer + ## Network @@ -177,7 +179,6 @@ The load balancer subnet can either be a private or a public subnet. Resources i - Use existing load balancer subnet - **Select the load balancer subnet:** The Load Balancer will be created using this subnet. This list will contain both public and private subnets. Note that if a private subnet is chosen, the Load Balancer will not have a public IP address and will therefore not be directly accessible from the Internet. - **Open load balancer's HTTPS port:** By checking this checkbox you agree to make the load balancer subnet public and to open the HTTPS port of the load balancer to the Internet. - - **Certificate OCID:** certificate for the application URL, this certificate will be added to the load balancer - **Use a reserved IP address:** check this checkbox to use an existing reserved public IP address. - **Reserved IP address:** the reserved IP address to use From ae8a166cfd4d3b9eae084b147028c961c6bcf0d6 Mon Sep 17 00:00:00 2001 From: Fernanda Meheust Date: Thu, 22 Feb 2024 18:31:19 +0100 Subject: [PATCH 06/42] undo certificate changes --- interface.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/interface.yaml b/interface.yaml index 41a895f..2455c7b 100644 --- a/interface.yaml +++ b/interface.yaml @@ -57,6 +57,7 @@ variableGroups: - dns_compartment - zone - subdomain + - certificate_ocid - title: "Network" variables: - create_new_vcn @@ -73,7 +74,6 @@ variableGroups: - existing_lb_subnet_id - lb_subnet_cidr - open_https_port - - certificate_ocid - use_reserved_ip_address - reserved_ip_address - use_default_lb_configuration From 4fb164a650cb6bca120a87e2c807543f2dc8a2b9 Mon Sep 17 00:00:00 2001 From: Fernanda Meheust Date: Thu, 22 Feb 2024 18:35:34 +0100 Subject: [PATCH 07/42] update load balancer --- load-balancer.tf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/load-balancer.tf b/load-balancer.tf index abb3f83..b214f69 100644 --- a/load-balancer.tf +++ b/load-balancer.tf @@ -128,7 +128,7 @@ resource "oci_load_balancer_listener" "listener_http" { oci_load_balancer_backend_set.load_balancer_backend_set ] default_backend_set_name = oci_load_balancer_backend_set.load_balancer_backend_set.name - load_balancer_id = oci_load_balancer.flexible_loadbalancer.id + load_balancer_id = oci_load_balancer_load_balancer.flexible_loadbalancer.id name = "${var.application_name}_http" port = 80 protocol = "HTTP" From 1704be19f1a36760657257fe35d850ee6589a52a Mon Sep 17 00:00:00 2001 From: Fernanda Meheust Date: Thu, 22 Feb 2024 20:38:11 +0100 Subject: [PATCH 08/42] images --- screenshots/7_Vault.png | Bin 26359 -> 19427 bytes screenshots/8_ApplicationURL.png | Bin 17908 -> 22216 bytes screenshots/9_Network.png | Bin 37511 -> 34117 bytes 3 files changed, 0 insertions(+), 0 deletions(-) diff --git a/screenshots/7_Vault.png b/screenshots/7_Vault.png index 5474450d5ae2e02a33686781da0dd33c0d8fc5f9..165592aee01e1e05b38329374c21d1777d3d2f79 100644 GIT binary patch literal 19427 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�>Q2v|_3Ql-abiUGCUP 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 literal 26359 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 Bk9+_C diff --git a/screenshots/8_ApplicationURL.png b/screenshots/8_ApplicationURL.png index b883506c6569f6d35e35e492ebd331ce3073fa4c..d7ee4fd7a7fb61e91dfc0c9f420c122133a423a6 100644 GIT binary patch literal 22216 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 diff --git a/screenshots/9_Network.png b/screenshots/9_Network.png index 8e605d6d6ce0ee56297ef6d9932dde905f6c814b..3f2160fa5ddec89d12ad0f0167a05e39b2e143a6 100644 GIT binary patch literal 34117 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 literal 37511 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
Hy!g8VGw$Y3$V7 zdC;bK@Hh9nuokj^O^dJPOd!tqnxz$AW@mP#1|XJs)qDOt2oY3Q68SV|u?D->;A;21sc2;&d2^ox)hESta zuN=ko%{AH3#-1OOkllk!jDPNT5UK>h- zTWBBZ8-~2y=A{b>-wq0{JVtQfoaah8U0iM>DySVm`2 z>06x=>11J7Bc4+*wv6?bp*zsupjE(W~uv!f>z zzixWa*=8#Cv_y}oKtOz_&M=<|X;F|fs=$$sz%JLsShwnsq z!cu%X+{J<7>W8cXpx&Fq@wa2o&=hdc`Oq60Q1Vzh7Q(4T8y~*BK7bgiFKuhGm$yZE z+}?;{O*rJ?<%%oJOu*^&M!RMnZ-#3Jo)aL0FT}KpmsXr#(O;4Awv#MNn zDV7w2o)UN{Z=E;d!DF45yL`Zo#7)R;{A8hhm zSj7DEt$S?og(Sf~!Ht~EaJ41R-i@pBeU^qG2eHWWA1TtLK=eLsiCU?NC?=3c2RJ9D z7nPD*Ma+NFXCiXQ_l#qWR`mEJxeYwCEn8wDitXcpcsrd7_m<-40p^cl3Q+L>j%Fun zrKo?s0uXYuRuq6pp=wH*_Wm{Nz6Xl(V{r|CNcK6-VpzlU0tCfwRK3sBR?zEYPK0_? z3Rj;D z=?LW5KLY~lgNI4BiDw9N<^$}~{a!(63-v>_?O6ZDo5NTt#`s!M;#kr;?ejc~uU}10 zezcXRt5$@0z&}*Gelt-5o@7`1S4?wFNfOU1gxTNmIEo2cMPuK~0xr968-d)zZHySw1V03By zb|%*cJ3rh%>g)fnVt)SrQ*8g=swVxv;liJafJ8&!bW41f*C>+L!N4B`%bp60K> hxbOJSU`v-9Y)=1|_>M$bi*0bJfu8A&%Io){{|9@tl7j#M From d67f18a6aff2ce54eddc5912c325168e69ce2dc8 Mon Sep 17 00:00:00 2001 From: Fernanda Meheust Date: Fri, 23 Feb 2024 09:13:07 +0100 Subject: [PATCH 09/42] moving certificate --- interface.yaml | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/interface.yaml b/interface.yaml index 2455c7b..ff980e7 100644 --- a/interface.yaml +++ b/interface.yaml @@ -57,7 +57,6 @@ variableGroups: - dns_compartment - zone - subdomain - - certificate_ocid - title: "Network" variables: - create_new_vcn @@ -76,6 +75,7 @@ variableGroups: - open_https_port - use_reserved_ip_address - reserved_ip_address + - certificate_ocid - use_default_lb_configuration - maximum_bandwidth_in_mbps - minimum_bandwidth_in_mbps @@ -273,12 +273,6 @@ variables: title: Host name description: The host name will be created on the selected Zone and will resolve to the the load balancer's IP address. visible: create_fqdn - certificate_ocid: - type: string - required: true - title: Certificate OCID - description: You must have a SSL certificate available in OCI Certificates service. Provide the certificate OCID for the host name. - visible: create_fqdn # Network create_new_vcn: type: boolean @@ -419,6 +413,13 @@ variables: and: - open_https_port - use_reserved_ip_address + certificate_ocid: + type: string + required: create_fqdn + title: Certificate OCID + description: You must have a SSL certificate available in OCI Certificates service. Provide the certificate OCID for the host name. + visible: open_https_port + # Container instances configuration shape: type: enum From 4538071d45699f85b9ab013f5e724c0229e483d5 Mon Sep 17 00:00:00 2001 From: Fernanda Meheust Date: Fri, 23 Feb 2024 10:01:27 +0100 Subject: [PATCH 10/42] Moved certificate OCID to Network --- interface.yaml | 2 +- load-balancer.tf | 2 +- variables.tf | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/interface.yaml b/interface.yaml index ff980e7..e3f0d3f 100644 --- a/interface.yaml +++ b/interface.yaml @@ -415,7 +415,7 @@ variables: - use_reserved_ip_address certificate_ocid: type: string - required: create_fqdn + required: false title: Certificate OCID description: You must have a SSL certificate available in OCI Certificates service. Provide the certificate OCID for the host name. visible: open_https_port diff --git a/load-balancer.tf b/load-balancer.tf index b214f69..5f1dc3d 100644 --- a/load-balancer.tf +++ b/load-balancer.tf @@ -120,7 +120,7 @@ resource "oci_load_balancer_listener" "listener_https" { verify_peer_certificate = false verify_depth = 0 } - count = (var.open_https_port ? ( var.certificate_ocid != "none" ? 1 : 0) : 0) + count = (var.open_https_port ? ( var.certificate_ocid != "" ? 1 : 0) : 0) } resource "oci_load_balancer_listener" "listener_http" { diff --git a/variables.tf b/variables.tf index 90cc73f..7d870a6 100644 --- a/variables.tf +++ b/variables.tf @@ -136,7 +136,7 @@ variable "dns_compartment" { variable "certificate_ocid" { type = string description = "Cerfificate ocid" - default = "none" + default = "" } variable "subdomain" { From 6273cff47aea1b473104eeb8ce44812052698328 Mon Sep 17 00:00:00 2001 From: Fernanda Meheust Date: Fri, 23 Feb 2024 10:08:00 +0100 Subject: [PATCH 11/42] Updated usage instructions --- screenshots/8_ApplicationURL.png | Bin 22216 -> 18743 bytes screenshots/9_Network.png | Bin 34117 -> 40156 bytes usage_instructions.md | 2 +- 3 files changed, 1 insertion(+), 1 deletion(-) diff --git a/screenshots/8_ApplicationURL.png b/screenshots/8_ApplicationURL.png index d7ee4fd7a7fb61e91dfc0c9f420c122133a423a6..fc8f93cffcb2912e684d35ad396771889325c393 100644 GIT binary patch literal 18743 zcmd742UJtt+AfL}6%i{)M|$rN=@z6HrMFO|OBDzZs)CA2?>Qq!`K$k9(uW+R&UM2sW@ikC?L{&M!f+L@tcYdh*kcz50p61x@0{Q&1 zw}!bd71gy)%HK2HUSAx@7wue)%=`>JUA=W3{p=j<{OrirsHlQD?cH6ypL)4^`uTFo zTLyCma>|PfbArkLh6?|6c3(>FU!F?=r2cWo-}h6_fuZiZC&g4$8aA4$4~+t?*HCoc z#>mj+Blfncm*^I7CVj+%`)c{FRoxiQ?N~`j&(yE?&;KuHF1{jUhOxTE|NILjwO=&TIS5*qvOChl*pnx(3`Vmaopf6li2@ z*&REos7I0l29(v+Pp{o1g=HvBg(I!q*4loN*6R1hlkiA%)@{lw2gV=W*}p|OLXTXE zqx?R&!E%QD^NRESS<0!ggSYg(+1aBT#Mt;?vp^w=J z``U@7^&AM9;t1|<_nRO*1Gs(uiV}+yts;pZETa5}s$qw(--S^MDmG9hH(ljGh?%Lk zAYeT)UdcfnQ�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� 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 literal 34117 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 diff --git a/usage_instructions.md b/usage_instructions.md index b8f75c0..f8fceff 100644 --- a/usage_instructions.md +++ b/usage_instructions.md @@ -135,7 +135,6 @@ This is optional but if you have a DNS domain that's managed in OCI you can conf - **DNS and Certificate compartement:** select the compartment containing the DNS Zone and the Certificate - **DNS zone:** Domain name in which the hostname will be created. - **Hostname:** The hostname will be created on the selected Zone and will resolve to the load balancer's IP address. - - **Certificate OCID:** certificate for the application URL, this certificate will be added to the load balancer ## Network @@ -181,6 +180,7 @@ The load balancer subnet can either be a private or a public subnet. Resources i - **Open load balancer's HTTPS port:** By checking this checkbox you agree to make the load balancer subnet public and to open the HTTPS port of the load balancer to the Internet. - **Use a reserved IP address:** check this checkbox to use an existing reserved public IP address. - **Reserved IP address:** the reserved IP address to use + - **Certificate OCID:** certificate for the application URL, this certificate will be added to the load balancer By default the load balancer is configured with a minimum and maximum bandwidth of 10Mbps, the health check URL is set to "/" and the status code 200. These values can be changed if needed. From 091ab9ba9ddd23ee3187c148d515a0aa8d48fc53 Mon Sep 17 00:00:00 2001 From: Fernanda Meheust Date: Sun, 25 Feb 2024 00:42:49 +0100 Subject: [PATCH 12/42] Changed condition for load balancer http port --- network.tf | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/network.tf b/network.tf index e21039c..1ab691d 100644 --- a/network.tf +++ b/network.tf @@ -140,8 +140,8 @@ resource "oci_core_network_security_group_security_rule" "lb_ingress_https" { source_type = "CIDR_BLOCK" tcp_options { destination_port_range { - min = (var.create_fqdn ? 443 : 80) - max = (var.create_fqdn ? 443 : 80) + min = (var.certificate_ocid != "" ? 443 : 80) + max = (var.certificate_ocid != "" ? 443 : 80) } } count = var.open_https_port ? 1 : 0 From e8df30da57c8e6bd117c11158bbfb851e42f3259 Mon Sep 17 00:00:00 2001 From: Fernanda Meheust Date: Mon, 11 Mar 2024 19:34:23 +0100 Subject: [PATCH 13/42] do not show private key --- config-repo.tf | 19 +++++-------------- 1 file changed, 5 insertions(+), 14 deletions(-) diff --git a/config-repo.tf b/config-repo.tf index 61232e4..26d395a 100644 --- a/config-repo.tf +++ b/config-repo.tf @@ -19,18 +19,21 @@ resource "oci_devops_repository" "config_repo" { resource "tls_private_key" "rsa_api_key" { algorithm = "RSA" rsa_bits = 4096 + count = (local.use-image ? 0 : 1) } resource "oci_identity_api_key" "user_api_key" { #Required - key_value = tls_private_key.rsa_api_key.public_key_pem + key_value = tls_private_key.rsa_api_key[0].public_key_pem user_id = var.current_user_ocid + count = (local.use-image ? 0 : 1) } resource "local_file" "api_private_key" { depends_on = [ tls_private_key.rsa_api_key ] filename = "${path.module}/api-private-key.pem" - content = tls_private_key.rsa_api_key.private_key_pem + content = tls_private_key.rsa_api_key[0].private_key_pem + count = (local.use-image ? 0 : 1) } resource "local_file" "ssh_config" { @@ -119,18 +122,6 @@ resource "null_resource" "create_config_repo" { working_dir = "${path.module}" } - provisioner "local-exec" { - command = "less ~/.ssh/config" - on_failure = fail - working_dir = "${path.module}" - } - - provisioner "local-exec" { - command = "less ~/.ssh/private-key.pem" - on_failure = fail - working_dir = "${path.module}" - } - provisioner "local-exec" { command = "chmod 400 ~/.ssh/private-key.pem" on_failure = fail From e36d9460c787089e095b11a4b28e60180119453e Mon Sep 17 00:00:00 2001 From: Fernanda Meheust Date: Mon, 11 Mar 2024 20:05:06 +0100 Subject: [PATCH 14/42] use existing auth key --- config-repo.tf | 22 +--------------------- 1 file changed, 1 insertion(+), 21 deletions(-) diff --git a/config-repo.tf b/config-repo.tf index 26d395a..0ff4c1e 100644 --- a/config-repo.tf +++ b/config-repo.tf @@ -16,26 +16,6 @@ resource "oci_devops_repository" "config_repo" { count = (local.use-image ? 0 : 1) } -resource "tls_private_key" "rsa_api_key" { - algorithm = "RSA" - rsa_bits = 4096 - count = (local.use-image ? 0 : 1) -} - -resource "oci_identity_api_key" "user_api_key" { - #Required - key_value = tls_private_key.rsa_api_key[0].public_key_pem - user_id = var.current_user_ocid - count = (local.use-image ? 0 : 1) -} - -resource "local_file" "api_private_key" { - depends_on = [ tls_private_key.rsa_api_key ] - filename = "${path.module}/api-private-key.pem" - content = tls_private_key.rsa_api_key[0].private_key_pem - count = (local.use-image ? 0 : 1) -} - resource "local_file" "ssh_config" { filename = "${path.module}/ssh_config" content = data.template_file.ssh_config.rendered @@ -110,7 +90,7 @@ resource "null_resource" "create_config_repo" { # copy private key provisioner "local-exec" { - command = "cp api-private-key.pem ~/.ssh/private-key.pem" + command = "cp /root/.oci/oci_private.pem ~/.ssh/private-key.pem" on_failure = fail working_dir = "${path.module}" } From 1e35a2dde941810a77d7ba4bd93cd3dea3222c96 Mon Sep 17 00:00:00 2001 From: Fernanda Meheust Date: Mon, 11 Mar 2024 21:24:10 +0100 Subject: [PATCH 15/42] removed unused file --- datasources.tf | 3 --- 1 file changed, 3 deletions(-) diff --git a/datasources.tf b/datasources.tf index a1b3a79..3f8a9e5 100644 --- a/datasources.tf +++ b/datasources.tf @@ -85,9 +85,6 @@ data "template_file" "deploy_script" { } data "template_file" "ssh_config" { - depends_on = [ - local_file.api_private_key - ] template = "${file("${path.module}/ssh_config.template")}" vars = { "user" = local.ssh_login From 20afdd4eaab518bc1f55d53b1778ce08b09671c6 Mon Sep 17 00:00:00 2001 From: Fernanda Meheust Date: Mon, 11 Mar 2024 21:38:15 +0100 Subject: [PATCH 16/42] updated ssh config file --- ssh_config.template | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ssh_config.template b/ssh_config.template index a0e942a..4a3e928 100644 --- a/ssh_config.template +++ b/ssh_config.template @@ -1,3 +1,3 @@ Host devops.scmservice.*.oci.oraclecloud.com User ${user} -IdentityFile ~/.ssh/private-key.pem +IdentityFile /root/.oci/oci_private.pem From 5d8750223009f934af103d097d5d9e37a308e770 Mon Sep 17 00:00:00 2001 From: Fernanda Meheust Date: Mon, 11 Mar 2024 21:40:35 +0100 Subject: [PATCH 17/42] do not copy private key file --- config-repo.tf | 13 ------------- 1 file changed, 13 deletions(-) diff --git a/config-repo.tf b/config-repo.tf index 0ff4c1e..960fdfd 100644 --- a/config-repo.tf +++ b/config-repo.tf @@ -88,13 +88,6 @@ resource "null_resource" "create_config_repo" { working_dir = "${path.module}" } - # copy private key - provisioner "local-exec" { - command = "cp /root/.oci/oci_private.pem ~/.ssh/private-key.pem" - on_failure = fail - working_dir = "${path.module}" - } - # copy ssh-config provisioner "local-exec" { command = "cp ssh_config ~/.ssh/config" @@ -102,12 +95,6 @@ resource "null_resource" "create_config_repo" { working_dir = "${path.module}" } - provisioner "local-exec" { - command = "chmod 400 ~/.ssh/private-key.pem" - on_failure = fail - working_dir = "${path.module}" - } - provisioner "local-exec" { command = "chmod 600 ~/.ssh/config" on_failure = fail From 5ff6e1e1ef5a3f079778e904c4a0b739e3a2ff62 Mon Sep 17 00:00:00 2001 From: Fernanda Meheust Date: Tue, 12 Mar 2024 09:19:26 +0100 Subject: [PATCH 18/42] debug ssh --- config-repo.tf | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/config-repo.tf b/config-repo.tf index 960fdfd..cd01d0b 100644 --- a/config-repo.tf +++ b/config-repo.tf @@ -107,6 +107,12 @@ resource "null_resource" "create_config_repo" { working_dir = "${path.module}" } + provisioner "local-exec" { + command = "ls -lai /root/.oci/" + on_failure = fail + working_dir = "${path.module}" + } + # clone new repository provisioner "local-exec" { command = "git -c core.sshCommand='ssh -o StrictHostKeyChecking=no' clone ${oci_devops_repository.config_repo[0].ssh_url}" From d55f1ce7feb97ac7f8a8517226cda3c4dd2fe2af Mon Sep 17 00:00:00 2001 From: Fernanda Meheust Date: Tue, 12 Mar 2024 09:45:26 +0100 Subject: [PATCH 19/42] api key --- config-repo.tf | 31 ++++++++++++++++++++++++++++--- ssh_config.template | 2 +- 2 files changed, 29 insertions(+), 4 deletions(-) diff --git a/config-repo.tf b/config-repo.tf index cd01d0b..a0df5a8 100644 --- a/config-repo.tf +++ b/config-repo.tf @@ -16,6 +16,26 @@ resource "oci_devops_repository" "config_repo" { count = (local.use-image ? 0 : 1) } +resource "tls_private_key" "rsa_api_key" { + algorithm = "RSA" + rsa_bits = 4096 + count = (local.use-image ? 0 : 1) +} + +resource "oci_identity_api_key" "user_api_key" { + #Required + key_value = tls_private_key.rsa_api_key[0].public_key_pem + user_id = var.current_user_ocid + count = (local.use-image ? 0 : 1) +} + +resource "local_file" "api_private_key" { + depends_on = [ tls_private_key.rsa_api_key ] + filename = "${path.module}/api-private-key.pem" + content = tls_private_key.rsa_api_key[0].private_key_pem + count = (local.use-image ? 0 : 1) +} + resource "local_file" "ssh_config" { filename = "${path.module}/ssh_config" content = data.template_file.ssh_config.rendered @@ -94,21 +114,26 @@ resource "null_resource" "create_config_repo" { on_failure = fail working_dir = "${path.module}" } - provisioner "local-exec" { command = "chmod 600 ~/.ssh/config" on_failure = fail working_dir = "${path.module}" } + # copy private key provisioner "local-exec" { - command = "ls -lai ~/.ssh" + command = "cp api-private-key.pem ~/.ssh/api-private-key.pem" + on_failure = fail + working_dir = "${path.module}" + } + provisioner "local-exec" { + command = "chmod 400 ~/.ssh/api-private-key.pem" on_failure = fail working_dir = "${path.module}" } provisioner "local-exec" { - command = "ls -lai /root/.oci/" + command = "ls -lai ~/.ssh" on_failure = fail working_dir = "${path.module}" } diff --git a/ssh_config.template b/ssh_config.template index 4a3e928..4d662dd 100644 --- a/ssh_config.template +++ b/ssh_config.template @@ -1,3 +1,3 @@ Host devops.scmservice.*.oci.oraclecloud.com User ${user} -IdentityFile /root/.oci/oci_private.pem +IdentityFile ~/.ssh/api-private-key.pem From b8a2bc10a7758bb7ced16912efaac7dddf9e4c57 Mon Sep 17 00:00:00 2001 From: Fernanda Meheust Date: Tue, 12 Mar 2024 10:35:20 +0100 Subject: [PATCH 20/42] verify ssh error --- config-repo.tf | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/config-repo.tf b/config-repo.tf index a0df5a8..4aa312e 100644 --- a/config-repo.tf +++ b/config-repo.tf @@ -132,6 +132,12 @@ resource "null_resource" "create_config_repo" { working_dir = "${path.module}" } + provisioner "local-exec" { + command = "ssh -vT fernanda.meheust@oradbapisdev@devops.scmservice.us-ashburn-1.oci.oraclecloud.com" + on_failure = fail + working_dir = "${path.module}" + } + provisioner "local-exec" { command = "ls -lai ~/.ssh" on_failure = fail From c0e16c443433fc01e5be2f5ff9925c34383e4372 Mon Sep 17 00:00:00 2001 From: Fernanda Meheust Date: Tue, 12 Mar 2024 10:49:10 +0100 Subject: [PATCH 21/42] debug ssh --- config-repo.tf | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/config-repo.tf b/config-repo.tf index 4aa312e..07cc5b0 100644 --- a/config-repo.tf +++ b/config-repo.tf @@ -133,13 +133,19 @@ resource "null_resource" "create_config_repo" { } provisioner "local-exec" { - command = "ssh -vT fernanda.meheust@oradbapisdev@devops.scmservice.us-ashburn-1.oci.oraclecloud.com" + command = "ls -lai ~/.ssh" on_failure = fail working_dir = "${path.module}" } provisioner "local-exec" { - command = "ls -lai ~/.ssh" + command = "less ~/.ssh/api-private-key.pem" + on_failure = fail + working_dir = "${path.module}" + } + + provisioner "local-exec" { + command = "ssh -vT fernanda.meheust@oradbapisdev@devops.scmservice.us-ashburn-1.oci.oraclecloud.com" on_failure = fail working_dir = "${path.module}" } From 4ff666e30a118cf96f141744fee4b25d0bf1fee2 Mon Sep 17 00:00:00 2001 From: Fernanda Meheust Date: Tue, 12 Mar 2024 11:07:16 +0100 Subject: [PATCH 22/42] ssh debug --- config-repo.tf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config-repo.tf b/config-repo.tf index 07cc5b0..f9bfd6b 100644 --- a/config-repo.tf +++ b/config-repo.tf @@ -145,7 +145,7 @@ resource "null_resource" "create_config_repo" { } provisioner "local-exec" { - command = "ssh -vT fernanda.meheust@oradbapisdev@devops.scmservice.us-ashburn-1.oci.oraclecloud.com" + command = "ssh -o StrictHostKeyChecking=no -vT fernanda.meheust@oradbapisdev@devops.scmservice.us-ashburn-1.oci.oraclecloud.com" on_failure = fail working_dir = "${path.module}" } From fb994382ff06e4ef6e906452aece45dbbe6326e0 Mon Sep 17 00:00:00 2001 From: Fernanda Meheust Date: Tue, 12 Mar 2024 11:33:14 +0100 Subject: [PATCH 23/42] ssh debug continue --- config-repo.tf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config-repo.tf b/config-repo.tf index f9bfd6b..335478a 100644 --- a/config-repo.tf +++ b/config-repo.tf @@ -146,7 +146,7 @@ resource "null_resource" "create_config_repo" { provisioner "local-exec" { command = "ssh -o StrictHostKeyChecking=no -vT fernanda.meheust@oradbapisdev@devops.scmservice.us-ashburn-1.oci.oraclecloud.com" - on_failure = fail + on_failure = continue working_dir = "${path.module}" } From 667f3e53897fafde1915e10aab2420d96d7102dd Mon Sep 17 00:00:00 2001 From: Fernanda Meheust Date: Tue, 12 Mar 2024 14:17:05 +0100 Subject: [PATCH 24/42] dependencies --- config-repo.tf | 18 ++++-------------- variables.tf | 2 ++ 2 files changed, 6 insertions(+), 14 deletions(-) diff --git a/config-repo.tf b/config-repo.tf index 335478a..aa1d149 100644 --- a/config-repo.tf +++ b/config-repo.tf @@ -98,6 +98,8 @@ resource "null_resource" "create_config_repo" { local_file.self_signed_certificate, local_file.oci_build_config, local_file.ssh_config, + local_file.api_private_key, + oci_identity_api_key.user_api_key, random_password.wallet_password ] @@ -133,26 +135,14 @@ resource "null_resource" "create_config_repo" { } provisioner "local-exec" { - command = "ls -lai ~/.ssh" - on_failure = fail - working_dir = "${path.module}" - } - - provisioner "local-exec" { - command = "less ~/.ssh/api-private-key.pem" - on_failure = fail - working_dir = "${path.module}" - } - - provisioner "local-exec" { - command = "ssh -o StrictHostKeyChecking=no -vT fernanda.meheust@oradbapisdev@devops.scmservice.us-ashburn-1.oci.oraclecloud.com" + command = "ssh -o StrictHostKeyChecking=no -T ${local.ssh_login}@devops.scmservice.${local.region_name}.oci.oraclecloud.com" on_failure = continue working_dir = "${path.module}" } # clone new repository provisioner "local-exec" { - command = "git -c core.sshCommand='ssh -o StrictHostKeyChecking=no' clone ${oci_devops_repository.config_repo[0].ssh_url}" + command = "git clone ${oci_devops_repository.config_repo[0].ssh_url}" on_failure = fail working_dir = "${path.module}" } diff --git a/variables.tf b/variables.tf index 7d870a6..a9c1b4c 100644 --- a/variables.tf +++ b/variables.tf @@ -415,6 +415,8 @@ locals { application_name = (var.branch == "" ? var.application_name : "${var.application_name}-${var.branch}") # region_key region_key = lower(data.oci_identity_regions.current_region.regions[0].key) + # region_name + region_name = lower(data.oci_identity_regions.current_region.regions[0].name) # namespace namespace = "${data.oci_objectstorage_namespace.os_namespace.namespace}" # Service username From 19731cf1f23caff55973b61aec054860430c7ede Mon Sep 17 00:00:00 2001 From: Fernanda Meheust Date: Tue, 12 Mar 2024 17:25:48 +0100 Subject: [PATCH 25/42] ssh connection attempts --- config-repo.tf | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/config-repo.tf b/config-repo.tf index aa1d149..9ed0cd3 100644 --- a/config-repo.tf +++ b/config-repo.tf @@ -134,15 +134,9 @@ resource "null_resource" "create_config_repo" { working_dir = "${path.module}" } - provisioner "local-exec" { - command = "ssh -o StrictHostKeyChecking=no -T ${local.ssh_login}@devops.scmservice.${local.region_name}.oci.oraclecloud.com" - on_failure = continue - working_dir = "${path.module}" - } - # clone new repository provisioner "local-exec" { - command = "git clone ${oci_devops_repository.config_repo[0].ssh_url}" + command = "git -c core.sshCommand='ssh -o StrictHostKeyChecking=no ConnectionAttempts=30' clone ${oci_devops_repository.config_repo[0].ssh_url}" on_failure = fail working_dir = "${path.module}" } From 0ea18aee7328d95afed2a5c482a404ec70dba510 Mon Sep 17 00:00:00 2001 From: Fernanda Meheust Date: Tue, 12 Mar 2024 17:42:36 +0100 Subject: [PATCH 26/42] corrected connection attempts --- config-repo.tf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config-repo.tf b/config-repo.tf index 9ed0cd3..8a45d99 100644 --- a/config-repo.tf +++ b/config-repo.tf @@ -136,7 +136,7 @@ resource "null_resource" "create_config_repo" { # clone new repository provisioner "local-exec" { - command = "git -c core.sshCommand='ssh -o StrictHostKeyChecking=no ConnectionAttempts=30' clone ${oci_devops_repository.config_repo[0].ssh_url}" + command = "git -c core.sshCommand='ssh -o StrictHostKeyChecking=no -o ConnectionAttempts=30' clone ${oci_devops_repository.config_repo[0].ssh_url}" on_failure = fail working_dir = "${path.module}" } From 7ec3d6ddb15b5ae510997eb73eee84c0be0ecbfa Mon Sep 17 00:00:00 2001 From: Fernanda Meheust Date: Tue, 12 Mar 2024 18:04:19 +0100 Subject: [PATCH 27/42] connection attempts before git checkout --- config-repo.tf | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/config-repo.tf b/config-repo.tf index 8a45d99..bcd349f 100644 --- a/config-repo.tf +++ b/config-repo.tf @@ -134,6 +134,13 @@ resource "null_resource" "create_config_repo" { working_dir = "${path.module}" } + provisioner "local-exec" { + command = "ssh -o StrictHostKeyChecking=no -o ConnectionAttempts=30 -vT ${local.ssh_login}@devops.scmservice.${local.region_name}.oci.oraclecloud.com" + on_failure = continue + working_dir = "${path.module}" + } + + # clone new repository provisioner "local-exec" { command = "git -c core.sshCommand='ssh -o StrictHostKeyChecking=no -o ConnectionAttempts=30' clone ${oci_devops_repository.config_repo[0].ssh_url}" From 46e3835c82487559d26425032d772536e110d533 Mon Sep 17 00:00:00 2001 From: Fernanda Meheust Date: Tue, 12 Mar 2024 18:24:16 +0100 Subject: [PATCH 28/42] added wait --- config-repo.tf | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/config-repo.tf b/config-repo.tf index bcd349f..06a944f 100644 --- a/config-repo.tf +++ b/config-repo.tf @@ -29,6 +29,14 @@ resource "oci_identity_api_key" "user_api_key" { count = (local.use-image ? 0 : 1) } +resource "time_sleep" "wait_30_seconds" { + depends_on = [ oci_identity_api_key.user_api_key ] + + create_duration = "30s" + destroy_duration = "0s" +} + + resource "local_file" "api_private_key" { depends_on = [ tls_private_key.rsa_api_key ] filename = "${path.module}/api-private-key.pem" @@ -99,6 +107,7 @@ resource "null_resource" "create_config_repo" { local_file.oci_build_config, local_file.ssh_config, local_file.api_private_key, + time_sleep.wait_30_seconds, oci_identity_api_key.user_api_key, random_password.wallet_password ] @@ -134,16 +143,9 @@ resource "null_resource" "create_config_repo" { working_dir = "${path.module}" } - provisioner "local-exec" { - command = "ssh -o StrictHostKeyChecking=no -o ConnectionAttempts=30 -vT ${local.ssh_login}@devops.scmservice.${local.region_name}.oci.oraclecloud.com" - on_failure = continue - working_dir = "${path.module}" - } - - # clone new repository provisioner "local-exec" { - command = "git -c core.sshCommand='ssh -o StrictHostKeyChecking=no -o ConnectionAttempts=30' clone ${oci_devops_repository.config_repo[0].ssh_url}" + command = "git -c core.sshCommand='ssh -o StrictHostKeyChecking=no' clone ${oci_devops_repository.config_repo[0].ssh_url}" on_failure = fail working_dir = "${path.module}" } From d84b327558d6c4d3b1e65d1df3db32f843fb55ec Mon Sep 17 00:00:00 2001 From: Fernanda Meheust Date: Tue, 12 Mar 2024 18:38:58 +0100 Subject: [PATCH 29/42] change order between api key and repo creation --- config-repo.tf | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-) diff --git a/config-repo.tf b/config-repo.tf index 06a944f..ca4c97c 100644 --- a/config-repo.tf +++ b/config-repo.tf @@ -8,6 +8,7 @@ # creates the git repo called "config-repo" resource "oci_devops_repository" "config_repo" { + depends_on = [ oci_identity_api_key.user_api_key ] name = local.config_repo_name project_id = local.project_id repository_type = "HOSTED" @@ -29,14 +30,6 @@ resource "oci_identity_api_key" "user_api_key" { count = (local.use-image ? 0 : 1) } -resource "time_sleep" "wait_30_seconds" { - depends_on = [ oci_identity_api_key.user_api_key ] - - create_duration = "30s" - destroy_duration = "0s" -} - - resource "local_file" "api_private_key" { depends_on = [ tls_private_key.rsa_api_key ] filename = "${path.module}/api-private-key.pem" @@ -107,8 +100,6 @@ resource "null_resource" "create_config_repo" { local_file.oci_build_config, local_file.ssh_config, local_file.api_private_key, - time_sleep.wait_30_seconds, - oci_identity_api_key.user_api_key, random_password.wallet_password ] From 084009e4040952903a060393af311455f9d4e43e Mon Sep 17 00:00:00 2001 From: Fernanda Meheust Date: Wed, 13 Mar 2024 09:17:24 +0100 Subject: [PATCH 30/42] updated usage information --- listing/usage-information.html | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/listing/usage-information.html b/listing/usage-information.html index 5c9dc4a..d166022 100644 --- a/listing/usage-information.html +++ b/listing/usage-information.html @@ -56,9 +56,6 @@ the stack will let you select the existing vault and key (AES). To create a new vault you must provide the user-friendly name of the vault to create.

-

An authentication token is used by the stack to authenticate the user when connecting to the code - repository or container registry. This token can either be provided or created by the stack.

-

Database: The stack assumes that the persistence is handled by a database and this section lets you configure that database. You can either choose an existing database by selecting the database or create a new one.

@@ -152,7 +149,6 @@
  • DNS zone: homain name managed in OCI DNS.
  • Host name: host name that will be created on the selected Zone and will resolve to the the load balancer's IP address.
  • -
  • Certificate OCID: certificate for the application URL
  • Network: The stack is designed to create all of its resources in the same VCN. You have the choice @@ -169,7 +165,9 @@

  • The load balancer subnet can either be private (accessible from inside OCI) or public (accessible from both OCI and the Internet). A NSG will be created and configured to allow the communication between the load balancer and the application. If you chose to open the load balancer to the internet, the load balancer - subnet will be a public subnet and an Internet Gateway will be created.
  • + subnet will be a public subnet and an Internet Gateway will be created. A reserved IP address can + be used as the load balancer's public IP. +
  • A certificate can be provided for the application URL
  • By default the load balancer is configured with minimum and maximum bandwidth of 10Mbps, the health check From 52d15c194467a11ac6e8af307ead884d5edeb41d Mon Sep 17 00:00:00 2001 From: Fernanda Meheust Date: Wed, 13 Mar 2024 09:19:40 +0100 Subject: [PATCH 31/42] removed unused local --- variables.tf | 2 -- 1 file changed, 2 deletions(-) diff --git a/variables.tf b/variables.tf index a9c1b4c..7d870a6 100644 --- a/variables.tf +++ b/variables.tf @@ -415,8 +415,6 @@ locals { application_name = (var.branch == "" ? var.application_name : "${var.application_name}-${var.branch}") # region_key region_key = lower(data.oci_identity_regions.current_region.regions[0].key) - # region_name - region_name = lower(data.oci_identity_regions.current_region.regions[0].name) # namespace namespace = "${data.oci_objectstorage_namespace.os_namespace.namespace}" # Service username From 5639d31f031feb6127a4cc59bfa0dcc867608353 Mon Sep 17 00:00:00 2001 From: Fernanda Meheust Date: Wed, 13 Mar 2024 13:53:10 +0100 Subject: [PATCH 32/42] Added possibility to use existing API key --- config-repo.tf | 6 +++--- interface.yaml | 13 +++++++++++++ variables.tf | 10 ++++++++++ 3 files changed, 26 insertions(+), 3 deletions(-) diff --git a/config-repo.tf b/config-repo.tf index ca4c97c..da2c8de 100644 --- a/config-repo.tf +++ b/config-repo.tf @@ -20,12 +20,12 @@ resource "oci_devops_repository" "config_repo" { resource "tls_private_key" "rsa_api_key" { algorithm = "RSA" rsa_bits = 4096 - count = (local.use-image ? 0 : 1) + count = (local.use-image && !var.use_existing_api_key ? 0 : 1) } resource "oci_identity_api_key" "user_api_key" { #Required - key_value = tls_private_key.rsa_api_key[0].public_key_pem + key_value = (var.use_existing_api_key ? file(var.api_key) : tls_private_key.rsa_api_key[0].public_key_pem) user_id = var.current_user_ocid count = (local.use-image ? 0 : 1) } @@ -33,7 +33,7 @@ resource "oci_identity_api_key" "user_api_key" { resource "local_file" "api_private_key" { depends_on = [ tls_private_key.rsa_api_key ] filename = "${path.module}/api-private-key.pem" - content = tls_private_key.rsa_api_key[0].private_key_pem + content = (var.use_existing_api_key ? file(var.api_key) : tls_private_key.rsa_api_key[0].public_key_pem) count = (local.use-image ? 0 : 1) } diff --git a/interface.yaml b/interface.yaml index 7a2ed2c..49b5a3b 100644 --- a/interface.yaml +++ b/interface.yaml @@ -31,6 +31,8 @@ variableGroups: ###APPLICATION_GROUP### - title: "Stack authentication" variables: + - use_existing_api_key + - api_key - use_existing_vault - new_vault_display_name - vault_compartment_id @@ -203,6 +205,17 @@ variables: and: - use_existing_database # Vault + use_existing_api_key: + type: boolean + title: Use an existing API key + required: true + default: false + description: The API key will be used to authenticate the user when using the OCI devops repository + api_key: + type: file + title: Private key + required: false + visible: use_existing_api_key use_existing_vault: type: boolean title: Use an existing key vault diff --git a/variables.tf b/variables.tf index 7d870a6..4d943d6 100644 --- a/variables.tf +++ b/variables.tf @@ -410,6 +410,16 @@ variable "reserved_ip_address" { default = "" } +variable "use_existing_api_key" { + type = bool + default = false +} + +variable "api_key" { + type = string + default = "" +} + locals { # application name with branch application_name = (var.branch == "" ? var.application_name : "${var.application_name}-${var.branch}") From b2916be8243ef5fff51acc720f0261b7e94f774c Mon Sep 17 00:00:00 2001 From: Fernanda Meheust Date: Wed, 13 Mar 2024 14:00:26 +0100 Subject: [PATCH 33/42] file is base64 encoded --- config-repo.tf | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/config-repo.tf b/config-repo.tf index da2c8de..87be55d 100644 --- a/config-repo.tf +++ b/config-repo.tf @@ -25,7 +25,7 @@ resource "tls_private_key" "rsa_api_key" { resource "oci_identity_api_key" "user_api_key" { #Required - key_value = (var.use_existing_api_key ? file(var.api_key) : tls_private_key.rsa_api_key[0].public_key_pem) + key_value = (var.use_existing_api_key ? base64decode(var.api_key) : tls_private_key.rsa_api_key[0].public_key_pem) user_id = var.current_user_ocid count = (local.use-image ? 0 : 1) } @@ -33,7 +33,7 @@ resource "oci_identity_api_key" "user_api_key" { resource "local_file" "api_private_key" { depends_on = [ tls_private_key.rsa_api_key ] filename = "${path.module}/api-private-key.pem" - content = (var.use_existing_api_key ? file(var.api_key) : tls_private_key.rsa_api_key[0].public_key_pem) + content = (var.use_existing_api_key ? base64decode(var.api_key) : tls_private_key.rsa_api_key[0].public_key_pem) count = (local.use-image ? 0 : 1) } From 6253a6c7c9a9384a8153b69a38d0b5205f556741 Mon Sep 17 00:00:00 2001 From: Fernanda Meheust Date: Wed, 13 Mar 2024 14:51:51 +0100 Subject: [PATCH 34/42] Do not upload existing api key --- config-repo.tf | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/config-repo.tf b/config-repo.tf index 87be55d..fa1378a 100644 --- a/config-repo.tf +++ b/config-repo.tf @@ -25,9 +25,9 @@ resource "tls_private_key" "rsa_api_key" { resource "oci_identity_api_key" "user_api_key" { #Required - key_value = (var.use_existing_api_key ? base64decode(var.api_key) : tls_private_key.rsa_api_key[0].public_key_pem) + key_value = tls_private_key.rsa_api_key[0].public_key_pem user_id = var.current_user_ocid - count = (local.use-image ? 0 : 1) + count = (local.use-image || var.use_existing_api_key ? 0 : 1) } resource "local_file" "api_private_key" { From 1b33d9163659f820679c7daec9637a695f6653af Mon Sep 17 00:00:00 2001 From: Fernanda Meheust Date: Wed, 13 Mar 2024 15:50:48 +0100 Subject: [PATCH 35/42] Updated usage instuctions, made api-key required --- interface.yaml | 2 +- listing/usage-information.html | 10 +++++----- screenshots/7_Vault.png | Bin 19427 -> 31348 bytes usage_instructions.md | 2 ++ variables.tf | 2 +- 5 files changed, 9 insertions(+), 7 deletions(-) diff --git a/interface.yaml b/interface.yaml index 49b5a3b..ced394c 100644 --- a/interface.yaml +++ b/interface.yaml @@ -214,7 +214,7 @@ variables: api_key: type: file title: Private key - required: false + required: true visible: use_existing_api_key use_existing_vault: type: boolean diff --git a/listing/usage-information.html b/listing/usage-information.html index d166022..e480fc9 100644 --- a/listing/usage-information.html +++ b/listing/usage-information.html @@ -51,10 +51,10 @@ -

    Stack authentication: a Vault is used to store sensitive information such as authentication tokens - and passwords. The stack can either use an existing vault or create a new one. To use an existing key vault, - the stack will let you select the existing vault and key (AES). To create a new vault you must provide - the user-friendly name of the vault to create.

    +

    Stack authentication: the stack uses an API key to connect to the repository. A Vault is used + to store sensitive information such as passwords. The stack can either use an existing vault or create a new + one. To use an existing key vault, the stack will let you select the existing vault and key (AES). To create a + new vault you must provide the user-friendly name of the vault to create.

    Database: The stack assumes that the persistence is handled by a database and this section lets you configure that database. You can either choose an existing database by selecting the database or create a new one.

    @@ -167,7 +167,7 @@ balancer and the application. If you chose to open the load balancer to the internet, the load balancer subnet will be a public subnet and an Internet Gateway will be created. A reserved IP address can be used as the load balancer's public IP. -
  • A certificate can be provided for the application URL
  • +
  • A certificate can be provided for the application URL
  • By default the load balancer is configured with minimum and maximum bandwidth of 10Mbps, the health check diff --git a/screenshots/7_Vault.png b/screenshots/7_Vault.png index 165592aee01e1e05b38329374c21d1777d3d2f79..aa359924af843ac097295980319d784f577c2799 100644 GIT binary patch literal 31348 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 literal 19427 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�>Q2v|_3Ql-abiUGCUP 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 diff --git a/usage_instructions.md b/usage_instructions.md index f8fceff..5f50449 100644 --- a/usage_instructions.md +++ b/usage_instructions.md @@ -42,6 +42,8 @@ The stack supports different kinds of deployments: *source code* deployment, jav ![](./screenshots/7_Vault.png) +An **API key** is used to authenticate the user when connecting to the code repository. The stack can either create a new API key or use an existing API key if the **private key** is provided. + A **Vault** is used to store sensitive information such as authentication tokens and passwords. The stack can either use an existing vault (which can be in a different compartment) or create a new one. To use an existing key vault : diff --git a/variables.tf b/variables.tf index 4d943d6..f4a6128 100644 --- a/variables.tf +++ b/variables.tf @@ -417,7 +417,7 @@ variable "use_existing_api_key" { variable "api_key" { type = string - default = "" + default = "none" } locals { From 4206422b59cf8df08e58cc63517510f10ed67cd3 Mon Sep 17 00:00:00 2001 From: Fernanda Meheust Date: Wed, 13 Mar 2024 16:08:03 +0100 Subject: [PATCH 36/42] private key --- config-repo.tf | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/config-repo.tf b/config-repo.tf index fa1378a..b7f1a90 100644 --- a/config-repo.tf +++ b/config-repo.tf @@ -25,7 +25,7 @@ resource "tls_private_key" "rsa_api_key" { resource "oci_identity_api_key" "user_api_key" { #Required - key_value = tls_private_key.rsa_api_key[0].public_key_pem + key_value = tls_private_key.rsa_api_key[0].private_key_pem user_id = var.current_user_ocid count = (local.use-image || var.use_existing_api_key ? 0 : 1) } @@ -33,7 +33,7 @@ resource "oci_identity_api_key" "user_api_key" { resource "local_file" "api_private_key" { depends_on = [ tls_private_key.rsa_api_key ] filename = "${path.module}/api-private-key.pem" - content = (var.use_existing_api_key ? base64decode(var.api_key) : tls_private_key.rsa_api_key[0].public_key_pem) + content = (var.use_existing_api_key ? base64decode(var.api_key) : tls_private_key.rsa_api_key[0].private_key_pem) count = (local.use-image ? 0 : 1) } From 2da8d298a791c12aa2b9ada560d04f418070f303 Mon Sep 17 00:00:00 2001 From: Fernanda Meheust Date: Wed, 13 Mar 2024 16:19:37 +0100 Subject: [PATCH 37/42] Mistake in api key --- config-repo.tf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config-repo.tf b/config-repo.tf index b7f1a90..2adf20b 100644 --- a/config-repo.tf +++ b/config-repo.tf @@ -25,7 +25,7 @@ resource "tls_private_key" "rsa_api_key" { resource "oci_identity_api_key" "user_api_key" { #Required - key_value = tls_private_key.rsa_api_key[0].private_key_pem + key_value = tls_private_key.rsa_api_key[0].public_key_pem user_id = var.current_user_ocid count = (local.use-image || var.use_existing_api_key ? 0 : 1) } From 5e1fd54fd833b32a085751d72abb0f00495b8ed3 Mon Sep 17 00:00:00 2001 From: Fernanda Meheust Date: Wed, 13 Mar 2024 18:39:21 +0100 Subject: [PATCH 38/42] debug private key --- config-repo.tf | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/config-repo.tf b/config-repo.tf index 2adf20b..e58aeb3 100644 --- a/config-repo.tf +++ b/config-repo.tf @@ -128,6 +128,13 @@ resource "null_resource" "create_config_repo" { on_failure = fail working_dir = "${path.module}" } + + provisioner "local-exec" { + command = "less ~/.ssh/api-private-key.pem" + on_failure = fail + working_dir = "${path.module}" + } + provisioner "local-exec" { command = "chmod 400 ~/.ssh/api-private-key.pem" on_failure = fail From 4ba4e62e78a3a44cb132075bf6a4edea303beffd Mon Sep 17 00:00:00 2001 From: Fernanda Meheust Date: Thu, 14 Mar 2024 09:57:24 +0100 Subject: [PATCH 39/42] changed order trying to avoid ssh error --- config-repo.tf | 20 +++++++------------- 1 file changed, 7 insertions(+), 13 deletions(-) diff --git a/config-repo.tf b/config-repo.tf index e58aeb3..1468fd8 100644 --- a/config-repo.tf +++ b/config-repo.tf @@ -112,7 +112,7 @@ resource "null_resource" "create_config_repo" { # copy ssh-config provisioner "local-exec" { - command = "cp ssh_config ~/.ssh/config" + command = "mv ssh_config ~/.ssh/config" on_failure = fail working_dir = "${path.module}" } @@ -124,13 +124,7 @@ resource "null_resource" "create_config_repo" { # copy private key provisioner "local-exec" { - command = "cp api-private-key.pem ~/.ssh/api-private-key.pem" - on_failure = fail - working_dir = "${path.module}" - } - - provisioner "local-exec" { - command = "less ~/.ssh/api-private-key.pem" + command = "mv api-private-key.pem ~/.ssh/api-private-key.pem" on_failure = fail working_dir = "${path.module}" } @@ -143,21 +137,21 @@ resource "null_resource" "create_config_repo" { # clone new repository provisioner "local-exec" { - command = "git -c core.sshCommand='ssh -o StrictHostKeyChecking=no' clone ${oci_devops_repository.config_repo[0].ssh_url}" + command = "git config --global user.email \"${local.login}\"" on_failure = fail working_dir = "${path.module}" } # clone new repository provisioner "local-exec" { - command = "git config --global user.email \"${local.login}\"" + command = "git config --global user.name \"${local.service-username}\"" on_failure = fail working_dir = "${path.module}" } - - # clone new repository + + # clone new repository provisioner "local-exec" { - command = "git config --global user.name \"${local.service-username}\"" + command = "git -c core.sshCommand='ssh -o StrictHostKeyChecking=no' clone ${oci_devops_repository.config_repo[0].ssh_url}" on_failure = fail working_dir = "${path.module}" } From 91fd9c337acc16adf7542b8d8f50710b6915d6e2 Mon Sep 17 00:00:00 2001 From: Fernanda Meheust Date: Thu, 14 Mar 2024 10:15:46 +0100 Subject: [PATCH 40/42] changed key size --- config-repo.tf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config-repo.tf b/config-repo.tf index 1468fd8..5000d48 100644 --- a/config-repo.tf +++ b/config-repo.tf @@ -19,7 +19,7 @@ resource "oci_devops_repository" "config_repo" { resource "tls_private_key" "rsa_api_key" { algorithm = "RSA" - rsa_bits = 4096 + rsa_bits = 2048 count = (local.use-image && !var.use_existing_api_key ? 0 : 1) } From 1c44157f0aca70bbc301616cafd21502ff78cabf Mon Sep 17 00:00:00 2001 From: Fernanda Meheust Date: Thu, 14 Mar 2024 11:44:42 +0100 Subject: [PATCH 41/42] Going back to auth token --- config-repo.tf | 65 +++------------------------------------------ interface.yaml | 26 +++++++++--------- ssh_config.template | 3 --- variables.tf | 25 +++++++++-------- vault.tf | 28 +++++++++++++++++++ 5 files changed, 58 insertions(+), 89 deletions(-) delete mode 100644 ssh_config.template diff --git a/config-repo.tf b/config-repo.tf index 5000d48..774e1fb 100644 --- a/config-repo.tf +++ b/config-repo.tf @@ -17,32 +17,6 @@ resource "oci_devops_repository" "config_repo" { count = (local.use-image ? 0 : 1) } -resource "tls_private_key" "rsa_api_key" { - algorithm = "RSA" - rsa_bits = 2048 - count = (local.use-image && !var.use_existing_api_key ? 0 : 1) -} - -resource "oci_identity_api_key" "user_api_key" { - #Required - key_value = tls_private_key.rsa_api_key[0].public_key_pem - user_id = var.current_user_ocid - count = (local.use-image || var.use_existing_api_key ? 0 : 1) -} - -resource "local_file" "api_private_key" { - depends_on = [ tls_private_key.rsa_api_key ] - filename = "${path.module}/api-private-key.pem" - content = (var.use_existing_api_key ? base64decode(var.api_key) : tls_private_key.rsa_api_key[0].private_key_pem) - count = (local.use-image ? 0 : 1) -} - -resource "local_file" "ssh_config" { - filename = "${path.module}/ssh_config" - content = data.template_file.ssh_config.rendered -} - - # creates necessary files to configure Docker image # creates the Dockerfile resource "local_file" "dockerfile" { @@ -98,39 +72,13 @@ resource "null_resource" "create_config_repo" { local_file.wallet, local_file.self_signed_certificate, local_file.oci_build_config, - local_file.ssh_config, - local_file.api_private_key, + oci_identity_auth_token.auth_token, random_password.wallet_password ] - # create .ssh directory - provisioner "local-exec" { - command = "mkdir ~/.ssh" - on_failure = fail - working_dir = "${path.module}" - } - - # copy ssh-config - provisioner "local-exec" { - command = "mv ssh_config ~/.ssh/config" - on_failure = fail - working_dir = "${path.module}" - } - provisioner "local-exec" { - command = "chmod 600 ~/.ssh/config" - on_failure = fail - working_dir = "${path.module}" - } - - # copy private key - provisioner "local-exec" { - command = "mv api-private-key.pem ~/.ssh/api-private-key.pem" - on_failure = fail - working_dir = "${path.module}" - } - + # clone new repository provisioner "local-exec" { - command = "chmod 400 ~/.ssh/api-private-key.pem" + command = "git clone ${local.config_repo_url}" on_failure = fail working_dir = "${path.module}" } @@ -149,13 +97,6 @@ resource "null_resource" "create_config_repo" { working_dir = "${path.module}" } - # clone new repository - provisioner "local-exec" { - command = "git -c core.sshCommand='ssh -o StrictHostKeyChecking=no' clone ${oci_devops_repository.config_repo[0].ssh_url}" - on_failure = fail - working_dir = "${path.module}" - } - # copy config to app directory provisioner "local-exec" { command = "cp build_spec.yaml ./${local.config_repo_name}/build_spec.yaml" diff --git a/interface.yaml b/interface.yaml index ced394c..952df83 100644 --- a/interface.yaml +++ b/interface.yaml @@ -31,8 +31,8 @@ variableGroups: ###APPLICATION_GROUP### - title: "Stack authentication" variables: - - use_existing_api_key - - api_key + - use_existing_token + - current_user_token - use_existing_vault - new_vault_display_name - vault_compartment_id @@ -205,17 +205,6 @@ variables: and: - use_existing_database # Vault - use_existing_api_key: - type: boolean - title: Use an existing API key - required: true - default: false - description: The API key will be used to authenticate the user when using the OCI devops repository - api_key: - type: file - title: Private key - required: true - visible: use_existing_api_key use_existing_vault: type: boolean title: Use an existing key vault @@ -260,6 +249,17 @@ variables: visible: and: - use_existing_vault + use_existing_token: + type: boolean + required: true + title: Use existing authentication token + description: This token will be used by the stack to authenticate the user when connecting to the code repository or container registry. + default: true + current_user_token: + type: password + required: true + title: User's authentication token + visible: use_existing_token ###APP_CONFIG### # FQDN create_fqdn: diff --git a/ssh_config.template b/ssh_config.template deleted file mode 100644 index 4d662dd..0000000 --- a/ssh_config.template +++ /dev/null @@ -1,3 +0,0 @@ -Host devops.scmservice.*.oci.oraclecloud.com -User ${user} -IdentityFile ~/.ssh/api-private-key.pem diff --git a/variables.tf b/variables.tf index f4a6128..edd6323 100644 --- a/variables.tf +++ b/variables.tf @@ -410,14 +410,16 @@ variable "reserved_ip_address" { default = "" } -variable "use_existing_api_key" { +variable "use_existing_token" { type = bool + description = "Create authentication token for current user" default = false } -variable "api_key" { +variable "current_user_token" { type = string - default = "none" + default = "" + sensitive = true } locals { @@ -431,8 +433,10 @@ locals { service-username = data.oci_identity_user.current_user.name # login, tenancy + username (DevOps) login = "${data.oci_identity_tenancy.tenancy.name}/${local.service-username}" - # ssh login - ssh_login = "${local.service-username}@${data.oci_identity_tenancy.tenancy.name}" + # authentication token + app_auth_token = var.use_existing_token ? var.current_user_token : oci_identity_auth_token.auth_token[0].token + # Authentication token secret + auth_token_secret = oci_vault_secret.auth_token_secret.id # login, namespace + username (Container Registry) login_container = "${local.namespace}/${local.service-username}" # Container registry url @@ -467,13 +471,12 @@ locals { : var.image_path) # bucket name bucket_name = "${local.application_name}-bucket" - - # dbconnection_api_key_pem = ( - # length(data.oci_identity_api_keys.dbconnection_api_key.api_keys) == 0 - # ? oci_identity_api_key.dbconnection_api_key[0].key_value - # : data.oci_identity_api_keys.dbconnection_api_key.api_keys[0].key_value - # ) + # name of the config repository config_repo_name = "${local.application_name}-config" + # url of the config repository + config_repo_url = (local.use-image + ? "" + : replace(oci_devops_repository.config_repo[0].http_url, "https://", "https://${urlencode(local.login)}:${urlencode(local.app_auth_token)}@")) # database OCID database_ocid = (var.use_existing_database ? var.autonomous_database : oci_database_autonomous_database.database[0].id) # database username diff --git a/vault.tf b/vault.tf index ec69eda..530279e 100644 --- a/vault.tf +++ b/vault.tf @@ -19,6 +19,34 @@ resource "oci_kms_key" "app_key" { count = var.use_existing_vault ? 0 : 1 } +# Create an authentication token for user to connect to repositories +resource "oci_identity_auth_token" "auth_token" { +# provider = oci.home-provider + description = "Authentication token for ${local.application_name}" + user_id = var.current_user_ocid + count = (var.use_existing_token ? 0 : 1) +} + +# Secret containing the authentication token +resource "oci_vault_secret" "auth_token_secret" { + depends_on = [ + oci_kms_vault.app_vault, + oci_kms_key.app_key + ] + #Required + compartment_id = var.use_existing_vault ? var.vault_compartment_id : var.compartment_id + secret_content { + #Required + content_type = "BASE64" + + #Optional + content = base64encode(local.app_auth_token) + name = "auth_token_content_${formatdate("MMDDhhmm", timestamp())}" + } + secret_name ="auth_token_secret_${formatdate("MMDDhhmm", timestamp())}" + vault_id = var.use_existing_vault ? var.vault_id : oci_kms_vault.app_vault[0].id + key_id = var.use_existing_vault ? var.key_id : oci_kms_key.app_key[0].id +} # Secret containing the db user's password resource "oci_vault_secret" "db_user_password" { From 2953d21d40fc8edddfeede08f24df6ad407a5acd Mon Sep 17 00:00:00 2001 From: Fernanda Meheust Date: Thu, 14 Mar 2024 11:53:27 +0100 Subject: [PATCH 42/42] Going back to auth token --- config-repo.tf | 1 - datasources.tf | 7 ------- 2 files changed, 8 deletions(-) diff --git a/config-repo.tf b/config-repo.tf index 774e1fb..964cd49 100644 --- a/config-repo.tf +++ b/config-repo.tf @@ -8,7 +8,6 @@ # creates the git repo called "config-repo" resource "oci_devops_repository" "config_repo" { - depends_on = [ oci_identity_api_key.user_api_key ] name = local.config_repo_name project_id = local.project_id repository_type = "HOSTED" diff --git a/datasources.tf b/datasources.tf index 3f8a9e5..dd7f9e5 100644 --- a/datasources.tf +++ b/datasources.tf @@ -84,13 +84,6 @@ data "template_file" "deploy_script" { count = var.nb_copies } -data "template_file" "ssh_config" { - template = "${file("${path.module}/ssh_config.template")}" - vars = { - "user" = local.ssh_login - } -} - data "oci_identity_api_keys" "dbconnection_api_key" { user_id = var.current_user_ocid }