Test webhook deployment

- Add OCI credentials to Consul
- Configure OpenTofu plugin cache
- Test GitOps automation
This commit is contained in:
Houzhong Xu 2025-10-09 06:45:42 +00:00
parent cef3ab7534
commit edae611b31
No known key found for this signature in database
GPG Key ID: B44BEB1438F1B46F
3 changed files with 220 additions and 6 deletions

View File

@ -16,8 +16,8 @@ data "consul_keys" "oracle_config" {
path = "config/dev/oracle/kr/fingerprint" path = "config/dev/oracle/kr/fingerprint"
} }
key { key {
name = "private_key" name = "private_key_path"
path = "config/dev/oracle/kr/private_key" path = "config/dev/oracle/kr/private_key_path"
} }
} }
@ -36,8 +36,8 @@ data "consul_keys" "oracle_config_us" {
path = "config/dev/oracle/us/fingerprint" path = "config/dev/oracle/us/fingerprint"
} }
key { key {
name = "private_key" name = "private_key_path"
path = "config/dev/oracle/us/private_key" path = "config/dev/oracle/us/private_key_path"
} }
} }
@ -46,7 +46,7 @@ provider "oci" {
tenancy_ocid = data.consul_keys.oracle_config.var.tenancy_ocid tenancy_ocid = data.consul_keys.oracle_config.var.tenancy_ocid
user_ocid = data.consul_keys.oracle_config.var.user_ocid user_ocid = data.consul_keys.oracle_config.var.user_ocid
fingerprint = data.consul_keys.oracle_config.var.fingerprint fingerprint = data.consul_keys.oracle_config.var.fingerprint
private_key = data.consul_keys.oracle_config.var.private_key private_key_path = data.consul_keys.oracle_config.var.private_key_path
region = "ap-chuncheon-1" region = "ap-chuncheon-1"
} }
@ -56,6 +56,6 @@ provider "oci" {
tenancy_ocid = data.consul_keys.oracle_config_us.var.tenancy_ocid tenancy_ocid = data.consul_keys.oracle_config_us.var.tenancy_ocid
user_ocid = data.consul_keys.oracle_config_us.var.user_ocid user_ocid = data.consul_keys.oracle_config_us.var.user_ocid
fingerprint = data.consul_keys.oracle_config_us.var.fingerprint fingerprint = data.consul_keys.oracle_config_us.var.fingerprint
private_key = data.consul_keys.oracle_config_us.var.private_key private_key_path = data.consul_keys.oracle_config_us.var.private_key_path
region = "us-ashburn-1" region = "us-ashburn-1"
} }

105
test_consul_oci.tf Normal file
View File

@ -0,0 +1,105 @@
# Consul获取OCI配置
terraform {
required_providers {
oci = {
source = "oracle/oci"
version = "~> 7.0"
}
}
}
# Consul获取韩国区域配置
data "consul_keys" "oracle_config_kr" {
key {
name = "tenancy_ocid"
path = "config/dev/oracle/kr/tenancy_ocid"
}
key {
name = "user_ocid"
path = "config/dev/oracle/kr/user_ocid"
}
key {
name = "fingerprint"
path = "config/dev/oracle/kr/fingerprint"
}
key {
name = "private_key_path"
path = "config/dev/oracle/kr/private_key_path"
}
key {
name = "region"
path = "config/dev/oracle/kr/region"
}
}
# Consul获取美国区域配置
data "consul_keys" "oracle_config_us" {
key {
name = "tenancy_ocid"
path = "config/dev/oracle/us/tenancy_ocid"
}
key {
name = "user_ocid"
path = "config/dev/oracle/us/user_ocid"
}
key {
name = "fingerprint"
path = "config/dev/oracle/us/fingerprint"
}
key {
name = "private_key_path"
path = "config/dev/oracle/us/private_key_path"
}
key {
name = "region"
path = "config/dev/oracle/us/region"
}
}
# Provider
provider "oci" {
tenancy_ocid = data.consul_keys.oracle_config_kr.var.tenancy_ocid
user_ocid = data.consul_keys.oracle_config_kr.var.user_ocid
fingerprint = data.consul_keys.oracle_config_kr.var.fingerprint
private_key_path = data.consul_keys.oracle_config_kr.var.private_key_path
region = data.consul_keys.oracle_config_kr.var.region
}
# Provider
provider "oci" {
alias = "us"
tenancy_ocid = data.consul_keys.oracle_config_us.var.tenancy_ocid
user_ocid = data.consul_keys.oracle_config_us.var.user_ocid
fingerprint = data.consul_keys.oracle_config_us.var.fingerprint
private_key_path = data.consul_keys.oracle_config_us.var.private_key_path
region = data.consul_keys.oracle_config_us.var.region
}
#
data "oci_identity_compartments" "kr_compartments" {
compartment_id = data.consul_keys.oracle_config_kr.var.tenancy_ocid
}
#
data "oci_identity_compartments" "us_compartments" {
provider = oci.us
compartment_id = data.consul_keys.oracle_config_us.var.tenancy_ocid
}
# Consul数据
output "consul_kr_config" {
value = data.consul_keys.oracle_config_kr.var
}
output "consul_us_config" {
value = data.consul_keys.oracle_config_us.var
}
# OCI数据
output "kr_compartments" {
value = data.oci_identity_compartments.kr_compartments.compartments
}
output "us_compartments" {
value = data.oci_identity_compartments.us_compartments.compartments
}

