create templates for terraform files

This commit is contained in:
2025-03-23 00:55:30 -05:00
parent 6c0d599c0e
commit 79d23cf5d9
19 changed files with 272 additions and 16 deletions

8
tmp/groups.tf Normal file
View File

@@ -0,0 +1,8 @@
// Matcher group for OCP Internal machinesmachines
resource "matchbox_group" "ocp-hub" {
name = "ocp-hub" # Physical Server
profile = matchbox_profile.openshift-agent-install.name
selector = {
mac = "98:b7:85:1e:c6:f1" # PXE boots and installs to 10GbE NIC
}
}

25
tmp/install-config.yaml Normal file
View File

@@ -0,0 +1,25 @@
apiVersion: v1
baseDomain: int.mk-labs.cloud
compute:
- name: worker
replicas: 0
controlPlane:
hyperthreading: Enabled
name: master
replicas: 1
metadata:
name: hub
networking:
clusterNetwork:
- cidr: 10.128.0.0/14 #<== Internal node network. Not available externally.
hostPrefix: 23
machineNetwork:
- cidr: 10.1.71.0/24 #<== Real world host network.
networkType: OVNKubernetes
serviceNetwork:
- 172.30.0.0/16 #<== Internal cluster overlay. Not available externally.
platform:
none: {}
fips: false
pullSecret: '{"auths":{"cloud.openshift.com":{"auth":"b3BlbnNoaWZ0LXJlbGVhc2UtZGV2K29jbV9hY2Nlc3NfY2ZlYjYxMjE5ZmFiNDA1OWIwZWZmZDJlZTUxZTNlOTc6UjhaUEs2UEQyTjlBNURERUxHUjE0UDdLQ1pWR1ZPME1KUDYzUTUzQ0hBMTlIVjE4STJETzBHMkdGNzg2QjQxOA==","email":"rblundon@redhat.com"},"quay.io":{"auth":"b3BlbnNoaWZ0LXJlbGVhc2UtZGV2K29jbV9hY2Nlc3NfY2ZlYjYxMjE5ZmFiNDA1OWIwZWZmZDJlZTUxZTNlOTc6UjhaUEs2UEQyTjlBNURERUxHUjE0UDdLQ1pWR1ZPME1KUDYzUTUzQ0hBMTlIVjE4STJETzBHMkdGNzg2QjQxOA==","email":"rblundon@redhat.com"},"registry.connect.redhat.com":{"auth":"fHVoYy1wb29sLTk0ZGM3NWFiLTEyYzAtNGRhMC1hMjI5LTBmOTZiY2Y2NGZhMDpleUpoYkdjaU9pSlNVelV4TWlKOS5leUp6ZFdJaU9pSmhabVppWWpRMFpqWXlPVEkwTVRKaFlqWTBaVFl3T1RSaFpqRmpabUk0WlNKOS5tS3RLNnYxa1ZEZjZOcXJweTBXTjRubEQ1bDFhTG9sbWtvV3YzYzcwdTJJb29iODBsZGEtanJHYV85LWVVUU1IM1dsU3BvdEQzQzFBdi1wUE5pT0tKM2paSGJGOEoxTlNtSmdsb0hSR214NDZXb2FGYlh5c2JuUVhwamNBU0l4MnpZQ1hFSWlaNkZrRzFwUUMzWHlISTdsMVh6dEZ1TG5yWFBGUUhUdHFJcm5KNDA5R2c2Uk5jNXhnOEpMWEY4UmFWM2x1SGZqdWY2RHJRaGdzc3Vla1BOcDc0Q0g1Y0k4T3pYVWVLMy1xelZkQ3FaSDhZYXp5dHVJRDFmQkxyUDV4Nnh5a3U3NFd6dEJXaE9rMFRBdnVldkNHSVlLOV91MGlFSVl0bll5TTJndnpWSTl4YXBUckkwMW9DcF9NXzh2YU1YVzJjb2ZUNEE5b2VrZDM0ZmdkUGs4MFU0UzBBN0RabWpiMFZCT211Y0xuX1F6U2FQMkZjMmtGNDExenBfb2I5ZHl1MEZhSXN5bF9YTG5kZDF3S21JU2N6N04tZDBpM244QkpvYnh6YUJwZzJxUEdhV2VvTXJNWmYwRGdzVEo4VmhBSWlBNTVwUDYwSGVpRzdzMUhUQ1Rudl9kTlpaMWY0TzMwUTBNVnRTQWl6Q3Q0azdnbHd5VzZVamU4czd2WVZPekFvUEFvTEZKQVZVcUcwWUNUYXJodnBsZ204MWlzWHhwWk5nMEQwUkZISmRIYXFmRXQtVE5wVHplZzlBOEZ6QkVQaG5ZTU1ZMEhzUVpONHFNbE1kTHBHOHJrZU04azRoWGIyQ08wcFZvMUluY1d2aFQ5cDgxV1M0QlNfMHR6bG1EckdTbXJYN3JNTnN1V2RZbmlpNm16WFJuRUlIV25FelNUc2hhLUtRcw==","email":"rblundon@redhat.com"},"registry.redhat.io":{"auth":"fHVoYy1wb29sLTk0ZGM3NWFiLTEyYzAtNGRhMC1hMjI5LTBmOTZiY2Y2NGZhMDpleUpoYkdjaU9pSlNVelV4TWlKOS5leUp6ZFdJaU9pSmhabVppWWpRMFpqWXlPVEkwTVRKaFlqWTBaVFl3T1RSaFpqRmpabUk0WlNKOS5tS3RLNnYxa1ZEZjZOcXJweTBXTjRubEQ1bDFhTG9sbWtvV3YzYzcwdTJJb29iODBsZGEtanJHYV85LWVVUU1IM1dsU3BvdEQzQzFBdi1wUE5pT0tKM2paSGJGOEoxTlNtSmdsb0hSR214NDZXb2FGYlh5c2JuUVhwamNBU0l4MnpZQ1hFSWlaNkZrRzFwUUMzWHlISTdsMVh6dEZ1TG5yWFBGUUhUdHFJcm5KNDA5R2c2Uk5jNXhnOEpMWEY4UmFWM2x1SGZqdWY2RHJRaGdzc3Vla1BOcDc0Q0g1Y0k4T3pYVWVLMy1xelZkQ3FaSDhZYXp5dHVJRDFmQkxyUDV4Nnh5a3U3NFd6dEJXaE9rMFRBdnVldkNHSVlLOV91MGlFSVl0bll5TTJndnpWSTl4YXBUckkwMW9DcF9NXzh2YU1YVzJjb2ZUNEE5b2VrZDM0ZmdkUGs4MFU0UzBBN0RabWpiMFZCT211Y0xuX1F6U2FQMkZjMmtGNDExenBfb2I5ZHl1MEZhSXN5bF9YTG5kZDF3S21JU2N6N04tZDBpM244QkpvYnh6YUJwZzJxUEdhV2VvTXJNWmYwRGdzVEo4VmhBSWlBNTVwUDYwSGVpRzdzMUhUQ1Rudl9kTlpaMWY0TzMwUTBNVnRTQWl6Q3Q0azdnbHd5VzZVamU4czd2WVZPekFvUEFvTEZKQVZVcUcwWUNUYXJodnBsZ204MWlzWHhwWk5nMEQwUkZISmRIYXFmRXQtVE5wVHplZzlBOEZ6QkVQaG5ZTU1ZMEhzUVpONHFNbE1kTHBHOHJrZU04azRoWGIyQ08wcFZvMUluY1d2aFQ5cDgxV1M0QlNfMHR6bG1EckdTbXJYN3JNTnN1V2RZbmlpNm16WFJuRUlIV25FelNUc2hhLUtRcw==","email":"rblundon@redhat.com"}}}'
sshKey: 'ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICB/UfNTK2JX8Lq0H75yHrWgr32vhLFBcE7r+cEC6hvd rblundon@rblundon-mac'

