1+ # create a cos instance
2+ resource "ibm_resource_instance" "cos_instance" {
3+ name = " cos-instance"
4+ resource_group_id = var. resource_group
5+ plan = " standard"
6+ service = " cloud-object-storage"
7+ location = " global"
8+ }
9+
10+ # create cos-credentials for cos access
11+ resource "ibm_resource_key" "cos-credentials" {
12+ name = " cos-credentials"
13+ resource_instance_id = ibm_resource_instance. cos_instance . id
14+ parameters = {" HMAC" = true }
15+ }
16+
17+ locals {
18+ resource_credentials = jsondecode (ibm_resource_key. cos-credentials . credentials_json )
19+ }
20+
21+ # create cos-but to upload
22+ resource "ibm_cos_bucket" "cos_bucket" {
23+ bucket_name = " fotobox-bucket"
24+ resource_instance_id = ibm_resource_instance. cos_instance . id
25+ region_location = " us-south"
26+ storage_class = " smart"
27+ }
28+
29+ # create code engine project
30+ # set region at provider
31+ resource "ibm_code_engine_project" "ce-fotobox-project" {
32+ name = " codeengine-fotobox-project"
33+ resource_group_id = var. resource_group
34+ }
35+
36+ # create secret in project
37+
38+ resource "ibm_code_engine_secret" "fotobox-secret" {
39+ project_id = ibm_code_engine_project. ce-fotobox-project . id
40+ name = " fotobox-secret"
41+ format = " generic"
42+
43+ data = {
44+ " apikey" = local.resource_credentials.apikey
45+ }
46+ }
47+
48+ resource "ibm_code_engine_secret" "registry_secret" {
49+ project_id = ibm_code_engine_project. ce-fotobox-project . id
50+ name = " container-registry-secret"
51+ format = " registry"
52+ data = {
53+ " username" = " iamapikey" # Use 'iamapikey' as username for IBM Cloud
54+ " password" = var.icr_secret
55+ " server" = " us.icr.io" # Change if using a different registry
56+ }
57+ }
58+
59+ # create config map in project
60+
61+ resource "ibm_code_engine_config_map" "fotobox-config" {
62+ name = " fotobox-config"
63+ project_id = ibm_code_engine_project. ce-fotobox-project . id
64+ data = {
65+ " bucket" = ibm_cos_bucket.cos_bucket.bucket_name
66+ " endpointURL" = ibm_cos_bucket.cos_bucket.s3_endpoint_private
67+ " imageprefix" = " my-event-"
68+ " password" = " 5e884898da28047151d0e56f8dc6292773603d0d6aabbdd62a11ef721d1542d8"
69+ " region" = ibm_cos_bucket.cos_bucket.region_location
70+ " resource_instance_id" = local.resource_credentials.resource_instance_id
71+ }
72+ }
0 commit comments