Skip to content

Commit d97f897

Browse files
authored
Merge pull request #6830 from devtron-labs/terraform-plugin-fix
fix: Terraform plugin fix in v1.0.1
2 parents baad073 + 033b3dc commit d97f897

File tree

2 files changed

+122
-0
lines changed

2 files changed

+122
-0
lines changed
Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
BEGIN;
2+
3+
-- Delete plugin step variable (for step index=1)
4+
DELETE FROM plugin_step_variable
5+
WHERE plugin_step_id = (
6+
SELECT ps.id
7+
FROM plugin_metadata p
8+
INNER JOIN plugin_step ps ON ps.plugin_id = p.id
9+
WHERE p.plugin_version = '1.0.1'
10+
AND p.name = 'Terraform CLI v1.0.0'
11+
AND p.deleted = false
12+
AND ps."index" = 1
13+
AND ps.deleted = false
14+
);
15+
16+
-- Delete plugin steps
17+
DELETE FROM plugin_step
18+
WHERE plugin_id = (
19+
SELECT id
20+
FROM plugin_metadata
21+
WHERE plugin_version = '1.0.1'
22+
AND name = 'Terraform CLI v1.0.0'
23+
AND deleted = false
24+
);
25+
26+
-- Delete pipeline script
27+
DELETE FROM plugin_pipeline_script
28+
WHERE id = (
29+
SELECT script_id
30+
FROM plugin_step
31+
WHERE plugin_id = (
32+
SELECT id
33+
FROM plugin_metadata
34+
WHERE plugin_version = '1.0.1'
35+
AND name = 'Terraform CLI v1.0.0'
36+
AND deleted = false
37+
)
38+
);
39+
40+
-- Delete stage mappings
41+
DELETE FROM plugin_stage_mapping
42+
WHERE plugin_id = (
43+
SELECT id
44+
FROM plugin_metadata
45+
WHERE plugin_version = '1.0.1'
46+
AND name = 'Terraform CLI v1.0.0'
47+
AND deleted = false
48+
);
49+
50+
-- Delete plugin metadata entry
51+
DELETE FROM plugin_metadata
52+
WHERE plugin_version = '1.0.1'
53+
AND name = 'Terraform CLI v1.0.0'
54+
AND deleted = false;
55+
56+
-- Mark previous version as latest
57+
UPDATE plugin_metadata
58+
SET is_latest = true
59+
WHERE id = (
60+
SELECT id
61+
FROM plugin_metadata
62+
WHERE name = 'Terraform CLI v1.0.0'
63+
AND is_latest = false
64+
AND plugin_version = '1.0.0'
65+
);
66+
67+
COMMIT;
Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
/*
2+
* Copyright (c) 2025. Devtron Inc.
3+
*/
4+
BEGIN;
5+
6+
-- Update the existing entry is_latest false for terrfaorm plugin
7+
UPDATE plugin_metadata SET is_latest = false WHERE id = (SELECT id FROM plugin_metadata WHERE name= 'Terraform CLI v1.0.0' and is_latest= true);
8+
9+
-- Insert an entry in plugin_metadata for new version v1.0.1
10+
INSERT INTO "plugin_metadata" ("id", "name", "description","deleted", "created_on", "created_by", "updated_on", "updated_by","plugin_parent_metadata_id","plugin_version","is_deprecated","is_latest")
11+
VALUES (nextval('id_seq_plugin_metadata'), 'Terraform CLI v1.0.0','Terraform: Simplify infrastructure as code, manage resources effortlessly, and deploy with ease using this plugins','f', 'now()', 1, 'now()', 1, (SELECT id FROM plugin_parent_metadata WHERE identifier='terraform-cli-v1-0-0'),'1.0.1', false, true);
12+
13+
-- Insert the plugin stage mapping
14+
INSERT INTO "plugin_stage_mapping" ("plugin_id","stage_type","created_on", "created_by", "updated_on", "updated_by")
15+
VALUES ((SELECT id FROM plugin_metadata WHERE plugin_version='1.0.1' and name='Terraform CLI v1.0.0' and deleted= false),0,'now()', 1, 'now()', 1);
16+
17+
-- Insert updated script
18+
INSERT INTO "plugin_pipeline_script" ("id", "script","type","deleted","created_on", "created_by", "updated_on", "updated_by")
19+
VALUES (nextval('id_seq_plugin_pipeline_script'),E'
20+
export DEFAULT_TF_IMAGE=docker.io/hashicorp/terraform:latest
21+
if [ -n "$TERRAFORM_IMAGE" ]; then
22+
echo "Using $TERRAFORM_IMAGE as the custom image."
23+
DEFAULT_TF_IMAGE="$TERRAFORM_IMAGE"
24+
else
25+
echo "Using the default image --> $DEFAULT_TF_IMAGE"
26+
fi
27+
28+
# RUNNING Terraform init
29+
if [ $RUN_TERRAFORM_INIT == "TRUE" ]; then
30+
#RUNNING Terraform init
31+
docker run -v $PWD:$PWD -w $PWD/$WORKINGDIR -e HTTP_PROXY=$HTTP_PROXY -e HTTPS_PROXY=$HTTPS_PROXY -e NO_PROXY=$NO_PROXY $DEFAULT_TF_IMAGE init
32+
fi
33+
34+
35+
# exporting all the env variables
36+
echo "$ADDITIONALPARAMS" > devtron-custom-values.env
37+
38+
# RUNNING Terraform command
39+
echo "docker run -v $PWD:$PWD -w $PWD/$WORKINGDIR --env-file devtron-custom-values.env -e HTTP_PROXY=$HTTP_PROXY -e HTTPS_PROXY=$HTTPS_PROXY -e NO_PROXY=$NO_PROXY $DEFAULT_TF_IMAGE $ARGS"
40+
docker run -v $PWD:$PWD -w $PWD/$WORKINGDIR --env-file devtron-custom-values.env -e HTTP_PROXY=$HTTP_PROXY -e HTTPS_PROXY=$HTTPS_PROXY -e NO_PROXY=$NO_PROXY $DEFAULT_TF_IMAGE $ARGS','SHELL','f','now()',1,'now()',1);
41+
42+
INSERT INTO "plugin_step" ("id", "plugin_id","name","description","index","step_type","script_id","deleted", "created_on", "created_by", "updated_on", "updated_by")
43+
VALUES (nextval('id_seq_plugin_step'), (SELECT id FROM plugin_metadata WHERE name='Terraform CLI v1.0.0' and plugin_version='1.0.1'),'Step 1','Step 1 - Terraform CLI v1.0.0','1','INLINE',(SELECT last_value FROM id_seq_plugin_pipeline_script),'f','now()', 1, 'now()', 1);
44+
45+
INSERT INTO plugin_step_variable (id,plugin_step_id,name,format,description,is_exposed,allow_empty_value,default_value,value,variable_type,value_type,previous_step_index,variable_step_index,variable_step_index_in_plugin,reference_variable_name,deleted,created_on,created_by,updated_on,updated_by)
46+
VALUES
47+
(nextval('id_seq_plugin_step_variable'),(SELECT ps.id FROM plugin_metadata p inner JOIN plugin_step ps on ps.plugin_id=p.id WHERE p.name='Terraform CLI v1.0.0' and ps."index"=1 and p.plugin_version='1.0.1' and ps.deleted=false),'HTTP_PROXY','STRING','Specify the HTTP proxy server for non-SSL requests.','t','t',null,null,'INPUT','NEW',null,1,null,null,'f','now()',1,'now()',1),
48+
(nextval('id_seq_plugin_step_variable'),(SELECT ps.id FROM plugin_metadata p inner JOIN plugin_step ps on ps.plugin_id=p.id WHERE p.name='Terraform CLI v1.0.0' and ps."index"=1 and p.plugin_version='1.0.1' and ps.deleted=false),'HTTPS_PROXY','STRING','Specify the HTTPS proxy server for SSL requests.','t','t',null,null,'INPUT','NEW',null,1,null,null,'f','now()',1,'now()',1),
49+
(nextval('id_seq_plugin_step_variable'),(SELECT ps.id FROM plugin_metadata p inner JOIN plugin_step ps on ps.plugin_id=p.id WHERE p.name='Terraform CLI v1.0.0' and ps."index"=1 and p.plugin_version='1.0.1' and ps.deleted=false),'NO_PROXY','STRING','Opt out of proxying HTTP/HTTPS requests. Use this to specify hosts that should bypass the proxy.','t','t',null,null,'INPUT','NEW',null,1,null,null,'f','now()',1,'now()',1),
50+
(nextval('id_seq_plugin_step_variable'),(SELECT ps.id FROM plugin_metadata p inner JOIN plugin_step ps on ps.plugin_id=p.id WHERE p.name='Terraform CLI v1.0.0' and ps."index"=1 and p.plugin_version='1.0.1' and ps.deleted=false),'TERRAFORM_IMAGE','STRING','Specify a custom Terraform container image to use for the execution of Terraform commands.','t','t',null,null,'INPUT','NEW',null,1,null,null,'f','now()',1,'now()',1),
51+
(nextval('id_seq_plugin_step_variable'),(SELECT ps.id FROM plugin_metadata p inner JOIN plugin_step ps on ps.plugin_id=p.id WHERE p.name='Terraform CLI v1.0.0' and ps."index"=1 and p.plugin_version='1.0.1' and ps.deleted=false),'WORKINGDIR','STRING','Set the source directory for Terraform execution.Example: /path/to/terraform/project','t','t',null,null,'INPUT','NEW',null,1,null,null,'f','now()',1,'now()',1),
52+
(nextval('id_seq_plugin_step_variable'),(SELECT ps.id FROM plugin_metadata p inner JOIN plugin_step ps on ps.plugin_id=p.id WHERE p.name='Terraform CLI v1.0.0' and ps."index"=1 and p.plugin_version='1.0.1' and ps.deleted=false),'ARGS','STRING','Specifies Terraform CLI commands to run. Example: plan -var-file=myvars.tfvars','t','t','--help',null,'INPUT','NEW',null,1,null,null,'f','now()',1,'now()',1),
53+
(nextval('id_seq_plugin_step_variable'),(SELECT ps.id FROM plugin_metadata p inner JOIN plugin_step ps on ps.plugin_id=p.id WHERE p.name='Terraform CLI v1.0.0' and ps."index"=1 and p.plugin_version='1.0.1' and ps.deleted=false),'RUN_TERRAFORM_INIT','BOOL','Determines whether to run the Terraform initialization command.','t','t','TRUE',null,'INPUT','NEW',null,1,null,null,'f','now()',1,'now()',1),
54+
(nextval('id_seq_plugin_step_variable'),(SELECT ps.id FROM plugin_metadata p inner JOIN plugin_step ps on ps.plugin_id=p.id WHERE p.name='Terraform CLI v1.0.0' and ps."index"=1 and p.plugin_version='1.0.1' and ps.deleted=false),'ADDITIONALPARAMS','STRING','Provides key-value pairs to inject into the Terraform container.Example: VAR1=value1 VAR2=value2c','t','t',null,null,'INPUT','NEW',null,1,null,null,'f','now()',1,'now()',1);
55+
COMMIT;

0 commit comments

Comments
 (0)