109
test_opentofu_consul.tf Normal file
View File

@ -0,0 +1,109 @@
# OpenTofu配置 - 使Terraform的插件缓存
terraform {
required_providers {
oci = {
source = "oracle/oci"
version = "7.20.0" # 使
}
consul = {
source = "hashicorp/consul"
version = "2.22.0" # 使
}
}
}
# Consul获取韩国区域配置
data "consul_keys" "oracle_config_kr" {
key {
name = "tenancy_ocid"
path = "config/dev/oracle/kr/tenancy_ocid"
}
key {
name = "user_ocid"
path = "config/dev/oracle/kr/user_ocid"
}
key {
name = "fingerprint"
path = "config/dev/oracle/kr/fingerprint"
}
key {
name = "private_key_path"
path = "config/dev/oracle/kr/private_key_path"
}
key {
name = "region"
path = "config/dev/oracle/kr/region"
}
}
# Consul获取美国区域配置
data "consul_keys" "oracle_config_us" {
key {
name = "tenancy_ocid"
path = "config/dev/oracle/us/tenancy_ocid"
}
key {
name = "user_ocid"
path = "config/dev/oracle/us/user_ocid"
}
key {
name = "fingerprint"
path = "config/dev/oracle/us/fingerprint"
}
key {
name = "private_key_path"
path = "config/dev/oracle/us/private_key_path"
}
key {
name = "region"
path = "config/dev/oracle/us/region"
}
}
# Provider
provider "oci" {
tenancy_ocid = data.consul_keys.oracle_config_kr.var.tenancy_ocid
user_ocid = data.consul_keys.oracle_config_kr.var.user_ocid
fingerprint = data.consul_keys.oracle_config_kr.var.fingerprint
private_key_path = data.consul_keys.oracle_config_kr.var.private_key_path
region = data.consul_keys.oracle_config_kr.var.region
}
# Provider
provider "oci" {
alias = "us"
tenancy_ocid = data.consul_keys.oracle_config_us.var.tenancy_ocid
user_ocid = data.consul_keys.oracle_config_us.var.user_ocid
fingerprint = data.consul_keys.oracle_config_us.var.fingerprint
private_key_path = data.consul_keys.oracle_config_us.var.private_key_path
region = data.consul_keys.oracle_config_us.var.region
}
#
data "oci_identity_compartments" "kr_compartments" {
compartment_id = data.consul_keys.oracle_config_kr.var.tenancy_ocid
}
#
data "oci_identity_compartments" "us_compartments" {
provider = oci.us
compartment_id = data.consul_keys.oracle_config_us.var.tenancy_ocid
}
# Consul数据
output "consul_kr_config" {
value = data.consul_keys.oracle_config_kr.var
}
output "consul_us_config" {
value = data.consul_keys.oracle_config_us.var
}
# OCI数据
output "kr_compartments" {
value = data.oci_identity_compartments.kr_compartments.compartments
}
output "us_compartments" {
value = data.oci_identity_compartments.us_compartments.compartments
}