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