terraspace_plugin_azurerm 0.5.1 → 0.6.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: ec2e5dd19a2e9f8116982f180920250368a90bb19cba4ac99326a4da5af30c65
4
- data.tar.gz: 1e136803c90e204fcd657ffda15cf8a95b551011ad468f791baff0b80f18ac0d
3
+ metadata.gz: 164c2f861c27f9b9a6427ea7a0bc710a150f8e6d2b95f71249434849aaa4f6b4
4
+ data.tar.gz: b1363b09aab88c7453eb1bd88cf0ea9672696e98e33a6ec2ca31fcfb4ecc99a5
5
5
  SHA512:
6
- metadata.gz: 9df596602653194f78eb445ca051fe434b167c39b843b22f1ca2aef3a58e150ef8e2fc3556b3bc13a06733b15a0d82583d0913a5c413955c8301c4f1b9df0f87
7
- data.tar.gz: e8b3dc7c1dcd1bebcd3528f40d5948c0e9c5d772aa915fa81c31c32279ca07857d2efaa80e265e4bde79800eb2dd9c8ee5661a98d8fb118bcf07fce7ad53b2da
6
+ metadata.gz: d7561f51bb0b4fa310bb7e82a500f80b02c7bbabf3929b6cb340bdc0ad8e9da265ae99d3e11f2744f16955895b60f23528d37aed2bbe4d1891d921a3ff64ecaf
7
+ data.tar.gz: 915f012ffa5cd6aef560a4dc5015a4b1ff105085576db06060752238e799c4fb170f33595c99ee8e39755ae135fb8695d772af5961c71dd533cb0d677a766e56
data/CHANGELOG.md CHANGED
@@ -3,6 +3,9 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  This project *loosely tries* to adhere to [Semantic Versioning](http://semver.org/).
5
5
 
6
+ ## [0.6.0] - 2022-06-10
7
+ - [#16](https://github.com/boltops-tools/terraspace_plugin_azurerm/pull/16) update generated backend key and ci interface
8
+
6
9
  ## [0.5.1] - 2022-05-03
7
10
  - [#15](https://github.com/boltops-tools/terraspace_plugin_azurerm/pull/15) pascalCase
8
11
 
@@ -1,10 +1,11 @@
1
1
  # SUBSCRIPTION_HASH is a short 4-char consistent hash of the longer subscription id.
2
+ # LOCATION_HASH is a short 4-char consistent hash of the longer location.
2
3
  # This is useful because azure storage account names are not allowed special characters and are limited to 24 chars.
3
4
  terraform {
4
5
  backend "azurerm" {
5
- resource_group_name = "<%= expansion(':ENV-:LOCATION') %>"
6
- storage_account_name = "<%= expansion('ts:SUBSCRIPTION_HASH:LOCATION:ENV') %>"
6
+ resource_group_name = "<%= expansion(':APP-:ENV-:LOCATION') %>"
7
+ storage_account_name = "<%= expansion('ts:APP_HASH:SUBSCRIPTION_HASH:LOCATION_HASH:ENV') %>"
7
8
  container_name = "terraform-state"
8
- key = "<%= expansion(':LOCATION/:ENV/:BUILD_DIR/terraform.tfstate') %>"
9
+ key = "<%= expansion(':TYPE_DIR/:APP/:ROLE/:MOD_NAME/:ENV/:EXTRA/:LOCATION/terraform.tfstate') %>"
9
10
  }
10
11
  }
@@ -1,8 +1,9 @@
1
1
  # SUBSCRIPTION_HASH is a short 4-char consistent hash of the longer subscription id.
2
+ # LOCATION_HASH is a short 4-char consistent hash of the longer location.
2
3
  # This is useful because azure storage account names are not allowed special characters and are limited to 24 chars.
3
4
  backend("azurerm",
4
- resource_group_name: "terraform-resources-:LOCATION",
5
- storage_account_name: "ts:SUBSCRIPTION_HASH:LOCATION:ENV",
5
+ resource_group_name: ":APP-:ENV-:LOCATION",
6
+ storage_account_name: "ts:APP_HASH:SUBSCRIPTION_HASH:LOCATION_HASH:ENV",
6
7
  container_name: "terraform-state",
7
- key: ":LOCATION/:ENV/:BUILD_DIR/terraform.tfstate",
8
+ key: ":TYPE_DIR/:APP/:ROLE/:MOD_NAME/:ENV/:EXTRA/:LOCATION/terraform.tfstate",
8
9
  )
@@ -0,0 +1,13 @@
1
+ module TerraspacePluginAzurerm::Interfaces
2
+ class Ci
3
+ # interface method
4
+ def vars
5
+ {
6
+ ARM_SUBSCRIPTION_ID: '${{ secrets.ARM_SUBSCRIPTION_ID }}',
7
+ ARM_CLIENT_SECRET: '${{ secrets.ARM_CLIENT_SECRET }}',
8
+ ARM_TENANT_ID: '${{ secrets.ARM_TENANT_ID }}',
9
+ ARM_CLIENT_ID: '${{ secrets.ARM_CLIENT_ID }}',
10
+ }
11
+ end
12
+ end
13
+ end
@@ -29,5 +29,21 @@ module TerraspacePluginAzurerm::Interfaces
29
29
  Digest::SHA1.hexdigest(subscription)[0..3]
30
30
  end
31
31
  alias_method :namespace_hash, :subscription_hash
32
+
33
+ # location_hash is a short 4-char consistent hash of the longer subscription id.
34
+ # This is useful because azure storage account names are not allowed special characters and are limited to 24 chars.
35
+ # NOTE: be careful to not change this! or else state path will change
36
+ def location_hash
37
+ Digest::SHA1.hexdigest(location)[0..3]
38
+ end
39
+ alias_method :region_hash, :location_hash
40
+
41
+ def app_hash
42
+ Digest::SHA1.hexdigest(ENV['TS_APP'])[0..3] if ENV['TS_APP']
43
+ end
44
+
45
+ def env_hash
46
+ Digest::SHA1.hexdigest(ENV['TS_ENV'])[0..3] if ENV['TS_ENV']
47
+ end
32
48
  end
33
49
  end
@@ -1,3 +1,3 @@
1
1
  module TerraspacePluginAzurerm
2
- VERSION = "0.5.1"
2
+ VERSION = "0.6.0"
3
3
  end
@@ -41,5 +41,6 @@ Terraspace::Plugin.register("azurerm",
41
41
  config_class: TerraspacePluginAzurerm::Interfaces::Config,
42
42
  helper_class: TerraspacePluginAzurerm::Interfaces::Helper,
43
43
  layer_class: TerraspacePluginAzurerm::Interfaces::Layer,
44
+ ci_class: TerraspacePluginAzurerm::Interfaces::Ci,
44
45
  root: File.dirname(__dir__),
45
46
  )
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: terraspace_plugin_azurerm
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.1
4
+ version: 0.6.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tung Nguyen
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2022-05-03 00:00:00.000000000 Z
11
+ date: 2022-06-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: armrest
@@ -118,6 +118,7 @@ files:
118
118
  - lib/terraspace_plugin_azurerm/interfaces/backend/blob_container.rb
119
119
  - lib/terraspace_plugin_azurerm/interfaces/backend/resource_group_creator.rb
120
120
  - lib/terraspace_plugin_azurerm/interfaces/backend/storage_account.rb
121
+ - lib/terraspace_plugin_azurerm/interfaces/ci.rb
121
122
  - lib/terraspace_plugin_azurerm/interfaces/config.rb
122
123
  - lib/terraspace_plugin_azurerm/interfaces/expander.rb
123
124
  - lib/terraspace_plugin_azurerm/interfaces/helper.rb