16
tmp/profiles.tf Normal file
View File

@@ -0,0 +1,16 @@
// Fedora CoreOS profile
resource "matchbox_profile" "openshift-agent-install" {
name = "hub"
kernel = "/assets/hub/agent.x86_64-vmlinuz"
initrd = [
"--name initrd /assets/hub/agent.x86_64-initrd.img"
]
args = [
"initrd=initrd",
"coreos.live.rootfs_url=${var.matchbox_http_endpoint}/assets/hub/agent.x86_64-rootfs.img",
"rw",
"ignition.firstboot",
"ignition.platform.id=metal",
]
}

20
tmp/provider.tf Normal file
View File

@@ -0,0 +1,20 @@
// Configure the matchbox provider
provider "matchbox" {
endpoint = var.matchbox_rpc_endpoint
client_cert = file("/etc/matchbox/client.crt")
client_key = file("/etc/matchbox/client.key")
ca = file("/etc/matchbox/ca.crt")
}
terraform {
required_providers {
ct = {
source = "poseidon/ct"
version = "0.13.0"
}
matchbox = {
source = "poseidon/matchbox"
version = "0.5.4"
}
}
}

2
tmp/terraform.tfvars Normal file
View File

@@ -0,0 +1,2 @@
matchbox_http_endpoint = "http://matchbox.int.mk-labs.cloud:8080"
matchbox_rpc_endpoint = "matchbox.int.mk-labs.cloud:8081"

10
tmp/variables.tf Normal file
View File

@@ -0,0 +1,10 @@
variable "matchbox_http_endpoint" {
type = string
description = "Matchbox HTTP read-only endpoint (e.g. http://matchbox.example.com:8080)"
}
variable "matchbox_rpc_endpoint" {
type = string
description = "Matchbox gRPC API endpoint, without the protocol (e.g. matchbox.example.com:8081)"
}