Merge branch 'main' into plugin-hostcatalogs
This commit is contained in:
commit
48ac8b8f0b
69 files changed
+3433
-1176
No files matched your search
Generated
+147
-147
@@ -30,52 +30,52 @@ jobs:
|
||||
command: mkdir -p .buildcache && echo "*" > .buildcache/.gitignore
|
||||
name: Ignore .buildcache
|
||||
- restore_cache:
|
||||
key: package-fa8840f2e78bfa9c58d242426d80f4e30464516f-{{checksum ".buildcache/cache-keys/package-fa8840f2e78bfa9c58d242426d80f4e30464516f"}}
|
||||
key: package-5e182eecadd802ce4fde19b40733c21f1920d680-{{checksum ".buildcache/cache-keys/package-5e182eecadd802ce4fde19b40733c21f1920d680"}}
|
||||
name: Restore package cache
|
||||
- restore_cache:
|
||||
key: package-110a848ce5db07e7fc389430350c45261d2d7baa-{{checksum ".buildcache/cache-keys/package-110a848ce5db07e7fc389430350c45261d2d7baa"}}
|
||||
key: package-72ea9453ed75bfab19ee6a1fd34e7ac751e5e71d-{{checksum ".buildcache/cache-keys/package-72ea9453ed75bfab19ee6a1fd34e7ac751e5e71d"}}
|
||||
name: Restore package cache
|
||||
- restore_cache:
|
||||
key: package-36032b26f94d618cdc87dcb7ac3b4eb820a4ab6d-{{checksum ".buildcache/cache-keys/package-36032b26f94d618cdc87dcb7ac3b4eb820a4ab6d"}}
|
||||
key: package-ccae35a6ffa3283396cbe5608aa626a65cf951f4-{{checksum ".buildcache/cache-keys/package-ccae35a6ffa3283396cbe5608aa626a65cf951f4"}}
|
||||
name: Restore package cache
|
||||
- restore_cache:
|
||||
key: package-0922d907d014ef141526a2a3b9d54a3940adcbf3-{{checksum ".buildcache/cache-keys/package-0922d907d014ef141526a2a3b9d54a3940adcbf3"}}
|
||||
key: package-0101b0c84138c8e37a5affd1171d04237dcd044f-{{checksum ".buildcache/cache-keys/package-0101b0c84138c8e37a5affd1171d04237dcd044f"}}
|
||||
name: Restore package cache
|
||||
- restore_cache:
|
||||
key: package-ccb0599d3f5653d5bf75173f87d906156ebf1e3d-{{checksum ".buildcache/cache-keys/package-ccb0599d3f5653d5bf75173f87d906156ebf1e3d"}}
|
||||
key: package-3735bcca8df7adfefa7d79ae87bb6731ed5e074f-{{checksum ".buildcache/cache-keys/package-3735bcca8df7adfefa7d79ae87bb6731ed5e074f"}}
|
||||
name: Restore package cache
|
||||
- restore_cache:
|
||||
key: package-bced2a380b5354bba95ec9da4a54d06bc0a9b56d-{{checksum ".buildcache/cache-keys/package-bced2a380b5354bba95ec9da4a54d06bc0a9b56d"}}
|
||||
key: package-81b9112a9e1bd1d33778c4673adbec942c595a7e-{{checksum ".buildcache/cache-keys/package-81b9112a9e1bd1d33778c4673adbec942c595a7e"}}
|
||||
name: Restore package cache
|
||||
- restore_cache:
|
||||
key: package-9cdfa7cc4f940bdb711b3e4c05e23a771d7ce29f-{{checksum ".buildcache/cache-keys/package-9cdfa7cc4f940bdb711b3e4c05e23a771d7ce29f"}}
|
||||
key: package-b04f52247addbb91ec89a35be1ddff9feadf7090-{{checksum ".buildcache/cache-keys/package-b04f52247addbb91ec89a35be1ddff9feadf7090"}}
|
||||
name: Restore package cache
|
||||
- restore_cache:
|
||||
key: package-6c8214c1a10a7f53964bfb8d2688cadbe8c6b9e4-{{checksum ".buildcache/cache-keys/package-6c8214c1a10a7f53964bfb8d2688cadbe8c6b9e4"}}
|
||||
key: package-25033317f5db33c76740dba3e792063240c317b1-{{checksum ".buildcache/cache-keys/package-25033317f5db33c76740dba3e792063240c317b1"}}
|
||||
name: Restore package cache
|
||||
- restore_cache:
|
||||
key: package-276415ef2d0ac06fb080dd55910bb71613f9c049-{{checksum ".buildcache/cache-keys/package-276415ef2d0ac06fb080dd55910bb71613f9c049"}}
|
||||
key: package-dc42bacf89f0d78468257a40c404e141fa9272c8-{{checksum ".buildcache/cache-keys/package-dc42bacf89f0d78468257a40c404e141fa9272c8"}}
|
||||
name: Restore package cache
|
||||
- restore_cache:
|
||||
key: package-224e22a10a66af47d1f9468e0ca6c68f2a252599-{{checksum ".buildcache/cache-keys/package-224e22a10a66af47d1f9468e0ca6c68f2a252599"}}
|
||||
key: package-f56a0ca98b1bf7e4f647cedee7db20d8b940a1e0-{{checksum ".buildcache/cache-keys/package-f56a0ca98b1bf7e4f647cedee7db20d8b940a1e0"}}
|
||||
name: Restore package cache
|
||||
- restore_cache:
|
||||
key: package-b971c9df855df00922afb57baeda53f399318c79-{{checksum ".buildcache/cache-keys/package-b971c9df855df00922afb57baeda53f399318c79"}}
|
||||
key: package-8dd295cf186df50e92ed66575b73e97003885428-{{checksum ".buildcache/cache-keys/package-8dd295cf186df50e92ed66575b73e97003885428"}}
|
||||
name: Restore package cache
|
||||
- restore_cache:
|
||||
key: package-1c8250fee830f8fac2364e7d3e3f82ee5832983e-{{checksum ".buildcache/cache-keys/package-1c8250fee830f8fac2364e7d3e3f82ee5832983e"}}
|
||||
key: package-997f9a9e448c02fe17505a5b75635b9dd1104d92-{{checksum ".buildcache/cache-keys/package-997f9a9e448c02fe17505a5b75635b9dd1104d92"}}
|
||||
name: Restore package cache
|
||||
- restore_cache:
|
||||
key: package-a8981b00f8f6bce3fb156f73b58c4e33fe077876-{{checksum ".buildcache/cache-keys/package-a8981b00f8f6bce3fb156f73b58c4e33fe077876"}}
|
||||
key: package-505ab0aca6b881919f05bb8e0125783a5799b4fc-{{checksum ".buildcache/cache-keys/package-505ab0aca6b881919f05bb8e0125783a5799b4fc"}}
|
||||
name: Restore package cache
|
||||
- restore_cache:
|
||||
key: package-ee6ae4147a76888401e2032a2fee0926ef36ad00-{{checksum ".buildcache/cache-keys/package-ee6ae4147a76888401e2032a2fee0926ef36ad00"}}
|
||||
key: package-b7d03bef8d16c702d595798df0cbda643915292c-{{checksum ".buildcache/cache-keys/package-b7d03bef8d16c702d595798df0cbda643915292c"}}
|
||||
name: Restore package cache
|
||||
- restore_cache:
|
||||
key: package-e3454f0b7ee22d489b83f6daf78d545f4878a79c-{{checksum ".buildcache/cache-keys/package-e3454f0b7ee22d489b83f6daf78d545f4878a79c"}}
|
||||
key: package-a68848e3db3953d016f73aabb3d732a0333b7bc9-{{checksum ".buildcache/cache-keys/package-a68848e3db3953d016f73aabb3d732a0333b7bc9"}}
|
||||
name: Restore package cache
|
||||
- restore_cache:
|
||||
key: package-d92fb1003c4ac9e95b86d700d64bf54b76e6fef5-{{checksum ".buildcache/cache-keys/package-d92fb1003c4ac9e95b86d700d64bf54b76e6fef5"}}
|
||||
key: package-89694dc28c6ddc1d0648b69cefdcc9f67d59a240-{{checksum ".buildcache/cache-keys/package-89694dc28c6ddc1d0648b69cefdcc9f67d59a240"}}
|
||||
name: Restore package cache
|
||||
- run:
|
||||
command: make package-meta-all
|
||||
@@ -87,20 +87,20 @@ jobs:
|
||||
command: ls -lahR .buildcache
|
||||
name: List Build Cache
|
||||
- run:
|
||||
command: cp packages*.lock/pkgs.yml lockfile-87386c0c55d5c61a.yml
|
||||
command: cp packages*.lock/pkgs.yml lockfile-7f1510c592a3019a.yml
|
||||
name: Update Lockfile Name
|
||||
- run:
|
||||
command: tar -czf packages-87386c0c55d5c61a.tar.gz .buildcache/packages lockfile-87386c0c55d5c61a.yml
|
||||
command: tar -czf packages-7f1510c592a3019a.tar.gz .buildcache/packages lockfile-7f1510c592a3019a.yml
|
||||
name: Create Raw Package Tarball
|
||||
- run:
|
||||
command: tar -czf meta-87386c0c55d5c61a.tar.gz .buildcache/packages/store/*.json lockfile-87386c0c55d5c61a.yml
|
||||
command: tar -czf meta-7f1510c592a3019a.tar.gz .buildcache/packages/store/*.json lockfile-7f1510c592a3019a.yml
|
||||
name: Create Metadata Tarball
|
||||
- store_artifacts:
|
||||
path: lockfile-87386c0c55d5c61a.yml
|
||||
path: lockfile-7f1510c592a3019a.yml
|
||||
- store_artifacts:
|
||||
path: packages-87386c0c55d5c61a.tar.gz
|
||||
path: packages-7f1510c592a3019a.tar.gz
|
||||
- store_artifacts:
|
||||
path: meta-87386c0c55d5c61a.tar.gz
|
||||
path: meta-7f1510c592a3019a.tar.gz
|
||||
- store_artifacts:
|
||||
path: .buildcache/packages
|
||||
environment:
|
||||
@@ -115,7 +115,7 @@ jobs:
|
||||
- AUTO_INSTALL_TOOLS: 'YES'
|
||||
- BUILDKIT_PROGRESS: plain
|
||||
- PRODUCT_REVISION: ''
|
||||
- PACKAGE_SPEC_ID: fa8840f2e78bfa9c58d242426d80f4e30464516f
|
||||
- PACKAGE_SPEC_ID: 5e182eecadd802ce4fde19b40733c21f1920d680
|
||||
steps:
|
||||
- setup_remote_docker:
|
||||
docker_layer_caching: false
|
||||
@@ -129,7 +129,7 @@ jobs:
|
||||
command: make -C packages*.lock write-package-cache-key
|
||||
name: Write package cache key
|
||||
- restore_cache:
|
||||
key: package-fa8840f2e78bfa9c58d242426d80f4e30464516f-{{checksum ".buildcache/cache-keys/package-fa8840f2e78bfa9c58d242426d80f4e30464516f"}}
|
||||
key: package-5e182eecadd802ce4fde19b40733c21f1920d680-{{checksum ".buildcache/cache-keys/package-5e182eecadd802ce4fde19b40733c21f1920d680"}}
|
||||
name: Restore package cache
|
||||
- run:
|
||||
command: |2
|
||||
@@ -145,11 +145,11 @@ jobs:
|
||||
command: make -C packages*.lock write-builder-cache-keys
|
||||
name: Write builder layer cache keys
|
||||
- restore_cache:
|
||||
key: copy-source_5c01_{{checksum ".buildcache/cache-keys/copy-source-5c01da64a31c9bfe7ba38f51d95e8bf99c0842f5"}}
|
||||
key: copy-source_6be6_{{checksum ".buildcache/cache-keys/copy-source-6be6bbcf469c2d26620194eeee87f0c4ba470bde"}}
|
||||
keys:
|
||||
- go-modules_a25c_{{checksum ".buildcache/cache-keys/go-modules-a25cdf16b83859e7e53c8fd5272e4c6b8366e2be"}}
|
||||
- ui_7d0e_{{checksum ".buildcache/cache-keys/ui-7d0eb4b8e23fd3d22cf70da1dff7e4359673ce05"}}
|
||||
- base_849b_{{checksum ".buildcache/cache-keys/base-849b90f357ec2b0e340c99c0a49e883d36073bd9"}}
|
||||
- go-modules_74c0_{{checksum ".buildcache/cache-keys/go-modules-74c0c94188690e22d738cb1784f8feba7c3dc00d"}}
|
||||
- ui_dfc9_{{checksum ".buildcache/cache-keys/ui-dfc937906b9b645655c44bc782ef13c64ebe8dbb"}}
|
||||
- base_cc87_{{checksum ".buildcache/cache-keys/base-cc87158f920a83b1c241d68474eed6734b32c511"}}
|
||||
name: 'Restore Builder Image Cache: copy-source'
|
||||
- run:
|
||||
command: make -C packages*.lock load-builder-cache
|
||||
@@ -175,7 +175,7 @@ jobs:
|
||||
command: ls -lahR .buildcache/packages
|
||||
name: List packages
|
||||
- save_cache:
|
||||
key: package-fa8840f2e78bfa9c58d242426d80f4e30464516f-{{checksum ".buildcache/cache-keys/package-fa8840f2e78bfa9c58d242426d80f4e30464516f"}}
|
||||
key: package-5e182eecadd802ce4fde19b40733c21f1920d680-{{checksum ".buildcache/cache-keys/package-5e182eecadd802ce4fde19b40733c21f1920d680"}}
|
||||
name: Save package cache
|
||||
paths:
|
||||
- .buildcache/packages/store
|
||||
@@ -187,7 +187,7 @@ jobs:
|
||||
- AUTO_INSTALL_TOOLS: 'YES'
|
||||
- BUILDKIT_PROGRESS: plain
|
||||
- PRODUCT_REVISION: ''
|
||||
- PACKAGE_SPEC_ID: 110a848ce5db07e7fc389430350c45261d2d7baa
|
||||
- PACKAGE_SPEC_ID: 72ea9453ed75bfab19ee6a1fd34e7ac751e5e71d
|
||||
steps:
|
||||
- setup_remote_docker:
|
||||
docker_layer_caching: false
|
||||
@@ -201,7 +201,7 @@ jobs:
|
||||
command: make -C packages*.lock write-package-cache-key
|
||||
name: Write package cache key
|
||||
- restore_cache:
|
||||
key: package-110a848ce5db07e7fc389430350c45261d2d7baa-{{checksum ".buildcache/cache-keys/package-110a848ce5db07e7fc389430350c45261d2d7baa"}}
|
||||
key: package-72ea9453ed75bfab19ee6a1fd34e7ac751e5e71d-{{checksum ".buildcache/cache-keys/package-72ea9453ed75bfab19ee6a1fd34e7ac751e5e71d"}}
|
||||
name: Restore package cache
|
||||
- run:
|
||||
command: |2
|
||||
@@ -217,11 +217,11 @@ jobs:
|
||||
command: make -C packages*.lock write-builder-cache-keys
|
||||
name: Write builder layer cache keys
|
||||
- restore_cache:
|
||||
key: copy-source_5c01_{{checksum ".buildcache/cache-keys/copy-source-5c01da64a31c9bfe7ba38f51d95e8bf99c0842f5"}}
|
||||
key: copy-source_6be6_{{checksum ".buildcache/cache-keys/copy-source-6be6bbcf469c2d26620194eeee87f0c4ba470bde"}}
|
||||
keys:
|
||||
- go-modules_a25c_{{checksum ".buildcache/cache-keys/go-modules-a25cdf16b83859e7e53c8fd5272e4c6b8366e2be"}}
|
||||
- ui_7d0e_{{checksum ".buildcache/cache-keys/ui-7d0eb4b8e23fd3d22cf70da1dff7e4359673ce05"}}
|
||||
- base_849b_{{checksum ".buildcache/cache-keys/base-849b90f357ec2b0e340c99c0a49e883d36073bd9"}}
|
||||
- go-modules_74c0_{{checksum ".buildcache/cache-keys/go-modules-74c0c94188690e22d738cb1784f8feba7c3dc00d"}}
|
||||
- ui_dfc9_{{checksum ".buildcache/cache-keys/ui-dfc937906b9b645655c44bc782ef13c64ebe8dbb"}}
|
||||
- base_cc87_{{checksum ".buildcache/cache-keys/base-cc87158f920a83b1c241d68474eed6734b32c511"}}
|
||||
name: 'Restore Builder Image Cache: copy-source'
|
||||
- run:
|
||||
command: make -C packages*.lock load-builder-cache
|
||||
@@ -247,7 +247,7 @@ jobs:
|
||||
command: ls -lahR .buildcache/packages
|
||||
name: List packages
|
||||
- save_cache:
|
||||
key: package-110a848ce5db07e7fc389430350c45261d2d7baa-{{checksum ".buildcache/cache-keys/package-110a848ce5db07e7fc389430350c45261d2d7baa"}}
|
||||
key: package-72ea9453ed75bfab19ee6a1fd34e7ac751e5e71d-{{checksum ".buildcache/cache-keys/package-72ea9453ed75bfab19ee6a1fd34e7ac751e5e71d"}}
|
||||
name: Save package cache
|
||||
paths:
|
||||
- .buildcache/packages/store
|
||||
@@ -259,7 +259,7 @@ jobs:
|
||||
- AUTO_INSTALL_TOOLS: 'YES'
|
||||
- BUILDKIT_PROGRESS: plain
|
||||
- PRODUCT_REVISION: ''
|
||||
- PACKAGE_SPEC_ID: e3454f0b7ee22d489b83f6daf78d545f4878a79c
|
||||
- PACKAGE_SPEC_ID: a68848e3db3953d016f73aabb3d732a0333b7bc9
|
||||
steps:
|
||||
- setup_remote_docker:
|
||||
docker_layer_caching: false
|
||||
@@ -273,7 +273,7 @@ jobs:
|
||||
command: make -C packages*.lock write-package-cache-key
|
||||
name: Write package cache key
|
||||
- restore_cache:
|
||||
key: package-e3454f0b7ee22d489b83f6daf78d545f4878a79c-{{checksum ".buildcache/cache-keys/package-e3454f0b7ee22d489b83f6daf78d545f4878a79c"}}
|
||||
key: package-a68848e3db3953d016f73aabb3d732a0333b7bc9-{{checksum ".buildcache/cache-keys/package-a68848e3db3953d016f73aabb3d732a0333b7bc9"}}
|
||||
name: Restore package cache
|
||||
- run:
|
||||
command: |2
|
||||
@@ -289,11 +289,11 @@ jobs:
|
||||
command: make -C packages*.lock write-builder-cache-keys
|
||||
name: Write builder layer cache keys
|
||||
- restore_cache:
|
||||
key: copy-source_5c01_{{checksum ".buildcache/cache-keys/copy-source-5c01da64a31c9bfe7ba38f51d95e8bf99c0842f5"}}
|
||||
key: copy-source_6be6_{{checksum ".buildcache/cache-keys/copy-source-6be6bbcf469c2d26620194eeee87f0c4ba470bde"}}
|
||||
keys:
|
||||
- go-modules_a25c_{{checksum ".buildcache/cache-keys/go-modules-a25cdf16b83859e7e53c8fd5272e4c6b8366e2be"}}
|
||||
- ui_7d0e_{{checksum ".buildcache/cache-keys/ui-7d0eb4b8e23fd3d22cf70da1dff7e4359673ce05"}}
|
||||
- base_849b_{{checksum ".buildcache/cache-keys/base-849b90f357ec2b0e340c99c0a49e883d36073bd9"}}
|
||||
- go-modules_74c0_{{checksum ".buildcache/cache-keys/go-modules-74c0c94188690e22d738cb1784f8feba7c3dc00d"}}
|
||||
- ui_dfc9_{{checksum ".buildcache/cache-keys/ui-dfc937906b9b645655c44bc782ef13c64ebe8dbb"}}
|
||||
- base_cc87_{{checksum ".buildcache/cache-keys/base-cc87158f920a83b1c241d68474eed6734b32c511"}}
|
||||
name: 'Restore Builder Image Cache: copy-source'
|
||||
- run:
|
||||
command: make -C packages*.lock load-builder-cache
|
||||
@@ -319,7 +319,7 @@ jobs:
|
||||
command: ls -lahR .buildcache/packages
|
||||
name: List packages
|
||||
- save_cache:
|
||||
key: package-e3454f0b7ee22d489b83f6daf78d545f4878a79c-{{checksum ".buildcache/cache-keys/package-e3454f0b7ee22d489b83f6daf78d545f4878a79c"}}
|
||||
key: package-a68848e3db3953d016f73aabb3d732a0333b7bc9-{{checksum ".buildcache/cache-keys/package-a68848e3db3953d016f73aabb3d732a0333b7bc9"}}
|
||||
name: Save package cache
|
||||
paths:
|
||||
- .buildcache/packages/store
|
||||
@@ -349,14 +349,14 @@ jobs:
|
||||
command: make -C packages*.lock write-builder-cache-keys
|
||||
name: Write builder layer cache keys
|
||||
- restore_cache:
|
||||
key: copy-source_5c01_{{checksum ".buildcache/cache-keys/copy-source-5c01da64a31c9bfe7ba38f51d95e8bf99c0842f5"}}
|
||||
key: copy-source_6be6_{{checksum ".buildcache/cache-keys/copy-source-6be6bbcf469c2d26620194eeee87f0c4ba470bde"}}
|
||||
keys:
|
||||
- go-modules_a25c_{{checksum ".buildcache/cache-keys/go-modules-a25cdf16b83859e7e53c8fd5272e4c6b8366e2be"}}
|
||||
- ui_7d0e_{{checksum ".buildcache/cache-keys/ui-7d0eb4b8e23fd3d22cf70da1dff7e4359673ce05"}}
|
||||
- base_849b_{{checksum ".buildcache/cache-keys/base-849b90f357ec2b0e340c99c0a49e883d36073bd9"}}
|
||||
- go-modules_74c0_{{checksum ".buildcache/cache-keys/go-modules-74c0c94188690e22d738cb1784f8feba7c3dc00d"}}
|
||||
- ui_dfc9_{{checksum ".buildcache/cache-keys/ui-dfc937906b9b645655c44bc782ef13c64ebe8dbb"}}
|
||||
- base_cc87_{{checksum ".buildcache/cache-keys/base-cc87158f920a83b1c241d68474eed6734b32c511"}}
|
||||
name: 'Restore Layer Cache: copy-source'
|
||||
- run:
|
||||
command: LAYER_SPEC_ID=03-copy-source-5c01da64a31c9bfe7ba38f51d95e8bf99c0842f5 make -C packages*.lock load-builder-cache
|
||||
command: LAYER_SPEC_ID=03-copy-source-6be6bbcf469c2d26620194eeee87f0c4ba470bde make -C packages*.lock load-builder-cache
|
||||
name: Load whatever builder cache we have (if any) into the Docker daemon
|
||||
- run:
|
||||
command: |2-
|
||||
@@ -372,7 +372,7 @@ jobs:
|
||||
echo " attempts to directly clone private repositories."
|
||||
fi
|
||||
|
||||
make -f packages*.lock/layer.mk 00-base-849b90f357ec2b0e340c99c0a49e883d36073bd9-image
|
||||
make -f packages*.lock/layer.mk 00-base-cc87158f920a83b1c241d68474eed6734b32c511-image
|
||||
name: Build base layer
|
||||
- run:
|
||||
command: |2-
|
||||
@@ -388,7 +388,7 @@ jobs:
|
||||
echo " attempts to directly clone private repositories."
|
||||
fi
|
||||
|
||||
make -f packages*.lock/layer.mk 01-ui-7d0eb4b8e23fd3d22cf70da1dff7e4359673ce05-image
|
||||
make -f packages*.lock/layer.mk 01-ui-dfc937906b9b645655c44bc782ef13c64ebe8dbb-image
|
||||
name: Build ui layer
|
||||
- run:
|
||||
command: |2-
|
||||
@@ -404,7 +404,7 @@ jobs:
|
||||
echo " attempts to directly clone private repositories."
|
||||
fi
|
||||
|
||||
make -f packages*.lock/layer.mk 02-go-modules-a25cdf16b83859e7e53c8fd5272e4c6b8366e2be-image
|
||||
make -f packages*.lock/layer.mk 02-go-modules-74c0c94188690e22d738cb1784f8feba7c3dc00d-image
|
||||
name: Build go-modules layer
|
||||
- run:
|
||||
command: |2-
|
||||
@@ -420,7 +420,7 @@ jobs:
|
||||
echo " attempts to directly clone private repositories."
|
||||
fi
|
||||
|
||||
make -f packages*.lock/layer.mk 03-copy-source-5c01da64a31c9bfe7ba38f51d95e8bf99c0842f5-image
|
||||
make -f packages*.lock/layer.mk 03-copy-source-6be6bbcf469c2d26620194eeee87f0c4ba470bde-image
|
||||
name: Build copy-source layer
|
||||
- run:
|
||||
command: |2-
|
||||
@@ -436,13 +436,13 @@ jobs:
|
||||
echo " attempts to directly clone private repositories."
|
||||
fi
|
||||
|
||||
make -f packages*.lock/layer.mk 03-copy-source-5c01da64a31c9bfe7ba38f51d95e8bf99c0842f5-save
|
||||
make -f packages*.lock/layer.mk 03-copy-source-6be6bbcf469c2d26620194eeee87f0c4ba470bde-save
|
||||
name: Build copy-source layer
|
||||
- save_cache:
|
||||
key: copy-source_5c01_{{checksum ".buildcache/cache-keys/copy-source-5c01da64a31c9bfe7ba38f51d95e8bf99c0842f5"}}
|
||||
key: copy-source_6be6_{{checksum ".buildcache/cache-keys/copy-source-6be6bbcf469c2d26620194eeee87f0c4ba470bde"}}
|
||||
name: 'Save Layer Cache: copy-source'
|
||||
paths:
|
||||
- .buildcache/archives/03-copy-source-5c01da64a31c9bfe7ba38f51d95e8bf99c0842f5.tar.gz
|
||||
- .buildcache/archives/03-copy-source-6be6bbcf469c2d26620194eeee87f0c4ba470bde.tar.gz
|
||||
environment:
|
||||
- AUTO_INSTALL_TOOLS: 'YES'
|
||||
- BUILDKIT_PROGRESS: plain
|
||||
@@ -455,7 +455,7 @@ jobs:
|
||||
- AUTO_INSTALL_TOOLS: 'YES'
|
||||
- BUILDKIT_PROGRESS: plain
|
||||
- PRODUCT_REVISION: ''
|
||||
- PACKAGE_SPEC_ID: 276415ef2d0ac06fb080dd55910bb71613f9c049
|
||||
- PACKAGE_SPEC_ID: dc42bacf89f0d78468257a40c404e141fa9272c8
|
||||
steps:
|
||||
- setup_remote_docker:
|
||||
docker_layer_caching: false
|
||||
@@ -469,7 +469,7 @@ jobs:
|
||||
command: make -C packages*.lock write-package-cache-key
|
||||
name: Write package cache key
|
||||
- restore_cache:
|
||||
key: package-276415ef2d0ac06fb080dd55910bb71613f9c049-{{checksum ".buildcache/cache-keys/package-276415ef2d0ac06fb080dd55910bb71613f9c049"}}
|
||||
key: package-dc42bacf89f0d78468257a40c404e141fa9272c8-{{checksum ".buildcache/cache-keys/package-dc42bacf89f0d78468257a40c404e141fa9272c8"}}
|
||||
name: Restore package cache
|
||||
- run:
|
||||
command: |2
|
||||
@@ -485,11 +485,11 @@ jobs:
|
||||
command: make -C packages*.lock write-builder-cache-keys
|
||||
name: Write builder layer cache keys
|
||||
- restore_cache:
|
||||
key: copy-source_5c01_{{checksum ".buildcache/cache-keys/copy-source-5c01da64a31c9bfe7ba38f51d95e8bf99c0842f5"}}
|
||||
key: copy-source_6be6_{{checksum ".buildcache/cache-keys/copy-source-6be6bbcf469c2d26620194eeee87f0c4ba470bde"}}
|
||||
keys:
|
||||
- go-modules_a25c_{{checksum ".buildcache/cache-keys/go-modules-a25cdf16b83859e7e53c8fd5272e4c6b8366e2be"}}
|
||||
- ui_7d0e_{{checksum ".buildcache/cache-keys/ui-7d0eb4b8e23fd3d22cf70da1dff7e4359673ce05"}}
|
||||
- base_849b_{{checksum ".buildcache/cache-keys/base-849b90f357ec2b0e340c99c0a49e883d36073bd9"}}
|
||||
- go-modules_74c0_{{checksum ".buildcache/cache-keys/go-modules-74c0c94188690e22d738cb1784f8feba7c3dc00d"}}
|
||||
- ui_dfc9_{{checksum ".buildcache/cache-keys/ui-dfc937906b9b645655c44bc782ef13c64ebe8dbb"}}
|
||||
- base_cc87_{{checksum ".buildcache/cache-keys/base-cc87158f920a83b1c241d68474eed6734b32c511"}}
|
||||
name: 'Restore Builder Image Cache: copy-source'
|
||||
- run:
|
||||
command: make -C packages*.lock load-builder-cache
|
||||
@@ -515,7 +515,7 @@ jobs:
|
||||
command: ls -lahR .buildcache/packages
|
||||
name: List packages
|
||||
- save_cache:
|
||||
key: package-276415ef2d0ac06fb080dd55910bb71613f9c049-{{checksum ".buildcache/cache-keys/package-276415ef2d0ac06fb080dd55910bb71613f9c049"}}
|
||||
key: package-dc42bacf89f0d78468257a40c404e141fa9272c8-{{checksum ".buildcache/cache-keys/package-dc42bacf89f0d78468257a40c404e141fa9272c8"}}
|
||||
name: Save package cache
|
||||
paths:
|
||||
- .buildcache/packages/store
|
||||
@@ -527,7 +527,7 @@ jobs:
|
||||
- AUTO_INSTALL_TOOLS: 'YES'
|
||||
- BUILDKIT_PROGRESS: plain
|
||||
- PRODUCT_REVISION: ''
|
||||
- PACKAGE_SPEC_ID: 6c8214c1a10a7f53964bfb8d2688cadbe8c6b9e4
|
||||
- PACKAGE_SPEC_ID: 25033317f5db33c76740dba3e792063240c317b1
|
||||
steps:
|
||||
- setup_remote_docker:
|
||||
docker_layer_caching: false
|
||||
@@ -541,7 +541,7 @@ jobs:
|
||||
command: make -C packages*.lock write-package-cache-key
|
||||
name: Write package cache key
|
||||
- restore_cache:
|
||||
key: package-6c8214c1a10a7f53964bfb8d2688cadbe8c6b9e4-{{checksum ".buildcache/cache-keys/package-6c8214c1a10a7f53964bfb8d2688cadbe8c6b9e4"}}
|
||||
key: package-25033317f5db33c76740dba3e792063240c317b1-{{checksum ".buildcache/cache-keys/package-25033317f5db33c76740dba3e792063240c317b1"}}
|
||||
name: Restore package cache
|
||||
- run:
|
||||
command: |2
|
||||
@@ -557,11 +557,11 @@ jobs:
|
||||
command: make -C packages*.lock write-builder-cache-keys
|
||||
name: Write builder layer cache keys
|
||||
- restore_cache:
|
||||
key: copy-source_5c01_{{checksum ".buildcache/cache-keys/copy-source-5c01da64a31c9bfe7ba38f51d95e8bf99c0842f5"}}
|
||||
key: copy-source_6be6_{{checksum ".buildcache/cache-keys/copy-source-6be6bbcf469c2d26620194eeee87f0c4ba470bde"}}
|
||||
keys:
|
||||
- go-modules_a25c_{{checksum ".buildcache/cache-keys/go-modules-a25cdf16b83859e7e53c8fd5272e4c6b8366e2be"}}
|
||||
- ui_7d0e_{{checksum ".buildcache/cache-keys/ui-7d0eb4b8e23fd3d22cf70da1dff7e4359673ce05"}}
|
||||
- base_849b_{{checksum ".buildcache/cache-keys/base-849b90f357ec2b0e340c99c0a49e883d36073bd9"}}
|
||||
- go-modules_74c0_{{checksum ".buildcache/cache-keys/go-modules-74c0c94188690e22d738cb1784f8feba7c3dc00d"}}
|
||||
- ui_dfc9_{{checksum ".buildcache/cache-keys/ui-dfc937906b9b645655c44bc782ef13c64ebe8dbb"}}
|
||||
- base_cc87_{{checksum ".buildcache/cache-keys/base-cc87158f920a83b1c241d68474eed6734b32c511"}}
|
||||
name: 'Restore Builder Image Cache: copy-source'
|
||||
- run:
|
||||
command: make -C packages*.lock load-builder-cache
|
||||
@@ -587,7 +587,7 @@ jobs:
|
||||
command: ls -lahR .buildcache/packages
|
||||
name: List packages
|
||||
- save_cache:
|
||||
key: package-6c8214c1a10a7f53964bfb8d2688cadbe8c6b9e4-{{checksum ".buildcache/cache-keys/package-6c8214c1a10a7f53964bfb8d2688cadbe8c6b9e4"}}
|
||||
key: package-25033317f5db33c76740dba3e792063240c317b1-{{checksum ".buildcache/cache-keys/package-25033317f5db33c76740dba3e792063240c317b1"}}
|
||||
name: Save package cache
|
||||
paths:
|
||||
- .buildcache/packages/store
|
||||
@@ -610,7 +610,7 @@ jobs:
|
||||
- AUTO_INSTALL_TOOLS: 'YES'
|
||||
- BUILDKIT_PROGRESS: plain
|
||||
- PRODUCT_REVISION: ''
|
||||
- PACKAGE_SPEC_ID: bced2a380b5354bba95ec9da4a54d06bc0a9b56d
|
||||
- PACKAGE_SPEC_ID: 81b9112a9e1bd1d33778c4673adbec942c595a7e
|
||||
steps:
|
||||
- setup_remote_docker:
|
||||
docker_layer_caching: false
|
||||
@@ -624,7 +624,7 @@ jobs:
|
||||
command: make -C packages*.lock write-package-cache-key
|
||||
name: Write package cache key
|
||||
- restore_cache:
|
||||
key: package-bced2a380b5354bba95ec9da4a54d06bc0a9b56d-{{checksum ".buildcache/cache-keys/package-bced2a380b5354bba95ec9da4a54d06bc0a9b56d"}}
|
||||
key: package-81b9112a9e1bd1d33778c4673adbec942c595a7e-{{checksum ".buildcache/cache-keys/package-81b9112a9e1bd1d33778c4673adbec942c595a7e"}}
|
||||
name: Restore package cache
|
||||
- run:
|
||||
command: |2
|
||||
@@ -640,11 +640,11 @@ jobs:
|
||||
command: make -C packages*.lock write-builder-cache-keys
|
||||
name: Write builder layer cache keys
|
||||
- restore_cache:
|
||||
key: copy-source_5c01_{{checksum ".buildcache/cache-keys/copy-source-5c01da64a31c9bfe7ba38f51d95e8bf99c0842f5"}}
|
||||
key: copy-source_6be6_{{checksum ".buildcache/cache-keys/copy-source-6be6bbcf469c2d26620194eeee87f0c4ba470bde"}}
|
||||
keys:
|
||||
- go-modules_a25c_{{checksum ".buildcache/cache-keys/go-modules-a25cdf16b83859e7e53c8fd5272e4c6b8366e2be"}}
|
||||
- ui_7d0e_{{checksum ".buildcache/cache-keys/ui-7d0eb4b8e23fd3d22cf70da1dff7e4359673ce05"}}
|
||||
- base_849b_{{checksum ".buildcache/cache-keys/base-849b90f357ec2b0e340c99c0a49e883d36073bd9"}}
|
||||
- go-modules_74c0_{{checksum ".buildcache/cache-keys/go-modules-74c0c94188690e22d738cb1784f8feba7c3dc00d"}}
|
||||
- ui_dfc9_{{checksum ".buildcache/cache-keys/ui-dfc937906b9b645655c44bc782ef13c64ebe8dbb"}}
|
||||
- base_cc87_{{checksum ".buildcache/cache-keys/base-cc87158f920a83b1c241d68474eed6734b32c511"}}
|
||||
name: 'Restore Builder Image Cache: copy-source'
|
||||
- run:
|
||||
command: make -C packages*.lock load-builder-cache
|
||||
@@ -670,7 +670,7 @@ jobs:
|
||||
command: ls -lahR .buildcache/packages
|
||||
name: List packages
|
||||
- save_cache:
|
||||
key: package-bced2a380b5354bba95ec9da4a54d06bc0a9b56d-{{checksum ".buildcache/cache-keys/package-bced2a380b5354bba95ec9da4a54d06bc0a9b56d"}}
|
||||
key: package-81b9112a9e1bd1d33778c4673adbec942c595a7e-{{checksum ".buildcache/cache-keys/package-81b9112a9e1bd1d33778c4673adbec942c595a7e"}}
|
||||
name: Save package cache
|
||||
paths:
|
||||
- .buildcache/packages/store
|
||||
@@ -682,7 +682,7 @@ jobs:
|
||||
- AUTO_INSTALL_TOOLS: 'YES'
|
||||
- BUILDKIT_PROGRESS: plain
|
||||
- PRODUCT_REVISION: ''
|
||||
- PACKAGE_SPEC_ID: 36032b26f94d618cdc87dcb7ac3b4eb820a4ab6d
|
||||
- PACKAGE_SPEC_ID: ccae35a6ffa3283396cbe5608aa626a65cf951f4
|
||||
steps:
|
||||
- setup_remote_docker:
|
||||
docker_layer_caching: false
|
||||
@@ -696,7 +696,7 @@ jobs:
|
||||
command: make -C packages*.lock write-package-cache-key
|
||||
name: Write package cache key
|
||||
- restore_cache:
|
||||
key: package-36032b26f94d618cdc87dcb7ac3b4eb820a4ab6d-{{checksum ".buildcache/cache-keys/package-36032b26f94d618cdc87dcb7ac3b4eb820a4ab6d"}}
|
||||
key: package-ccae35a6ffa3283396cbe5608aa626a65cf951f4-{{checksum ".buildcache/cache-keys/package-ccae35a6ffa3283396cbe5608aa626a65cf951f4"}}
|
||||
name: Restore package cache
|
||||
- run:
|
||||
command: |2
|
||||
@@ -712,11 +712,11 @@ jobs:
|
||||
command: make -C packages*.lock write-builder-cache-keys
|
||||
name: Write builder layer cache keys
|
||||
- restore_cache:
|
||||
key: copy-source_5c01_{{checksum ".buildcache/cache-keys/copy-source-5c01da64a31c9bfe7ba38f51d95e8bf99c0842f5"}}
|
||||
key: copy-source_6be6_{{checksum ".buildcache/cache-keys/copy-source-6be6bbcf469c2d26620194eeee87f0c4ba470bde"}}
|
||||
keys:
|
||||
- go-modules_a25c_{{checksum ".buildcache/cache-keys/go-modules-a25cdf16b83859e7e53c8fd5272e4c6b8366e2be"}}
|
||||
- ui_7d0e_{{checksum ".buildcache/cache-keys/ui-7d0eb4b8e23fd3d22cf70da1dff7e4359673ce05"}}
|
||||
- base_849b_{{checksum ".buildcache/cache-keys/base-849b90f357ec2b0e340c99c0a49e883d36073bd9"}}
|
||||
- go-modules_74c0_{{checksum ".buildcache/cache-keys/go-modules-74c0c94188690e22d738cb1784f8feba7c3dc00d"}}
|
||||
- ui_dfc9_{{checksum ".buildcache/cache-keys/ui-dfc937906b9b645655c44bc782ef13c64ebe8dbb"}}
|
||||
- base_cc87_{{checksum ".buildcache/cache-keys/base-cc87158f920a83b1c241d68474eed6734b32c511"}}
|
||||
name: 'Restore Builder Image Cache: copy-source'
|
||||
- run:
|
||||
command: make -C packages*.lock load-builder-cache
|
||||
@@ -742,7 +742,7 @@ jobs:
|
||||
command: ls -lahR .buildcache/packages
|
||||
name: List packages
|
||||
- save_cache:
|
||||
key: package-36032b26f94d618cdc87dcb7ac3b4eb820a4ab6d-{{checksum ".buildcache/cache-keys/package-36032b26f94d618cdc87dcb7ac3b4eb820a4ab6d"}}
|
||||
key: package-ccae35a6ffa3283396cbe5608aa626a65cf951f4-{{checksum ".buildcache/cache-keys/package-ccae35a6ffa3283396cbe5608aa626a65cf951f4"}}
|
||||
name: Save package cache
|
||||
paths:
|
||||
- .buildcache/packages/store
|
||||
@@ -754,7 +754,7 @@ jobs:
|
||||
- AUTO_INSTALL_TOOLS: 'YES'
|
||||
- BUILDKIT_PROGRESS: plain
|
||||
- PRODUCT_REVISION: ''
|
||||
- PACKAGE_SPEC_ID: 0922d907d014ef141526a2a3b9d54a3940adcbf3
|
||||
- PACKAGE_SPEC_ID: 0101b0c84138c8e37a5affd1171d04237dcd044f
|
||||
steps:
|
||||
- setup_remote_docker:
|
||||
docker_layer_caching: false
|
||||
@@ -768,7 +768,7 @@ jobs:
|
||||
command: make -C packages*.lock write-package-cache-key
|
||||
name: Write package cache key
|
||||
- restore_cache:
|
||||
key: package-0922d907d014ef141526a2a3b9d54a3940adcbf3-{{checksum ".buildcache/cache-keys/package-0922d907d014ef141526a2a3b9d54a3940adcbf3"}}
|
||||
key: package-0101b0c84138c8e37a5affd1171d04237dcd044f-{{checksum ".buildcache/cache-keys/package-0101b0c84138c8e37a5affd1171d04237dcd044f"}}
|
||||
name: Restore package cache
|
||||
- run:
|
||||
command: |2
|
||||
@@ -784,11 +784,11 @@ jobs:
|
||||
command: make -C packages*.lock write-builder-cache-keys
|
||||
name: Write builder layer cache keys
|
||||
- restore_cache:
|
||||
key: copy-source_5c01_{{checksum ".buildcache/cache-keys/copy-source-5c01da64a31c9bfe7ba38f51d95e8bf99c0842f5"}}
|
||||
key: copy-source_6be6_{{checksum ".buildcache/cache-keys/copy-source-6be6bbcf469c2d26620194eeee87f0c4ba470bde"}}
|
||||
keys:
|
||||
- go-modules_a25c_{{checksum ".buildcache/cache-keys/go-modules-a25cdf16b83859e7e53c8fd5272e4c6b8366e2be"}}
|
||||
- ui_7d0e_{{checksum ".buildcache/cache-keys/ui-7d0eb4b8e23fd3d22cf70da1dff7e4359673ce05"}}
|
||||
- base_849b_{{checksum ".buildcache/cache-keys/base-849b90f357ec2b0e340c99c0a49e883d36073bd9"}}
|
||||
- go-modules_74c0_{{checksum ".buildcache/cache-keys/go-modules-74c0c94188690e22d738cb1784f8feba7c3dc00d"}}
|
||||
- ui_dfc9_{{checksum ".buildcache/cache-keys/ui-dfc937906b9b645655c44bc782ef13c64ebe8dbb"}}
|
||||
- base_cc87_{{checksum ".buildcache/cache-keys/base-cc87158f920a83b1c241d68474eed6734b32c511"}}
|
||||
name: 'Restore Builder Image Cache: copy-source'
|
||||
- run:
|
||||
command: make -C packages*.lock load-builder-cache
|
||||
@@ -814,7 +814,7 @@ jobs:
|
||||
command: ls -lahR .buildcache/packages
|
||||
name: List packages
|
||||
- save_cache:
|
||||
key: package-0922d907d014ef141526a2a3b9d54a3940adcbf3-{{checksum ".buildcache/cache-keys/package-0922d907d014ef141526a2a3b9d54a3940adcbf3"}}
|
||||
key: package-0101b0c84138c8e37a5affd1171d04237dcd044f-{{checksum ".buildcache/cache-keys/package-0101b0c84138c8e37a5affd1171d04237dcd044f"}}
|
||||
name: Save package cache
|
||||
paths:
|
||||
- .buildcache/packages/store
|
||||
@@ -826,7 +826,7 @@ jobs:
|
||||
- AUTO_INSTALL_TOOLS: 'YES'
|
||||
- BUILDKIT_PROGRESS: plain
|
||||
- PRODUCT_REVISION: ''
|
||||
- PACKAGE_SPEC_ID: 1c8250fee830f8fac2364e7d3e3f82ee5832983e
|
||||
- PACKAGE_SPEC_ID: 997f9a9e448c02fe17505a5b75635b9dd1104d92
|
||||
steps:
|
||||
- setup_remote_docker:
|
||||
docker_layer_caching: false
|
||||
@@ -840,7 +840,7 @@ jobs:
|
||||
command: make -C packages*.lock write-package-cache-key
|
||||
name: Write package cache key
|
||||
- restore_cache:
|
||||
key: package-1c8250fee830f8fac2364e7d3e3f82ee5832983e-{{checksum ".buildcache/cache-keys/package-1c8250fee830f8fac2364e7d3e3f82ee5832983e"}}
|
||||
key: package-997f9a9e448c02fe17505a5b75635b9dd1104d92-{{checksum ".buildcache/cache-keys/package-997f9a9e448c02fe17505a5b75635b9dd1104d92"}}
|
||||
name: Restore package cache
|
||||
- run:
|
||||
command: |2
|
||||
@@ -856,11 +856,11 @@ jobs:
|
||||
command: make -C packages*.lock write-builder-cache-keys
|
||||
name: Write builder layer cache keys
|
||||
- restore_cache:
|
||||
key: copy-source_5c01_{{checksum ".buildcache/cache-keys/copy-source-5c01da64a31c9bfe7ba38f51d95e8bf99c0842f5"}}
|
||||
key: copy-source_6be6_{{checksum ".buildcache/cache-keys/copy-source-6be6bbcf469c2d26620194eeee87f0c4ba470bde"}}
|
||||
keys:
|
||||
- go-modules_a25c_{{checksum ".buildcache/cache-keys/go-modules-a25cdf16b83859e7e53c8fd5272e4c6b8366e2be"}}
|
||||
- ui_7d0e_{{checksum ".buildcache/cache-keys/ui-7d0eb4b8e23fd3d22cf70da1dff7e4359673ce05"}}
|
||||
- base_849b_{{checksum ".buildcache/cache-keys/base-849b90f357ec2b0e340c99c0a49e883d36073bd9"}}
|
||||
- go-modules_74c0_{{checksum ".buildcache/cache-keys/go-modules-74c0c94188690e22d738cb1784f8feba7c3dc00d"}}
|
||||
- ui_dfc9_{{checksum ".buildcache/cache-keys/ui-dfc937906b9b645655c44bc782ef13c64ebe8dbb"}}
|
||||
- base_cc87_{{checksum ".buildcache/cache-keys/base-cc87158f920a83b1c241d68474eed6734b32c511"}}
|
||||
name: 'Restore Builder Image Cache: copy-source'
|
||||
- run:
|
||||
command: make -C packages*.lock load-builder-cache
|
||||
@@ -886,7 +886,7 @@ jobs:
|
||||
command: ls -lahR .buildcache/packages
|
||||
name: List packages
|
||||
- save_cache:
|
||||
key: package-1c8250fee830f8fac2364e7d3e3f82ee5832983e-{{checksum ".buildcache/cache-keys/package-1c8250fee830f8fac2364e7d3e3f82ee5832983e"}}
|
||||
key: package-997f9a9e448c02fe17505a5b75635b9dd1104d92-{{checksum ".buildcache/cache-keys/package-997f9a9e448c02fe17505a5b75635b9dd1104d92"}}
|
||||
name: Save package cache
|
||||
paths:
|
||||
- .buildcache/packages/store
|
||||
@@ -898,7 +898,7 @@ jobs:
|
||||
- AUTO_INSTALL_TOOLS: 'YES'
|
||||
- BUILDKIT_PROGRESS: plain
|
||||
- PRODUCT_REVISION: ''
|
||||
- PACKAGE_SPEC_ID: 9cdfa7cc4f940bdb711b3e4c05e23a771d7ce29f
|
||||
- PACKAGE_SPEC_ID: b04f52247addbb91ec89a35be1ddff9feadf7090
|
||||
steps:
|
||||
- setup_remote_docker:
|
||||
docker_layer_caching: false
|
||||
@@ -912,7 +912,7 @@ jobs:
|
||||
command: make -C packages*.lock write-package-cache-key
|
||||
name: Write package cache key
|
||||
- restore_cache:
|
||||
key: package-9cdfa7cc4f940bdb711b3e4c05e23a771d7ce29f-{{checksum ".buildcache/cache-keys/package-9cdfa7cc4f940bdb711b3e4c05e23a771d7ce29f"}}
|
||||
key: package-b04f52247addbb91ec89a35be1ddff9feadf7090-{{checksum ".buildcache/cache-keys/package-b04f52247addbb91ec89a35be1ddff9feadf7090"}}
|
||||
name: Restore package cache
|
||||
- run:
|
||||
command: |2
|
||||
@@ -928,11 +928,11 @@ jobs:
|
||||
command: make -C packages*.lock write-builder-cache-keys
|
||||
name: Write builder layer cache keys
|
||||
- restore_cache:
|
||||
key: copy-source_5c01_{{checksum ".buildcache/cache-keys/copy-source-5c01da64a31c9bfe7ba38f51d95e8bf99c0842f5"}}
|
||||
key: copy-source_6be6_{{checksum ".buildcache/cache-keys/copy-source-6be6bbcf469c2d26620194eeee87f0c4ba470bde"}}
|
||||
keys:
|
||||
- go-modules_a25c_{{checksum ".buildcache/cache-keys/go-modules-a25cdf16b83859e7e53c8fd5272e4c6b8366e2be"}}
|
||||
- ui_7d0e_{{checksum ".buildcache/cache-keys/ui-7d0eb4b8e23fd3d22cf70da1dff7e4359673ce05"}}
|
||||
- base_849b_{{checksum ".buildcache/cache-keys/base-849b90f357ec2b0e340c99c0a49e883d36073bd9"}}
|
||||
- go-modules_74c0_{{checksum ".buildcache/cache-keys/go-modules-74c0c94188690e22d738cb1784f8feba7c3dc00d"}}
|
||||
- ui_dfc9_{{checksum ".buildcache/cache-keys/ui-dfc937906b9b645655c44bc782ef13c64ebe8dbb"}}
|
||||
- base_cc87_{{checksum ".buildcache/cache-keys/base-cc87158f920a83b1c241d68474eed6734b32c511"}}
|
||||
name: 'Restore Builder Image Cache: copy-source'
|
||||
- run:
|
||||
command: make -C packages*.lock load-builder-cache
|
||||
@@ -958,7 +958,7 @@ jobs:
|
||||
command: ls -lahR .buildcache/packages
|
||||
name: List packages
|
||||
- save_cache:
|
||||
key: package-9cdfa7cc4f940bdb711b3e4c05e23a771d7ce29f-{{checksum ".buildcache/cache-keys/package-9cdfa7cc4f940bdb711b3e4c05e23a771d7ce29f"}}
|
||||
key: package-b04f52247addbb91ec89a35be1ddff9feadf7090-{{checksum ".buildcache/cache-keys/package-b04f52247addbb91ec89a35be1ddff9feadf7090"}}
|
||||
name: Save package cache
|
||||
paths:
|
||||
- .buildcache/packages/store
|
||||
@@ -981,7 +981,7 @@ jobs:
|
||||
- AUTO_INSTALL_TOOLS: 'YES'
|
||||
- BUILDKIT_PROGRESS: plain
|
||||
- PRODUCT_REVISION: ''
|
||||
- PACKAGE_SPEC_ID: ee6ae4147a76888401e2032a2fee0926ef36ad00
|
||||
- PACKAGE_SPEC_ID: b7d03bef8d16c702d595798df0cbda643915292c
|
||||
steps:
|
||||
- setup_remote_docker:
|
||||
docker_layer_caching: false
|
||||
@@ -995,7 +995,7 @@ jobs:
|
||||
command: make -C packages*.lock write-package-cache-key
|
||||
name: Write package cache key
|
||||
- restore_cache:
|
||||
key: package-ee6ae4147a76888401e2032a2fee0926ef36ad00-{{checksum ".buildcache/cache-keys/package-ee6ae4147a76888401e2032a2fee0926ef36ad00"}}
|
||||
key: package-b7d03bef8d16c702d595798df0cbda643915292c-{{checksum ".buildcache/cache-keys/package-b7d03bef8d16c702d595798df0cbda643915292c"}}
|
||||
name: Restore package cache
|
||||
- run:
|
||||
command: |2
|
||||
@@ -1011,11 +1011,11 @@ jobs:
|
||||
command: make -C packages*.lock write-builder-cache-keys
|
||||
name: Write builder layer cache keys
|
||||
- restore_cache:
|
||||
key: copy-source_5c01_{{checksum ".buildcache/cache-keys/copy-source-5c01da64a31c9bfe7ba38f51d95e8bf99c0842f5"}}
|
||||
key: copy-source_6be6_{{checksum ".buildcache/cache-keys/copy-source-6be6bbcf469c2d26620194eeee87f0c4ba470bde"}}
|
||||
keys:
|
||||
- go-modules_a25c_{{checksum ".buildcache/cache-keys/go-modules-a25cdf16b83859e7e53c8fd5272e4c6b8366e2be"}}
|
||||
- ui_7d0e_{{checksum ".buildcache/cache-keys/ui-7d0eb4b8e23fd3d22cf70da1dff7e4359673ce05"}}
|
||||
- base_849b_{{checksum ".buildcache/cache-keys/base-849b90f357ec2b0e340c99c0a49e883d36073bd9"}}
|
||||
- go-modules_74c0_{{checksum ".buildcache/cache-keys/go-modules-74c0c94188690e22d738cb1784f8feba7c3dc00d"}}
|
||||
- ui_dfc9_{{checksum ".buildcache/cache-keys/ui-dfc937906b9b645655c44bc782ef13c64ebe8dbb"}}
|
||||
- base_cc87_{{checksum ".buildcache/cache-keys/base-cc87158f920a83b1c241d68474eed6734b32c511"}}
|
||||
name: 'Restore Builder Image Cache: copy-source'
|
||||
- run:
|
||||
command: make -C packages*.lock load-builder-cache
|
||||
@@ -1041,7 +1041,7 @@ jobs:
|
||||
command: ls -lahR .buildcache/packages
|
||||
name: List packages
|
||||
- save_cache:
|
||||
key: package-ee6ae4147a76888401e2032a2fee0926ef36ad00-{{checksum ".buildcache/cache-keys/package-ee6ae4147a76888401e2032a2fee0926ef36ad00"}}
|
||||
key: package-b7d03bef8d16c702d595798df0cbda643915292c-{{checksum ".buildcache/cache-keys/package-b7d03bef8d16c702d595798df0cbda643915292c"}}
|
||||
name: Save package cache
|
||||
paths:
|
||||
- .buildcache/packages/store
|
||||
@@ -1203,7 +1203,7 @@ jobs:
|
||||
- AUTO_INSTALL_TOOLS: 'YES'
|
||||
- BUILDKIT_PROGRESS: plain
|
||||
- PRODUCT_REVISION: ''
|
||||
- PACKAGE_SPEC_ID: b971c9df855df00922afb57baeda53f399318c79
|
||||
- PACKAGE_SPEC_ID: 8dd295cf186df50e92ed66575b73e97003885428
|
||||
steps:
|
||||
- setup_remote_docker:
|
||||
docker_layer_caching: false
|
||||
@@ -1217,7 +1217,7 @@ jobs:
|
||||
command: make -C packages*.lock write-package-cache-key
|
||||
name: Write package cache key
|
||||
- restore_cache:
|
||||
key: package-b971c9df855df00922afb57baeda53f399318c79-{{checksum ".buildcache/cache-keys/package-b971c9df855df00922afb57baeda53f399318c79"}}
|
||||
key: package-8dd295cf186df50e92ed66575b73e97003885428-{{checksum ".buildcache/cache-keys/package-8dd295cf186df50e92ed66575b73e97003885428"}}
|
||||
name: Restore package cache
|
||||
- run:
|
||||
command: |2
|
||||
@@ -1233,11 +1233,11 @@ jobs:
|
||||
command: make -C packages*.lock write-builder-cache-keys
|
||||
name: Write builder layer cache keys
|
||||
- restore_cache:
|
||||
key: copy-source_5c01_{{checksum ".buildcache/cache-keys/copy-source-5c01da64a31c9bfe7ba38f51d95e8bf99c0842f5"}}
|
||||
key: copy-source_6be6_{{checksum ".buildcache/cache-keys/copy-source-6be6bbcf469c2d26620194eeee87f0c4ba470bde"}}
|
||||
keys:
|
||||
- go-modules_a25c_{{checksum ".buildcache/cache-keys/go-modules-a25cdf16b83859e7e53c8fd5272e4c6b8366e2be"}}
|
||||
- ui_7d0e_{{checksum ".buildcache/cache-keys/ui-7d0eb4b8e23fd3d22cf70da1dff7e4359673ce05"}}
|
||||
- base_849b_{{checksum ".buildcache/cache-keys/base-849b90f357ec2b0e340c99c0a49e883d36073bd9"}}
|
||||
- go-modules_74c0_{{checksum ".buildcache/cache-keys/go-modules-74c0c94188690e22d738cb1784f8feba7c3dc00d"}}
|
||||
- ui_dfc9_{{checksum ".buildcache/cache-keys/ui-dfc937906b9b645655c44bc782ef13c64ebe8dbb"}}
|
||||
- base_cc87_{{checksum ".buildcache/cache-keys/base-cc87158f920a83b1c241d68474eed6734b32c511"}}
|
||||
name: 'Restore Builder Image Cache: copy-source'
|
||||
- run:
|
||||
command: make -C packages*.lock load-builder-cache
|
||||
@@ -1263,7 +1263,7 @@ jobs:
|
||||
command: ls -lahR .buildcache/packages
|
||||
name: List packages
|
||||
- save_cache:
|
||||
key: package-b971c9df855df00922afb57baeda53f399318c79-{{checksum ".buildcache/cache-keys/package-b971c9df855df00922afb57baeda53f399318c79"}}
|
||||
key: package-8dd295cf186df50e92ed66575b73e97003885428-{{checksum ".buildcache/cache-keys/package-8dd295cf186df50e92ed66575b73e97003885428"}}
|
||||
name: Save package cache
|
||||
paths:
|
||||
- .buildcache/packages/store
|
||||
@@ -1286,7 +1286,7 @@ jobs:
|
||||
- AUTO_INSTALL_TOOLS: 'YES'
|
||||
- BUILDKIT_PROGRESS: plain
|
||||
- PRODUCT_REVISION: ''
|
||||
- PACKAGE_SPEC_ID: a8981b00f8f6bce3fb156f73b58c4e33fe077876
|
||||
- PACKAGE_SPEC_ID: 505ab0aca6b881919f05bb8e0125783a5799b4fc
|
||||
steps:
|
||||
- setup_remote_docker:
|
||||
docker_layer_caching: false
|
||||
@@ -1300,7 +1300,7 @@ jobs:
|
||||
command: make -C packages*.lock write-package-cache-key
|
||||
name: Write package cache key
|
||||
- restore_cache:
|
||||
key: package-a8981b00f8f6bce3fb156f73b58c4e33fe077876-{{checksum ".buildcache/cache-keys/package-a8981b00f8f6bce3fb156f73b58c4e33fe077876"}}
|
||||
key: package-505ab0aca6b881919f05bb8e0125783a5799b4fc-{{checksum ".buildcache/cache-keys/package-505ab0aca6b881919f05bb8e0125783a5799b4fc"}}
|
||||
name: Restore package cache
|
||||
- run:
|
||||
command: |2
|
||||
@@ -1316,11 +1316,11 @@ jobs:
|
||||
command: make -C packages*.lock write-builder-cache-keys
|
||||
name: Write builder layer cache keys
|
||||
- restore_cache:
|
||||
key: copy-source_5c01_{{checksum ".buildcache/cache-keys/copy-source-5c01da64a31c9bfe7ba38f51d95e8bf99c0842f5"}}
|
||||
key: copy-source_6be6_{{checksum ".buildcache/cache-keys/copy-source-6be6bbcf469c2d26620194eeee87f0c4ba470bde"}}
|
||||
keys:
|
||||
- go-modules_a25c_{{checksum ".buildcache/cache-keys/go-modules-a25cdf16b83859e7e53c8fd5272e4c6b8366e2be"}}
|
||||
- ui_7d0e_{{checksum ".buildcache/cache-keys/ui-7d0eb4b8e23fd3d22cf70da1dff7e4359673ce05"}}
|
||||
- base_849b_{{checksum ".buildcache/cache-keys/base-849b90f357ec2b0e340c99c0a49e883d36073bd9"}}
|
||||
- go-modules_74c0_{{checksum ".buildcache/cache-keys/go-modules-74c0c94188690e22d738cb1784f8feba7c3dc00d"}}
|
||||
- ui_dfc9_{{checksum ".buildcache/cache-keys/ui-dfc937906b9b645655c44bc782ef13c64ebe8dbb"}}
|
||||
- base_cc87_{{checksum ".buildcache/cache-keys/base-cc87158f920a83b1c241d68474eed6734b32c511"}}
|
||||
name: 'Restore Builder Image Cache: copy-source'
|
||||
- run:
|
||||
command: make -C packages*.lock load-builder-cache
|
||||
@@ -1346,7 +1346,7 @@ jobs:
|
||||
command: ls -lahR .buildcache/packages
|
||||
name: List packages
|
||||
- save_cache:
|
||||
key: package-a8981b00f8f6bce3fb156f73b58c4e33fe077876-{{checksum ".buildcache/cache-keys/package-a8981b00f8f6bce3fb156f73b58c4e33fe077876"}}
|
||||
key: package-505ab0aca6b881919f05bb8e0125783a5799b4fc-{{checksum ".buildcache/cache-keys/package-505ab0aca6b881919f05bb8e0125783a5799b4fc"}}
|
||||
name: Save package cache
|
||||
paths:
|
||||
- .buildcache/packages/store
|
||||
@@ -1358,7 +1358,7 @@ jobs:
|
||||
- AUTO_INSTALL_TOOLS: 'YES'
|
||||
- BUILDKIT_PROGRESS: plain
|
||||
- PRODUCT_REVISION: ''
|
||||
- PACKAGE_SPEC_ID: 224e22a10a66af47d1f9468e0ca6c68f2a252599
|
||||
- PACKAGE_SPEC_ID: f56a0ca98b1bf7e4f647cedee7db20d8b940a1e0
|
||||
steps:
|
||||
- setup_remote_docker:
|
||||
docker_layer_caching: false
|
||||
@@ -1372,7 +1372,7 @@ jobs:
|
||||
command: make -C packages*.lock write-package-cache-key
|
||||
name: Write package cache key
|
||||
- restore_cache:
|
||||
key: package-224e22a10a66af47d1f9468e0ca6c68f2a252599-{{checksum ".buildcache/cache-keys/package-224e22a10a66af47d1f9468e0ca6c68f2a252599"}}
|
||||
key: package-f56a0ca98b1bf7e4f647cedee7db20d8b940a1e0-{{checksum ".buildcache/cache-keys/package-f56a0ca98b1bf7e4f647cedee7db20d8b940a1e0"}}
|
||||
name: Restore package cache
|
||||
- run:
|
||||
command: |2
|
||||
@@ -1388,11 +1388,11 @@ jobs:
|
||||
command: make -C packages*.lock write-builder-cache-keys
|
||||
name: Write builder layer cache keys
|
||||
- restore_cache:
|
||||
key: copy-source_5c01_{{checksum ".buildcache/cache-keys/copy-source-5c01da64a31c9bfe7ba38f51d95e8bf99c0842f5"}}
|
||||
key: copy-source_6be6_{{checksum ".buildcache/cache-keys/copy-source-6be6bbcf469c2d26620194eeee87f0c4ba470bde"}}
|
||||
keys:
|
||||
- go-modules_a25c_{{checksum ".buildcache/cache-keys/go-modules-a25cdf16b83859e7e53c8fd5272e4c6b8366e2be"}}
|
||||
- ui_7d0e_{{checksum ".buildcache/cache-keys/ui-7d0eb4b8e23fd3d22cf70da1dff7e4359673ce05"}}
|
||||
- base_849b_{{checksum ".buildcache/cache-keys/base-849b90f357ec2b0e340c99c0a49e883d36073bd9"}}
|
||||
- go-modules_74c0_{{checksum ".buildcache/cache-keys/go-modules-74c0c94188690e22d738cb1784f8feba7c3dc00d"}}
|
||||
- ui_dfc9_{{checksum ".buildcache/cache-keys/ui-dfc937906b9b645655c44bc782ef13c64ebe8dbb"}}
|
||||
- base_cc87_{{checksum ".buildcache/cache-keys/base-cc87158f920a83b1c241d68474eed6734b32c511"}}
|
||||
name: 'Restore Builder Image Cache: copy-source'
|
||||
- run:
|
||||
command: make -C packages*.lock load-builder-cache
|
||||
@@ -1418,7 +1418,7 @@ jobs:
|
||||
command: ls -lahR .buildcache/packages
|
||||
name: List packages
|
||||
- save_cache:
|
||||
key: package-224e22a10a66af47d1f9468e0ca6c68f2a252599-{{checksum ".buildcache/cache-keys/package-224e22a10a66af47d1f9468e0ca6c68f2a252599"}}
|
||||
key: package-f56a0ca98b1bf7e4f647cedee7db20d8b940a1e0-{{checksum ".buildcache/cache-keys/package-f56a0ca98b1bf7e4f647cedee7db20d8b940a1e0"}}
|
||||
name: Save package cache
|
||||
paths:
|
||||
- .buildcache/packages/store
|
||||
@@ -1430,7 +1430,7 @@ jobs:
|
||||
- AUTO_INSTALL_TOOLS: 'YES'
|
||||
- BUILDKIT_PROGRESS: plain
|
||||
- PRODUCT_REVISION: ''
|
||||
- PACKAGE_SPEC_ID: ccb0599d3f5653d5bf75173f87d906156ebf1e3d
|
||||
- PACKAGE_SPEC_ID: 3735bcca8df7adfefa7d79ae87bb6731ed5e074f
|
||||
steps:
|
||||
- setup_remote_docker:
|
||||
docker_layer_caching: false
|
||||
@@ -1444,7 +1444,7 @@ jobs:
|
||||
command: make -C packages*.lock write-package-cache-key
|
||||
name: Write package cache key
|
||||
- restore_cache:
|
||||
key: package-ccb0599d3f5653d5bf75173f87d906156ebf1e3d-{{checksum ".buildcache/cache-keys/package-ccb0599d3f5653d5bf75173f87d906156ebf1e3d"}}
|
||||
key: package-3735bcca8df7adfefa7d79ae87bb6731ed5e074f-{{checksum ".buildcache/cache-keys/package-3735bcca8df7adfefa7d79ae87bb6731ed5e074f"}}
|
||||
name: Restore package cache
|
||||
- run:
|
||||
command: |2
|
||||
@@ -1460,11 +1460,11 @@ jobs:
|
||||
command: make -C packages*.lock write-builder-cache-keys
|
||||
name: Write builder layer cache keys
|
||||
- restore_cache:
|
||||
key: copy-source_5c01_{{checksum ".buildcache/cache-keys/copy-source-5c01da64a31c9bfe7ba38f51d95e8bf99c0842f5"}}
|
||||
key: copy-source_6be6_{{checksum ".buildcache/cache-keys/copy-source-6be6bbcf469c2d26620194eeee87f0c4ba470bde"}}
|
||||
keys:
|
||||
- go-modules_a25c_{{checksum ".buildcache/cache-keys/go-modules-a25cdf16b83859e7e53c8fd5272e4c6b8366e2be"}}
|
||||
- ui_7d0e_{{checksum ".buildcache/cache-keys/ui-7d0eb4b8e23fd3d22cf70da1dff7e4359673ce05"}}
|
||||
- base_849b_{{checksum ".buildcache/cache-keys/base-849b90f357ec2b0e340c99c0a49e883d36073bd9"}}
|
||||
- go-modules_74c0_{{checksum ".buildcache/cache-keys/go-modules-74c0c94188690e22d738cb1784f8feba7c3dc00d"}}
|
||||
- ui_dfc9_{{checksum ".buildcache/cache-keys/ui-dfc937906b9b645655c44bc782ef13c64ebe8dbb"}}
|
||||
- base_cc87_{{checksum ".buildcache/cache-keys/base-cc87158f920a83b1c241d68474eed6734b32c511"}}
|
||||
name: 'Restore Builder Image Cache: copy-source'
|
||||
- run:
|
||||
command: make -C packages*.lock load-builder-cache
|
||||
@@ -1490,7 +1490,7 @@ jobs:
|
||||
command: ls -lahR .buildcache/packages
|
||||
name: List packages
|
||||
- save_cache:
|
||||
key: package-ccb0599d3f5653d5bf75173f87d906156ebf1e3d-{{checksum ".buildcache/cache-keys/package-ccb0599d3f5653d5bf75173f87d906156ebf1e3d"}}
|
||||
key: package-3735bcca8df7adfefa7d79ae87bb6731ed5e074f-{{checksum ".buildcache/cache-keys/package-3735bcca8df7adfefa7d79ae87bb6731ed5e074f"}}
|
||||
name: Save package cache
|
||||
paths:
|
||||
- .buildcache/packages/store
|
||||
@@ -1502,7 +1502,7 @@ jobs:
|
||||
- AUTO_INSTALL_TOOLS: 'YES'
|
||||
- BUILDKIT_PROGRESS: plain
|
||||
- PRODUCT_REVISION: ''
|
||||
- PACKAGE_SPEC_ID: d92fb1003c4ac9e95b86d700d64bf54b76e6fef5
|
||||
- PACKAGE_SPEC_ID: 89694dc28c6ddc1d0648b69cefdcc9f67d59a240
|
||||
steps:
|
||||
- setup_remote_docker:
|
||||
docker_layer_caching: false
|
||||
@@ -1516,7 +1516,7 @@ jobs:
|
||||
command: make -C packages*.lock write-package-cache-key
|
||||
name: Write package cache key
|
||||
- restore_cache:
|
||||
key: package-d92fb1003c4ac9e95b86d700d64bf54b76e6fef5-{{checksum ".buildcache/cache-keys/package-d92fb1003c4ac9e95b86d700d64bf54b76e6fef5"}}
|
||||
key: package-89694dc28c6ddc1d0648b69cefdcc9f67d59a240-{{checksum ".buildcache/cache-keys/package-89694dc28c6ddc1d0648b69cefdcc9f67d59a240"}}
|
||||
name: Restore package cache
|
||||
- run:
|
||||
command: |2
|
||||
@@ -1532,11 +1532,11 @@ jobs:
|
||||
command: make -C packages*.lock write-builder-cache-keys
|
||||
name: Write builder layer cache keys
|
||||
- restore_cache:
|
||||
key: copy-source_5c01_{{checksum ".buildcache/cache-keys/copy-source-5c01da64a31c9bfe7ba38f51d95e8bf99c0842f5"}}
|
||||
key: copy-source_6be6_{{checksum ".buildcache/cache-keys/copy-source-6be6bbcf469c2d26620194eeee87f0c4ba470bde"}}
|
||||
keys:
|
||||
- go-modules_a25c_{{checksum ".buildcache/cache-keys/go-modules-a25cdf16b83859e7e53c8fd5272e4c6b8366e2be"}}
|
||||
- ui_7d0e_{{checksum ".buildcache/cache-keys/ui-7d0eb4b8e23fd3d22cf70da1dff7e4359673ce05"}}
|
||||
- base_849b_{{checksum ".buildcache/cache-keys/base-849b90f357ec2b0e340c99c0a49e883d36073bd9"}}
|
||||
- go-modules_74c0_{{checksum ".buildcache/cache-keys/go-modules-74c0c94188690e22d738cb1784f8feba7c3dc00d"}}
|
||||
- ui_dfc9_{{checksum ".buildcache/cache-keys/ui-dfc937906b9b645655c44bc782ef13c64ebe8dbb"}}
|
||||
- base_cc87_{{checksum ".buildcache/cache-keys/base-cc87158f920a83b1c241d68474eed6734b32c511"}}
|
||||
name: 'Restore Builder Image Cache: copy-source'
|
||||
- run:
|
||||
command: make -C packages*.lock load-builder-cache
|
||||
@@ -1562,7 +1562,7 @@ jobs:
|
||||
command: ls -lahR .buildcache/packages
|
||||
name: List packages
|
||||
- save_cache:
|
||||
key: package-d92fb1003c4ac9e95b86d700d64bf54b76e6fef5-{{checksum ".buildcache/cache-keys/package-d92fb1003c4ac9e95b86d700d64bf54b76e6fef5"}}
|
||||
key: package-89694dc28c6ddc1d0648b69cefdcc9f67d59a240-{{checksum ".buildcache/cache-keys/package-89694dc28c6ddc1d0648b69cefdcc9f67d59a240"}}
|
||||
name: Save package cache
|
||||
paths:
|
||||
- .buildcache/packages/store
|
||||
@@ -1578,7 +1578,7 @@ jobs:
|
||||
make test-sql POSTGRES_DOCKER_IMAGE_BASE=docker.mirror.hashicorp.services/postgres PG_DOCKER_TAG=latest
|
||||
name: Run SQL PgTap Tests
|
||||
workflows:
|
||||
build-87386c0c55d5c61a:
|
||||
build-7f1510c592a3019a:
|
||||
jobs:
|
||||
- build-common-layers
|
||||
- darwin_amd64_package:
|
||||
|
||||
+147
-147
@@ -30,14 +30,14 @@ jobs:
|
||||
command: make -C packages*.lock write-builder-cache-keys
|
||||
name: Write builder layer cache keys
|
||||
- restore_cache:
|
||||
key: copy-source_5c01_{{checksum ".buildcache/cache-keys/copy-source-5c01da64a31c9bfe7ba38f51d95e8bf99c0842f5"}}
|
||||
key: copy-source_6be6_{{checksum ".buildcache/cache-keys/copy-source-6be6bbcf469c2d26620194eeee87f0c4ba470bde"}}
|
||||
keys:
|
||||
- go-modules_a25c_{{checksum ".buildcache/cache-keys/go-modules-a25cdf16b83859e7e53c8fd5272e4c6b8366e2be"}}
|
||||
- ui_7d0e_{{checksum ".buildcache/cache-keys/ui-7d0eb4b8e23fd3d22cf70da1dff7e4359673ce05"}}
|
||||
- base_849b_{{checksum ".buildcache/cache-keys/base-849b90f357ec2b0e340c99c0a49e883d36073bd9"}}
|
||||
- go-modules_74c0_{{checksum ".buildcache/cache-keys/go-modules-74c0c94188690e22d738cb1784f8feba7c3dc00d"}}
|
||||
- ui_dfc9_{{checksum ".buildcache/cache-keys/ui-dfc937906b9b645655c44bc782ef13c64ebe8dbb"}}
|
||||
- base_cc87_{{checksum ".buildcache/cache-keys/base-cc87158f920a83b1c241d68474eed6734b32c511"}}
|
||||
name: 'Restore Layer Cache: copy-source'
|
||||
- run:
|
||||
command: LAYER_SPEC_ID=03-copy-source-5c01da64a31c9bfe7ba38f51d95e8bf99c0842f5 make -C packages*.lock load-builder-cache
|
||||
command: LAYER_SPEC_ID=03-copy-source-6be6bbcf469c2d26620194eeee87f0c4ba470bde make -C packages*.lock load-builder-cache
|
||||
name: Load whatever builder cache we have (if any) into the Docker daemon
|
||||
- run:
|
||||
command: |2-
|
||||
@@ -53,7 +53,7 @@ jobs:
|
||||
echo " attempts to directly clone private repositories."
|
||||
fi
|
||||
|
||||
make -f packages*.lock/layer.mk 00-base-849b90f357ec2b0e340c99c0a49e883d36073bd9-image
|
||||
make -f packages*.lock/layer.mk 00-base-cc87158f920a83b1c241d68474eed6734b32c511-image
|
||||
name: Build base layer
|
||||
- run:
|
||||
command: |2-
|
||||
@@ -69,7 +69,7 @@ jobs:
|
||||
echo " attempts to directly clone private repositories."
|
||||
fi
|
||||
|
||||
make -f packages*.lock/layer.mk 01-ui-7d0eb4b8e23fd3d22cf70da1dff7e4359673ce05-image
|
||||
make -f packages*.lock/layer.mk 01-ui-dfc937906b9b645655c44bc782ef13c64ebe8dbb-image
|
||||
name: Build ui layer
|
||||
- run:
|
||||
command: |2-
|
||||
@@ -85,7 +85,7 @@ jobs:
|
||||
echo " attempts to directly clone private repositories."
|
||||
fi
|
||||
|
||||
make -f packages*.lock/layer.mk 02-go-modules-a25cdf16b83859e7e53c8fd5272e4c6b8366e2be-image
|
||||
make -f packages*.lock/layer.mk 02-go-modules-74c0c94188690e22d738cb1784f8feba7c3dc00d-image
|
||||
name: Build go-modules layer
|
||||
- run:
|
||||
command: |2-
|
||||
@@ -101,7 +101,7 @@ jobs:
|
||||
echo " attempts to directly clone private repositories."
|
||||
fi
|
||||
|
||||
make -f packages*.lock/layer.mk 03-copy-source-5c01da64a31c9bfe7ba38f51d95e8bf99c0842f5-image
|
||||
make -f packages*.lock/layer.mk 03-copy-source-6be6bbcf469c2d26620194eeee87f0c4ba470bde-image
|
||||
name: Build copy-source layer
|
||||
- run:
|
||||
command: |2-
|
||||
@@ -117,12 +117,12 @@ jobs:
|
||||
echo " attempts to directly clone private repositories."
|
||||
fi
|
||||
|
||||
make -f packages*.lock/layer.mk 03-copy-source-5c01da64a31c9bfe7ba38f51d95e8bf99c0842f5-save
|
||||
make -f packages*.lock/layer.mk 03-copy-source-6be6bbcf469c2d26620194eeee87f0c4ba470bde-save
|
||||
name: Build copy-source layer
|
||||
- save_cache:
|
||||
paths:
|
||||
- .buildcache/archives/03-copy-source-5c01da64a31c9bfe7ba38f51d95e8bf99c0842f5.tar.gz
|
||||
key: copy-source_5c01_{{checksum ".buildcache/cache-keys/copy-source-5c01da64a31c9bfe7ba38f51d95e8bf99c0842f5"}}
|
||||
- .buildcache/archives/03-copy-source-6be6bbcf469c2d26620194eeee87f0c4ba470bde.tar.gz
|
||||
key: copy-source_6be6_{{checksum ".buildcache/cache-keys/copy-source-6be6bbcf469c2d26620194eeee87f0c4ba470bde"}}
|
||||
name: 'Save Layer Cache: copy-source'
|
||||
bundle-releases:
|
||||
executor: builder
|
||||
@@ -136,52 +136,52 @@ jobs:
|
||||
command: mkdir -p .buildcache && echo "*" > .buildcache/.gitignore
|
||||
name: Ignore .buildcache
|
||||
- restore_cache:
|
||||
key: package-fa8840f2e78bfa9c58d242426d80f4e30464516f-{{checksum ".buildcache/cache-keys/package-fa8840f2e78bfa9c58d242426d80f4e30464516f"}}
|
||||
key: package-5e182eecadd802ce4fde19b40733c21f1920d680-{{checksum ".buildcache/cache-keys/package-5e182eecadd802ce4fde19b40733c21f1920d680"}}
|
||||
name: Restore package cache
|
||||
- restore_cache:
|
||||
key: package-110a848ce5db07e7fc389430350c45261d2d7baa-{{checksum ".buildcache/cache-keys/package-110a848ce5db07e7fc389430350c45261d2d7baa"}}
|
||||
key: package-72ea9453ed75bfab19ee6a1fd34e7ac751e5e71d-{{checksum ".buildcache/cache-keys/package-72ea9453ed75bfab19ee6a1fd34e7ac751e5e71d"}}
|
||||
name: Restore package cache
|
||||
- restore_cache:
|
||||
key: package-36032b26f94d618cdc87dcb7ac3b4eb820a4ab6d-{{checksum ".buildcache/cache-keys/package-36032b26f94d618cdc87dcb7ac3b4eb820a4ab6d"}}
|
||||
key: package-ccae35a6ffa3283396cbe5608aa626a65cf951f4-{{checksum ".buildcache/cache-keys/package-ccae35a6ffa3283396cbe5608aa626a65cf951f4"}}
|
||||
name: Restore package cache
|
||||
- restore_cache:
|
||||
key: package-0922d907d014ef141526a2a3b9d54a3940adcbf3-{{checksum ".buildcache/cache-keys/package-0922d907d014ef141526a2a3b9d54a3940adcbf3"}}
|
||||
key: package-0101b0c84138c8e37a5affd1171d04237dcd044f-{{checksum ".buildcache/cache-keys/package-0101b0c84138c8e37a5affd1171d04237dcd044f"}}
|
||||
name: Restore package cache
|
||||
- restore_cache:
|
||||
key: package-ccb0599d3f5653d5bf75173f87d906156ebf1e3d-{{checksum ".buildcache/cache-keys/package-ccb0599d3f5653d5bf75173f87d906156ebf1e3d"}}
|
||||
key: package-3735bcca8df7adfefa7d79ae87bb6731ed5e074f-{{checksum ".buildcache/cache-keys/package-3735bcca8df7adfefa7d79ae87bb6731ed5e074f"}}
|
||||
name: Restore package cache
|
||||
- restore_cache:
|
||||
key: package-bced2a380b5354bba95ec9da4a54d06bc0a9b56d-{{checksum ".buildcache/cache-keys/package-bced2a380b5354bba95ec9da4a54d06bc0a9b56d"}}
|
||||
key: package-81b9112a9e1bd1d33778c4673adbec942c595a7e-{{checksum ".buildcache/cache-keys/package-81b9112a9e1bd1d33778c4673adbec942c595a7e"}}
|
||||
name: Restore package cache
|
||||
- restore_cache:
|
||||
key: package-9cdfa7cc4f940bdb711b3e4c05e23a771d7ce29f-{{checksum ".buildcache/cache-keys/package-9cdfa7cc4f940bdb711b3e4c05e23a771d7ce29f"}}
|
||||
key: package-b04f52247addbb91ec89a35be1ddff9feadf7090-{{checksum ".buildcache/cache-keys/package-b04f52247addbb91ec89a35be1ddff9feadf7090"}}
|
||||
name: Restore package cache
|
||||
- restore_cache:
|
||||
key: package-6c8214c1a10a7f53964bfb8d2688cadbe8c6b9e4-{{checksum ".buildcache/cache-keys/package-6c8214c1a10a7f53964bfb8d2688cadbe8c6b9e4"}}
|
||||
key: package-25033317f5db33c76740dba3e792063240c317b1-{{checksum ".buildcache/cache-keys/package-25033317f5db33c76740dba3e792063240c317b1"}}
|
||||
name: Restore package cache
|
||||
- restore_cache:
|
||||
key: package-276415ef2d0ac06fb080dd55910bb71613f9c049-{{checksum ".buildcache/cache-keys/package-276415ef2d0ac06fb080dd55910bb71613f9c049"}}
|
||||
key: package-dc42bacf89f0d78468257a40c404e141fa9272c8-{{checksum ".buildcache/cache-keys/package-dc42bacf89f0d78468257a40c404e141fa9272c8"}}
|
||||
name: Restore package cache
|
||||
- restore_cache:
|
||||
key: package-224e22a10a66af47d1f9468e0ca6c68f2a252599-{{checksum ".buildcache/cache-keys/package-224e22a10a66af47d1f9468e0ca6c68f2a252599"}}
|
||||
key: package-f56a0ca98b1bf7e4f647cedee7db20d8b940a1e0-{{checksum ".buildcache/cache-keys/package-f56a0ca98b1bf7e4f647cedee7db20d8b940a1e0"}}
|
||||
name: Restore package cache
|
||||
- restore_cache:
|
||||
key: package-b971c9df855df00922afb57baeda53f399318c79-{{checksum ".buildcache/cache-keys/package-b971c9df855df00922afb57baeda53f399318c79"}}
|
||||
key: package-8dd295cf186df50e92ed66575b73e97003885428-{{checksum ".buildcache/cache-keys/package-8dd295cf186df50e92ed66575b73e97003885428"}}
|
||||
name: Restore package cache
|
||||
- restore_cache:
|
||||
key: package-1c8250fee830f8fac2364e7d3e3f82ee5832983e-{{checksum ".buildcache/cache-keys/package-1c8250fee830f8fac2364e7d3e3f82ee5832983e"}}
|
||||
key: package-997f9a9e448c02fe17505a5b75635b9dd1104d92-{{checksum ".buildcache/cache-keys/package-997f9a9e448c02fe17505a5b75635b9dd1104d92"}}
|
||||
name: Restore package cache
|
||||
- restore_cache:
|
||||
key: package-a8981b00f8f6bce3fb156f73b58c4e33fe077876-{{checksum ".buildcache/cache-keys/package-a8981b00f8f6bce3fb156f73b58c4e33fe077876"}}
|
||||
key: package-505ab0aca6b881919f05bb8e0125783a5799b4fc-{{checksum ".buildcache/cache-keys/package-505ab0aca6b881919f05bb8e0125783a5799b4fc"}}
|
||||
name: Restore package cache
|
||||
- restore_cache:
|
||||
key: package-ee6ae4147a76888401e2032a2fee0926ef36ad00-{{checksum ".buildcache/cache-keys/package-ee6ae4147a76888401e2032a2fee0926ef36ad00"}}
|
||||
key: package-b7d03bef8d16c702d595798df0cbda643915292c-{{checksum ".buildcache/cache-keys/package-b7d03bef8d16c702d595798df0cbda643915292c"}}
|
||||
name: Restore package cache
|
||||
- restore_cache:
|
||||
key: package-e3454f0b7ee22d489b83f6daf78d545f4878a79c-{{checksum ".buildcache/cache-keys/package-e3454f0b7ee22d489b83f6daf78d545f4878a79c"}}
|
||||
key: package-a68848e3db3953d016f73aabb3d732a0333b7bc9-{{checksum ".buildcache/cache-keys/package-a68848e3db3953d016f73aabb3d732a0333b7bc9"}}
|
||||
name: Restore package cache
|
||||
- restore_cache:
|
||||
key: package-d92fb1003c4ac9e95b86d700d64bf54b76e6fef5-{{checksum ".buildcache/cache-keys/package-d92fb1003c4ac9e95b86d700d64bf54b76e6fef5"}}
|
||||
key: package-89694dc28c6ddc1d0648b69cefdcc9f67d59a240-{{checksum ".buildcache/cache-keys/package-89694dc28c6ddc1d0648b69cefdcc9f67d59a240"}}
|
||||
name: Restore package cache
|
||||
- run:
|
||||
command: make package-meta-all
|
||||
@@ -193,20 +193,20 @@ jobs:
|
||||
command: ls -lahR .buildcache
|
||||
name: List Build Cache
|
||||
- run:
|
||||
command: cp packages*.lock/pkgs.yml lockfile-87386c0c55d5c61a.yml
|
||||
command: cp packages*.lock/pkgs.yml lockfile-7f1510c592a3019a.yml
|
||||
name: Update Lockfile Name
|
||||
- run:
|
||||
command: tar -czf packages-87386c0c55d5c61a.tar.gz .buildcache/packages lockfile-87386c0c55d5c61a.yml
|
||||
command: tar -czf packages-7f1510c592a3019a.tar.gz .buildcache/packages lockfile-7f1510c592a3019a.yml
|
||||
name: Create Raw Package Tarball
|
||||
- run:
|
||||
command: tar -czf meta-87386c0c55d5c61a.tar.gz .buildcache/packages/store/*.json lockfile-87386c0c55d5c61a.yml
|
||||
command: tar -czf meta-7f1510c592a3019a.tar.gz .buildcache/packages/store/*.json lockfile-7f1510c592a3019a.yml
|
||||
name: Create Metadata Tarball
|
||||
- store_artifacts:
|
||||
path: lockfile-87386c0c55d5c61a.yml
|
||||
path: lockfile-7f1510c592a3019a.yml
|
||||
- store_artifacts:
|
||||
path: packages-87386c0c55d5c61a.tar.gz
|
||||
path: packages-7f1510c592a3019a.tar.gz
|
||||
- store_artifacts:
|
||||
path: meta-87386c0c55d5c61a.tar.gz
|
||||
path: meta-7f1510c592a3019a.tar.gz
|
||||
- store_artifacts:
|
||||
path: .buildcache/packages
|
||||
darwin_amd64_package:
|
||||
@@ -224,7 +224,7 @@ jobs:
|
||||
command: make -C packages*.lock write-package-cache-key
|
||||
name: Write package cache key
|
||||
- restore_cache:
|
||||
key: package-fa8840f2e78bfa9c58d242426d80f4e30464516f-{{checksum ".buildcache/cache-keys/package-fa8840f2e78bfa9c58d242426d80f4e30464516f"}}
|
||||
key: package-5e182eecadd802ce4fde19b40733c21f1920d680-{{checksum ".buildcache/cache-keys/package-5e182eecadd802ce4fde19b40733c21f1920d680"}}
|
||||
name: Restore package cache
|
||||
- run:
|
||||
command: |2
|
||||
@@ -240,11 +240,11 @@ jobs:
|
||||
command: make -C packages*.lock write-builder-cache-keys
|
||||
name: Write builder layer cache keys
|
||||
- restore_cache:
|
||||
key: copy-source_5c01_{{checksum ".buildcache/cache-keys/copy-source-5c01da64a31c9bfe7ba38f51d95e8bf99c0842f5"}}
|
||||
key: copy-source_6be6_{{checksum ".buildcache/cache-keys/copy-source-6be6bbcf469c2d26620194eeee87f0c4ba470bde"}}
|
||||
keys:
|
||||
- go-modules_a25c_{{checksum ".buildcache/cache-keys/go-modules-a25cdf16b83859e7e53c8fd5272e4c6b8366e2be"}}
|
||||
- ui_7d0e_{{checksum ".buildcache/cache-keys/ui-7d0eb4b8e23fd3d22cf70da1dff7e4359673ce05"}}
|
||||
- base_849b_{{checksum ".buildcache/cache-keys/base-849b90f357ec2b0e340c99c0a49e883d36073bd9"}}
|
||||
- go-modules_74c0_{{checksum ".buildcache/cache-keys/go-modules-74c0c94188690e22d738cb1784f8feba7c3dc00d"}}
|
||||
- ui_dfc9_{{checksum ".buildcache/cache-keys/ui-dfc937906b9b645655c44bc782ef13c64ebe8dbb"}}
|
||||
- base_cc87_{{checksum ".buildcache/cache-keys/base-cc87158f920a83b1c241d68474eed6734b32c511"}}
|
||||
name: 'Restore Builder Image Cache: copy-source'
|
||||
- run:
|
||||
command: make -C packages*.lock load-builder-cache
|
||||
@@ -272,10 +272,10 @@ jobs:
|
||||
- save_cache:
|
||||
paths:
|
||||
- .buildcache/packages/store
|
||||
key: package-fa8840f2e78bfa9c58d242426d80f4e30464516f-{{checksum ".buildcache/cache-keys/package-fa8840f2e78bfa9c58d242426d80f4e30464516f"}}
|
||||
key: package-5e182eecadd802ce4fde19b40733c21f1920d680-{{checksum ".buildcache/cache-keys/package-5e182eecadd802ce4fde19b40733c21f1920d680"}}
|
||||
name: Save package cache
|
||||
environment:
|
||||
PACKAGE_SPEC_ID: fa8840f2e78bfa9c58d242426d80f4e30464516f
|
||||
PACKAGE_SPEC_ID: 5e182eecadd802ce4fde19b40733c21f1920d680
|
||||
darwin_arm64_package:
|
||||
executor: builder
|
||||
steps:
|
||||
@@ -291,7 +291,7 @@ jobs:
|
||||
command: make -C packages*.lock write-package-cache-key
|
||||
name: Write package cache key
|
||||
- restore_cache:
|
||||
key: package-110a848ce5db07e7fc389430350c45261d2d7baa-{{checksum ".buildcache/cache-keys/package-110a848ce5db07e7fc389430350c45261d2d7baa"}}
|
||||
key: package-72ea9453ed75bfab19ee6a1fd34e7ac751e5e71d-{{checksum ".buildcache/cache-keys/package-72ea9453ed75bfab19ee6a1fd34e7ac751e5e71d"}}
|
||||
name: Restore package cache
|
||||
- run:
|
||||
command: |2
|
||||
@@ -307,11 +307,11 @@ jobs:
|
||||
command: make -C packages*.lock write-builder-cache-keys
|
||||
name: Write builder layer cache keys
|
||||
- restore_cache:
|
||||
key: copy-source_5c01_{{checksum ".buildcache/cache-keys/copy-source-5c01da64a31c9bfe7ba38f51d95e8bf99c0842f5"}}
|
||||
key: copy-source_6be6_{{checksum ".buildcache/cache-keys/copy-source-6be6bbcf469c2d26620194eeee87f0c4ba470bde"}}
|
||||
keys:
|
||||
- go-modules_a25c_{{checksum ".buildcache/cache-keys/go-modules-a25cdf16b83859e7e53c8fd5272e4c6b8366e2be"}}
|
||||
- ui_7d0e_{{checksum ".buildcache/cache-keys/ui-7d0eb4b8e23fd3d22cf70da1dff7e4359673ce05"}}
|
||||
- base_849b_{{checksum ".buildcache/cache-keys/base-849b90f357ec2b0e340c99c0a49e883d36073bd9"}}
|
||||
- go-modules_74c0_{{checksum ".buildcache/cache-keys/go-modules-74c0c94188690e22d738cb1784f8feba7c3dc00d"}}
|
||||
- ui_dfc9_{{checksum ".buildcache/cache-keys/ui-dfc937906b9b645655c44bc782ef13c64ebe8dbb"}}
|
||||
- base_cc87_{{checksum ".buildcache/cache-keys/base-cc87158f920a83b1c241d68474eed6734b32c511"}}
|
||||
name: 'Restore Builder Image Cache: copy-source'
|
||||
- run:
|
||||
command: make -C packages*.lock load-builder-cache
|
||||
@@ -339,10 +339,10 @@ jobs:
|
||||
- save_cache:
|
||||
paths:
|
||||
- .buildcache/packages/store
|
||||
key: package-110a848ce5db07e7fc389430350c45261d2d7baa-{{checksum ".buildcache/cache-keys/package-110a848ce5db07e7fc389430350c45261d2d7baa"}}
|
||||
key: package-72ea9453ed75bfab19ee6a1fd34e7ac751e5e71d-{{checksum ".buildcache/cache-keys/package-72ea9453ed75bfab19ee6a1fd34e7ac751e5e71d"}}
|
||||
name: Save package cache
|
||||
environment:
|
||||
PACKAGE_SPEC_ID: 110a848ce5db07e7fc389430350c45261d2d7baa
|
||||
PACKAGE_SPEC_ID: 72ea9453ed75bfab19ee6a1fd34e7ac751e5e71d
|
||||
freebsd_386_package:
|
||||
executor: builder
|
||||
steps:
|
||||
@@ -358,7 +358,7 @@ jobs:
|
||||
command: make -C packages*.lock write-package-cache-key
|
||||
name: Write package cache key
|
||||
- restore_cache:
|
||||
key: package-36032b26f94d618cdc87dcb7ac3b4eb820a4ab6d-{{checksum ".buildcache/cache-keys/package-36032b26f94d618cdc87dcb7ac3b4eb820a4ab6d"}}
|
||||
key: package-ccae35a6ffa3283396cbe5608aa626a65cf951f4-{{checksum ".buildcache/cache-keys/package-ccae35a6ffa3283396cbe5608aa626a65cf951f4"}}
|
||||
name: Restore package cache
|
||||
- run:
|
||||
command: |2
|
||||
@@ -374,11 +374,11 @@ jobs:
|
||||
command: make -C packages*.lock write-builder-cache-keys
|
||||
name: Write builder layer cache keys
|
||||
- restore_cache:
|
||||
key: copy-source_5c01_{{checksum ".buildcache/cache-keys/copy-source-5c01da64a31c9bfe7ba38f51d95e8bf99c0842f5"}}
|
||||
key: copy-source_6be6_{{checksum ".buildcache/cache-keys/copy-source-6be6bbcf469c2d26620194eeee87f0c4ba470bde"}}
|
||||
keys:
|
||||
- go-modules_a25c_{{checksum ".buildcache/cache-keys/go-modules-a25cdf16b83859e7e53c8fd5272e4c6b8366e2be"}}
|
||||
- ui_7d0e_{{checksum ".buildcache/cache-keys/ui-7d0eb4b8e23fd3d22cf70da1dff7e4359673ce05"}}
|
||||
- base_849b_{{checksum ".buildcache/cache-keys/base-849b90f357ec2b0e340c99c0a49e883d36073bd9"}}
|
||||
- go-modules_74c0_{{checksum ".buildcache/cache-keys/go-modules-74c0c94188690e22d738cb1784f8feba7c3dc00d"}}
|
||||
- ui_dfc9_{{checksum ".buildcache/cache-keys/ui-dfc937906b9b645655c44bc782ef13c64ebe8dbb"}}
|
||||
- base_cc87_{{checksum ".buildcache/cache-keys/base-cc87158f920a83b1c241d68474eed6734b32c511"}}
|
||||
name: 'Restore Builder Image Cache: copy-source'
|
||||
- run:
|
||||
command: make -C packages*.lock load-builder-cache
|
||||
@@ -406,10 +406,10 @@ jobs:
|
||||
- save_cache:
|
||||
paths:
|
||||
- .buildcache/packages/store
|
||||
key: package-36032b26f94d618cdc87dcb7ac3b4eb820a4ab6d-{{checksum ".buildcache/cache-keys/package-36032b26f94d618cdc87dcb7ac3b4eb820a4ab6d"}}
|
||||
key: package-ccae35a6ffa3283396cbe5608aa626a65cf951f4-{{checksum ".buildcache/cache-keys/package-ccae35a6ffa3283396cbe5608aa626a65cf951f4"}}
|
||||
name: Save package cache
|
||||
environment:
|
||||
PACKAGE_SPEC_ID: 36032b26f94d618cdc87dcb7ac3b4eb820a4ab6d
|
||||
PACKAGE_SPEC_ID: ccae35a6ffa3283396cbe5608aa626a65cf951f4
|
||||
freebsd_amd64_package:
|
||||
executor: builder
|
||||
steps:
|
||||
@@ -425,7 +425,7 @@ jobs:
|
||||
command: make -C packages*.lock write-package-cache-key
|
||||
name: Write package cache key
|
||||
- restore_cache:
|
||||
key: package-0922d907d014ef141526a2a3b9d54a3940adcbf3-{{checksum ".buildcache/cache-keys/package-0922d907d014ef141526a2a3b9d54a3940adcbf3"}}
|
||||
key: package-0101b0c84138c8e37a5affd1171d04237dcd044f-{{checksum ".buildcache/cache-keys/package-0101b0c84138c8e37a5affd1171d04237dcd044f"}}
|
||||
name: Restore package cache
|
||||
- run:
|
||||
command: |2
|
||||
@@ -441,11 +441,11 @@ jobs:
|
||||
command: make -C packages*.lock write-builder-cache-keys
|
||||
name: Write builder layer cache keys
|
||||
- restore_cache:
|
||||
key: copy-source_5c01_{{checksum ".buildcache/cache-keys/copy-source-5c01da64a31c9bfe7ba38f51d95e8bf99c0842f5"}}
|
||||
key: copy-source_6be6_{{checksum ".buildcache/cache-keys/copy-source-6be6bbcf469c2d26620194eeee87f0c4ba470bde"}}
|
||||
keys:
|
||||
- go-modules_a25c_{{checksum ".buildcache/cache-keys/go-modules-a25cdf16b83859e7e53c8fd5272e4c6b8366e2be"}}
|
||||
- ui_7d0e_{{checksum ".buildcache/cache-keys/ui-7d0eb4b8e23fd3d22cf70da1dff7e4359673ce05"}}
|
||||
- base_849b_{{checksum ".buildcache/cache-keys/base-849b90f357ec2b0e340c99c0a49e883d36073bd9"}}
|
||||
- go-modules_74c0_{{checksum ".buildcache/cache-keys/go-modules-74c0c94188690e22d738cb1784f8feba7c3dc00d"}}
|
||||
- ui_dfc9_{{checksum ".buildcache/cache-keys/ui-dfc937906b9b645655c44bc782ef13c64ebe8dbb"}}
|
||||
- base_cc87_{{checksum ".buildcache/cache-keys/base-cc87158f920a83b1c241d68474eed6734b32c511"}}
|
||||
name: 'Restore Builder Image Cache: copy-source'
|
||||
- run:
|
||||
command: make -C packages*.lock load-builder-cache
|
||||
@@ -473,10 +473,10 @@ jobs:
|
||||
- save_cache:
|
||||
paths:
|
||||
- .buildcache/packages/store
|
||||
key: package-0922d907d014ef141526a2a3b9d54a3940adcbf3-{{checksum ".buildcache/cache-keys/package-0922d907d014ef141526a2a3b9d54a3940adcbf3"}}
|
||||
key: package-0101b0c84138c8e37a5affd1171d04237dcd044f-{{checksum ".buildcache/cache-keys/package-0101b0c84138c8e37a5affd1171d04237dcd044f"}}
|
||||
name: Save package cache
|
||||
environment:
|
||||
PACKAGE_SPEC_ID: 0922d907d014ef141526a2a3b9d54a3940adcbf3
|
||||
PACKAGE_SPEC_ID: 0101b0c84138c8e37a5affd1171d04237dcd044f
|
||||
freebsd_arm_package:
|
||||
executor: builder
|
||||
steps:
|
||||
@@ -492,7 +492,7 @@ jobs:
|
||||
command: make -C packages*.lock write-package-cache-key
|
||||
name: Write package cache key
|
||||
- restore_cache:
|
||||
key: package-ccb0599d3f5653d5bf75173f87d906156ebf1e3d-{{checksum ".buildcache/cache-keys/package-ccb0599d3f5653d5bf75173f87d906156ebf1e3d"}}
|
||||
key: package-3735bcca8df7adfefa7d79ae87bb6731ed5e074f-{{checksum ".buildcache/cache-keys/package-3735bcca8df7adfefa7d79ae87bb6731ed5e074f"}}
|
||||
name: Restore package cache
|
||||
- run:
|
||||
command: |2
|
||||
@@ -508,11 +508,11 @@ jobs:
|
||||
command: make -C packages*.lock write-builder-cache-keys
|
||||
name: Write builder layer cache keys
|
||||
- restore_cache:
|
||||
key: copy-source_5c01_{{checksum ".buildcache/cache-keys/copy-source-5c01da64a31c9bfe7ba38f51d95e8bf99c0842f5"}}
|
||||
key: copy-source_6be6_{{checksum ".buildcache/cache-keys/copy-source-6be6bbcf469c2d26620194eeee87f0c4ba470bde"}}
|
||||
keys:
|
||||
- go-modules_a25c_{{checksum ".buildcache/cache-keys/go-modules-a25cdf16b83859e7e53c8fd5272e4c6b8366e2be"}}
|
||||
- ui_7d0e_{{checksum ".buildcache/cache-keys/ui-7d0eb4b8e23fd3d22cf70da1dff7e4359673ce05"}}
|
||||
- base_849b_{{checksum ".buildcache/cache-keys/base-849b90f357ec2b0e340c99c0a49e883d36073bd9"}}
|
||||
- go-modules_74c0_{{checksum ".buildcache/cache-keys/go-modules-74c0c94188690e22d738cb1784f8feba7c3dc00d"}}
|
||||
- ui_dfc9_{{checksum ".buildcache/cache-keys/ui-dfc937906b9b645655c44bc782ef13c64ebe8dbb"}}
|
||||
- base_cc87_{{checksum ".buildcache/cache-keys/base-cc87158f920a83b1c241d68474eed6734b32c511"}}
|
||||
name: 'Restore Builder Image Cache: copy-source'
|
||||
- run:
|
||||
command: make -C packages*.lock load-builder-cache
|
||||
@@ -540,10 +540,10 @@ jobs:
|
||||
- save_cache:
|
||||
paths:
|
||||
- .buildcache/packages/store
|
||||
key: package-ccb0599d3f5653d5bf75173f87d906156ebf1e3d-{{checksum ".buildcache/cache-keys/package-ccb0599d3f5653d5bf75173f87d906156ebf1e3d"}}
|
||||
key: package-3735bcca8df7adfefa7d79ae87bb6731ed5e074f-{{checksum ".buildcache/cache-keys/package-3735bcca8df7adfefa7d79ae87bb6731ed5e074f"}}
|
||||
name: Save package cache
|
||||
environment:
|
||||
PACKAGE_SPEC_ID: ccb0599d3f5653d5bf75173f87d906156ebf1e3d
|
||||
PACKAGE_SPEC_ID: 3735bcca8df7adfefa7d79ae87bb6731ed5e074f
|
||||
linux_386_package:
|
||||
executor: builder
|
||||
steps:
|
||||
@@ -559,7 +559,7 @@ jobs:
|
||||
command: make -C packages*.lock write-package-cache-key
|
||||
name: Write package cache key
|
||||
- restore_cache:
|
||||
key: package-bced2a380b5354bba95ec9da4a54d06bc0a9b56d-{{checksum ".buildcache/cache-keys/package-bced2a380b5354bba95ec9da4a54d06bc0a9b56d"}}
|
||||
key: package-81b9112a9e1bd1d33778c4673adbec942c595a7e-{{checksum ".buildcache/cache-keys/package-81b9112a9e1bd1d33778c4673adbec942c595a7e"}}
|
||||
name: Restore package cache
|
||||
- run:
|
||||
command: |2
|
||||
@@ -575,11 +575,11 @@ jobs:
|
||||
command: make -C packages*.lock write-builder-cache-keys
|
||||
name: Write builder layer cache keys
|
||||
- restore_cache:
|
||||
key: copy-source_5c01_{{checksum ".buildcache/cache-keys/copy-source-5c01da64a31c9bfe7ba38f51d95e8bf99c0842f5"}}
|
||||
key: copy-source_6be6_{{checksum ".buildcache/cache-keys/copy-source-6be6bbcf469c2d26620194eeee87f0c4ba470bde"}}
|
||||
keys:
|
||||
- go-modules_a25c_{{checksum ".buildcache/cache-keys/go-modules-a25cdf16b83859e7e53c8fd5272e4c6b8366e2be"}}
|
||||
- ui_7d0e_{{checksum ".buildcache/cache-keys/ui-7d0eb4b8e23fd3d22cf70da1dff7e4359673ce05"}}
|
||||
- base_849b_{{checksum ".buildcache/cache-keys/base-849b90f357ec2b0e340c99c0a49e883d36073bd9"}}
|
||||
- go-modules_74c0_{{checksum ".buildcache/cache-keys/go-modules-74c0c94188690e22d738cb1784f8feba7c3dc00d"}}
|
||||
- ui_dfc9_{{checksum ".buildcache/cache-keys/ui-dfc937906b9b645655c44bc782ef13c64ebe8dbb"}}
|
||||
- base_cc87_{{checksum ".buildcache/cache-keys/base-cc87158f920a83b1c241d68474eed6734b32c511"}}
|
||||
name: 'Restore Builder Image Cache: copy-source'
|
||||
- run:
|
||||
command: make -C packages*.lock load-builder-cache
|
||||
@@ -607,10 +607,10 @@ jobs:
|
||||
- save_cache:
|
||||
paths:
|
||||
- .buildcache/packages/store
|
||||
key: package-bced2a380b5354bba95ec9da4a54d06bc0a9b56d-{{checksum ".buildcache/cache-keys/package-bced2a380b5354bba95ec9da4a54d06bc0a9b56d"}}
|
||||
key: package-81b9112a9e1bd1d33778c4673adbec942c595a7e-{{checksum ".buildcache/cache-keys/package-81b9112a9e1bd1d33778c4673adbec942c595a7e"}}
|
||||
name: Save package cache
|
||||
environment:
|
||||
PACKAGE_SPEC_ID: bced2a380b5354bba95ec9da4a54d06bc0a9b56d
|
||||
PACKAGE_SPEC_ID: 81b9112a9e1bd1d33778c4673adbec942c595a7e
|
||||
linux_amd64_package:
|
||||
executor: builder
|
||||
steps:
|
||||
@@ -626,7 +626,7 @@ jobs:
|
||||
command: make -C packages*.lock write-package-cache-key
|
||||
name: Write package cache key
|
||||
- restore_cache:
|
||||
key: package-9cdfa7cc4f940bdb711b3e4c05e23a771d7ce29f-{{checksum ".buildcache/cache-keys/package-9cdfa7cc4f940bdb711b3e4c05e23a771d7ce29f"}}
|
||||
key: package-b04f52247addbb91ec89a35be1ddff9feadf7090-{{checksum ".buildcache/cache-keys/package-b04f52247addbb91ec89a35be1ddff9feadf7090"}}
|
||||
name: Restore package cache
|
||||
- run:
|
||||
command: |2
|
||||
@@ -642,11 +642,11 @@ jobs:
|
||||
command: make -C packages*.lock write-builder-cache-keys
|
||||
name: Write builder layer cache keys
|
||||
- restore_cache:
|
||||
key: copy-source_5c01_{{checksum ".buildcache/cache-keys/copy-source-5c01da64a31c9bfe7ba38f51d95e8bf99c0842f5"}}
|
||||
key: copy-source_6be6_{{checksum ".buildcache/cache-keys/copy-source-6be6bbcf469c2d26620194eeee87f0c4ba470bde"}}
|
||||
keys:
|
||||
- go-modules_a25c_{{checksum ".buildcache/cache-keys/go-modules-a25cdf16b83859e7e53c8fd5272e4c6b8366e2be"}}
|
||||
- ui_7d0e_{{checksum ".buildcache/cache-keys/ui-7d0eb4b8e23fd3d22cf70da1dff7e4359673ce05"}}
|
||||
- base_849b_{{checksum ".buildcache/cache-keys/base-849b90f357ec2b0e340c99c0a49e883d36073bd9"}}
|
||||
- go-modules_74c0_{{checksum ".buildcache/cache-keys/go-modules-74c0c94188690e22d738cb1784f8feba7c3dc00d"}}
|
||||
- ui_dfc9_{{checksum ".buildcache/cache-keys/ui-dfc937906b9b645655c44bc782ef13c64ebe8dbb"}}
|
||||
- base_cc87_{{checksum ".buildcache/cache-keys/base-cc87158f920a83b1c241d68474eed6734b32c511"}}
|
||||
name: 'Restore Builder Image Cache: copy-source'
|
||||
- run:
|
||||
command: make -C packages*.lock load-builder-cache
|
||||
@@ -674,10 +674,10 @@ jobs:
|
||||
- save_cache:
|
||||
paths:
|
||||
- .buildcache/packages/store
|
||||
key: package-9cdfa7cc4f940bdb711b3e4c05e23a771d7ce29f-{{checksum ".buildcache/cache-keys/package-9cdfa7cc4f940bdb711b3e4c05e23a771d7ce29f"}}
|
||||
key: package-b04f52247addbb91ec89a35be1ddff9feadf7090-{{checksum ".buildcache/cache-keys/package-b04f52247addbb91ec89a35be1ddff9feadf7090"}}
|
||||
name: Save package cache
|
||||
environment:
|
||||
PACKAGE_SPEC_ID: 9cdfa7cc4f940bdb711b3e4c05e23a771d7ce29f
|
||||
PACKAGE_SPEC_ID: b04f52247addbb91ec89a35be1ddff9feadf7090
|
||||
linux_arm_package:
|
||||
executor: builder
|
||||
steps:
|
||||
@@ -693,7 +693,7 @@ jobs:
|
||||
command: make -C packages*.lock write-package-cache-key
|
||||
name: Write package cache key
|
||||
- restore_cache:
|
||||
key: package-6c8214c1a10a7f53964bfb8d2688cadbe8c6b9e4-{{checksum ".buildcache/cache-keys/package-6c8214c1a10a7f53964bfb8d2688cadbe8c6b9e4"}}
|
||||
key: package-25033317f5db33c76740dba3e792063240c317b1-{{checksum ".buildcache/cache-keys/package-25033317f5db33c76740dba3e792063240c317b1"}}
|
||||
name: Restore package cache
|
||||
- run:
|
||||
command: |2
|
||||
@@ -709,11 +709,11 @@ jobs:
|
||||
command: make -C packages*.lock write-builder-cache-keys
|
||||
name: Write builder layer cache keys
|
||||
- restore_cache:
|
||||
key: copy-source_5c01_{{checksum ".buildcache/cache-keys/copy-source-5c01da64a31c9bfe7ba38f51d95e8bf99c0842f5"}}
|
||||
key: copy-source_6be6_{{checksum ".buildcache/cache-keys/copy-source-6be6bbcf469c2d26620194eeee87f0c4ba470bde"}}
|
||||
keys:
|
||||
- go-modules_a25c_{{checksum ".buildcache/cache-keys/go-modules-a25cdf16b83859e7e53c8fd5272e4c6b8366e2be"}}
|
||||
- ui_7d0e_{{checksum ".buildcache/cache-keys/ui-7d0eb4b8e23fd3d22cf70da1dff7e4359673ce05"}}
|
||||
- base_849b_{{checksum ".buildcache/cache-keys/base-849b90f357ec2b0e340c99c0a49e883d36073bd9"}}
|
||||
- go-modules_74c0_{{checksum ".buildcache/cache-keys/go-modules-74c0c94188690e22d738cb1784f8feba7c3dc00d"}}
|
||||
- ui_dfc9_{{checksum ".buildcache/cache-keys/ui-dfc937906b9b645655c44bc782ef13c64ebe8dbb"}}
|
||||
- base_cc87_{{checksum ".buildcache/cache-keys/base-cc87158f920a83b1c241d68474eed6734b32c511"}}
|
||||
name: 'Restore Builder Image Cache: copy-source'
|
||||
- run:
|
||||
command: make -C packages*.lock load-builder-cache
|
||||
@@ -741,10 +741,10 @@ jobs:
|
||||
- save_cache:
|
||||
paths:
|
||||
- .buildcache/packages/store
|
||||
key: package-6c8214c1a10a7f53964bfb8d2688cadbe8c6b9e4-{{checksum ".buildcache/cache-keys/package-6c8214c1a10a7f53964bfb8d2688cadbe8c6b9e4"}}
|
||||
key: package-25033317f5db33c76740dba3e792063240c317b1-{{checksum ".buildcache/cache-keys/package-25033317f5db33c76740dba3e792063240c317b1"}}
|
||||
name: Save package cache
|
||||
environment:
|
||||
PACKAGE_SPEC_ID: 6c8214c1a10a7f53964bfb8d2688cadbe8c6b9e4
|
||||
PACKAGE_SPEC_ID: 25033317f5db33c76740dba3e792063240c317b1
|
||||
linux_arm64_package:
|
||||
executor: builder
|
||||
steps:
|
||||
@@ -760,7 +760,7 @@ jobs:
|
||||
command: make -C packages*.lock write-package-cache-key
|
||||
name: Write package cache key
|
||||
- restore_cache:
|
||||
key: package-276415ef2d0ac06fb080dd55910bb71613f9c049-{{checksum ".buildcache/cache-keys/package-276415ef2d0ac06fb080dd55910bb71613f9c049"}}
|
||||
key: package-dc42bacf89f0d78468257a40c404e141fa9272c8-{{checksum ".buildcache/cache-keys/package-dc42bacf89f0d78468257a40c404e141fa9272c8"}}
|
||||
name: Restore package cache
|
||||
- run:
|
||||
command: |2
|
||||
@@ -776,11 +776,11 @@ jobs:
|
||||
command: make -C packages*.lock write-builder-cache-keys
|
||||
name: Write builder layer cache keys
|
||||
- restore_cache:
|
||||
key: copy-source_5c01_{{checksum ".buildcache/cache-keys/copy-source-5c01da64a31c9bfe7ba38f51d95e8bf99c0842f5"}}
|
||||
key: copy-source_6be6_{{checksum ".buildcache/cache-keys/copy-source-6be6bbcf469c2d26620194eeee87f0c4ba470bde"}}
|
||||
keys:
|
||||
- go-modules_a25c_{{checksum ".buildcache/cache-keys/go-modules-a25cdf16b83859e7e53c8fd5272e4c6b8366e2be"}}
|
||||
- ui_7d0e_{{checksum ".buildcache/cache-keys/ui-7d0eb4b8e23fd3d22cf70da1dff7e4359673ce05"}}
|
||||
- base_849b_{{checksum ".buildcache/cache-keys/base-849b90f357ec2b0e340c99c0a49e883d36073bd9"}}
|
||||
- go-modules_74c0_{{checksum ".buildcache/cache-keys/go-modules-74c0c94188690e22d738cb1784f8feba7c3dc00d"}}
|
||||
- ui_dfc9_{{checksum ".buildcache/cache-keys/ui-dfc937906b9b645655c44bc782ef13c64ebe8dbb"}}
|
||||
- base_cc87_{{checksum ".buildcache/cache-keys/base-cc87158f920a83b1c241d68474eed6734b32c511"}}
|
||||
name: 'Restore Builder Image Cache: copy-source'
|
||||
- run:
|
||||
command: make -C packages*.lock load-builder-cache
|
||||
@@ -808,10 +808,10 @@ jobs:
|
||||
- save_cache:
|
||||
paths:
|
||||
- .buildcache/packages/store
|
||||
key: package-276415ef2d0ac06fb080dd55910bb71613f9c049-{{checksum ".buildcache/cache-keys/package-276415ef2d0ac06fb080dd55910bb71613f9c049"}}
|
||||
key: package-dc42bacf89f0d78468257a40c404e141fa9272c8-{{checksum ".buildcache/cache-keys/package-dc42bacf89f0d78468257a40c404e141fa9272c8"}}
|
||||
name: Save package cache
|
||||
environment:
|
||||
PACKAGE_SPEC_ID: 276415ef2d0ac06fb080dd55910bb71613f9c049
|
||||
PACKAGE_SPEC_ID: dc42bacf89f0d78468257a40c404e141fa9272c8
|
||||
netbsd_386_package:
|
||||
executor: builder
|
||||
steps:
|
||||
@@ -827,7 +827,7 @@ jobs:
|
||||
command: make -C packages*.lock write-package-cache-key
|
||||
name: Write package cache key
|
||||
- restore_cache:
|
||||
key: package-224e22a10a66af47d1f9468e0ca6c68f2a252599-{{checksum ".buildcache/cache-keys/package-224e22a10a66af47d1f9468e0ca6c68f2a252599"}}
|
||||
key: package-f56a0ca98b1bf7e4f647cedee7db20d8b940a1e0-{{checksum ".buildcache/cache-keys/package-f56a0ca98b1bf7e4f647cedee7db20d8b940a1e0"}}
|
||||
name: Restore package cache
|
||||
- run:
|
||||
command: |2
|
||||
@@ -843,11 +843,11 @@ jobs:
|
||||
command: make -C packages*.lock write-builder-cache-keys
|
||||
name: Write builder layer cache keys
|
||||
- restore_cache:
|
||||
key: copy-source_5c01_{{checksum ".buildcache/cache-keys/copy-source-5c01da64a31c9bfe7ba38f51d95e8bf99c0842f5"}}
|
||||
key: copy-source_6be6_{{checksum ".buildcache/cache-keys/copy-source-6be6bbcf469c2d26620194eeee87f0c4ba470bde"}}
|
||||
keys:
|
||||
- go-modules_a25c_{{checksum ".buildcache/cache-keys/go-modules-a25cdf16b83859e7e53c8fd5272e4c6b8366e2be"}}
|
||||
- ui_7d0e_{{checksum ".buildcache/cache-keys/ui-7d0eb4b8e23fd3d22cf70da1dff7e4359673ce05"}}
|
||||
- base_849b_{{checksum ".buildcache/cache-keys/base-849b90f357ec2b0e340c99c0a49e883d36073bd9"}}
|
||||
- go-modules_74c0_{{checksum ".buildcache/cache-keys/go-modules-74c0c94188690e22d738cb1784f8feba7c3dc00d"}}
|
||||
- ui_dfc9_{{checksum ".buildcache/cache-keys/ui-dfc937906b9b645655c44bc782ef13c64ebe8dbb"}}
|
||||
- base_cc87_{{checksum ".buildcache/cache-keys/base-cc87158f920a83b1c241d68474eed6734b32c511"}}
|
||||
name: 'Restore Builder Image Cache: copy-source'
|
||||
- run:
|
||||
command: make -C packages*.lock load-builder-cache
|
||||
@@ -875,10 +875,10 @@ jobs:
|
||||
- save_cache:
|
||||
paths:
|
||||
- .buildcache/packages/store
|
||||
key: package-224e22a10a66af47d1f9468e0ca6c68f2a252599-{{checksum ".buildcache/cache-keys/package-224e22a10a66af47d1f9468e0ca6c68f2a252599"}}
|
||||
key: package-f56a0ca98b1bf7e4f647cedee7db20d8b940a1e0-{{checksum ".buildcache/cache-keys/package-f56a0ca98b1bf7e4f647cedee7db20d8b940a1e0"}}
|
||||
name: Save package cache
|
||||
environment:
|
||||
PACKAGE_SPEC_ID: 224e22a10a66af47d1f9468e0ca6c68f2a252599
|
||||
PACKAGE_SPEC_ID: f56a0ca98b1bf7e4f647cedee7db20d8b940a1e0
|
||||
netbsd_amd64_package:
|
||||
executor: builder
|
||||
steps:
|
||||
@@ -894,7 +894,7 @@ jobs:
|
||||
command: make -C packages*.lock write-package-cache-key
|
||||
name: Write package cache key
|
||||
- restore_cache:
|
||||
key: package-b971c9df855df00922afb57baeda53f399318c79-{{checksum ".buildcache/cache-keys/package-b971c9df855df00922afb57baeda53f399318c79"}}
|
||||
key: package-8dd295cf186df50e92ed66575b73e97003885428-{{checksum ".buildcache/cache-keys/package-8dd295cf186df50e92ed66575b73e97003885428"}}
|
||||
name: Restore package cache
|
||||
- run:
|
||||
command: |2
|
||||
@@ -910,11 +910,11 @@ jobs:
|
||||
command: make -C packages*.lock write-builder-cache-keys
|
||||
name: Write builder layer cache keys
|
||||
- restore_cache:
|
||||
key: copy-source_5c01_{{checksum ".buildcache/cache-keys/copy-source-5c01da64a31c9bfe7ba38f51d95e8bf99c0842f5"}}
|
||||
key: copy-source_6be6_{{checksum ".buildcache/cache-keys/copy-source-6be6bbcf469c2d26620194eeee87f0c4ba470bde"}}
|
||||
keys:
|
||||
- go-modules_a25c_{{checksum ".buildcache/cache-keys/go-modules-a25cdf16b83859e7e53c8fd5272e4c6b8366e2be"}}
|
||||
- ui_7d0e_{{checksum ".buildcache/cache-keys/ui-7d0eb4b8e23fd3d22cf70da1dff7e4359673ce05"}}
|
||||
- base_849b_{{checksum ".buildcache/cache-keys/base-849b90f357ec2b0e340c99c0a49e883d36073bd9"}}
|
||||
- go-modules_74c0_{{checksum ".buildcache/cache-keys/go-modules-74c0c94188690e22d738cb1784f8feba7c3dc00d"}}
|
||||
- ui_dfc9_{{checksum ".buildcache/cache-keys/ui-dfc937906b9b645655c44bc782ef13c64ebe8dbb"}}
|
||||
- base_cc87_{{checksum ".buildcache/cache-keys/base-cc87158f920a83b1c241d68474eed6734b32c511"}}
|
||||
name: 'Restore Builder Image Cache: copy-source'
|
||||
- run:
|
||||
command: make -C packages*.lock load-builder-cache
|
||||
@@ -942,10 +942,10 @@ jobs:
|
||||
- save_cache:
|
||||
paths:
|
||||
- .buildcache/packages/store
|
||||
key: package-b971c9df855df00922afb57baeda53f399318c79-{{checksum ".buildcache/cache-keys/package-b971c9df855df00922afb57baeda53f399318c79"}}
|
||||
key: package-8dd295cf186df50e92ed66575b73e97003885428-{{checksum ".buildcache/cache-keys/package-8dd295cf186df50e92ed66575b73e97003885428"}}
|
||||
name: Save package cache
|
||||
environment:
|
||||
PACKAGE_SPEC_ID: b971c9df855df00922afb57baeda53f399318c79
|
||||
PACKAGE_SPEC_ID: 8dd295cf186df50e92ed66575b73e97003885428
|
||||
openbsd_386_package:
|
||||
executor: builder
|
||||
steps:
|
||||
@@ -961,7 +961,7 @@ jobs:
|
||||
command: make -C packages*.lock write-package-cache-key
|
||||
name: Write package cache key
|
||||
- restore_cache:
|
||||
key: package-1c8250fee830f8fac2364e7d3e3f82ee5832983e-{{checksum ".buildcache/cache-keys/package-1c8250fee830f8fac2364e7d3e3f82ee5832983e"}}
|
||||
key: package-997f9a9e448c02fe17505a5b75635b9dd1104d92-{{checksum ".buildcache/cache-keys/package-997f9a9e448c02fe17505a5b75635b9dd1104d92"}}
|
||||
name: Restore package cache
|
||||
- run:
|
||||
command: |2
|
||||
@@ -977,11 +977,11 @@ jobs:
|
||||
command: make -C packages*.lock write-builder-cache-keys
|
||||
name: Write builder layer cache keys
|
||||
- restore_cache:
|
||||
key: copy-source_5c01_{{checksum ".buildcache/cache-keys/copy-source-5c01da64a31c9bfe7ba38f51d95e8bf99c0842f5"}}
|
||||
key: copy-source_6be6_{{checksum ".buildcache/cache-keys/copy-source-6be6bbcf469c2d26620194eeee87f0c4ba470bde"}}
|
||||
keys:
|
||||
- go-modules_a25c_{{checksum ".buildcache/cache-keys/go-modules-a25cdf16b83859e7e53c8fd5272e4c6b8366e2be"}}
|
||||
- ui_7d0e_{{checksum ".buildcache/cache-keys/ui-7d0eb4b8e23fd3d22cf70da1dff7e4359673ce05"}}
|
||||
- base_849b_{{checksum ".buildcache/cache-keys/base-849b90f357ec2b0e340c99c0a49e883d36073bd9"}}
|
||||
- go-modules_74c0_{{checksum ".buildcache/cache-keys/go-modules-74c0c94188690e22d738cb1784f8feba7c3dc00d"}}
|
||||
- ui_dfc9_{{checksum ".buildcache/cache-keys/ui-dfc937906b9b645655c44bc782ef13c64ebe8dbb"}}
|
||||
- base_cc87_{{checksum ".buildcache/cache-keys/base-cc87158f920a83b1c241d68474eed6734b32c511"}}
|
||||
name: 'Restore Builder Image Cache: copy-source'
|
||||
- run:
|
||||
command: make -C packages*.lock load-builder-cache
|
||||
@@ -1009,10 +1009,10 @@ jobs:
|
||||
- save_cache:
|
||||
paths:
|
||||
- .buildcache/packages/store
|
||||
key: package-1c8250fee830f8fac2364e7d3e3f82ee5832983e-{{checksum ".buildcache/cache-keys/package-1c8250fee830f8fac2364e7d3e3f82ee5832983e"}}
|
||||
key: package-997f9a9e448c02fe17505a5b75635b9dd1104d92-{{checksum ".buildcache/cache-keys/package-997f9a9e448c02fe17505a5b75635b9dd1104d92"}}
|
||||
name: Save package cache
|
||||
environment:
|
||||
PACKAGE_SPEC_ID: 1c8250fee830f8fac2364e7d3e3f82ee5832983e
|
||||
PACKAGE_SPEC_ID: 997f9a9e448c02fe17505a5b75635b9dd1104d92
|
||||
openbsd_amd64_package:
|
||||
executor: builder
|
||||
steps:
|
||||
@@ -1028,7 +1028,7 @@ jobs:
|
||||
command: make -C packages*.lock write-package-cache-key
|
||||
name: Write package cache key
|
||||
- restore_cache:
|
||||
key: package-a8981b00f8f6bce3fb156f73b58c4e33fe077876-{{checksum ".buildcache/cache-keys/package-a8981b00f8f6bce3fb156f73b58c4e33fe077876"}}
|
||||
key: package-505ab0aca6b881919f05bb8e0125783a5799b4fc-{{checksum ".buildcache/cache-keys/package-505ab0aca6b881919f05bb8e0125783a5799b4fc"}}
|
||||
name: Restore package cache
|
||||
- run:
|
||||
command: |2
|
||||
@@ -1044,11 +1044,11 @@ jobs:
|
||||
command: make -C packages*.lock write-builder-cache-keys
|
||||
name: Write builder layer cache keys
|
||||
- restore_cache:
|
||||
key: copy-source_5c01_{{checksum ".buildcache/cache-keys/copy-source-5c01da64a31c9bfe7ba38f51d95e8bf99c0842f5"}}
|
||||
key: copy-source_6be6_{{checksum ".buildcache/cache-keys/copy-source-6be6bbcf469c2d26620194eeee87f0c4ba470bde"}}
|
||||
keys:
|
||||
- go-modules_a25c_{{checksum ".buildcache/cache-keys/go-modules-a25cdf16b83859e7e53c8fd5272e4c6b8366e2be"}}
|
||||
- ui_7d0e_{{checksum ".buildcache/cache-keys/ui-7d0eb4b8e23fd3d22cf70da1dff7e4359673ce05"}}
|
||||
- base_849b_{{checksum ".buildcache/cache-keys/base-849b90f357ec2b0e340c99c0a49e883d36073bd9"}}
|
||||
- go-modules_74c0_{{checksum ".buildcache/cache-keys/go-modules-74c0c94188690e22d738cb1784f8feba7c3dc00d"}}
|
||||
- ui_dfc9_{{checksum ".buildcache/cache-keys/ui-dfc937906b9b645655c44bc782ef13c64ebe8dbb"}}
|
||||
- base_cc87_{{checksum ".buildcache/cache-keys/base-cc87158f920a83b1c241d68474eed6734b32c511"}}
|
||||
name: 'Restore Builder Image Cache: copy-source'
|
||||
- run:
|
||||
command: make -C packages*.lock load-builder-cache
|
||||
@@ -1076,10 +1076,10 @@ jobs:
|
||||
- save_cache:
|
||||
paths:
|
||||
- .buildcache/packages/store
|
||||
key: package-a8981b00f8f6bce3fb156f73b58c4e33fe077876-{{checksum ".buildcache/cache-keys/package-a8981b00f8f6bce3fb156f73b58c4e33fe077876"}}
|
||||
key: package-505ab0aca6b881919f05bb8e0125783a5799b4fc-{{checksum ".buildcache/cache-keys/package-505ab0aca6b881919f05bb8e0125783a5799b4fc"}}
|
||||
name: Save package cache
|
||||
environment:
|
||||
PACKAGE_SPEC_ID: a8981b00f8f6bce3fb156f73b58c4e33fe077876
|
||||
PACKAGE_SPEC_ID: 505ab0aca6b881919f05bb8e0125783a5799b4fc
|
||||
solaris_amd64_package:
|
||||
executor: builder
|
||||
steps:
|
||||
@@ -1095,7 +1095,7 @@ jobs:
|
||||
command: make -C packages*.lock write-package-cache-key
|
||||
name: Write package cache key
|
||||
- restore_cache:
|
||||
key: package-ee6ae4147a76888401e2032a2fee0926ef36ad00-{{checksum ".buildcache/cache-keys/package-ee6ae4147a76888401e2032a2fee0926ef36ad00"}}
|
||||
key: package-b7d03bef8d16c702d595798df0cbda643915292c-{{checksum ".buildcache/cache-keys/package-b7d03bef8d16c702d595798df0cbda643915292c"}}
|
||||
name: Restore package cache
|
||||
- run:
|
||||
command: |2
|
||||
@@ -1111,11 +1111,11 @@ jobs:
|
||||
command: make -C packages*.lock write-builder-cache-keys
|
||||
name: Write builder layer cache keys
|
||||
- restore_cache:
|
||||
key: copy-source_5c01_{{checksum ".buildcache/cache-keys/copy-source-5c01da64a31c9bfe7ba38f51d95e8bf99c0842f5"}}
|
||||
key: copy-source_6be6_{{checksum ".buildcache/cache-keys/copy-source-6be6bbcf469c2d26620194eeee87f0c4ba470bde"}}
|
||||
keys:
|
||||
- go-modules_a25c_{{checksum ".buildcache/cache-keys/go-modules-a25cdf16b83859e7e53c8fd5272e4c6b8366e2be"}}
|
||||
- ui_7d0e_{{checksum ".buildcache/cache-keys/ui-7d0eb4b8e23fd3d22cf70da1dff7e4359673ce05"}}
|
||||
- base_849b_{{checksum ".buildcache/cache-keys/base-849b90f357ec2b0e340c99c0a49e883d36073bd9"}}
|
||||
- go-modules_74c0_{{checksum ".buildcache/cache-keys/go-modules-74c0c94188690e22d738cb1784f8feba7c3dc00d"}}
|
||||
- ui_dfc9_{{checksum ".buildcache/cache-keys/ui-dfc937906b9b645655c44bc782ef13c64ebe8dbb"}}
|
||||
- base_cc87_{{checksum ".buildcache/cache-keys/base-cc87158f920a83b1c241d68474eed6734b32c511"}}
|
||||
name: 'Restore Builder Image Cache: copy-source'
|
||||
- run:
|
||||
command: make -C packages*.lock load-builder-cache
|
||||
@@ -1143,10 +1143,10 @@ jobs:
|
||||
- save_cache:
|
||||
paths:
|
||||
- .buildcache/packages/store
|
||||
key: package-ee6ae4147a76888401e2032a2fee0926ef36ad00-{{checksum ".buildcache/cache-keys/package-ee6ae4147a76888401e2032a2fee0926ef36ad00"}}
|
||||
key: package-b7d03bef8d16c702d595798df0cbda643915292c-{{checksum ".buildcache/cache-keys/package-b7d03bef8d16c702d595798df0cbda643915292c"}}
|
||||
name: Save package cache
|
||||
environment:
|
||||
PACKAGE_SPEC_ID: ee6ae4147a76888401e2032a2fee0926ef36ad00
|
||||
PACKAGE_SPEC_ID: b7d03bef8d16c702d595798df0cbda643915292c
|
||||
windows_386_package:
|
||||
executor: builder
|
||||
steps:
|
||||
@@ -1162,7 +1162,7 @@ jobs:
|
||||
command: make -C packages*.lock write-package-cache-key
|
||||
name: Write package cache key
|
||||
- restore_cache:
|
||||
key: package-e3454f0b7ee22d489b83f6daf78d545f4878a79c-{{checksum ".buildcache/cache-keys/package-e3454f0b7ee22d489b83f6daf78d545f4878a79c"}}
|
||||
key: package-a68848e3db3953d016f73aabb3d732a0333b7bc9-{{checksum ".buildcache/cache-keys/package-a68848e3db3953d016f73aabb3d732a0333b7bc9"}}
|
||||
name: Restore package cache
|
||||
- run:
|
||||
command: |2
|
||||
@@ -1178,11 +1178,11 @@ jobs:
|
||||
command: make -C packages*.lock write-builder-cache-keys
|
||||
name: Write builder layer cache keys
|
||||
- restore_cache:
|
||||
key: copy-source_5c01_{{checksum ".buildcache/cache-keys/copy-source-5c01da64a31c9bfe7ba38f51d95e8bf99c0842f5"}}
|
||||
key: copy-source_6be6_{{checksum ".buildcache/cache-keys/copy-source-6be6bbcf469c2d26620194eeee87f0c4ba470bde"}}
|
||||
keys:
|
||||
- go-modules_a25c_{{checksum ".buildcache/cache-keys/go-modules-a25cdf16b83859e7e53c8fd5272e4c6b8366e2be"}}
|
||||
- ui_7d0e_{{checksum ".buildcache/cache-keys/ui-7d0eb4b8e23fd3d22cf70da1dff7e4359673ce05"}}
|
||||
- base_849b_{{checksum ".buildcache/cache-keys/base-849b90f357ec2b0e340c99c0a49e883d36073bd9"}}
|
||||
- go-modules_74c0_{{checksum ".buildcache/cache-keys/go-modules-74c0c94188690e22d738cb1784f8feba7c3dc00d"}}
|
||||
- ui_dfc9_{{checksum ".buildcache/cache-keys/ui-dfc937906b9b645655c44bc782ef13c64ebe8dbb"}}
|
||||
- base_cc87_{{checksum ".buildcache/cache-keys/base-cc87158f920a83b1c241d68474eed6734b32c511"}}
|
||||
name: 'Restore Builder Image Cache: copy-source'
|
||||
- run:
|
||||
command: make -C packages*.lock load-builder-cache
|
||||
@@ -1210,10 +1210,10 @@ jobs:
|
||||
- save_cache:
|
||||
paths:
|
||||
- .buildcache/packages/store
|
||||
key: package-e3454f0b7ee22d489b83f6daf78d545f4878a79c-{{checksum ".buildcache/cache-keys/package-e3454f0b7ee22d489b83f6daf78d545f4878a79c"}}
|
||||
key: package-a68848e3db3953d016f73aabb3d732a0333b7bc9-{{checksum ".buildcache/cache-keys/package-a68848e3db3953d016f73aabb3d732a0333b7bc9"}}
|
||||
name: Save package cache
|
||||
environment:
|
||||
PACKAGE_SPEC_ID: e3454f0b7ee22d489b83f6daf78d545f4878a79c
|
||||
PACKAGE_SPEC_ID: a68848e3db3953d016f73aabb3d732a0333b7bc9
|
||||
windows_amd64_package:
|
||||
executor: builder
|
||||
steps:
|
||||
@@ -1229,7 +1229,7 @@ jobs:
|
||||
command: make -C packages*.lock write-package-cache-key
|
||||
name: Write package cache key
|
||||
- restore_cache:
|
||||
key: package-d92fb1003c4ac9e95b86d700d64bf54b76e6fef5-{{checksum ".buildcache/cache-keys/package-d92fb1003c4ac9e95b86d700d64bf54b76e6fef5"}}
|
||||
key: package-89694dc28c6ddc1d0648b69cefdcc9f67d59a240-{{checksum ".buildcache/cache-keys/package-89694dc28c6ddc1d0648b69cefdcc9f67d59a240"}}
|
||||
name: Restore package cache
|
||||
- run:
|
||||
command: |2
|
||||
@@ -1245,11 +1245,11 @@ jobs:
|
||||
command: make -C packages*.lock write-builder-cache-keys
|
||||
name: Write builder layer cache keys
|
||||
- restore_cache:
|
||||
key: copy-source_5c01_{{checksum ".buildcache/cache-keys/copy-source-5c01da64a31c9bfe7ba38f51d95e8bf99c0842f5"}}
|
||||
key: copy-source_6be6_{{checksum ".buildcache/cache-keys/copy-source-6be6bbcf469c2d26620194eeee87f0c4ba470bde"}}
|
||||
keys:
|
||||
- go-modules_a25c_{{checksum ".buildcache/cache-keys/go-modules-a25cdf16b83859e7e53c8fd5272e4c6b8366e2be"}}
|
||||
- ui_7d0e_{{checksum ".buildcache/cache-keys/ui-7d0eb4b8e23fd3d22cf70da1dff7e4359673ce05"}}
|
||||
- base_849b_{{checksum ".buildcache/cache-keys/base-849b90f357ec2b0e340c99c0a49e883d36073bd9"}}
|
||||
- go-modules_74c0_{{checksum ".buildcache/cache-keys/go-modules-74c0c94188690e22d738cb1784f8feba7c3dc00d"}}
|
||||
- ui_dfc9_{{checksum ".buildcache/cache-keys/ui-dfc937906b9b645655c44bc782ef13c64ebe8dbb"}}
|
||||
- base_cc87_{{checksum ".buildcache/cache-keys/base-cc87158f920a83b1c241d68474eed6734b32c511"}}
|
||||
name: 'Restore Builder Image Cache: copy-source'
|
||||
- run:
|
||||
command: make -C packages*.lock load-builder-cache
|
||||
@@ -1277,12 +1277,12 @@ jobs:
|
||||
- save_cache:
|
||||
paths:
|
||||
- .buildcache/packages/store
|
||||
key: package-d92fb1003c4ac9e95b86d700d64bf54b76e6fef5-{{checksum ".buildcache/cache-keys/package-d92fb1003c4ac9e95b86d700d64bf54b76e6fef5"}}
|
||||
key: package-89694dc28c6ddc1d0648b69cefdcc9f67d59a240-{{checksum ".buildcache/cache-keys/package-89694dc28c6ddc1d0648b69cefdcc9f67d59a240"}}
|
||||
name: Save package cache
|
||||
environment:
|
||||
PACKAGE_SPEC_ID: d92fb1003c4ac9e95b86d700d64bf54b76e6fef5
|
||||
PACKAGE_SPEC_ID: 89694dc28c6ddc1d0648b69cefdcc9f67d59a240
|
||||
workflows:
|
||||
build-87386c0c55d5c61a:
|
||||
build-7f1510c592a3019a:
|
||||
jobs:
|
||||
- build-common-layers: {}
|
||||
- darwin_amd64_package:
|
||||
|
||||
@@ -134,6 +134,7 @@ protobuild:
|
||||
@protoc-go-inject-tag -input=./internal/credential/store/credential.pb.go
|
||||
@protoc-go-inject-tag -input=./internal/credential/vault/store/vault.pb.go
|
||||
@protoc-go-inject-tag -input=./internal/servers/servers.pb.go
|
||||
@protoc-go-inject-tag -input=./internal/kms/store/audit_key.pb.go
|
||||
|
||||
# inject classification tags (see: https://github.com/hashicorp/go-eventlogger/tree/main/filters/encrypt)
|
||||
@protoc-go-inject-tag -input=./internal/gen/controller/api/services/auth_method_service.pb.go
|
||||
|
||||
+1
-1
@@ -1,7 +1,7 @@
|
||||
#!/bin/bash
|
||||
set -e
|
||||
|
||||
VERSION="1.17.2"
|
||||
VERSION="1.17.3"
|
||||
|
||||
[ -z "$GOROOT" ] && GOROOT="$HOME/.go"
|
||||
[ -z "$GOPATH" ] && GOPATH="$HOME/go"
|
||||
|
||||
@@ -24,7 +24,7 @@ require (
|
||||
github.com/hashicorp/cap v0.1.1
|
||||
github.com/hashicorp/dawdle v0.4.0
|
||||
github.com/hashicorp/dbassert v0.0.0-20210708202608-ecf920cf1ed8
|
||||
github.com/hashicorp/eventlogger v0.1.0
|
||||
github.com/hashicorp/eventlogger v0.1.1-0.20211104100552-e1e801e50144
|
||||
github.com/hashicorp/eventlogger/filters/encrypt v0.1.6-0.20211027211326-5db60a48f239
|
||||
github.com/hashicorp/go-bexpr v0.1.10
|
||||
github.com/hashicorp/go-cleanhttp v0.5.2
|
||||
|
||||
@@ -476,8 +476,9 @@ github.com/hashicorp/dbassert v0.0.0-20210708202608-ecf920cf1ed8/go.mod h1:+B5eZ
|
||||
github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4=
|
||||
github.com/hashicorp/errwrap v1.1.0 h1:OxrOeh75EUXMY8TBjag2fzXGZ40LB6IKw45YeGUDY2I=
|
||||
github.com/hashicorp/errwrap v1.1.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4=
|
||||
github.com/hashicorp/eventlogger v0.1.0 h1:S6xc4gZVzewuDUP4R4Ngko419h/CGDuV/b4ADL3XLik=
|
||||
github.com/hashicorp/eventlogger v0.1.0/go.mod h1:a3IXf1aEJfpCPzseTOrwKj4fVW/Qn3oEmpQeaIznzH0=
|
||||
github.com/hashicorp/eventlogger v0.1.1-0.20211104100552-e1e801e50144 h1:PCl0HtlVnIIloIozAKvjICu6K4IghKXAKNny3R3b2nI=
|
||||
github.com/hashicorp/eventlogger v0.1.1-0.20211104100552-e1e801e50144/go.mod h1:a3IXf1aEJfpCPzseTOrwKj4fVW/Qn3oEmpQeaIznzH0=
|
||||
github.com/hashicorp/eventlogger/filters/encrypt v0.1.6-0.20211027211326-5db60a48f239 h1:Yh9tY0lige+y0trmjQeT9NRDo6+YvtNAzbmUNOsIUzI=
|
||||
github.com/hashicorp/eventlogger/filters/encrypt v0.1.6-0.20211027211326-5db60a48f239/go.mod h1:8rcez7Kw1zanB0/074qnOuGu7zxmNh9Xr2ZI+K4xVIA=
|
||||
github.com/hashicorp/go-bexpr v0.1.10 h1:9kuI5PFotCboP3dkDYFr/wi0gg0QVbSNz5oFRpxn4uE=
|
||||
|
||||
@@ -195,7 +195,7 @@ func (b *Server) CreateInitialPasswordAuthMethod(ctx context.Context) (*password
|
||||
if admin {
|
||||
opts = append(opts,
|
||||
iam.WithName("admin"),
|
||||
iam.WithDescription(`Initial admin user within the "global" scope`),
|
||||
iam.WithDescription(fmt.Sprintf(`Initial admin user within the "%s" scope`, scope.Global.String())),
|
||||
)
|
||||
} else {
|
||||
opts = append(opts,
|
||||
@@ -219,7 +219,7 @@ func (b *Server) CreateInitialPasswordAuthMethod(ctx context.Context) (*password
|
||||
// Create a role tying them together
|
||||
pr, err := iam.NewRole(scope.Global.String(),
|
||||
iam.WithName("Administration"),
|
||||
iam.WithDescription(`Provides admin grants within the "global" scope to the initial user`),
|
||||
iam.WithDescription(fmt.Sprintf(`Provides admin grants within the "%s" scope to the initial user`, scope.Global.String())),
|
||||
)
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("error creating in memory role for generated grants: %w", err)
|
||||
|
||||
@@ -3,6 +3,7 @@ package base
|
||||
import (
|
||||
"github.com/hashicorp/boundary/internal/observability/event"
|
||||
"github.com/hashicorp/boundary/sdk/pbs/plugin"
|
||||
wrapping "github.com/hashicorp/go-kms-wrapping"
|
||||
)
|
||||
|
||||
// getOpts - iterate the inbound Options and return a struct.
|
||||
@@ -34,6 +35,7 @@ type Options struct {
|
||||
withDatabaseTemplate string
|
||||
withEventerConfig *event.EventerConfig
|
||||
withEventFlags *EventFlags
|
||||
withEventWrapper wrapping.Wrapper
|
||||
withAttributeFieldPrefix string
|
||||
withStatusCode int
|
||||
withHostPlugin func() (string, plugin.HostPluginServiceClient)
|
||||
@@ -140,6 +142,12 @@ func WithEventFlags(flags *EventFlags) Option {
|
||||
}
|
||||
}
|
||||
|
||||
func WithEventAuditWrapper(w wrapping.Wrapper) Option {
|
||||
return func(o *Options) {
|
||||
o.withEventWrapper = w
|
||||
}
|
||||
}
|
||||
|
||||
// WithAttributeFieldPrefix tells the command what prefix
|
||||
// to attach to attribute fields when they are returned as errors.
|
||||
func WithAttributeFieldPrefix(p string) Option {
|
||||
|
||||
@@ -196,7 +196,7 @@ func (b *Server) SetupEventing(logger hclog.Logger, serializationLock *sync.Mute
|
||||
}
|
||||
}
|
||||
|
||||
e, err := event.NewEventer(logger, serializationLock, serverName, *opts.withEventerConfig)
|
||||
e, err := event.NewEventer(logger, serializationLock, serverName, *opts.withEventerConfig, event.WithAuditWrapper(opts.withEventWrapper))
|
||||
if err != nil {
|
||||
return berrors.WrapDeprecated(err, op, berrors.WithMsg("unable to create eventer"))
|
||||
}
|
||||
|
||||
@@ -503,10 +503,6 @@ func (c *Command) Run(args []string) int {
|
||||
c.UI.Error(err.Error())
|
||||
return base.CommandUserError
|
||||
}
|
||||
if err := c.SetupEventing(c.Logger, c.StderrLock, serverName, base.WithEventerConfig(c.Config.Eventing), base.WithEventFlags(eventFlags)); err != nil {
|
||||
c.UI.Error(err.Error())
|
||||
return base.CommandCliError
|
||||
}
|
||||
|
||||
// Initialize status grace period (0 denotes using env or default
|
||||
// here)
|
||||
@@ -525,6 +521,15 @@ func (c *Command) Run(args []string) int {
|
||||
c.UI.Error("Controller KMS not found after parsing KMS blocks")
|
||||
return base.CommandUserError
|
||||
}
|
||||
if err := c.SetupEventing(
|
||||
c.Logger,
|
||||
c.StderrLock,
|
||||
serverName,
|
||||
base.WithEventerConfig(c.Config.Eventing),
|
||||
base.WithEventFlags(eventFlags)); err != nil {
|
||||
c.UI.Error(err.Error())
|
||||
return base.CommandCliError
|
||||
}
|
||||
if c.WorkerAuthKms == nil {
|
||||
c.UI.Error("Worker Auth KMS not found after parsing KMS blocks")
|
||||
return base.CommandUserError
|
||||
|
||||
@@ -9,6 +9,7 @@ import (
|
||||
"github.com/hashicorp/boundary/api/roles"
|
||||
"github.com/hashicorp/boundary/internal/cmd/base"
|
||||
"github.com/hashicorp/boundary/internal/perms"
|
||||
"github.com/hashicorp/boundary/internal/types/scope"
|
||||
"github.com/mitchellh/go-wordwrap"
|
||||
)
|
||||
|
||||
@@ -214,7 +215,7 @@ func extraFlagsHandlingFuncImpl(c *Command, _ *base.FlagSets, opts *[]roles.Opti
|
||||
|
||||
if len(c.flagGrants) > 0 {
|
||||
for _, grant := range c.flagGrants {
|
||||
_, err := perms.Parse("global", grant)
|
||||
_, err := perms.Parse(scope.Global.String(), grant)
|
||||
if err != nil {
|
||||
c.UI.Error(fmt.Errorf("Grant %q could not be parsed successfully: %w", grant, err).Error())
|
||||
return false
|
||||
|
||||
@@ -14,6 +14,7 @@ import (
|
||||
"github.com/hashicorp/boundary/globals"
|
||||
"github.com/hashicorp/boundary/internal/cmd/base"
|
||||
"github.com/hashicorp/boundary/internal/credential"
|
||||
"github.com/hashicorp/boundary/internal/types/scope"
|
||||
"github.com/hashicorp/go-secure-stdlib/strutil"
|
||||
"github.com/mitchellh/go-wordwrap"
|
||||
"github.com/posener/complete"
|
||||
@@ -912,9 +913,9 @@ var keySubstMap = map[string]string{
|
||||
func exampleOutput() string {
|
||||
item := &targets.Target{
|
||||
Id: "ttcp_1234567890",
|
||||
ScopeId: "global",
|
||||
ScopeId: scope.Global.String(),
|
||||
Scope: &scopes.ScopeInfo{
|
||||
Id: "global",
|
||||
Id: scope.Global.String(),
|
||||
},
|
||||
Name: "foo",
|
||||
Description: "The bar of foos",
|
||||
|
||||
@@ -10,6 +10,7 @@ import (
|
||||
"strings"
|
||||
|
||||
"github.com/hashicorp/boundary/internal/cmd/base"
|
||||
"github.com/hashicorp/boundary/internal/types/scope"
|
||||
"github.com/hashicorp/go-secure-stdlib/parseutil"
|
||||
"github.com/posener/complete"
|
||||
)
|
||||
@@ -22,7 +23,7 @@ func PopulateCommonFlags(c *base.Command, f *base.FlagSet, resourceType string,
|
||||
Name: "scope-id",
|
||||
Target: &c.FlagScopeId,
|
||||
EnvVar: "BOUNDARY_SCOPE_ID",
|
||||
Default: "global",
|
||||
Default: scope.Global.String(),
|
||||
Completion: complete.PredictAnything,
|
||||
Usage: `Scope in which to make the request.`,
|
||||
})
|
||||
|
||||
@@ -44,6 +44,17 @@ type DB struct {
|
||||
*gorm.DB
|
||||
}
|
||||
|
||||
// Debug will enable/disable debug info for the connection
|
||||
func (db *DB) Debug(on bool) {
|
||||
if on {
|
||||
// info level in the Gorm domain which maps to a debug level in the boundary domain
|
||||
db.Logger = logger.Default.LogMode(logger.Info)
|
||||
} else {
|
||||
// the default level in the gorm domain is: error level
|
||||
db.Logger = logger.Default.LogMode(logger.Error)
|
||||
}
|
||||
}
|
||||
|
||||
// SqlDB returns the underlying sql.DB
|
||||
//
|
||||
// Note: This func is not named DB(), because our choice of ORM (gorm) which is
|
||||
|
||||
@@ -121,6 +121,9 @@ func New(name string, dialect Dialect, m embed.FS, priority int) Edition {
|
||||
}
|
||||
contents = strings.TrimSpace(contents)
|
||||
|
||||
if _, exists := migrations[fullV]; exists {
|
||||
panic(fmt.Sprintf("migration file for version %d already exists", fullV))
|
||||
}
|
||||
migrations[fullV] = []byte(contents)
|
||||
|
||||
return nil
|
||||
|
||||
@@ -74,6 +74,8 @@ var (
|
||||
noMinorVersion embed.FS
|
||||
//go:embed testdata/invalid/no-major-version
|
||||
noMajorVersion embed.FS
|
||||
//go:embed testdata/invalid/duplicate-versions
|
||||
duplicateVersions embed.FS
|
||||
)
|
||||
|
||||
func TestNewPanics(t *testing.T) {
|
||||
@@ -103,6 +105,10 @@ func TestNewPanics(t *testing.T) {
|
||||
"noMajorVersion",
|
||||
noMajorVersion,
|
||||
},
|
||||
{
|
||||
"duplicateVersions",
|
||||
duplicateVersions,
|
||||
},
|
||||
}
|
||||
for _, tt := range tests {
|
||||
t.Run(tt.name, func(t *testing.T) {
|
||||
|
||||
Vendored
+5
@@ -0,0 +1,5 @@
|
||||
begin;
|
||||
create table one (
|
||||
id bigint primary key
|
||||
);
|
||||
commit;
|
||||
Vendored
+5
@@ -0,0 +1,5 @@
|
||||
begin;
|
||||
create table one_also (
|
||||
id bigint primary key
|
||||
);
|
||||
commit;
|
||||
@@ -24,6 +24,8 @@ func TestTrySharedLock(t *testing.T) {
|
||||
require.NoError(t, err)
|
||||
|
||||
d2, err := common.SqlOpen(dbtest.Postgres, u)
|
||||
require.NoError(t, err)
|
||||
|
||||
p2, err := postgres.New(ctx, d2)
|
||||
require.NoError(t, err)
|
||||
|
||||
@@ -47,6 +49,8 @@ func TestTryLock(t *testing.T) {
|
||||
require.NoError(t, err)
|
||||
|
||||
d2, err := common.SqlOpen(dbtest.Postgres, u)
|
||||
require.NoError(t, err)
|
||||
|
||||
p2, err := postgres.New(ctx, d2)
|
||||
require.NoError(t, err)
|
||||
|
||||
@@ -56,7 +60,9 @@ func TestTryLock(t *testing.T) {
|
||||
err = p2.TryLock(ctx)
|
||||
require.Error(t, err)
|
||||
|
||||
ctx2, _ := context.WithTimeout(ctx, time.Millisecond)
|
||||
ctx2, cancel := context.WithTimeout(ctx, time.Millisecond)
|
||||
defer cancel()
|
||||
|
||||
err = p2.Lock(ctx2)
|
||||
require.Error(t, err)
|
||||
}
|
||||
@@ -74,6 +80,8 @@ func TestLock(t *testing.T) {
|
||||
require.NoError(t, err)
|
||||
|
||||
d2, err := common.SqlOpen(dbtest.Postgres, u)
|
||||
require.NoError(t, err)
|
||||
|
||||
p2, err := postgres.New(ctx, d2)
|
||||
require.NoError(t, err)
|
||||
|
||||
@@ -83,7 +91,9 @@ func TestLock(t *testing.T) {
|
||||
err = p2.TryLock(ctx)
|
||||
require.Error(t, err)
|
||||
|
||||
ctx2, _ := context.WithTimeout(ctx, time.Millisecond)
|
||||
ctx2, cancel := context.WithTimeout(ctx, time.Millisecond)
|
||||
defer cancel()
|
||||
|
||||
err = p2.Lock(ctx2)
|
||||
require.Error(t, err)
|
||||
}
|
||||
@@ -100,6 +110,8 @@ func TestUnlock(t *testing.T) {
|
||||
require.NoError(t, err)
|
||||
|
||||
d2, err := common.SqlOpen(dbtest.Postgres, u)
|
||||
require.NoError(t, err)
|
||||
|
||||
p2, err := postgres.New(ctx, d2)
|
||||
require.NoError(t, err)
|
||||
|
||||
@@ -121,6 +133,7 @@ func TestUnlock(t *testing.T) {
|
||||
|
||||
// clear lock on p2
|
||||
err = p2.Unlock(ctx)
|
||||
require.NoError(t, err)
|
||||
|
||||
// p can now get lock
|
||||
err = p.TryLock(ctx)
|
||||
@@ -138,6 +151,8 @@ func TestUnlockShared(t *testing.T) {
|
||||
require.NoError(t, err)
|
||||
|
||||
d2, err := common.SqlOpen(dbtest.Postgres, u)
|
||||
require.NoError(t, err)
|
||||
|
||||
p2, err := postgres.New(ctx, d2)
|
||||
require.NoError(t, err)
|
||||
|
||||
|
||||
@@ -13,7 +13,7 @@ import (
|
||||
|
||||
// setup is a helper function for tests.
|
||||
// It creates a new database using Template1, establishes an connection,
|
||||
// and returns a *postgres.Postgrs.
|
||||
// and returns a *postgres.Postgres.
|
||||
// It also returns the underlying sql.DB and connection url so tests
|
||||
// can establish additional connections if necessary.
|
||||
func setup(ctx context.Context, t *testing.T) (*postgres.Postgres, *sql.DB, string) {
|
||||
@@ -30,6 +30,7 @@ func setup(ctx context.Context, t *testing.T) (*postgres.Postgres, *sql.DB, stri
|
||||
require.NoError(t, d.Close())
|
||||
})
|
||||
p, err := postgres.New(ctx, d)
|
||||
require.NoError(t, err)
|
||||
|
||||
return p, d, u
|
||||
}
|
||||
@@ -0,0 +1,66 @@
|
||||
begin;
|
||||
|
||||
-- kms_audit_key entries are DEKs for crypto operations on audit entries.
|
||||
create table kms_audit_key (
|
||||
private_id wt_private_id primary key,
|
||||
root_key_id wt_private_id not null unique -- there can be only one audit dek per root key
|
||||
references kms_root_key(private_id)
|
||||
on delete cascade
|
||||
on update cascade,
|
||||
create_time wt_timestamp
|
||||
);
|
||||
|
||||
-- define the immutable fields for kms_audit_key (all of them)
|
||||
create trigger
|
||||
immutable_columns
|
||||
before
|
||||
update on kms_audit_key
|
||||
for each row execute procedure immutable_columns('private_id', 'root_key_id', 'create_time');
|
||||
|
||||
-- define the value of kms_audit_key's create_time
|
||||
create trigger
|
||||
default_create_time_column
|
||||
before
|
||||
insert on kms_audit_key
|
||||
for each row execute procedure default_create_time();
|
||||
|
||||
-- kms_audit_key_version entries are version of DEK keys used crypto operations on audit entries.
|
||||
-- entries.
|
||||
create table kms_audit_key_version (
|
||||
private_id wt_private_id primary key,
|
||||
audit_key_id wt_private_id not null
|
||||
references kms_audit_key(private_id)
|
||||
on delete cascade
|
||||
on update cascade,
|
||||
root_key_version_id wt_private_id not null
|
||||
references kms_root_key_version(private_id)
|
||||
on delete cascade
|
||||
on update cascade,
|
||||
version wt_version,
|
||||
key bytea not null,
|
||||
create_time wt_timestamp,
|
||||
constraint kms_audit_key_version_audit_key_id_uq
|
||||
unique(audit_key_id, version)
|
||||
);
|
||||
|
||||
-- define the immutable fields for kms_audit_key_version (all of them)
|
||||
create trigger
|
||||
immutable_columns
|
||||
before
|
||||
update on kms_audit_key_version
|
||||
for each row execute procedure immutable_columns('private_id', 'audit_key_id', 'root_key_version_id', 'version', 'key', 'create_time');
|
||||
|
||||
-- define the value of kms_audit_key_version's create_time
|
||||
create trigger
|
||||
default_create_time_column
|
||||
before
|
||||
insert on kms_audit_key_version
|
||||
for each row execute procedure default_create_time();
|
||||
|
||||
-- define the value of kms_audit_key_version's version column
|
||||
create trigger
|
||||
kms_version_column
|
||||
before insert on kms_audit_key_version
|
||||
for each row execute procedure kms_version_column('audit_key_id');
|
||||
|
||||
commit;
|
||||
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
@@ -1,183 +0,0 @@
|
||||
package oss_test
|
||||
|
||||
import (
|
||||
"context"
|
||||
"testing"
|
||||
|
||||
"github.com/hashicorp/boundary/internal/auth/oidc"
|
||||
"github.com/hashicorp/boundary/internal/authtoken"
|
||||
"github.com/hashicorp/boundary/internal/db"
|
||||
"github.com/hashicorp/boundary/internal/db/common"
|
||||
"github.com/hashicorp/boundary/internal/db/schema"
|
||||
"github.com/hashicorp/boundary/internal/host/static"
|
||||
"github.com/hashicorp/boundary/internal/iam"
|
||||
"github.com/hashicorp/boundary/internal/kms"
|
||||
"github.com/hashicorp/boundary/internal/session"
|
||||
"github.com/hashicorp/boundary/internal/target"
|
||||
"github.com/hashicorp/boundary/internal/target/tcp"
|
||||
"github.com/hashicorp/boundary/testing/dbtest"
|
||||
wrapping "github.com/hashicorp/go-kms-wrapping"
|
||||
"github.com/stretchr/testify/assert"
|
||||
"github.com/stretchr/testify/require"
|
||||
)
|
||||
|
||||
func TestMigrations_UserDimension(t *testing.T) {
|
||||
const (
|
||||
priorMigration = 13001
|
||||
currentMigration = 14001
|
||||
)
|
||||
|
||||
t.Parallel()
|
||||
assert, require := assert.New(t), require.New(t)
|
||||
ctx := context.Background()
|
||||
dialect := dbtest.Postgres
|
||||
|
||||
c, u, _, err := dbtest.StartUsingTemplate(dialect, dbtest.WithTemplate(dbtest.Template1))
|
||||
require.NoError(err)
|
||||
t.Cleanup(func() {
|
||||
require.NoError(c())
|
||||
})
|
||||
d, err := common.SqlOpen(dialect, u)
|
||||
require.NoError(err)
|
||||
|
||||
// migration to the prior migration (before the one we want to test)
|
||||
m, err := schema.NewManager(ctx, schema.Dialect(dialect), d, schema.WithEditions(
|
||||
schema.TestCreatePartialEditions(schema.Dialect(dialect), schema.PartialEditions{"oss": priorMigration}),
|
||||
))
|
||||
require.NoError(err)
|
||||
|
||||
assert.NoError(m.ApplyMigrations(ctx))
|
||||
state, err := m.CurrentState(ctx)
|
||||
require.NoError(err)
|
||||
want := &schema.State{
|
||||
Initialized: true,
|
||||
Editions: []schema.EditionState{
|
||||
{
|
||||
Name: "oss",
|
||||
BinarySchemaVersion: priorMigration,
|
||||
DatabaseSchemaVersion: priorMigration,
|
||||
DatabaseSchemaState: schema.Equal,
|
||||
},
|
||||
},
|
||||
}
|
||||
require.Equal(want, state)
|
||||
|
||||
// okay, now we can seed the database with test data
|
||||
dbType, err := db.StringToDbType(dialect)
|
||||
require.NoError(err)
|
||||
conn, err := db.Open(dbType, u)
|
||||
require.NoError(err)
|
||||
|
||||
rw := db.New(conn)
|
||||
wrapper := db.TestWrapper(t)
|
||||
|
||||
org, prj := iam.TestScopes(t, iam.TestRepo(t, conn, wrapper))
|
||||
require.NotNil(prj)
|
||||
assert.NotEmpty(prj.GetPublicId())
|
||||
|
||||
hc := static.TestCatalogs(t, conn, prj.GetPublicId(), 1)[0]
|
||||
hs := static.TestSets(t, conn, hc.GetPublicId(), 1)[0]
|
||||
h := static.TestHosts(t, conn, hc.GetPublicId(), 1)[0]
|
||||
static.TestSetMembers(t, conn, hs.GetPublicId(), []*static.Host{h})
|
||||
|
||||
tar := tcp.TestTarget(t, conn, prj.GetPublicId(), "test", target.WithHostSources([]string{hs.GetPublicId()}))
|
||||
var sessions []*session.Session
|
||||
|
||||
kmsCache := kms.TestKms(t, conn, wrapper)
|
||||
databaseWrapper, err := kmsCache.GetWrapper(ctx, org.GetPublicId(), kms.KeyPurposeDatabase)
|
||||
require.NoError(err)
|
||||
|
||||
{
|
||||
at := authtoken.TestAuthToken(t, conn, kmsCache, org.GetPublicId())
|
||||
uId := at.GetIamUserId()
|
||||
|
||||
sess := session.TestSession(t, conn, wrapper, session.ComposedOf{
|
||||
UserId: uId,
|
||||
HostId: h.GetPublicId(),
|
||||
TargetId: tar.GetPublicId(),
|
||||
HostSetId: hs.GetPublicId(),
|
||||
AuthTokenId: at.GetPublicId(),
|
||||
ScopeId: prj.GetPublicId(),
|
||||
Endpoint: "tcp://127.0.0.1:22",
|
||||
})
|
||||
sessions = append(sessions, sess)
|
||||
}
|
||||
|
||||
{
|
||||
at := testOidcAuthToken(t, conn, kmsCache, databaseWrapper, org.GetPublicId())
|
||||
uId := at.GetIamUserId()
|
||||
|
||||
sess := session.TestSession(t, conn, wrapper, session.ComposedOf{
|
||||
UserId: uId,
|
||||
HostId: h.GetPublicId(),
|
||||
TargetId: tar.GetPublicId(),
|
||||
HostSetId: hs.GetPublicId(),
|
||||
AuthTokenId: at.GetPublicId(),
|
||||
ScopeId: prj.GetPublicId(),
|
||||
Endpoint: "tcp://127.0.0.1:22",
|
||||
})
|
||||
sessions = append(sessions, sess)
|
||||
}
|
||||
|
||||
sessionRepo, err := session.NewRepository(rw, rw, kmsCache)
|
||||
require.NoError(err)
|
||||
|
||||
count, err := sessionRepo.TerminateCompletedSessions(ctx)
|
||||
assert.NoError(err)
|
||||
assert.Zero(count)
|
||||
|
||||
for _, sess := range sessions {
|
||||
// call TerminateSession
|
||||
_, err = sessionRepo.TerminateSession(ctx, sess.GetPublicId(), 1, session.ClosedByUser)
|
||||
assert.NoError(err)
|
||||
}
|
||||
|
||||
// now we're ready for the migration we want to test.
|
||||
m, err = schema.NewManager(ctx, schema.Dialect(dialect), d, schema.WithEditions(
|
||||
schema.TestCreatePartialEditions(schema.Dialect(dialect), schema.PartialEditions{"oss": currentMigration}),
|
||||
))
|
||||
require.NoError(err)
|
||||
|
||||
assert.NoError(m.ApplyMigrations(ctx))
|
||||
state, err = m.CurrentState(ctx)
|
||||
require.NoError(err)
|
||||
want = &schema.State{
|
||||
Initialized: true,
|
||||
Editions: []schema.EditionState{
|
||||
{
|
||||
Name: "oss",
|
||||
BinarySchemaVersion: currentMigration,
|
||||
DatabaseSchemaVersion: currentMigration,
|
||||
DatabaseSchemaState: schema.Equal,
|
||||
},
|
||||
},
|
||||
}
|
||||
require.Equal(want, state)
|
||||
}
|
||||
|
||||
func testOidcAuthToken(t *testing.T, conn *db.DB, kms *kms.Kms, wrapper wrapping.Wrapper, scopeId string) *authtoken.AuthToken {
|
||||
t.Helper()
|
||||
|
||||
authMethod := oidc.TestAuthMethod(
|
||||
t, conn, wrapper, scopeId, oidc.ActivePrivateState,
|
||||
"alice-rp", "fido",
|
||||
oidc.WithIssuer(oidc.TestConvertToUrls(t, "https://www.alice.com")[0]),
|
||||
oidc.WithSigningAlgs(oidc.RS256),
|
||||
oidc.WithApiUrl(oidc.TestConvertToUrls(t, "https://www.alice.com/callback")[0]),
|
||||
)
|
||||
acct := oidc.TestAccount(t, conn, authMethod, "test-subject")
|
||||
|
||||
ctx := context.Background()
|
||||
rw := db.New(conn)
|
||||
iamRepo, err := iam.NewRepository(rw, rw, kms)
|
||||
require.NoError(t, err)
|
||||
|
||||
u := iam.TestUser(t, iamRepo, scopeId, iam.WithAccountIds(acct.PublicId))
|
||||
|
||||
repo, err := authtoken.NewRepository(rw, rw, kms)
|
||||
require.NoError(t, err)
|
||||
|
||||
at, err := repo.CreateAuthToken(ctx, u, acct.GetPublicId())
|
||||
require.NoError(t, err)
|
||||
return at
|
||||
}
|
||||
@@ -1,183 +0,0 @@
|
||||
package oss_test
|
||||
|
||||
import (
|
||||
"context"
|
||||
"testing"
|
||||
|
||||
"github.com/hashicorp/boundary/internal/authtoken"
|
||||
"github.com/hashicorp/boundary/internal/credential"
|
||||
"github.com/hashicorp/boundary/internal/credential/vault"
|
||||
"github.com/hashicorp/boundary/internal/db"
|
||||
"github.com/hashicorp/boundary/internal/db/common"
|
||||
"github.com/hashicorp/boundary/internal/db/schema"
|
||||
"github.com/hashicorp/boundary/internal/host/static"
|
||||
"github.com/hashicorp/boundary/internal/iam"
|
||||
"github.com/hashicorp/boundary/internal/kms"
|
||||
"github.com/hashicorp/boundary/internal/session"
|
||||
"github.com/hashicorp/boundary/internal/target"
|
||||
"github.com/hashicorp/boundary/internal/target/tcp"
|
||||
"github.com/hashicorp/boundary/testing/dbtest"
|
||||
wrapping "github.com/hashicorp/go-kms-wrapping"
|
||||
"github.com/stretchr/testify/assert"
|
||||
"github.com/stretchr/testify/require"
|
||||
)
|
||||
|
||||
func TestMigrations_CredentialDimension(t *testing.T) {
|
||||
const (
|
||||
priorMigration = 15002
|
||||
currentMigration = 16005
|
||||
)
|
||||
|
||||
t.Parallel()
|
||||
assert, require := assert.New(t), require.New(t)
|
||||
ctx := context.Background()
|
||||
dialect := dbtest.Postgres
|
||||
|
||||
c, u, _, err := dbtest.StartUsingTemplate(dialect, dbtest.WithTemplate(dbtest.Template1))
|
||||
require.NoError(err)
|
||||
t.Cleanup(func() {
|
||||
require.NoError(c())
|
||||
})
|
||||
d, err := common.SqlOpen(dialect, u)
|
||||
require.NoError(err)
|
||||
|
||||
// migration to the prior migration (before the one we want to test)
|
||||
m, err := schema.NewManager(ctx, schema.Dialect(dialect), d, schema.WithEditions(
|
||||
schema.TestCreatePartialEditions(schema.Dialect(dialect), schema.PartialEditions{"oss": priorMigration}),
|
||||
))
|
||||
require.NoError(err)
|
||||
|
||||
require.NoError(m.ApplyMigrations(ctx))
|
||||
state, err := m.CurrentState(ctx)
|
||||
require.NoError(err)
|
||||
want := &schema.State{
|
||||
Initialized: true,
|
||||
Editions: []schema.EditionState{
|
||||
{
|
||||
Name: "oss",
|
||||
BinarySchemaVersion: priorMigration,
|
||||
DatabaseSchemaVersion: priorMigration,
|
||||
DatabaseSchemaState: schema.Equal,
|
||||
},
|
||||
},
|
||||
}
|
||||
require.Equal(want, state)
|
||||
|
||||
dbType, err := db.StringToDbType(dialect)
|
||||
require.NoError(err)
|
||||
|
||||
// okay, now we can seed the database with test data
|
||||
conn, err := db.Open(dbType, u)
|
||||
require.NoError(err)
|
||||
|
||||
rw := db.New(conn)
|
||||
wrapper := db.TestWrapper(t)
|
||||
|
||||
org, prj := iam.TestScopes(t, iam.TestRepo(t, conn, wrapper))
|
||||
require.NotNil(prj)
|
||||
assert.NotEmpty(prj.GetPublicId())
|
||||
|
||||
hc := static.TestCatalogs(t, conn, prj.GetPublicId(), 1)[0]
|
||||
hs := static.TestSets(t, conn, hc.GetPublicId(), 1)[0]
|
||||
h := static.TestHosts(t, conn, hc.GetPublicId(), 1)[0]
|
||||
static.TestSetMembers(t, conn, hs.GetPublicId(), []*static.Host{h})
|
||||
|
||||
tar := tcp.TestTarget(t, conn, prj.GetPublicId(), "test", target.WithHostSources([]string{hs.GetPublicId()}))
|
||||
var sessions []*session.Session
|
||||
|
||||
kmsCache := kms.TestKms(t, conn, wrapper)
|
||||
databaseWrapper, err := kmsCache.GetWrapper(ctx, org.GetPublicId(), kms.KeyPurposeDatabase)
|
||||
require.NoError(err)
|
||||
|
||||
{
|
||||
at := authtoken.TestAuthToken(t, conn, kmsCache, org.GetPublicId())
|
||||
uId := at.GetIamUserId()
|
||||
|
||||
sess := session.TestSession(t, conn, wrapper, session.ComposedOf{
|
||||
UserId: uId,
|
||||
HostId: h.GetPublicId(),
|
||||
TargetId: tar.GetPublicId(),
|
||||
HostSetId: hs.GetPublicId(),
|
||||
AuthTokenId: at.GetPublicId(),
|
||||
ScopeId: prj.GetPublicId(),
|
||||
Endpoint: "tcp://127.0.0.1:22",
|
||||
})
|
||||
sessions = append(sessions, sess)
|
||||
}
|
||||
|
||||
{
|
||||
at := testOidcAuthToken(t, conn, kmsCache, databaseWrapper, org.GetPublicId())
|
||||
uId := at.GetIamUserId()
|
||||
creds := testSessionCredentialParams(t, conn, kmsCache, wrapper, tar)
|
||||
|
||||
sess := session.TestSession(t, conn, wrapper, session.ComposedOf{
|
||||
UserId: uId,
|
||||
HostId: h.GetPublicId(),
|
||||
TargetId: tar.GetPublicId(),
|
||||
HostSetId: hs.GetPublicId(),
|
||||
AuthTokenId: at.GetPublicId(),
|
||||
ScopeId: prj.GetPublicId(),
|
||||
Endpoint: "tcp://127.0.0.1:22",
|
||||
DynamicCredentials: creds,
|
||||
})
|
||||
sessions = append(sessions, sess)
|
||||
}
|
||||
|
||||
sessionRepo, err := session.NewRepository(rw, rw, kmsCache)
|
||||
require.NoError(err)
|
||||
|
||||
count, err := sessionRepo.TerminateCompletedSessions(ctx)
|
||||
require.NoError(err)
|
||||
assert.Zero(count)
|
||||
|
||||
for _, sess := range sessions {
|
||||
// call TerminateSession
|
||||
_, err = sessionRepo.TerminateSession(ctx, sess.GetPublicId(), 1, session.ClosedByUser)
|
||||
assert.NoError(err)
|
||||
}
|
||||
|
||||
// now we're ready for the migration we want to test.
|
||||
m, err = schema.NewManager(ctx, schema.Dialect(dialect), d, schema.WithEditions(
|
||||
schema.TestCreatePartialEditions(schema.Dialect(dialect), schema.PartialEditions{"oss": currentMigration}),
|
||||
))
|
||||
require.NoError(err)
|
||||
|
||||
require.NoError(m.ApplyMigrations(ctx))
|
||||
state, err = m.CurrentState(ctx)
|
||||
require.NoError(err)
|
||||
want = &schema.State{
|
||||
Initialized: true,
|
||||
Editions: []schema.EditionState{
|
||||
{
|
||||
Name: "oss",
|
||||
BinarySchemaVersion: currentMigration,
|
||||
DatabaseSchemaVersion: currentMigration,
|
||||
DatabaseSchemaState: schema.Equal,
|
||||
},
|
||||
},
|
||||
}
|
||||
require.Equal(want, state)
|
||||
}
|
||||
|
||||
func testSessionCredentialParams(t *testing.T, conn *db.DB, kms *kms.Kms, wrapper wrapping.Wrapper, tar target.Target) []*session.DynamicCredential {
|
||||
t.Helper()
|
||||
rw := db.New(conn)
|
||||
|
||||
ctx := context.Background()
|
||||
stores := vault.TestCredentialStores(t, conn, wrapper, tar.GetScopeId(), 1)
|
||||
libIds := vault.TestCredentialLibraries(t, conn, wrapper, stores[0].GetPublicId(), 2)
|
||||
libs := []*target.CredentialLibrary{
|
||||
target.TestNewCredentialLibrary(tar.GetPublicId(), libIds[0].GetPublicId(), credential.ApplicationPurpose),
|
||||
target.TestNewCredentialLibrary(tar.GetPublicId(), libIds[1].GetPublicId(), credential.ApplicationPurpose),
|
||||
}
|
||||
|
||||
targetRepo, err := target.NewRepository(rw, rw, kms)
|
||||
require.NoError(t, err)
|
||||
_, _, _, err = targetRepo.AddTargetCredentialSources(ctx, tar.GetPublicId(), tar.GetVersion(), libs)
|
||||
require.NoError(t, err)
|
||||
creds := []*session.DynamicCredential{
|
||||
session.NewDynamicCredential(libIds[0].GetPublicId(), credential.ApplicationPurpose),
|
||||
session.NewDynamicCredential(libIds[1].GetPublicId(), credential.ApplicationPurpose),
|
||||
}
|
||||
return creds
|
||||
}
|
||||
@@ -1,126 +0,0 @@
|
||||
package oss_test
|
||||
|
||||
import (
|
||||
"context"
|
||||
"testing"
|
||||
|
||||
"github.com/hashicorp/boundary/internal/auth/password"
|
||||
"github.com/hashicorp/boundary/internal/db"
|
||||
"github.com/hashicorp/boundary/internal/db/common"
|
||||
"github.com/hashicorp/boundary/internal/db/schema"
|
||||
"github.com/hashicorp/boundary/internal/iam"
|
||||
"github.com/hashicorp/boundary/testing/dbtest"
|
||||
|
||||
"github.com/stretchr/testify/assert"
|
||||
"github.com/stretchr/testify/require"
|
||||
)
|
||||
|
||||
// Tests migration:
|
||||
// migrations/oss/2/07_iam.up.sql
|
||||
func Test_PrimaryAuthMethodChanges(t *testing.T) {
|
||||
t.Parallel()
|
||||
const priorMigration = 2006
|
||||
const primaryAuthMethodMigration = 2007
|
||||
t.Run("migrate-store", func(t *testing.T) {
|
||||
// this is a sequential test which relies on:
|
||||
// 1) initializing the db using a migration up to the "priorMigration"
|
||||
//
|
||||
// 2) seeding the database with some test scopes and auth methods
|
||||
//
|
||||
// 3) running the migrations that sets the primary auth methods for
|
||||
// existing scopes which only have one auth method.
|
||||
//
|
||||
// 4) asserting some bits about the state of the db.
|
||||
assert, require := assert.New(t), require.New(t)
|
||||
dialect := dbtest.Postgres
|
||||
ctx := context.Background()
|
||||
|
||||
c, u, _, err := dbtest.StartUsingTemplate(dialect, dbtest.WithTemplate(dbtest.Template1))
|
||||
require.NoError(err)
|
||||
t.Cleanup(func() {
|
||||
require.NoError(c())
|
||||
})
|
||||
d, err := common.SqlOpen(dialect, u)
|
||||
require.NoError(err)
|
||||
|
||||
// migration to the prior migration (before the one we want to test)
|
||||
m, err := schema.NewManager(ctx, schema.Dialect(dialect), d, schema.WithEditions(
|
||||
schema.TestCreatePartialEditions(schema.Dialect(dialect), schema.PartialEditions{"oss": priorMigration}),
|
||||
))
|
||||
require.NoError(err)
|
||||
|
||||
assert.NoError(m.ApplyMigrations(ctx))
|
||||
state, err := m.CurrentState(ctx)
|
||||
require.NoError(err)
|
||||
want := &schema.State{
|
||||
Initialized: true,
|
||||
Editions: []schema.EditionState{
|
||||
{
|
||||
Name: "oss",
|
||||
BinarySchemaVersion: priorMigration,
|
||||
DatabaseSchemaVersion: priorMigration,
|
||||
DatabaseSchemaState: schema.Equal,
|
||||
},
|
||||
},
|
||||
}
|
||||
assert.Equal(want, state)
|
||||
|
||||
// okay, now we can seed the database with test data
|
||||
dbType, err := db.StringToDbType(dialect)
|
||||
require.NoError(err)
|
||||
conn, err := db.Open(dbType, u)
|
||||
require.NoError(err)
|
||||
rootWrapper := db.TestWrapper(t)
|
||||
iamRepo := iam.TestRepo(t, conn, rootWrapper)
|
||||
org, _ := iam.TestScopes(t, iamRepo)
|
||||
_ = password.TestAuthMethods(t, conn, org.PublicId, 3)
|
||||
org2, _ := iam.TestScopes(t, iamRepo)
|
||||
_ = password.TestAuthMethods(t, conn, org2.PublicId, 2)
|
||||
|
||||
org3, _ := iam.TestScopes(t, iamRepo)
|
||||
org3AuthMethods := password.TestAuthMethods(t, conn, org3.PublicId, 1)
|
||||
org4, _ := iam.TestScopes(t, iamRepo)
|
||||
org4AuthMethods := password.TestAuthMethods(t, conn, org4.PublicId, 1)
|
||||
|
||||
// now we're ready for the migration we want to test.
|
||||
m, err = schema.NewManager(ctx, schema.Dialect(dialect), d, schema.WithEditions(
|
||||
schema.TestCreatePartialEditions(schema.Dialect(dialect), schema.PartialEditions{"oss": primaryAuthMethodMigration}),
|
||||
))
|
||||
require.NoError(err)
|
||||
|
||||
assert.NoError(m.ApplyMigrations(ctx))
|
||||
state, err = m.CurrentState(ctx)
|
||||
require.NoError(err)
|
||||
want = &schema.State{
|
||||
Initialized: true,
|
||||
Editions: []schema.EditionState{
|
||||
{
|
||||
Name: "oss",
|
||||
BinarySchemaVersion: primaryAuthMethodMigration,
|
||||
DatabaseSchemaVersion: primaryAuthMethodMigration,
|
||||
DatabaseSchemaState: schema.Equal,
|
||||
},
|
||||
},
|
||||
}
|
||||
assert.Equal(want, state)
|
||||
|
||||
entries, err := m.GetMigrationLog(ctx)
|
||||
require.NoError(err)
|
||||
assert.Equalf(2, len(entries), "expected 2 scopes without a primary auth method and got: %d", len(entries))
|
||||
|
||||
scope1, err := iamRepo.LookupScope(ctx, org.PublicId)
|
||||
require.NoError(err)
|
||||
assert.Empty(scope1.PrimaryAuthMethodId)
|
||||
scope2, err := iamRepo.LookupScope(ctx, org2.PublicId)
|
||||
require.NoError(err)
|
||||
assert.Empty(scope2.PrimaryAuthMethodId)
|
||||
|
||||
scope3, err := iamRepo.LookupScope(ctx, org3.PublicId)
|
||||
require.NoError(err)
|
||||
assert.Equal(org3AuthMethods[0].PublicId, scope3.PrimaryAuthMethodId)
|
||||
|
||||
scope4, err := iamRepo.LookupScope(ctx, org4.PublicId)
|
||||
require.NoError(err)
|
||||
assert.Equal(org4AuthMethods[0].PublicId, scope4.PrimaryAuthMethodId)
|
||||
})
|
||||
}
|
||||
@@ -474,7 +474,7 @@ func (r *Repository) ListScopesRecursively(ctx context.Context, rootScopeId stri
|
||||
var where string
|
||||
var args []interface{}
|
||||
switch {
|
||||
case rootScopeId == "global":
|
||||
case rootScopeId == scope.Global.String():
|
||||
// Nothing -- we want all scopes
|
||||
case strings.HasPrefix(rootScopeId, "o_"):
|
||||
// The org itself and any projects that have it as parent
|
||||
|
||||
@@ -2,6 +2,7 @@ package iam
|
||||
|
||||
import (
|
||||
"context"
|
||||
"fmt"
|
||||
"strings"
|
||||
|
||||
"github.com/hashicorp/boundary/internal/db"
|
||||
@@ -36,7 +37,7 @@ var (
|
||||
|
||||
func NewOrg(opt ...Option) (*Scope, error) {
|
||||
global := AllocScope()
|
||||
global.PublicId = "global"
|
||||
global.PublicId = scope.Global.String()
|
||||
return newScope(&global, opt...)
|
||||
}
|
||||
|
||||
@@ -63,7 +64,7 @@ func newScope(parent *Scope, opt ...Option) (*Scope, error) {
|
||||
}
|
||||
var typ scope.Type
|
||||
switch {
|
||||
case parent.PublicId == "global":
|
||||
case parent.PublicId == scope.Global.String():
|
||||
typ = scope.Org
|
||||
case strings.HasPrefix(parent.PublicId, scope.Org.Prefix()):
|
||||
typ = scope.Project
|
||||
@@ -129,8 +130,8 @@ func (s *Scope) VetForWrite(ctx context.Context, r db.Reader, opType db.OpType,
|
||||
case s.ParentId == "":
|
||||
return errors.New(ctx, errors.InvalidParameter, op, "scope must have a parent")
|
||||
case s.Type == scope.Org.String():
|
||||
if s.ParentId != "global" {
|
||||
return errors.New(ctx, errors.InvalidParameter, op, `org's parent must be "global"`)
|
||||
if s.ParentId != scope.Global.String() {
|
||||
return errors.New(ctx, errors.InvalidParameter, op, fmt.Sprintf(`org's parent must be "%s"`, scope.Global.String()))
|
||||
}
|
||||
case s.Type == scope.Project.String():
|
||||
parentScope := AllocScope()
|
||||
|
||||
@@ -0,0 +1,82 @@
|
||||
package kms
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
"github.com/hashicorp/boundary/internal/db"
|
||||
"github.com/hashicorp/boundary/internal/errors"
|
||||
"github.com/hashicorp/boundary/internal/kms/store"
|
||||
"google.golang.org/protobuf/proto"
|
||||
)
|
||||
|
||||
const (
|
||||
DefaultAuditKeyTableName = "kms_audit_key"
|
||||
)
|
||||
|
||||
type AuditKey struct {
|
||||
*store.AuditKey
|
||||
tableName string `gorm:"-"`
|
||||
}
|
||||
|
||||
// NewAuditKey creates a new in memory audit key. This key is used for crypto
|
||||
// operations on audit entries. No options are currently supported.
|
||||
func NewAuditKey(ctx context.Context, rootKeyId string, _ ...Option) (*AuditKey, error) {
|
||||
const op = "kms.NewAuditKey"
|
||||
if rootKeyId == "" {
|
||||
return nil, errors.New(ctx, errors.InvalidParameter, op, "missing root key id")
|
||||
}
|
||||
k := &AuditKey{
|
||||
AuditKey: &store.AuditKey{
|
||||
RootKeyId: rootKeyId,
|
||||
},
|
||||
}
|
||||
return k, nil
|
||||
}
|
||||
|
||||
// AllocAuditKey will allocate a AuditKey
|
||||
func AllocAuditKey() AuditKey {
|
||||
return AuditKey{
|
||||
AuditKey: &store.AuditKey{},
|
||||
}
|
||||
}
|
||||
|
||||
// Clone creates a clone of the AuditKey
|
||||
func (k *AuditKey) Clone() interface{} {
|
||||
cp := proto.Clone(k.AuditKey)
|
||||
return &AuditKey{
|
||||
AuditKey: cp.(*store.AuditKey),
|
||||
}
|
||||
}
|
||||
|
||||
// VetForWrite implements db.VetForWrite() interface and validates the key
|
||||
// before it's written.
|
||||
func (k *AuditKey) VetForWrite(ctx context.Context, r db.Reader, opType db.OpType, opt ...db.Option) error {
|
||||
const op = "kms.(AuditKey).VetForWrite"
|
||||
if k.PrivateId == "" {
|
||||
return errors.New(ctx, errors.InvalidParameter, op, "missing private id")
|
||||
}
|
||||
switch opType {
|
||||
case db.CreateOp:
|
||||
if k.RootKeyId == "" {
|
||||
return errors.New(ctx, errors.InvalidParameter, op, "missing root key id")
|
||||
}
|
||||
case db.UpdateOp:
|
||||
return errors.New(ctx, errors.InvalidParameter, op, "key is immutable")
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
// TableName returns the tablename to override the default gorm table name
|
||||
func (k *AuditKey) TableName() string {
|
||||
if k.tableName != "" {
|
||||
return k.tableName
|
||||
}
|
||||
return DefaultAuditKeyTableName
|
||||
}
|
||||
|
||||
// SetTableName sets the tablename and satisfies the ReplayableMessage
|
||||
// interface. If the caller attempts to set the name to "" the name will be
|
||||
// reset to the default name.
|
||||
func (k *AuditKey) SetTableName(n string) {
|
||||
k.tableName = n
|
||||
}
|
||||
@@ -0,0 +1,207 @@
|
||||
package kms_test
|
||||
|
||||
import (
|
||||
"context"
|
||||
"testing"
|
||||
|
||||
"github.com/hashicorp/boundary/internal/db"
|
||||
"github.com/hashicorp/boundary/internal/errors"
|
||||
"github.com/hashicorp/boundary/internal/iam"
|
||||
"github.com/hashicorp/boundary/internal/kms"
|
||||
"github.com/stretchr/testify/assert"
|
||||
"github.com/stretchr/testify/require"
|
||||
"google.golang.org/protobuf/proto"
|
||||
)
|
||||
|
||||
// NOTE: there are no update tests since all the AuditKey attributes are
|
||||
// immutable and those tests are covered by TestAuditKey_ImmutableFields
|
||||
|
||||
func TestAuditKey_Create(t *testing.T) {
|
||||
t.Parallel()
|
||||
testCtx := context.Background()
|
||||
conn, _ := db.TestSetup(t, "postgres")
|
||||
wrapper := db.TestWrapper(t)
|
||||
org, _ := iam.TestScopes(t, iam.TestRepo(t, conn, wrapper))
|
||||
require.NoError(t, conn.Where("1=1").Delete(kms.AllocRootKey()).Error)
|
||||
rk := kms.TestRootKey(t, conn, org.PublicId)
|
||||
|
||||
type args struct {
|
||||
rootKeyId string
|
||||
opt []kms.Option
|
||||
}
|
||||
tests := []struct {
|
||||
name string
|
||||
args args
|
||||
want *kms.AuditKey
|
||||
wantErr bool
|
||||
wantIsErr errors.Code
|
||||
create bool
|
||||
wantCreateErr bool
|
||||
}{
|
||||
{
|
||||
name: "empty-rootKeyId",
|
||||
args: args{},
|
||||
wantErr: true,
|
||||
wantIsErr: errors.InvalidParameter,
|
||||
},
|
||||
{
|
||||
name: "valid",
|
||||
args: args{
|
||||
rootKeyId: rk.PrivateId,
|
||||
},
|
||||
want: func() *kms.AuditKey {
|
||||
k := kms.AllocAuditKey()
|
||||
k.RootKeyId = rk.PrivateId
|
||||
return &k
|
||||
}(),
|
||||
create: true,
|
||||
},
|
||||
}
|
||||
for _, tt := range tests {
|
||||
t.Run(tt.name, func(t *testing.T) {
|
||||
assert, require := assert.New(t), require.New(t)
|
||||
require.NoError(conn.Where("1=1").Delete(kms.AllocAuditKey()).Error)
|
||||
got, err := kms.NewAuditKey(testCtx, tt.args.rootKeyId, tt.args.opt...)
|
||||
if tt.wantErr {
|
||||
require.Error(err)
|
||||
assert.True(errors.Match(errors.T(tt.wantIsErr), err))
|
||||
return
|
||||
}
|
||||
require.NoError(err)
|
||||
assert.Equal(tt.want, got)
|
||||
if tt.create {
|
||||
id, err := db.NewPublicId(kms.AuditKeyPrefix)
|
||||
require.NoError(err)
|
||||
got.PrivateId = id
|
||||
err = db.New(conn).Create(context.Background(), got)
|
||||
if tt.wantCreateErr {
|
||||
assert.Error(err)
|
||||
return
|
||||
} else {
|
||||
assert.NoError(err)
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
func TestAuditKey_Delete(t *testing.T) {
|
||||
t.Parallel()
|
||||
conn, _ := db.TestSetup(t, "postgres")
|
||||
rw := db.New(conn)
|
||||
wrapper := db.TestWrapper(t)
|
||||
org, _ := iam.TestScopes(t, iam.TestRepo(t, conn, wrapper))
|
||||
require.NoError(t, conn.Where("1=1").Delete(kms.AllocRootKey()).Error)
|
||||
rk := kms.TestRootKey(t, conn, org.PublicId)
|
||||
require.NoError(t, conn.Where("1=1").Delete(kms.AllocAuditKey()).Error)
|
||||
|
||||
tests := []struct {
|
||||
name string
|
||||
key *kms.AuditKey
|
||||
wantRowsDeleted int
|
||||
wantErr bool
|
||||
wantErrMsg string
|
||||
}{
|
||||
{
|
||||
name: "valid",
|
||||
key: kms.TestAuditKey(t, conn, rk.PrivateId),
|
||||
wantErr: false,
|
||||
wantRowsDeleted: 1,
|
||||
},
|
||||
{
|
||||
name: "bad-id",
|
||||
key: func() *kms.AuditKey {
|
||||
k := kms.AllocAuditKey()
|
||||
id, err := db.NewPublicId(kms.AuditKeyPrefix)
|
||||
require.NoError(t, err)
|
||||
k.PrivateId = id
|
||||
k.RootKeyId = rk.PrivateId
|
||||
return &k
|
||||
}(),
|
||||
wantErr: false,
|
||||
wantRowsDeleted: 0,
|
||||
},
|
||||
}
|
||||
for _, tt := range tests {
|
||||
t.Run(tt.name, func(t *testing.T) {
|
||||
assert, require := assert.New(t), require.New(t)
|
||||
deleteKey := kms.AllocAuditKey()
|
||||
deleteKey.PrivateId = tt.key.PrivateId
|
||||
deletedRows, err := rw.Delete(context.Background(), &deleteKey)
|
||||
if tt.wantErr {
|
||||
require.Error(err)
|
||||
return
|
||||
}
|
||||
require.NoError(err)
|
||||
if tt.wantRowsDeleted == 0 {
|
||||
assert.Equal(tt.wantRowsDeleted, deletedRows)
|
||||
return
|
||||
}
|
||||
assert.Equal(tt.wantRowsDeleted, deletedRows)
|
||||
foundKey := kms.AllocAuditKey()
|
||||
foundKey.PrivateId = tt.key.PrivateId
|
||||
err = rw.LookupById(context.Background(), &foundKey)
|
||||
require.Error(err)
|
||||
assert.True(errors.IsNotFoundError(err))
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
func TestAuditKey_Clone(t *testing.T) {
|
||||
t.Parallel()
|
||||
conn, _ := db.TestSetup(t, "postgres")
|
||||
wrapper := db.TestWrapper(t)
|
||||
t.Run("valid", func(t *testing.T) {
|
||||
assert := assert.New(t)
|
||||
org, _ := iam.TestScopes(t, iam.TestRepo(t, conn, wrapper))
|
||||
require.NoError(t, conn.Where("1=1").Delete(kms.AllocRootKey()).Error)
|
||||
rk := kms.TestRootKey(t, conn, org.PublicId)
|
||||
k := kms.TestAuditKey(t, conn, rk.PrivateId)
|
||||
cp := k.Clone()
|
||||
assert.True(proto.Equal(cp.(*kms.AuditKey).AuditKey, k.AuditKey))
|
||||
})
|
||||
t.Run("not-equal", func(t *testing.T) {
|
||||
assert := assert.New(t)
|
||||
org, _ := iam.TestScopes(t, iam.TestRepo(t, conn, wrapper))
|
||||
org2, _ := iam.TestScopes(t, iam.TestRepo(t, conn, wrapper))
|
||||
require.NoError(t, conn.Where("1=1").Delete(kms.AllocRootKey()).Error)
|
||||
rk := kms.TestRootKey(t, conn, org.PublicId)
|
||||
rk2 := kms.TestRootKey(t, conn, org2.PublicId)
|
||||
k := kms.TestAuditKey(t, conn, rk.PrivateId)
|
||||
k2 := kms.TestAuditKey(t, conn, rk2.PrivateId)
|
||||
|
||||
cp := k.Clone()
|
||||
assert.True(!proto.Equal(cp.(*kms.AuditKey).AuditKey, k2.AuditKey))
|
||||
})
|
||||
}
|
||||
|
||||
func TestAuditKey_SetTableName(t *testing.T) {
|
||||
t.Parallel()
|
||||
defaultTableName := kms.DefaultAuditKeyTableName
|
||||
tests := []struct {
|
||||
name string
|
||||
setNameTo string
|
||||
want string
|
||||
}{
|
||||
{
|
||||
name: "new-name",
|
||||
setNameTo: "new-name",
|
||||
want: "new-name",
|
||||
},
|
||||
{
|
||||
name: "reset to default",
|
||||
setNameTo: "",
|
||||
want: defaultTableName,
|
||||
},
|
||||
}
|
||||
for _, tt := range tests {
|
||||
t.Run(tt.name, func(t *testing.T) {
|
||||
assert, require := assert.New(t), require.New(t)
|
||||
def := kms.AllocAuditKey()
|
||||
require.Equal(defaultTableName, def.TableName())
|
||||
s := kms.AllocAuditKey()
|
||||
s.SetTableName(tt.setNameTo)
|
||||
assert.Equal(tt.want, s.TableName())
|
||||
})
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,122 @@
|
||||
package kms
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
"github.com/hashicorp/boundary/internal/db"
|
||||
"github.com/hashicorp/boundary/internal/errors"
|
||||
"github.com/hashicorp/boundary/internal/kms/store"
|
||||
wrapping "github.com/hashicorp/go-kms-wrapping"
|
||||
"github.com/hashicorp/go-kms-wrapping/structwrapping"
|
||||
"google.golang.org/protobuf/proto"
|
||||
)
|
||||
|
||||
const (
|
||||
DefaultAuditKeyVersionTableName = "kms_audit_key_version"
|
||||
)
|
||||
|
||||
type AuditKeyVersion struct {
|
||||
*store.AuditKeyVersion
|
||||
tableName string `gorm:"-"`
|
||||
}
|
||||
|
||||
// NewAuditKeyVersion creates a new in memory audit key version. This key is
|
||||
// used for crypto operations on audit entries. No options are currently
|
||||
// supported.
|
||||
func NewAuditKeyVersion(ctx context.Context, auditKeyId string, key []byte, rootKeyVersionId string, _ ...Option) (*AuditKeyVersion, error) {
|
||||
const op = "kms.NewAuditKeyVersion"
|
||||
if auditKeyId == "" {
|
||||
return nil, errors.New(ctx, errors.InvalidParameter, op, "missing audit key id")
|
||||
}
|
||||
if len(key) == 0 {
|
||||
return nil, errors.New(ctx, errors.InvalidParameter, op, "missing key")
|
||||
}
|
||||
if rootKeyVersionId == "" {
|
||||
return nil, errors.New(ctx, errors.InvalidParameter, op, "missing root key version id")
|
||||
}
|
||||
|
||||
k := &AuditKeyVersion{
|
||||
AuditKeyVersion: &store.AuditKeyVersion{
|
||||
AuditKeyId: auditKeyId,
|
||||
RootKeyVersionId: rootKeyVersionId,
|
||||
Key: key,
|
||||
},
|
||||
}
|
||||
return k, nil
|
||||
}
|
||||
|
||||
// AllocAuditKeyVersion allocates a AuditKeyVersion
|
||||
func AllocAuditKeyVersion() AuditKeyVersion {
|
||||
return AuditKeyVersion{
|
||||
AuditKeyVersion: &store.AuditKeyVersion{},
|
||||
}
|
||||
}
|
||||
|
||||
// Clone creates a clone of the AuditKeyVersion
|
||||
func (k *AuditKeyVersion) Clone() interface{} {
|
||||
cp := proto.Clone(k.AuditKeyVersion)
|
||||
return &AuditKeyVersion{
|
||||
AuditKeyVersion: cp.(*store.AuditKeyVersion),
|
||||
}
|
||||
}
|
||||
|
||||
// VetForWrite implements db.VetForWrite() interface and validates the audit key
|
||||
// version before it's written.
|
||||
func (k *AuditKeyVersion) VetForWrite(ctx context.Context, r db.Reader, opType db.OpType, opt ...db.Option) error {
|
||||
const op = "kms.(AuditKeyVersion).VetForWrite"
|
||||
if k.PrivateId == "" {
|
||||
return errors.New(ctx, errors.InvalidParameter, op, "missing private id")
|
||||
}
|
||||
switch opType {
|
||||
case db.CreateOp:
|
||||
if k.CtKey == nil {
|
||||
return errors.New(ctx, errors.InvalidParameter, op, "missing key")
|
||||
}
|
||||
if k.AuditKeyId == "" {
|
||||
return errors.New(ctx, errors.InvalidParameter, op, "missing audit key id")
|
||||
}
|
||||
if k.RootKeyVersionId == "" {
|
||||
return errors.New(ctx, errors.InvalidParameter, op, "missing root key version id")
|
||||
}
|
||||
case db.UpdateOp:
|
||||
return errors.New(ctx, errors.InvalidParameter, op, "key is immutable")
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
// TableName returns the tablename to override the default gorm table name
|
||||
func (k *AuditKeyVersion) TableName() string {
|
||||
if k.tableName != "" {
|
||||
return k.tableName
|
||||
}
|
||||
return DefaultAuditKeyVersionTableName
|
||||
}
|
||||
|
||||
// SetTableName sets the tablename and satisfies the ReplayableMessage
|
||||
// interface. If the caller attempts to set the name to "" the name will be
|
||||
// reset to the default name.
|
||||
func (k *AuditKeyVersion) SetTableName(n string) {
|
||||
k.tableName = n
|
||||
}
|
||||
|
||||
// Encrypt will encrypt the audit key version's key
|
||||
func (k *AuditKeyVersion) Encrypt(ctx context.Context, cipher wrapping.Wrapper) error {
|
||||
const op = "kms.(AuditKeyVersion).Encrypt"
|
||||
// structwrapping doesn't support embedding, so we'll pass in the
|
||||
// store.AuditKeyVersion directly
|
||||
if err := structwrapping.WrapStruct(ctx, cipher, k.AuditKeyVersion, nil); err != nil {
|
||||
return errors.Wrap(ctx, err, op, errors.WithCode(errors.Encrypt))
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
// Decrypt will decrypt the audit key version's key
|
||||
func (k *AuditKeyVersion) Decrypt(ctx context.Context, cipher wrapping.Wrapper) error {
|
||||
const op = "kms.(AuditKeyVersion).Decrypt"
|
||||
// structwrapping doesn't support embedding, so we'll pass in the
|
||||
// store.AuditKeyVersion directly
|
||||
if err := structwrapping.UnwrapStruct(ctx, cipher, k.AuditKeyVersion, nil); err != nil {
|
||||
return errors.Wrap(ctx, err, op, errors.WithCode(errors.Decrypt))
|
||||
}
|
||||
return nil
|
||||
}
|
||||
@@ -0,0 +1,250 @@
|
||||
package kms_test
|
||||
|
||||
import (
|
||||
"context"
|
||||
"testing"
|
||||
|
||||
"github.com/hashicorp/boundary/internal/db"
|
||||
"github.com/hashicorp/boundary/internal/errors"
|
||||
"github.com/hashicorp/boundary/internal/iam"
|
||||
"github.com/hashicorp/boundary/internal/kms"
|
||||
"github.com/stretchr/testify/assert"
|
||||
"github.com/stretchr/testify/require"
|
||||
"google.golang.org/protobuf/proto"
|
||||
)
|
||||
|
||||
// NOTE: there are no update tests since all the AuditKeyVersion attributes are
|
||||
// immutable and those tests are covered by TestAuditKey_ImmutableFields
|
||||
|
||||
func TestAuditKeyVersion_Create(t *testing.T) {
|
||||
t.Parallel()
|
||||
testCtx := context.Background()
|
||||
conn, _ := db.TestSetup(t, "postgres")
|
||||
wrapper := db.TestWrapper(t)
|
||||
org, _ := iam.TestScopes(t, iam.TestRepo(t, conn, wrapper))
|
||||
require.NoError(t, conn.Where("1=1").Delete(kms.AllocRootKey()).Error)
|
||||
rk := kms.TestRootKey(t, conn, org.PublicId)
|
||||
rkv, rkvWrapper := kms.TestRootKeyVersion(t, conn, wrapper, rk.PrivateId)
|
||||
|
||||
dk := kms.TestAuditKey(t, conn, rk.PrivateId)
|
||||
|
||||
type args struct {
|
||||
AuditKeyId string
|
||||
key []byte
|
||||
rootKeyVersionId string
|
||||
opt []kms.Option
|
||||
}
|
||||
tests := []struct {
|
||||
name string
|
||||
args args
|
||||
want *kms.AuditKeyVersion
|
||||
wantErr bool
|
||||
wantIsErr errors.Code
|
||||
create bool
|
||||
wantCreateErr bool
|
||||
}{
|
||||
{
|
||||
name: "empty-audit-id",
|
||||
args: args{
|
||||
key: []byte("audit key"),
|
||||
rootKeyVersionId: rkv.PrivateId,
|
||||
},
|
||||
wantErr: true,
|
||||
wantIsErr: errors.InvalidParameter,
|
||||
},
|
||||
{
|
||||
name: "empty-key",
|
||||
args: args{
|
||||
AuditKeyId: dk.PrivateId,
|
||||
rootKeyVersionId: rkv.PrivateId,
|
||||
},
|
||||
wantErr: true,
|
||||
wantIsErr: errors.InvalidParameter,
|
||||
},
|
||||
{
|
||||
name: "empty-root-key-version-id",
|
||||
args: args{
|
||||
AuditKeyId: dk.PrivateId,
|
||||
key: []byte("audit key"),
|
||||
},
|
||||
wantErr: true,
|
||||
wantIsErr: errors.InvalidParameter,
|
||||
},
|
||||
{
|
||||
name: "valid",
|
||||
args: args{
|
||||
AuditKeyId: dk.PrivateId,
|
||||
key: []byte("audit key"),
|
||||
rootKeyVersionId: rkv.PrivateId,
|
||||
},
|
||||
want: func() *kms.AuditKeyVersion {
|
||||
k := kms.AllocAuditKeyVersion()
|
||||
k.RootKeyVersionId = rkv.PrivateId
|
||||
k.Key = []byte("audit key")
|
||||
k.AuditKeyId = dk.PrivateId
|
||||
return &k
|
||||
}(),
|
||||
create: true,
|
||||
},
|
||||
}
|
||||
for _, tt := range tests {
|
||||
t.Run(tt.name, func(t *testing.T) {
|
||||
assert, require := assert.New(t), require.New(t)
|
||||
require.NoError(conn.Where("1=1").Delete(kms.AllocAuditKeyVersion()).Error)
|
||||
got, err := kms.NewAuditKeyVersion(testCtx, tt.args.AuditKeyId, tt.args.key, tt.args.rootKeyVersionId, tt.args.opt...)
|
||||
if tt.wantErr {
|
||||
require.Error(err)
|
||||
assert.True(errors.Match(errors.T(tt.wantIsErr), err))
|
||||
return
|
||||
}
|
||||
require.NoError(err)
|
||||
assert.Equal(tt.want, got)
|
||||
if tt.create {
|
||||
id, err := db.NewPublicId(kms.AuditKeyPrefix)
|
||||
require.NoError(err)
|
||||
got.PrivateId = id
|
||||
err = got.Encrypt(context.Background(), rkvWrapper)
|
||||
require.NoError(err)
|
||||
err = db.New(conn).Create(context.Background(), got)
|
||||
if tt.wantCreateErr {
|
||||
assert.Error(err)
|
||||
return
|
||||
} else {
|
||||
assert.NoError(err)
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
func TestAuditKeyVersion_Delete(t *testing.T) {
|
||||
t.Parallel()
|
||||
conn, _ := db.TestSetup(t, "postgres")
|
||||
rw := db.New(conn)
|
||||
wrapper := db.TestWrapper(t)
|
||||
org, _ := iam.TestScopes(t, iam.TestRepo(t, conn, wrapper))
|
||||
require.NoError(t, conn.Where("1=1").Delete(kms.AllocRootKey()).Error)
|
||||
rk := kms.TestRootKey(t, conn, org.PublicId)
|
||||
_, rkvWrapper := kms.TestRootKeyVersion(t, conn, wrapper, rk.PrivateId)
|
||||
dk := kms.TestAuditKey(t, conn, rk.PrivateId)
|
||||
|
||||
require.NoError(t, conn.Where("1=1").Delete(kms.AllocAuditKeyVersion()).Error)
|
||||
|
||||
tests := []struct {
|
||||
name string
|
||||
key *kms.AuditKeyVersion
|
||||
wantRowsDeleted int
|
||||
wantErr bool
|
||||
wantErrMsg string
|
||||
}{
|
||||
{
|
||||
name: "valid",
|
||||
key: kms.TestAuditKeyVersion(t, conn, rkvWrapper, dk.PrivateId, []byte("audit key")),
|
||||
wantErr: false,
|
||||
wantRowsDeleted: 1,
|
||||
},
|
||||
{
|
||||
name: "bad-id",
|
||||
key: func() *kms.AuditKeyVersion {
|
||||
k := kms.AllocAuditKeyVersion()
|
||||
id, err := db.NewPublicId(kms.AuditKeyVersionPrefix)
|
||||
require.NoError(t, err)
|
||||
k.PrivateId = id
|
||||
return &k
|
||||
}(),
|
||||
wantErr: false,
|
||||
wantRowsDeleted: 0,
|
||||
},
|
||||
}
|
||||
for _, tt := range tests {
|
||||
t.Run(tt.name, func(t *testing.T) {
|
||||
assert, require := assert.New(t), require.New(t)
|
||||
deleteKey := kms.AllocAuditKeyVersion()
|
||||
deleteKey.PrivateId = tt.key.PrivateId
|
||||
deletedRows, err := rw.Delete(context.Background(), &deleteKey)
|
||||
if tt.wantErr {
|
||||
require.Error(err)
|
||||
return
|
||||
}
|
||||
require.NoError(err)
|
||||
if tt.wantRowsDeleted == 0 {
|
||||
assert.Equal(tt.wantRowsDeleted, deletedRows)
|
||||
return
|
||||
}
|
||||
assert.Equal(tt.wantRowsDeleted, deletedRows)
|
||||
foundKey := kms.AllocAuditKeyVersion()
|
||||
foundKey.PrivateId = tt.key.PrivateId
|
||||
err = rw.LookupById(context.Background(), &foundKey)
|
||||
require.Error(err)
|
||||
assert.True(errors.IsNotFoundError(err))
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
func TestAuditKeyVersion_Clone(t *testing.T) {
|
||||
t.Parallel()
|
||||
conn, _ := db.TestSetup(t, "postgres")
|
||||
wrapper := db.TestWrapper(t)
|
||||
t.Run("valid", func(t *testing.T) {
|
||||
assert := assert.New(t)
|
||||
org, _ := iam.TestScopes(t, iam.TestRepo(t, conn, wrapper))
|
||||
require.NoError(t, conn.Where("1=1").Delete(kms.AllocRootKey()).Error)
|
||||
|
||||
rk := kms.TestRootKey(t, conn, org.PublicId)
|
||||
_, rkvWrapper := kms.TestRootKeyVersion(t, conn, wrapper, rk.PrivateId)
|
||||
|
||||
k := kms.TestAuditKey(t, conn, rk.PrivateId)
|
||||
kv := kms.TestAuditKeyVersion(t, conn, rkvWrapper, k.PrivateId, []byte("test db key"))
|
||||
cp := kv.Clone()
|
||||
assert.True(proto.Equal(cp.(*kms.AuditKeyVersion).AuditKeyVersion, kv.AuditKeyVersion))
|
||||
})
|
||||
t.Run("not-equal", func(t *testing.T) {
|
||||
assert := assert.New(t)
|
||||
org, _ := iam.TestScopes(t, iam.TestRepo(t, conn, wrapper))
|
||||
org2, _ := iam.TestScopes(t, iam.TestRepo(t, conn, wrapper))
|
||||
require.NoError(t, conn.Where("1=1").Delete(kms.AllocRootKey()).Error)
|
||||
rk := kms.TestRootKey(t, conn, org.PublicId)
|
||||
rk2 := kms.TestRootKey(t, conn, org2.PublicId)
|
||||
_, rkvWrapper := kms.TestRootKeyVersion(t, conn, wrapper, rk.PrivateId)
|
||||
_, rkvWrapper2 := kms.TestRootKeyVersion(t, conn, wrapper, rk2.PrivateId)
|
||||
|
||||
k := kms.TestAuditKey(t, conn, rk.PrivateId)
|
||||
k2 := kms.TestAuditKey(t, conn, rk2.PrivateId)
|
||||
kv := kms.TestAuditKeyVersion(t, conn, rkvWrapper, k.PrivateId, []byte("test db key"))
|
||||
kv2 := kms.TestAuditKeyVersion(t, conn, rkvWrapper2, k2.PrivateId, []byte("test db key 2"))
|
||||
|
||||
cp := kv.Clone()
|
||||
assert.True(!proto.Equal(cp.(*kms.AuditKeyVersion).AuditKeyVersion, kv2.AuditKeyVersion))
|
||||
})
|
||||
}
|
||||
|
||||
func TestAuditKeyVersion_SetTableName(t *testing.T) {
|
||||
t.Parallel()
|
||||
defaultTableName := kms.DefaultAuditKeyVersionTableName
|
||||
tests := []struct {
|
||||
name string
|
||||
setNameTo string
|
||||
want string
|
||||
}{
|
||||
{
|
||||
name: "new-name",
|
||||
setNameTo: "new-name",
|
||||
want: "new-name",
|
||||
},
|
||||
{
|
||||
name: "reset to default",
|
||||
setNameTo: "",
|
||||
want: defaultTableName,
|
||||
},
|
||||
}
|
||||
for _, tt := range tests {
|
||||
t.Run(tt.name, func(t *testing.T) {
|
||||
assert, require := assert.New(t), require.New(t)
|
||||
def := kms.AllocAuditKeyVersion()
|
||||
require.Equal(defaultTableName, def.TableName())
|
||||
s := kms.AllocAuditKeyVersion()
|
||||
s.SetTableName(tt.setNameTo)
|
||||
assert.Equal(tt.want, s.TableName())
|
||||
})
|
||||
}
|
||||
}
|
||||
@@ -28,6 +28,9 @@ const (
|
||||
// KeyPurposeOidc is used for encrypting oidc states included in
|
||||
// authentication URLs
|
||||
KeyPurposeOidc
|
||||
|
||||
// KeyPurposeAudit is used for audit operations
|
||||
KeyPurposeAudit
|
||||
)
|
||||
|
||||
// String returns the key purpose cast as a string, just so it can be called as
|
||||
@@ -46,6 +49,8 @@ func (k KeyPurpose) String() string {
|
||||
return "sessions"
|
||||
case KeyPurposeOidc:
|
||||
return "oidc"
|
||||
case KeyPurposeAudit:
|
||||
return "audit"
|
||||
default:
|
||||
return "unknown"
|
||||
}
|
||||
@@ -69,6 +74,8 @@ const (
|
||||
KeyTypeSessionKeyVersion
|
||||
KeyTypeOidcKey
|
||||
KeyTypeOidcKeyVersion
|
||||
KeyTypeAuditKey
|
||||
KeyTypeAuditKeyVersion
|
||||
)
|
||||
|
||||
// String returns the key type cast as a string, just so it can be called as
|
||||
@@ -99,6 +106,10 @@ func (k KeyType) String() string {
|
||||
return "oidcKey"
|
||||
case KeyTypeOidcKeyVersion:
|
||||
return "oidcKeyVersion"
|
||||
case KeyTypeAuditKey:
|
||||
return "auditKey"
|
||||
case KeyTypeAuditKeyVersion:
|
||||
return "auditKeyVersion"
|
||||
|
||||
default:
|
||||
return "unknown"
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
package kms
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
"github.com/hashicorp/boundary/internal/db"
|
||||
"github.com/hashicorp/boundary/internal/errors"
|
||||
)
|
||||
@@ -18,6 +20,8 @@ const (
|
||||
SessionKeyVersionPrefix = "kskv"
|
||||
OidcKeyPrefix = "koidck"
|
||||
OidcKeyVersionPrefix = "koidckv"
|
||||
AuditKeyPrefix = "kak"
|
||||
AuditKeyVersionPrefix = "kakv"
|
||||
)
|
||||
|
||||
func newRootKeyId() (string, error) {
|
||||
@@ -127,3 +131,21 @@ func newOidcKeyVersionId() (string, error) {
|
||||
}
|
||||
return id, nil
|
||||
}
|
||||
|
||||
func newAuditKeyId(ctx context.Context) (string, error) {
|
||||
const op = "kms.newAuditKeyId"
|
||||
id, err := db.NewPublicId(AuditKeyPrefix)
|
||||
if err != nil {
|
||||
return "", errors.Wrap(ctx, err, op)
|
||||
}
|
||||
return id, nil
|
||||
}
|
||||
|
||||
func newAuditKeyVersionId(ctx context.Context) (string, error) {
|
||||
const op = "kms.newAuditKeyVersionId"
|
||||
id, err := db.NewPublicId(AuditKeyVersionPrefix)
|
||||
if err != nil {
|
||||
return "", errors.Wrap(ctx, err, op)
|
||||
}
|
||||
return id, nil
|
||||
}
|
||||
@@ -1,6 +1,7 @@
|
||||
package kms
|
||||
|
||||
import (
|
||||
"context"
|
||||
"strings"
|
||||
"testing"
|
||||
|
||||
@@ -70,4 +71,14 @@ func Test_Ids(t *testing.T) {
|
||||
require.NoError(t, err)
|
||||
assert.True(t, strings.HasPrefix(id, OidcKeyVersionPrefix+"_"))
|
||||
})
|
||||
t.Run("kak", func(t *testing.T) {
|
||||
id, err := newAuditKeyId(context.Background())
|
||||
require.NoError(t, err)
|
||||
assert.True(t, strings.HasPrefix(id, AuditKeyPrefix+"_"))
|
||||
})
|
||||
t.Run("kakv", func(t *testing.T) {
|
||||
id, err := newAuditKeyVersionId(context.Background())
|
||||
require.NoError(t, err)
|
||||
assert.True(t, strings.HasPrefix(id, AuditKeyVersionPrefix+"_"))
|
||||
})
|
||||
}
|
||||
@@ -997,3 +997,170 @@ func TestOidcKeyVersion_ImmutableFields(t *testing.T) {
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
func TestAuditKey_ImmutableFields(t *testing.T) {
|
||||
t.Parallel()
|
||||
conn, _ := db.TestSetup(t, "postgres")
|
||||
rw := db.New(conn)
|
||||
|
||||
ts := timestamp.Timestamp{Timestamp: ×tamppb.Timestamp{Seconds: 0, Nanos: 0}}
|
||||
|
||||
wrapper := db.TestWrapper(t)
|
||||
org, _ := iam.TestScopes(t, iam.TestRepo(t, conn, wrapper))
|
||||
require.NoError(t, conn.Where("1=1").Delete(kms.AllocRootKey()).Error)
|
||||
require.NoError(t, conn.Where("1=1").Delete(kms.AllocAuditKey()).Error)
|
||||
rk := kms.TestRootKey(t, conn, org.PublicId)
|
||||
new := kms.TestAuditKey(t, conn, rk.PrivateId)
|
||||
|
||||
tests := []struct {
|
||||
name string
|
||||
update *kms.AuditKey
|
||||
fieldMask []string
|
||||
}{
|
||||
{
|
||||
name: "private_id",
|
||||
update: func() *kms.AuditKey {
|
||||
k := new.Clone().(*kms.AuditKey)
|
||||
k.PrivateId = "o_thisIsNotAValidId"
|
||||
return k
|
||||
}(),
|
||||
fieldMask: []string{"PrivateId"},
|
||||
},
|
||||
{
|
||||
name: "create time",
|
||||
update: func() *kms.AuditKey {
|
||||
k := new.Clone().(*kms.AuditKey)
|
||||
k.CreateTime = &ts
|
||||
return k
|
||||
}(),
|
||||
fieldMask: []string{"CreateTime"},
|
||||
},
|
||||
{
|
||||
name: "root_key_id",
|
||||
update: func() *kms.AuditKey {
|
||||
k := new.Clone().(*kms.AuditKey)
|
||||
k.RootKeyId = "o_thisIsNotAValidId"
|
||||
return k
|
||||
}(),
|
||||
fieldMask: []string{"ScopeId"},
|
||||
},
|
||||
}
|
||||
for _, tt := range tests {
|
||||
tt := tt
|
||||
t.Run(tt.name, func(t *testing.T) {
|
||||
assert, require := assert.New(t), require.New(t)
|
||||
orig := new.Clone()
|
||||
err := rw.LookupById(context.Background(), orig)
|
||||
require.NoError(err)
|
||||
|
||||
rowsUpdated, err := rw.Update(context.Background(), tt.update, tt.fieldMask, nil, db.WithSkipVetForWrite(true))
|
||||
require.Error(err)
|
||||
assert.Equal(0, rowsUpdated)
|
||||
|
||||
after := new.Clone()
|
||||
err = rw.LookupById(context.Background(), after)
|
||||
require.NoError(err)
|
||||
|
||||
assert.True(proto.Equal(orig.(*kms.AuditKey), after.(*kms.AuditKey)))
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
func TestAuditKeyVersion_ImmutableFields(t *testing.T) {
|
||||
t.Parallel()
|
||||
conn, _ := db.TestSetup(t, "postgres")
|
||||
wrapper := db.TestWrapper(t)
|
||||
rw := db.New(conn)
|
||||
|
||||
ts := timestamp.Timestamp{Timestamp: ×tamppb.Timestamp{Seconds: 0, Nanos: 0}}
|
||||
|
||||
org, _ := iam.TestScopes(t, iam.TestRepo(t, conn, wrapper))
|
||||
require.NoError(t, conn.Where("1=1").Delete(kms.AllocRootKey()).Error)
|
||||
rk := kms.TestRootKey(t, conn, org.PublicId)
|
||||
_, rkvWrapper := kms.TestRootKeyVersion(t, conn, wrapper, rk.PrivateId)
|
||||
conn.Debug(true)
|
||||
dk := kms.TestAuditKey(t, conn, rk.PrivateId)
|
||||
new := kms.TestAuditKeyVersion(t, conn, rkvWrapper, dk.PrivateId, []byte("audit key"))
|
||||
|
||||
tests := []struct {
|
||||
name string
|
||||
update *kms.AuditKeyVersion
|
||||
fieldMask []string
|
||||
}{
|
||||
{
|
||||
name: "private_id",
|
||||
update: func() *kms.AuditKeyVersion {
|
||||
k := new.Clone().(*kms.AuditKeyVersion)
|
||||
k.PrivateId = "o_thisIsNotAValidId"
|
||||
return k
|
||||
}(),
|
||||
fieldMask: []string{"PrivateId"},
|
||||
},
|
||||
{
|
||||
name: "create time",
|
||||
update: func() *kms.AuditKeyVersion {
|
||||
k := new.Clone().(*kms.AuditKeyVersion)
|
||||
k.CreateTime = &ts
|
||||
return k
|
||||
}(),
|
||||
fieldMask: []string{"CreateTime"},
|
||||
},
|
||||
{
|
||||
name: "audit_key_id",
|
||||
update: func() *kms.AuditKeyVersion {
|
||||
k := new.Clone().(*kms.AuditKeyVersion)
|
||||
k.AuditKeyId = "o_thisIsNotAValidId"
|
||||
return k
|
||||
}(),
|
||||
fieldMask: []string{"RootKeyId"},
|
||||
},
|
||||
{
|
||||
name: "root_key_version_id",
|
||||
update: func() *kms.AuditKeyVersion {
|
||||
k := new.Clone().(*kms.AuditKeyVersion)
|
||||
k.RootKeyVersionId = "o_thisIsNotAValidId"
|
||||
return k
|
||||
}(),
|
||||
fieldMask: []string{"RootKeyId"},
|
||||
},
|
||||
{
|
||||
name: "version",
|
||||
update: func() *kms.AuditKeyVersion {
|
||||
k := new.Clone().(*kms.AuditKeyVersion)
|
||||
k.Version = uint32(22)
|
||||
return k
|
||||
}(),
|
||||
fieldMask: []string{"Version"},
|
||||
},
|
||||
{
|
||||
name: "key",
|
||||
update: func() *kms.AuditKeyVersion {
|
||||
k := new.Clone().(*kms.AuditKeyVersion)
|
||||
k.Key = []byte("updated key")
|
||||
return k
|
||||
}(),
|
||||
fieldMask: []string{"CtKey"},
|
||||
},
|
||||
}
|
||||
for _, tt := range tests {
|
||||
tt := tt
|
||||
t.Run(tt.name, func(t *testing.T) {
|
||||
assert, require := assert.New(t), require.New(t)
|
||||
orig := new.Clone()
|
||||
err := rw.LookupById(context.Background(), orig)
|
||||
require.NoError(err)
|
||||
|
||||
err = tt.update.Encrypt(context.Background(), wrapper)
|
||||
require.NoError(err)
|
||||
rowsUpdated, err := rw.Update(context.Background(), tt.update, tt.fieldMask, nil, db.WithSkipVetForWrite(true))
|
||||
require.Error(err)
|
||||
assert.Equal(0, rowsUpdated)
|
||||
|
||||
after := new.Clone()
|
||||
err = rw.LookupById(context.Background(), after)
|
||||
require.NoError(err)
|
||||
|
||||
assert.True(proto.Equal(orig.(*kms.AuditKeyVersion), after.(*kms.AuditKeyVersion)))
|
||||
})
|
||||
}
|
||||
}
|
||||
+5
-1
@@ -152,7 +152,7 @@ func (k *Kms) GetWrapper(ctx context.Context, scopeId string, purpose KeyPurpose
|
||||
}
|
||||
|
||||
switch purpose {
|
||||
case KeyPurposeOplog, KeyPurposeDatabase, KeyPurposeTokens, KeyPurposeSessions, KeyPurposeOidc:
|
||||
case KeyPurposeOplog, KeyPurposeDatabase, KeyPurposeTokens, KeyPurposeSessions, KeyPurposeOidc, KeyPurposeAudit:
|
||||
case KeyPurposeUnknown:
|
||||
return nil, errors.New(ctx, errors.InvalidParameter, op, "missing key purpose")
|
||||
default:
|
||||
@@ -309,6 +309,8 @@ func (k *Kms) loadDek(ctx context.Context, scopeId string, purpose KeyPurpose, r
|
||||
keys, err = repo.ListSessionKeys(ctx)
|
||||
case KeyPurposeOidc:
|
||||
keys, err = repo.ListOidcKeys(ctx)
|
||||
case KeyPurposeAudit:
|
||||
keys, err = repo.ListAuditKeys(ctx)
|
||||
default:
|
||||
return nil, errors.New(ctx, errors.InvalidParameter, op, "unknown or invalid DEK purpose specified")
|
||||
}
|
||||
@@ -338,6 +340,8 @@ func (k *Kms) loadDek(ctx context.Context, scopeId string, purpose KeyPurpose, r
|
||||
keyVersions, err = repo.ListSessionKeyVersions(ctx, rootWrapper, keyId, WithOrderByVersion(db.DescendingOrderBy))
|
||||
case KeyPurposeOidc:
|
||||
keyVersions, err = repo.ListOidcKeyVersions(ctx, rootWrapper, keyId, WithOrderByVersion(db.DescendingOrderBy))
|
||||
case KeyPurposeAudit:
|
||||
keyVersions, err = repo.ListAuditKeyVersions(ctx, rootWrapper, keyId, WithOrderByVersion(db.DescendingOrderBy))
|
||||
default:
|
||||
return nil, errors.New(ctx, errors.InvalidParameter, op, "unknown or invalid DEK purpose specified")
|
||||
}
|
||||
|
||||
@@ -7,6 +7,7 @@ import (
|
||||
|
||||
"github.com/hashicorp/boundary/internal/db"
|
||||
"github.com/hashicorp/boundary/internal/errors"
|
||||
"github.com/hashicorp/boundary/internal/types/scope"
|
||||
wrapping "github.com/hashicorp/go-kms-wrapping"
|
||||
"github.com/hashicorp/go-kms-wrapping/wrappers/aead"
|
||||
"github.com/hashicorp/go-uuid"
|
||||
@@ -161,7 +162,6 @@ func CreateKeysTx(ctx context.Context, dbReader db.Reader, dbWriter db.Writer, r
|
||||
if err != nil {
|
||||
return nil, errors.Wrap(ctx, err, op, errors.WithMsg(fmt.Sprintf("unable to create oidc key in scope %s", scopeId)))
|
||||
}
|
||||
|
||||
keys := Keys{
|
||||
KeyTypeRootKey: rootKey,
|
||||
KeyTypeRootKeyVersion: rootKeyVersion,
|
||||
@@ -176,6 +176,15 @@ func CreateKeysTx(ctx context.Context, dbReader db.Reader, dbWriter db.Writer, r
|
||||
KeyTypeOidcKey: oidcKey,
|
||||
KeyTypeOidcKeyVersion: oidcKeyVersion,
|
||||
}
|
||||
if scopeId == scope.Global.String() {
|
||||
auditKey, auditKeyVersion, err := createAuditKeyTx(ctx, dbReader, dbWriter, rkvWrapper, k)
|
||||
if err != nil {
|
||||
return nil, errors.Wrap(ctx, err, op, errors.WithMsg(fmt.Sprintf("unable to create audit key in scope %s", scopeId)))
|
||||
}
|
||||
keys[KeyTypeAuditKey] = auditKey
|
||||
keys[KeyTypeAuditKeyVersion] = auditKeyVersion
|
||||
}
|
||||
|
||||
return keys, nil
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,160 @@
|
||||
package kms
|
||||
|
||||
import (
|
||||
"context"
|
||||
"fmt"
|
||||
"strings"
|
||||
|
||||
"github.com/hashicorp/boundary/internal/db"
|
||||
"github.com/hashicorp/boundary/internal/errors"
|
||||
wrapping "github.com/hashicorp/go-kms-wrapping"
|
||||
)
|
||||
|
||||
// CreateAuditKey inserts into the repository and returns the new audit key and
|
||||
// audit key version. There are no valid options at this time.
|
||||
func (r *Repository) CreateAuditKey(ctx context.Context, rkvWrapper wrapping.Wrapper, key []byte, _ ...Option) (*AuditKey, *AuditKeyVersion, error) {
|
||||
const op = "kms.(Repository).CreateAuditKey"
|
||||
var returnedDk, returnedDv interface{}
|
||||
_, err := r.writer.DoTx(
|
||||
ctx,
|
||||
db.StdRetryCnt,
|
||||
db.ExpBackoff{},
|
||||
func(reader db.Reader, w db.Writer) error {
|
||||
var err error
|
||||
if returnedDk, returnedDv, err = createAuditKeyTx(ctx, reader, w, rkvWrapper, key); err != nil {
|
||||
return errors.Wrap(ctx, err, op)
|
||||
}
|
||||
return nil
|
||||
},
|
||||
)
|
||||
if err != nil {
|
||||
return nil, nil, errors.Wrap(ctx, err, op)
|
||||
}
|
||||
return returnedDk.(*AuditKey), returnedDv.(*AuditKeyVersion), nil
|
||||
}
|
||||
|
||||
// createAuditKeyTx inserts into the db (via db.Writer) and returns the new audit key
|
||||
// and audit key version. This function encapsulates all the work required within
|
||||
// a db.TxHandler and allows this capability to be shared with the iam repo.
|
||||
func createAuditKeyTx(ctx context.Context, r db.Reader, w db.Writer, rkvWrapper wrapping.Wrapper, key []byte) (*AuditKey, *AuditKeyVersion, error) {
|
||||
const op = "kms.createAuditKeyTx"
|
||||
if rkvWrapper == nil {
|
||||
return nil, nil, errors.New(ctx, errors.InvalidParameter, op, "missing key wrapper")
|
||||
}
|
||||
if len(key) == 0 {
|
||||
return nil, nil, errors.New(ctx, errors.InvalidParameter, op, "missing key")
|
||||
}
|
||||
rootKeyVersionId := rkvWrapper.KeyID()
|
||||
switch {
|
||||
case !strings.HasPrefix(rootKeyVersionId, RootKeyVersionPrefix):
|
||||
return nil, nil, errors.New(ctx, errors.InvalidParameter, op, fmt.Sprintf("root key version id %s doesn't start with prefix %s", rootKeyVersionId, RootKeyVersionPrefix))
|
||||
case rootKeyVersionId == "":
|
||||
return nil, nil, errors.New(ctx, errors.InvalidParameter, op, "missing root key version id")
|
||||
}
|
||||
rv := AllocRootKeyVersion()
|
||||
rv.PrivateId = rootKeyVersionId
|
||||
err := r.LookupById(ctx, &rv)
|
||||
if err != nil {
|
||||
return nil, nil, errors.Wrap(ctx, err, op, errors.WithMsg(fmt.Sprintf("unable to lookup root key version %s", rootKeyVersionId)))
|
||||
}
|
||||
|
||||
dk := AllocAuditKey()
|
||||
dv := AllocAuditKeyVersion()
|
||||
id, err := newAuditKeyId(ctx)
|
||||
if err != nil {
|
||||
return nil, nil, errors.Wrap(ctx, err, op)
|
||||
}
|
||||
dk.PrivateId = id
|
||||
dk.RootKeyId = rv.RootKeyId
|
||||
|
||||
id, err = newAuditKeyVersionId(ctx)
|
||||
if err != nil {
|
||||
return nil, nil, errors.Wrap(ctx, err, op)
|
||||
}
|
||||
dv.PrivateId = id
|
||||
dv.AuditKeyId = dk.PrivateId
|
||||
dv.RootKeyVersionId = rootKeyVersionId
|
||||
dv.Key = key
|
||||
if err := dv.Encrypt(ctx, rkvWrapper); err != nil {
|
||||
return nil, nil, errors.Wrap(ctx, err, op)
|
||||
}
|
||||
|
||||
// no oplog entries for keys
|
||||
if err := w.Create(ctx, &dk); err != nil {
|
||||
return nil, nil, errors.Wrap(ctx, err, op, errors.WithMsg("keys create"))
|
||||
}
|
||||
// no oplog entries for key versions
|
||||
if err := w.Create(ctx, &dv); err != nil {
|
||||
return nil, nil, errors.Wrap(ctx, err, op, errors.WithMsg("key versions create"))
|
||||
}
|
||||
|
||||
return &dk, &dv, nil
|
||||
}
|
||||
|
||||
// LookupAuditKey will look up a key in the repository. If the key is not
|
||||
// found, it will return nil, nil.
|
||||
func (r *Repository) LookupAuditKey(ctx context.Context, privateId string, _ ...Option) (*AuditKey, error) {
|
||||
const op = "kms.(Repository).LookupAuditKey"
|
||||
if privateId == "" {
|
||||
return nil, errors.New(ctx, errors.InvalidParameter, op, "missing private id")
|
||||
}
|
||||
k := AllocAuditKey()
|
||||
k.PrivateId = privateId
|
||||
if err := r.reader.LookupById(ctx, &k); err != nil {
|
||||
return nil, errors.Wrap(ctx, err, op, errors.WithMsg(fmt.Sprintf("failed for %s", privateId)))
|
||||
}
|
||||
return &k, nil
|
||||
}
|
||||
|
||||
// DeleteAuditKey deletes the key for the provided id from the
|
||||
// repository returning a count of the number of records deleted. All options
|
||||
// are ignored.
|
||||
func (r *Repository) DeleteAuditKey(ctx context.Context, privateId string, _ ...Option) (int, error) {
|
||||
const op = "kms.(Repository).DeleteAuditKey"
|
||||
if privateId == "" {
|
||||
return db.NoRowsAffected, errors.New(ctx, errors.InvalidParameter, op, "missing private id")
|
||||
}
|
||||
k := AllocAuditKey()
|
||||
k.PrivateId = privateId
|
||||
if err := r.reader.LookupById(ctx, &k); err != nil {
|
||||
return db.NoRowsAffected, errors.Wrap(ctx, err, op, errors.WithMsg(fmt.Sprintf("failed for %s", privateId)))
|
||||
}
|
||||
|
||||
var rowsDeleted int
|
||||
_, err := r.writer.DoTx(
|
||||
ctx,
|
||||
db.StdRetryCnt,
|
||||
db.ExpBackoff{},
|
||||
func(_ db.Reader, w db.Writer) (err error) {
|
||||
dk := k.Clone()
|
||||
// no oplog entries for root keys
|
||||
rowsDeleted, err = w.Delete(ctx, dk)
|
||||
if err != nil {
|
||||
return errors.Wrap(ctx, err, op)
|
||||
}
|
||||
if rowsDeleted > 1 {
|
||||
return errors.New(ctx, errors.MultipleRecords, op, "more than 1 resource would have been deleted")
|
||||
}
|
||||
return nil
|
||||
},
|
||||
)
|
||||
if err != nil {
|
||||
return db.NoRowsAffected, errors.Wrap(ctx, err, op, errors.WithMsg(fmt.Sprintf("failed for %s", privateId)))
|
||||
}
|
||||
return rowsDeleted, nil
|
||||
}
|
||||
|
||||
// ListAuditKeys will list the keys. Supports the WithLimit option.
|
||||
func (r *Repository) ListAuditKeys(ctx context.Context, opt ...Option) ([]Dek, error) {
|
||||
const op = "kms.(Repository).ListAuditKeys"
|
||||
var keys []*AuditKey
|
||||
err := r.list(ctx, &keys, "1=1", nil, opt...)
|
||||
if err != nil {
|
||||
return nil, errors.Wrap(ctx, err, op)
|
||||
}
|
||||
deks := make([]Dek, 0, len(keys))
|
||||
for _, key := range keys {
|
||||
deks = append(deks, key)
|
||||
}
|
||||
return deks, nil
|
||||
}
|
||||
@@ -0,0 +1,297 @@
|
||||
package kms_test
|
||||
|
||||
import (
|
||||
"context"
|
||||
"testing"
|
||||
"time"
|
||||
|
||||
"github.com/hashicorp/boundary/internal/db"
|
||||
"github.com/hashicorp/boundary/internal/errors"
|
||||
"github.com/hashicorp/boundary/internal/iam"
|
||||
"github.com/hashicorp/boundary/internal/kms"
|
||||
"github.com/hashicorp/boundary/internal/oplog"
|
||||
wrapping "github.com/hashicorp/go-kms-wrapping"
|
||||
"github.com/hashicorp/go-kms-wrapping/wrappers/aead"
|
||||
"github.com/stretchr/testify/assert"
|
||||
"github.com/stretchr/testify/require"
|
||||
"google.golang.org/protobuf/proto"
|
||||
)
|
||||
|
||||
func TestRepository_CreateAuditKey(t *testing.T) {
|
||||
t.Parallel()
|
||||
conn, _ := db.TestSetup(t, "postgres")
|
||||
rw := db.New(conn)
|
||||
wrapper := db.TestWrapper(t)
|
||||
repo, err := kms.NewRepository(rw, rw)
|
||||
require.NoError(t, err)
|
||||
org, _ := iam.TestScopes(t, iam.TestRepo(t, conn, wrapper))
|
||||
require.NoError(t, conn.Where("1=1").Delete(kms.AllocRootKey()).Error)
|
||||
rk := kms.TestRootKey(t, conn, org.PublicId)
|
||||
_, rkvWrapper := kms.TestRootKeyVersion(t, conn, wrapper, rk.PrivateId)
|
||||
|
||||
type args struct {
|
||||
scopeId string
|
||||
key []byte
|
||||
keyWrapper wrapping.Wrapper
|
||||
opt []kms.Option
|
||||
}
|
||||
tests := []struct {
|
||||
name string
|
||||
args args
|
||||
wantErr bool
|
||||
wantIsError errors.Code
|
||||
}{
|
||||
{
|
||||
name: "valid-org",
|
||||
args: args{
|
||||
scopeId: org.PublicId,
|
||||
key: []byte("test key"),
|
||||
keyWrapper: rkvWrapper,
|
||||
},
|
||||
wantErr: false,
|
||||
},
|
||||
{
|
||||
name: "nil-key",
|
||||
args: args{
|
||||
scopeId: org.PublicId,
|
||||
keyWrapper: rkvWrapper,
|
||||
},
|
||||
wantErr: true,
|
||||
wantIsError: errors.InvalidParameter,
|
||||
},
|
||||
{
|
||||
name: "empty-key",
|
||||
args: args{
|
||||
scopeId: org.PublicId,
|
||||
keyWrapper: rkvWrapper,
|
||||
key: []byte(""),
|
||||
},
|
||||
wantErr: true,
|
||||
wantIsError: errors.InvalidParameter,
|
||||
},
|
||||
{
|
||||
name: "nil-wrapper",
|
||||
args: args{
|
||||
scopeId: org.PublicId,
|
||||
key: []byte("test key"),
|
||||
keyWrapper: nil,
|
||||
},
|
||||
wantErr: true,
|
||||
wantIsError: errors.InvalidParameter,
|
||||
},
|
||||
{
|
||||
name: "not-rkv-wrapper",
|
||||
args: args{
|
||||
scopeId: org.PublicId,
|
||||
key: []byte("test key"),
|
||||
keyWrapper: wrapper,
|
||||
},
|
||||
wantErr: true,
|
||||
wantIsError: errors.InvalidParameter,
|
||||
},
|
||||
{
|
||||
name: "wrapper-missing-id",
|
||||
args: args{
|
||||
scopeId: org.PublicId,
|
||||
key: []byte("test key"),
|
||||
keyWrapper: func() wrapping.Wrapper {
|
||||
w := db.TestWrapper(t)
|
||||
_, err = w.(*aead.Wrapper).SetConfig(map[string]string{
|
||||
"key_id": "",
|
||||
})
|
||||
require.NoError(t, err)
|
||||
return w
|
||||
}(),
|
||||
},
|
||||
wantErr: true,
|
||||
wantIsError: errors.InvalidParameter,
|
||||
},
|
||||
}
|
||||
for _, tt := range tests {
|
||||
t.Run(tt.name, func(t *testing.T) {
|
||||
assert, require := assert.New(t), require.New(t)
|
||||
dk, dv, err := repo.CreateAuditKey(context.Background(), tt.args.keyWrapper, tt.args.key, tt.args.opt...)
|
||||
if tt.wantErr {
|
||||
assert.Error(err)
|
||||
assert.Nil(dk)
|
||||
assert.True(errors.Match(errors.T(tt.wantIsError), err))
|
||||
return
|
||||
}
|
||||
require.NoError(err)
|
||||
assert.NotNil(dk.CreateTime)
|
||||
foundKey, err := repo.LookupAuditKey(context.Background(), dk.PrivateId)
|
||||
assert.NoError(err)
|
||||
assert.True(proto.Equal(foundKey, dk))
|
||||
|
||||
// make sure there was no oplog written
|
||||
err = db.TestVerifyOplog(t, rw, dk.PrivateId, db.WithOperation(oplog.OpType_OP_TYPE_CREATE), db.WithCreateNotBefore(10*time.Second))
|
||||
assert.Error(err)
|
||||
assert.True(errors.IsNotFoundError(err))
|
||||
|
||||
assert.NotNil(dv.CreateTime)
|
||||
foundKeyVersion, err := repo.LookupAuditKeyVersion(context.Background(), tt.args.keyWrapper, dv.PrivateId)
|
||||
assert.NoError(err)
|
||||
assert.True(proto.Equal(foundKeyVersion, dv))
|
||||
|
||||
// make sure there was no oplog written
|
||||
err = db.TestVerifyOplog(t, rw, dv.PrivateId, db.WithOperation(oplog.OpType_OP_TYPE_CREATE), db.WithCreateNotBefore(10*time.Second))
|
||||
assert.Error(err)
|
||||
assert.True(errors.IsNotFoundError(err))
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
func TestRepository_DeleteAuditKey(t *testing.T) {
|
||||
t.Parallel()
|
||||
conn, _ := db.TestSetup(t, "postgres")
|
||||
rw := db.New(conn)
|
||||
wrapper := db.TestWrapper(t)
|
||||
repo, err := kms.NewRepository(rw, rw)
|
||||
require.NoError(t, err)
|
||||
org, _ := iam.TestScopes(t, iam.TestRepo(t, conn, wrapper))
|
||||
require.NoError(t, conn.Where("1=1").Delete(kms.AllocRootKey()).Error)
|
||||
rk := kms.TestRootKey(t, conn, org.PublicId)
|
||||
|
||||
type args struct {
|
||||
key *kms.AuditKey
|
||||
opt []kms.Option
|
||||
}
|
||||
tests := []struct {
|
||||
name string
|
||||
args args
|
||||
wantRowsDeleted int
|
||||
wantErr bool
|
||||
wantIsError errors.Code
|
||||
}{
|
||||
{
|
||||
name: "valid",
|
||||
args: args{
|
||||
key: kms.TestAuditKey(t, conn, rk.PrivateId),
|
||||
},
|
||||
wantRowsDeleted: 1,
|
||||
wantErr: false,
|
||||
},
|
||||
{
|
||||
name: "no-private-id",
|
||||
args: args{
|
||||
key: func() *kms.AuditKey {
|
||||
k := kms.AllocAuditKey()
|
||||
return &k
|
||||
}(),
|
||||
},
|
||||
wantRowsDeleted: 0,
|
||||
wantErr: true,
|
||||
wantIsError: errors.InvalidParameter,
|
||||
},
|
||||
{
|
||||
name: "not-found",
|
||||
args: args{
|
||||
key: func() *kms.AuditKey {
|
||||
id, err := db.NewPublicId(kms.RootKeyPrefix)
|
||||
require.NoError(t, err)
|
||||
k := kms.AllocAuditKey()
|
||||
k.PrivateId = id
|
||||
require.NoError(t, err)
|
||||
return &k
|
||||
}(),
|
||||
},
|
||||
wantRowsDeleted: 0,
|
||||
wantErr: true,
|
||||
wantIsError: errors.RecordNotFound,
|
||||
},
|
||||
}
|
||||
for _, tt := range tests {
|
||||
t.Run(tt.name, func(t *testing.T) {
|
||||
assert, require := assert.New(t), require.New(t)
|
||||
deletedRows, err := repo.DeleteAuditKey(context.Background(), tt.args.key.PrivateId, tt.args.opt...)
|
||||
if tt.wantErr {
|
||||
require.Error(err)
|
||||
assert.Equal(0, deletedRows)
|
||||
assert.True(errors.Match(errors.T(tt.wantIsError), err))
|
||||
// make sure there was no oplog written
|
||||
err = db.TestVerifyOplog(t, rw, tt.args.key.PrivateId, db.WithOperation(oplog.OpType_OP_TYPE_DELETE), db.WithCreateNotBefore(10*time.Second))
|
||||
assert.Error(err)
|
||||
assert.True(errors.IsNotFoundError(err))
|
||||
return
|
||||
}
|
||||
require.NoError(err)
|
||||
assert.Equal(tt.wantRowsDeleted, deletedRows)
|
||||
foundKey, err := repo.LookupAuditKey(context.Background(), tt.args.key.PrivateId)
|
||||
assert.Error(err)
|
||||
assert.Nil(foundKey)
|
||||
assert.True(errors.IsNotFoundError(err))
|
||||
|
||||
// make sure there was no oplog written
|
||||
err = db.TestVerifyOplog(t, rw, tt.args.key.PrivateId, db.WithOperation(oplog.OpType_OP_TYPE_DELETE), db.WithCreateNotBefore(10*time.Second))
|
||||
assert.Error(err)
|
||||
assert.True(errors.IsNotFoundError(err))
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
func TestRepository_ListAuditKeys(t *testing.T) {
|
||||
t.Parallel()
|
||||
conn, _ := db.TestSetup(t, "postgres")
|
||||
const testLimit = 10
|
||||
rw := db.New(conn)
|
||||
repo, err := kms.NewRepository(rw, rw, kms.WithLimit(testLimit))
|
||||
require.NoError(t, err)
|
||||
wrapper := db.TestWrapper(t)
|
||||
|
||||
type args struct {
|
||||
opt []kms.Option
|
||||
}
|
||||
tests := []struct {
|
||||
name string
|
||||
createCnt int
|
||||
args args
|
||||
wantCnt int
|
||||
wantErr bool
|
||||
}{
|
||||
{
|
||||
name: "no-limit",
|
||||
createCnt: repo.DefaultLimit() + 1,
|
||||
args: args{
|
||||
opt: []kms.Option{kms.WithLimit(-1)},
|
||||
},
|
||||
wantCnt: repo.DefaultLimit() + 1, // org and project both have keys, plus global scope
|
||||
wantErr: false,
|
||||
},
|
||||
{
|
||||
name: "default-limit",
|
||||
createCnt: repo.DefaultLimit() + 1,
|
||||
args: args{},
|
||||
wantCnt: repo.DefaultLimit(),
|
||||
wantErr: false,
|
||||
},
|
||||
{
|
||||
name: "custom-limit",
|
||||
createCnt: repo.DefaultLimit() + 1,
|
||||
args: args{
|
||||
opt: []kms.Option{kms.WithLimit(3)},
|
||||
},
|
||||
wantCnt: 3,
|
||||
wantErr: false,
|
||||
},
|
||||
}
|
||||
for _, tt := range tests {
|
||||
require.NoError(t, conn.Where("1=1").Delete(kms.AllocRootKey()).Error)
|
||||
t.Run(tt.name, func(t *testing.T) {
|
||||
assert, require := assert.New(t), require.New(t)
|
||||
for i := 0; i < tt.createCnt; i++ {
|
||||
org, proj := iam.TestScopes(t, iam.TestRepo(t, conn, wrapper))
|
||||
require.NoError(conn.Where("scope_id in(?)", []interface{}{"global", org.PublicId, proj.PublicId}).Delete(kms.AllocRootKey()).Error)
|
||||
rk := kms.TestRootKey(t, conn, proj.PublicId)
|
||||
kms.TestAuditKey(t, conn, rk.PrivateId)
|
||||
require.NoError(err)
|
||||
}
|
||||
got, err := repo.ListAuditKeys(context.Background(), tt.args.opt...)
|
||||
if tt.wantErr {
|
||||
require.Error(err)
|
||||
return
|
||||
}
|
||||
require.NoError(err)
|
||||
assert.Equal(tt.wantCnt, len(got))
|
||||
})
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,173 @@
|
||||
package kms
|
||||
|
||||
import (
|
||||
"context"
|
||||
"fmt"
|
||||
"strings"
|
||||
|
||||
"github.com/hashicorp/boundary/internal/db"
|
||||
"github.com/hashicorp/boundary/internal/errors"
|
||||
wrapping "github.com/hashicorp/go-kms-wrapping"
|
||||
)
|
||||
|
||||
// CreateAuditKeyVersion inserts into the repository and returns the new key
|
||||
// version with its PrivateId. There are no valid options at this time.
|
||||
func (r *Repository) CreateAuditKeyVersion(ctx context.Context, rkvWrapper wrapping.Wrapper, auditKeyId string, key []byte, _ ...Option) (*AuditKeyVersion, error) {
|
||||
const op = "kms.(Repository).CreateAuditKeyVersion"
|
||||
if rkvWrapper == nil {
|
||||
return nil, errors.New(ctx, errors.InvalidParameter, op, "missing root key version wrapper")
|
||||
}
|
||||
rootKeyVersionId := rkvWrapper.KeyID()
|
||||
switch {
|
||||
case !strings.HasPrefix(rootKeyVersionId, RootKeyVersionPrefix):
|
||||
return nil, errors.New(ctx, errors.InvalidParameter, op, fmt.Sprintf("root key version id %s doesn't start with prefix %s", rootKeyVersionId, RootKeyVersionPrefix))
|
||||
case rootKeyVersionId == "":
|
||||
return nil, errors.New(ctx, errors.InvalidParameter, op, "missing root key version id")
|
||||
}
|
||||
if auditKeyId == "" {
|
||||
return nil, errors.New(ctx, errors.InvalidParameter, op, "missing audit key id")
|
||||
}
|
||||
if len(key) == 0 {
|
||||
return nil, errors.New(ctx, errors.InvalidParameter, op, "missing key")
|
||||
}
|
||||
kv := AllocAuditKeyVersion()
|
||||
id, err := newAuditKeyVersionId(ctx)
|
||||
if err != nil {
|
||||
return nil, errors.Wrap(ctx, err, op)
|
||||
}
|
||||
kv.PrivateId = id
|
||||
kv.RootKeyVersionId = rootKeyVersionId
|
||||
kv.Key = key
|
||||
kv.AuditKeyId = auditKeyId
|
||||
if err := kv.Encrypt(ctx, rkvWrapper); err != nil {
|
||||
return nil, errors.Wrap(ctx, err, op)
|
||||
}
|
||||
|
||||
var returnedKey interface{}
|
||||
_, err = r.writer.DoTx(
|
||||
ctx,
|
||||
db.StdRetryCnt,
|
||||
db.ExpBackoff{},
|
||||
func(_ db.Reader, w db.Writer) error {
|
||||
returnedKey = kv.Clone()
|
||||
// no oplog entries for root key version
|
||||
if err := w.Create(ctx, returnedKey); err != nil {
|
||||
return errors.Wrap(ctx, err, op)
|
||||
}
|
||||
return nil
|
||||
},
|
||||
)
|
||||
if err != nil {
|
||||
return nil, errors.Wrap(ctx, err, op, errors.WithMsg(fmt.Sprintf("failed for %s audit key id", kv.AuditKeyId)))
|
||||
}
|
||||
return returnedKey.(*AuditKeyVersion), nil
|
||||
}
|
||||
|
||||
// LookupAuditKeyVersion will look up a key version in the repository. If
|
||||
// the key version is not found, it will return nil, nil.
|
||||
func (r *Repository) LookupAuditKeyVersion(ctx context.Context, keyWrapper wrapping.Wrapper, privateId string, _ ...Option) (*AuditKeyVersion, error) {
|
||||
const op = "kms.(Repository).LookupAuditKeyVersion"
|
||||
if privateId == "" {
|
||||
return nil, errors.New(ctx, errors.InvalidParameter, op, "missing private id")
|
||||
}
|
||||
if keyWrapper == nil {
|
||||
return nil, errors.New(ctx, errors.InvalidParameter, op, "missing key wrapper")
|
||||
}
|
||||
k := AllocAuditKeyVersion()
|
||||
k.PrivateId = privateId
|
||||
if err := r.reader.LookupById(ctx, &k); err != nil {
|
||||
return nil, errors.Wrap(ctx, err, op, errors.WithMsg(fmt.Sprintf("failed for %s", privateId)))
|
||||
}
|
||||
if err := k.Decrypt(ctx, keyWrapper); err != nil {
|
||||
return nil, errors.Wrap(ctx, err, op)
|
||||
}
|
||||
return &k, nil
|
||||
}
|
||||
|
||||
// DeleteAuditKeyVersion deletes the key version for the provided id from the
|
||||
// repository returning a count of the number of records deleted. All options
|
||||
// are ignored.
|
||||
func (r *Repository) DeleteAuditKeyVersion(ctx context.Context, privateId string, _ ...Option) (int, error) {
|
||||
const op = "kms.(Repository).DeleteAuditKeyVersion"
|
||||
if privateId == "" {
|
||||
return db.NoRowsAffected, errors.New(ctx, errors.InvalidParameter, op, "missing private id")
|
||||
}
|
||||
k := AllocAuditKeyVersion()
|
||||
k.PrivateId = privateId
|
||||
if err := r.reader.LookupById(ctx, &k); err != nil {
|
||||
return db.NoRowsAffected, errors.Wrap(ctx, err, op, errors.WithMsg(fmt.Sprintf("failed for %s", privateId)))
|
||||
}
|
||||
|
||||
var rowsDeleted int
|
||||
_, err := r.writer.DoTx(
|
||||
ctx,
|
||||
db.StdRetryCnt,
|
||||
db.ExpBackoff{},
|
||||
func(_ db.Reader, w db.Writer) (err error) {
|
||||
dk := k.Clone()
|
||||
// no oplog entries for the key version
|
||||
rowsDeleted, err = w.Delete(ctx, dk)
|
||||
if err != nil {
|
||||
return errors.Wrap(ctx, err, op)
|
||||
}
|
||||
if rowsDeleted > 1 {
|
||||
return errors.New(ctx, errors.MultipleRecords, op, "more than 1 resource would have been deleted")
|
||||
}
|
||||
return nil
|
||||
},
|
||||
)
|
||||
if err != nil {
|
||||
return db.NoRowsAffected, errors.Wrap(ctx, err, op, errors.WithMsg(fmt.Sprintf("failed for %s", privateId)))
|
||||
}
|
||||
return rowsDeleted, nil
|
||||
}
|
||||
|
||||
// LatestAuditKeyVersion searches for the key version with the highest
|
||||
// version number. When no results are found, it returns nil with an
|
||||
// errors.RecordNotFound error.
|
||||
func (r *Repository) LatestAuditKeyVersion(ctx context.Context, rkvWrapper wrapping.Wrapper, AuditKeyId string, _ ...Option) (*AuditKeyVersion, error) {
|
||||
const op = "kms.(Repository).LatestAuditKeyVersion"
|
||||
if AuditKeyId == "" {
|
||||
return nil, errors.New(ctx, errors.InvalidParameter, op, "missing audit key id")
|
||||
}
|
||||
if rkvWrapper == nil {
|
||||
return nil, errors.New(ctx, errors.InvalidParameter, op, "missing root key version wrapper")
|
||||
}
|
||||
var foundKeys []*AuditKeyVersion
|
||||
if err := r.reader.SearchWhere(ctx, &foundKeys, "audit_key_id = ?", []interface{}{AuditKeyId}, db.WithLimit(1), db.WithOrder("version desc")); err != nil {
|
||||
return nil, errors.Wrap(ctx, err, op, errors.WithMsg(fmt.Sprintf("failed for %s", AuditKeyId)))
|
||||
}
|
||||
if len(foundKeys) == 0 {
|
||||
return nil, errors.E(ctx, errors.WithCode(errors.RecordNotFound), errors.WithOp(op))
|
||||
}
|
||||
if err := foundKeys[0].Decrypt(ctx, rkvWrapper); err != nil {
|
||||
return nil, errors.Wrap(ctx, err, op)
|
||||
}
|
||||
return foundKeys[0], nil
|
||||
}
|
||||
|
||||
// ListAuditKeyVersions will lists versions of a key. Supports the WithLimit option.
|
||||
func (r *Repository) ListAuditKeyVersions(ctx context.Context, rkvWrapper wrapping.Wrapper, AuditKeyId string, opt ...Option) ([]DekVersion, error) {
|
||||
const op = "kms.(Repository).ListAuditKeyVersions"
|
||||
if AuditKeyId == "" {
|
||||
return nil, errors.New(ctx, errors.InvalidParameter, op, "missing audit key id")
|
||||
}
|
||||
if rkvWrapper == nil {
|
||||
return nil, errors.New(ctx, errors.InvalidParameter, op, "missing root key version wrapper")
|
||||
}
|
||||
var versions []*AuditKeyVersion
|
||||
err := r.list(ctx, &versions, "audit_key_id = ?", []interface{}{AuditKeyId}, opt...)
|
||||
if err != nil {
|
||||
return nil, errors.Wrap(ctx, err, op)
|
||||
}
|
||||
for i, k := range versions {
|
||||
if err := k.Decrypt(ctx, rkvWrapper); err != nil {
|
||||
return nil, errors.Wrap(ctx, err, op, errors.WithMsg(fmt.Sprintf("error decrypting key num %d", i)))
|
||||
}
|
||||
}
|
||||
dekVersions := make([]DekVersion, 0, len(versions))
|
||||
for _, version := range versions {
|
||||
dekVersions = append(dekVersions, version)
|
||||
}
|
||||
return dekVersions, nil
|
||||
}
|
||||
@@ -0,0 +1,367 @@
|
||||
package kms_test
|
||||
|
||||
import (
|
||||
"context"
|
||||
"testing"
|
||||
"time"
|
||||
|
||||
"github.com/hashicorp/boundary/internal/db"
|
||||
"github.com/hashicorp/boundary/internal/errors"
|
||||
"github.com/hashicorp/boundary/internal/iam"
|
||||
"github.com/hashicorp/boundary/internal/kms"
|
||||
"github.com/hashicorp/boundary/internal/oplog"
|
||||
wrapping "github.com/hashicorp/go-kms-wrapping"
|
||||
"github.com/stretchr/testify/assert"
|
||||
"github.com/stretchr/testify/require"
|
||||
"google.golang.org/protobuf/proto"
|
||||
)
|
||||
|
||||
func TestRepository_CreateAuditKeyVersion(t *testing.T) {
|
||||
t.Parallel()
|
||||
conn, _ := db.TestSetup(t, "postgres")
|
||||
rw := db.New(conn)
|
||||
wrapper := db.TestWrapper(t)
|
||||
repo, err := kms.NewRepository(rw, rw)
|
||||
require.NoError(t, err)
|
||||
org, _ := iam.TestScopes(t, iam.TestRepo(t, conn, wrapper))
|
||||
require.NoError(t, conn.Where("1=1").Delete(kms.AllocRootKey()).Error)
|
||||
rk := kms.TestRootKey(t, conn, org.PublicId)
|
||||
_, rkvWrapper := kms.TestRootKeyVersion(t, conn, wrapper, rk.PrivateId)
|
||||
dk := kms.TestAuditKey(t, conn, rk.PrivateId)
|
||||
|
||||
type args struct {
|
||||
key []byte
|
||||
AuditKeyId string
|
||||
keyWrapper wrapping.Wrapper
|
||||
opt []kms.Option
|
||||
}
|
||||
tests := []struct {
|
||||
name string
|
||||
args args
|
||||
wantErr bool
|
||||
wantIsError errors.Code
|
||||
}{
|
||||
{
|
||||
name: "valid",
|
||||
args: args{
|
||||
key: []byte("test key"),
|
||||
keyWrapper: rkvWrapper,
|
||||
AuditKeyId: dk.PrivateId,
|
||||
},
|
||||
wantErr: false,
|
||||
},
|
||||
{
|
||||
name: "invalid-rkv-wrapper",
|
||||
args: args{
|
||||
key: []byte("test key"),
|
||||
keyWrapper: wrapper,
|
||||
AuditKeyId: dk.PrivateId,
|
||||
},
|
||||
wantErr: true,
|
||||
},
|
||||
{
|
||||
name: "empty-key",
|
||||
args: args{
|
||||
key: nil,
|
||||
keyWrapper: wrapper,
|
||||
AuditKeyId: dk.PrivateId,
|
||||
},
|
||||
wantErr: true,
|
||||
wantIsError: errors.InvalidParameter,
|
||||
},
|
||||
{
|
||||
name: "nil-wrapper",
|
||||
args: args{
|
||||
key: []byte("test key"),
|
||||
keyWrapper: nil,
|
||||
},
|
||||
wantErr: true,
|
||||
wantIsError: errors.InvalidParameter,
|
||||
},
|
||||
}
|
||||
for _, tt := range tests {
|
||||
t.Run(tt.name, func(t *testing.T) {
|
||||
assert, require := assert.New(t), require.New(t)
|
||||
k, err := repo.CreateAuditKeyVersion(context.Background(), tt.args.keyWrapper, tt.args.AuditKeyId, tt.args.key, tt.args.opt...)
|
||||
if tt.wantErr {
|
||||
assert.Error(err)
|
||||
assert.Nil(k)
|
||||
assert.True(errors.Match(errors.T(tt.wantIsError), err))
|
||||
return
|
||||
}
|
||||
require.NoError(err)
|
||||
assert.NotNil(k.CreateTime)
|
||||
foundKey, err := repo.LookupAuditKeyVersion(context.Background(), tt.args.keyWrapper, k.PrivateId)
|
||||
assert.NoError(err)
|
||||
assert.True(proto.Equal(foundKey, k))
|
||||
|
||||
// make sure there was no oplog written
|
||||
err = db.TestVerifyOplog(t, rw, k.PrivateId, db.WithOperation(oplog.OpType_OP_TYPE_CREATE), db.WithCreateNotBefore(10*time.Second))
|
||||
assert.Error(err)
|
||||
assert.True(errors.IsNotFoundError(err))
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
func TestRepository_DeleteAuditKeyVersion(t *testing.T) {
|
||||
t.Parallel()
|
||||
conn, _ := db.TestSetup(t, "postgres")
|
||||
rw := db.New(conn)
|
||||
wrapper := db.TestWrapper(t)
|
||||
repo, err := kms.NewRepository(rw, rw)
|
||||
require.NoError(t, err)
|
||||
org, _ := iam.TestScopes(t, iam.TestRepo(t, conn, wrapper))
|
||||
require.NoError(t, conn.Where("1=1").Delete(kms.AllocRootKey()).Error)
|
||||
rk := kms.TestRootKey(t, conn, org.PublicId)
|
||||
_, rkvWrapper := kms.TestRootKeyVersion(t, conn, wrapper, rk.PrivateId)
|
||||
dk := kms.TestAuditKey(t, conn, rk.PrivateId)
|
||||
|
||||
type args struct {
|
||||
key *kms.AuditKeyVersion
|
||||
opt []kms.Option
|
||||
}
|
||||
tests := []struct {
|
||||
name string
|
||||
args args
|
||||
wantRowsDeleted int
|
||||
wantErr bool
|
||||
wantIsError errors.Code
|
||||
}{
|
||||
{
|
||||
name: "valid",
|
||||
args: args{
|
||||
key: kms.TestAuditKeyVersion(t, conn, rkvWrapper, dk.PrivateId, []byte("audit key")),
|
||||
},
|
||||
wantRowsDeleted: 1,
|
||||
wantErr: false,
|
||||
},
|
||||
{
|
||||
name: "no-private-id",
|
||||
args: args{
|
||||
key: func() *kms.AuditKeyVersion {
|
||||
k := kms.AllocAuditKeyVersion()
|
||||
return &k
|
||||
}(),
|
||||
},
|
||||
wantRowsDeleted: 0,
|
||||
wantErr: true,
|
||||
wantIsError: errors.InvalidParameter,
|
||||
},
|
||||
{
|
||||
name: "not-found",
|
||||
args: args{
|
||||
key: func() *kms.AuditKeyVersion {
|
||||
id, err := db.NewPublicId(kms.AuditKeyPrefix)
|
||||
require.NoError(t, err)
|
||||
k := kms.AllocAuditKeyVersion()
|
||||
k.PrivateId = id
|
||||
require.NoError(t, err)
|
||||
return &k
|
||||
}(),
|
||||
},
|
||||
wantRowsDeleted: 0,
|
||||
wantErr: true,
|
||||
wantIsError: errors.RecordNotFound,
|
||||
},
|
||||
}
|
||||
for _, tt := range tests {
|
||||
t.Run(tt.name, func(t *testing.T) {
|
||||
assert, require := assert.New(t), require.New(t)
|
||||
deletedRows, err := repo.DeleteAuditKeyVersion(context.Background(), tt.args.key.PrivateId, tt.args.opt...)
|
||||
if tt.wantErr {
|
||||
require.Error(err)
|
||||
assert.Equal(0, deletedRows)
|
||||
assert.True(errors.Match(errors.T(tt.wantIsError), err))
|
||||
err = db.TestVerifyOplog(t, rw, tt.args.key.PrivateId, db.WithOperation(oplog.OpType_OP_TYPE_DELETE), db.WithCreateNotBefore(10*time.Second))
|
||||
assert.Error(err)
|
||||
assert.True(errors.IsNotFoundError(err))
|
||||
return
|
||||
}
|
||||
require.NoError(err)
|
||||
assert.Equal(tt.wantRowsDeleted, deletedRows)
|
||||
foundKey, err := repo.LookupAuditKeyVersion(context.Background(), wrapper, tt.args.key.PrivateId)
|
||||
assert.Error(err)
|
||||
assert.Nil(foundKey)
|
||||
assert.True(errors.IsNotFoundError(err))
|
||||
|
||||
// make sure there was no oplog written
|
||||
err = db.TestVerifyOplog(t, rw, tt.args.key.PrivateId, db.WithOperation(oplog.OpType_OP_TYPE_DELETE), db.WithCreateNotBefore(10*time.Second))
|
||||
assert.Error(err)
|
||||
assert.True(errors.IsNotFoundError(err))
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
func TestRepository_LatestAuditKeyVersion(t *testing.T) {
|
||||
t.Parallel()
|
||||
conn, _ := db.TestSetup(t, "postgres")
|
||||
rw := db.New(conn)
|
||||
wrapper := db.TestWrapper(t)
|
||||
repo, err := kms.NewRepository(rw, rw)
|
||||
require.NoError(t, err)
|
||||
org, _ := iam.TestScopes(t, iam.TestRepo(t, conn, wrapper))
|
||||
require.NoError(t, conn.Where("1=1").Delete(kms.AllocRootKey()).Error)
|
||||
rk := kms.TestRootKey(t, conn, org.PublicId)
|
||||
_, rkvWrapper := kms.TestRootKeyVersion(t, conn, wrapper, rk.PrivateId)
|
||||
dk := kms.TestAuditKey(t, conn, rk.PrivateId)
|
||||
|
||||
tests := []struct {
|
||||
name string
|
||||
createCnt int
|
||||
keyWrapper wrapping.Wrapper
|
||||
wantVersion uint32
|
||||
wantErr bool
|
||||
wantIsError errors.Code
|
||||
}{
|
||||
{
|
||||
name: "5",
|
||||
createCnt: 5,
|
||||
keyWrapper: rkvWrapper,
|
||||
wantVersion: 5,
|
||||
wantErr: false,
|
||||
},
|
||||
{
|
||||
name: "1",
|
||||
createCnt: 1,
|
||||
keyWrapper: rkvWrapper,
|
||||
wantVersion: 1,
|
||||
wantErr: false,
|
||||
},
|
||||
{
|
||||
name: "0",
|
||||
createCnt: 0,
|
||||
keyWrapper: rkvWrapper,
|
||||
wantErr: true,
|
||||
wantIsError: errors.RecordNotFound,
|
||||
},
|
||||
{
|
||||
name: "nil-wrapper",
|
||||
createCnt: 5,
|
||||
keyWrapper: nil,
|
||||
wantErr: true,
|
||||
wantIsError: errors.InvalidParameter,
|
||||
},
|
||||
}
|
||||
for _, tt := range tests {
|
||||
t.Run(tt.name, func(t *testing.T) {
|
||||
assert, require := assert.New(t), require.New(t)
|
||||
require.NoError(conn.Where("1=1").Delete(kms.AllocAuditKeyVersion()).Error)
|
||||
testKeys := []*kms.AuditKeyVersion{}
|
||||
for i := 0; i < tt.createCnt; i++ {
|
||||
k := kms.TestAuditKeyVersion(t, conn, rkvWrapper, dk.PrivateId, []byte("test audit key"))
|
||||
testKeys = append(testKeys, k)
|
||||
}
|
||||
assert.Equal(tt.createCnt, len(testKeys))
|
||||
got, err := repo.LatestAuditKeyVersion(context.Background(), tt.keyWrapper, dk.PrivateId)
|
||||
if tt.wantErr {
|
||||
require.Error(err)
|
||||
assert.Nil(got)
|
||||
assert.True(errors.Match(errors.T(tt.wantIsError), err))
|
||||
return
|
||||
}
|
||||
require.NoError(err)
|
||||
require.NotNil(got)
|
||||
assert.Equal(tt.wantVersion, got.Version)
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
func TestRepository_ListAuditKeyVersions(t *testing.T) {
|
||||
t.Parallel()
|
||||
conn, _ := db.TestSetup(t, "postgres")
|
||||
const testLimit = 10
|
||||
rw := db.New(conn)
|
||||
wrapper := db.TestWrapper(t)
|
||||
repo, err := kms.NewRepository(rw, rw, kms.WithLimit(testLimit))
|
||||
require.NoError(t, err)
|
||||
org, _ := iam.TestScopes(t, iam.TestRepo(t, conn, wrapper))
|
||||
require.NoError(t, conn.Where("1=1").Delete(kms.AllocRootKey()).Error)
|
||||
rk := kms.TestRootKey(t, conn, org.PublicId)
|
||||
_, rkvWrapper := kms.TestRootKeyVersion(t, conn, wrapper, rk.PrivateId)
|
||||
dk := kms.TestAuditKey(t, conn, rk.PrivateId)
|
||||
|
||||
type args struct {
|
||||
AuditKeyId string
|
||||
keyWrapper wrapping.Wrapper
|
||||
opt []kms.Option
|
||||
}
|
||||
tests := []struct {
|
||||
name string
|
||||
createCnt int
|
||||
args args
|
||||
wantCnt int
|
||||
wantErr bool
|
||||
}{
|
||||
{
|
||||
name: "no-limit",
|
||||
createCnt: repo.DefaultLimit() + 1,
|
||||
args: args{
|
||||
AuditKeyId: dk.PrivateId,
|
||||
keyWrapper: rkvWrapper,
|
||||
opt: []kms.Option{kms.WithLimit(-1)},
|
||||
},
|
||||
wantCnt: repo.DefaultLimit() + 1,
|
||||
wantErr: false,
|
||||
},
|
||||
{
|
||||
name: "default-limit",
|
||||
createCnt: repo.DefaultLimit() + 1,
|
||||
args: args{
|
||||
keyWrapper: rkvWrapper,
|
||||
AuditKeyId: dk.PrivateId,
|
||||
},
|
||||
wantCnt: repo.DefaultLimit(),
|
||||
wantErr: false,
|
||||
},
|
||||
{
|
||||
name: "custom-limit",
|
||||
createCnt: repo.DefaultLimit() + 1,
|
||||
args: args{
|
||||
keyWrapper: rkvWrapper,
|
||||
AuditKeyId: dk.PrivateId,
|
||||
opt: []kms.Option{kms.WithLimit(3)},
|
||||
},
|
||||
wantCnt: 3,
|
||||
wantErr: false,
|
||||
},
|
||||
{
|
||||
name: "bad-org",
|
||||
createCnt: 1,
|
||||
args: args{
|
||||
keyWrapper: rkvWrapper,
|
||||
AuditKeyId: "bad-id",
|
||||
},
|
||||
wantCnt: 0,
|
||||
wantErr: false,
|
||||
},
|
||||
{
|
||||
name: "nil-wrapper",
|
||||
createCnt: 1,
|
||||
args: args{
|
||||
keyWrapper: nil,
|
||||
AuditKeyId: dk.PrivateId,
|
||||
},
|
||||
wantCnt: 0,
|
||||
wantErr: true,
|
||||
},
|
||||
}
|
||||
for _, tt := range tests {
|
||||
t.Run(tt.name, func(t *testing.T) {
|
||||
assert, require := assert.New(t), require.New(t)
|
||||
require.NoError(conn.Where("1=1").Delete(kms.AllocAuditKeyVersion()).Error)
|
||||
keyVersions := []*kms.AuditKeyVersion{}
|
||||
for i := 0; i < tt.createCnt; i++ {
|
||||
k := kms.TestAuditKeyVersion(t, conn, rkvWrapper, dk.PrivateId, []byte("audit key"))
|
||||
keyVersions = append(keyVersions, k)
|
||||
}
|
||||
assert.Equal(tt.createCnt, len(keyVersions))
|
||||
got, err := repo.ListAuditKeyVersions(context.Background(), tt.args.keyWrapper, tt.args.AuditKeyId, tt.args.opt...)
|
||||
if tt.wantErr {
|
||||
require.Error(err)
|
||||
return
|
||||
}
|
||||
require.NoError(err)
|
||||
assert.Equal(tt.wantCnt, len(got))
|
||||
})
|
||||
}
|
||||
}
|
||||
@@ -10,6 +10,7 @@ import (
|
||||
"github.com/hashicorp/boundary/internal/errors"
|
||||
"github.com/hashicorp/boundary/internal/iam"
|
||||
"github.com/hashicorp/boundary/internal/kms"
|
||||
"github.com/hashicorp/boundary/internal/types/scope"
|
||||
wrapping "github.com/hashicorp/go-kms-wrapping"
|
||||
"github.com/stretchr/testify/assert"
|
||||
"github.com/stretchr/testify/require"
|
||||
@@ -111,6 +112,16 @@ func TestCreateKeysTx(t *testing.T) {
|
||||
scopeId: org.PublicId,
|
||||
},
|
||||
},
|
||||
{
|
||||
name: "valid-at-global",
|
||||
args: args{
|
||||
dbReader: rw,
|
||||
dbWriter: rw,
|
||||
rootWrapper: wrapper,
|
||||
randomReader: rand.Reader,
|
||||
scopeId: scope.Global.String(),
|
||||
},
|
||||
},
|
||||
{
|
||||
name: "nil-reader",
|
||||
args: args{
|
||||
@@ -257,6 +268,21 @@ func TestCreateKeysTx(t *testing.T) {
|
||||
require.NoError(err)
|
||||
assert.Equal(oidcK.PrivateId, oidcKv.OidcKeyId)
|
||||
assert.Equal(rkv.PrivateId, oidcKv.RootKeyVersionId)
|
||||
|
||||
if tt.args.scopeId == scope.Global.String() {
|
||||
auditK := kms.AllocAuditKey()
|
||||
auditK.PrivateId = keys[kms.KeyTypeAuditKey].GetPrivateId()
|
||||
err = rw.LookupById(context.Background(), &auditK)
|
||||
require.NoError(err)
|
||||
assert.Equal(rk.PrivateId, auditK.RootKeyId)
|
||||
|
||||
auditKv := kms.AllocAuditKeyVersion()
|
||||
auditKv.PrivateId = keys[kms.KeyTypeAuditKeyVersion].GetPrivateId()
|
||||
err = rw.LookupById(context.Background(), &auditKv)
|
||||
require.NoError(err)
|
||||
assert.Equal(auditK.PrivateId, auditKv.AuditKeyId)
|
||||
assert.Equal(rkv.PrivateId, auditKv.RootKeyVersionId)
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,326 @@
|
||||
// Code generated by protoc-gen-go. DO NOT EDIT.
|
||||
// versions:
|
||||
// protoc-gen-go v1.27.1
|
||||
// protoc v3.17.3
|
||||
// source: controller/storage/kms/store/v1/audit_key.proto
|
||||
|
||||
package store
|
||||
|
||||
import (
|
||||
timestamp "github.com/hashicorp/boundary/internal/db/timestamp"
|
||||
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
|
||||
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
|
||||
reflect "reflect"
|
||||
sync "sync"
|
||||
)
|
||||
|
||||
const (
|
||||
// Verify that this generated code is sufficiently up-to-date.
|
||||
_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
|
||||
// Verify that runtime/protoimpl is sufficiently up-to-date.
|
||||
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
|
||||
)
|
||||
|
||||
type AuditKey struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
// private_id is used to access the key via an API
|
||||
// @inject_tag: gorm:"primary_key"
|
||||
PrivateId string `protobuf:"bytes,10,opt,name=private_id,json=privateId,proto3" json:"private_id,omitempty" gorm:"primary_key"`
|
||||
// root key id for the key
|
||||
// @inject_tag: `gorm:"default:null"`
|
||||
RootKeyId string `protobuf:"bytes,20,opt,name=root_key_id,json=rootKeyId,proto3" json:"root_key_id,omitempty" gorm:"default:null"`
|
||||
// create_time from the RDBMS
|
||||
// @inject_tag: `gorm:"default:current_timestamp"`
|
||||
CreateTime *timestamp.Timestamp `protobuf:"bytes,30,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty" gorm:"default:current_timestamp"`
|
||||
}
|
||||
|
||||
func (x *AuditKey) Reset() {
|
||||
*x = AuditKey{}
|
||||
if protoimpl.UnsafeEnabled {
|
||||
mi := &file_controller_storage_kms_store_v1_audit_key_proto_msgTypes[0]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
}
|
||||
|
||||
func (x *AuditKey) String() string {
|
||||
return protoimpl.X.MessageStringOf(x)
|
||||
}
|
||||
|
||||
func (*AuditKey) ProtoMessage() {}
|
||||
|
||||
func (x *AuditKey) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_controller_storage_kms_store_v1_audit_key_proto_msgTypes[0]
|
||||
if protoimpl.UnsafeEnabled && x != nil {
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
if ms.LoadMessageInfo() == nil {
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
return ms
|
||||
}
|
||||
return mi.MessageOf(x)
|
||||
}
|
||||
|
||||
// Deprecated: Use AuditKey.ProtoReflect.Descriptor instead.
|
||||
func (*AuditKey) Descriptor() ([]byte, []int) {
|
||||
return file_controller_storage_kms_store_v1_audit_key_proto_rawDescGZIP(), []int{0}
|
||||
}
|
||||
|
||||
func (x *AuditKey) GetPrivateId() string {
|
||||
if x != nil {
|
||||
return x.PrivateId
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (x *AuditKey) GetRootKeyId() string {
|
||||
if x != nil {
|
||||
return x.RootKeyId
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (x *AuditKey) GetCreateTime() *timestamp.Timestamp {
|
||||
if x != nil {
|
||||
return x.CreateTime
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
type AuditKeyVersion struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
// private_id is used to access the key version via an API
|
||||
// @inject_tag: gorm:"primary_key"
|
||||
PrivateId string `protobuf:"bytes,10,opt,name=private_id,json=privateId,proto3" json:"private_id,omitempty" gorm:"primary_key"`
|
||||
// id for the key version
|
||||
// @inject_tag: `gorm:"default:null"`
|
||||
AuditKeyId string `protobuf:"bytes,20,opt,name=audit_key_id,json=auditKeyId,proto3" json:"audit_key_id,omitempty" gorm:"default:null"`
|
||||
// root_key_version_id of the version of the root key data.
|
||||
// @inject_tag: `gorm:"default:null"`
|
||||
RootKeyVersionId string `protobuf:"bytes,30,opt,name=root_key_version_id,json=rootKeyVersionId,proto3" json:"root_key_version_id,omitempty" gorm:"default:null"`
|
||||
// plain-text of the key data. we are NOT storing this plain-text key
|
||||
// in the db.
|
||||
// @inject_tag: `gorm:"-" wrapping:"pt,key_data"`
|
||||
Key []byte `protobuf:"bytes,40,opt,name=key,proto3" json:"key,omitempty" gorm:"-" wrapping:"pt,key_data"`
|
||||
// ciphertext key data stored in the database
|
||||
// @inject_tag: `gorm:"column:key;not_null" wrapping:"ct,key_data"`
|
||||
CtKey []byte `protobuf:"bytes,50,opt,name=ct_key,json=ctKey,proto3" json:"ct_key,omitempty" gorm:"column:key;not_null" wrapping:"ct,key_data"`
|
||||
// version of the key data. This is not used for optimistic locking, since
|
||||
// key versions are immutable. It's just the version of the key.
|
||||
// @inject_tag: `gorm:"default:null"`
|
||||
Version uint32 `protobuf:"varint,60,opt,name=version,proto3" json:"version,omitempty" gorm:"default:null"`
|
||||
// create_time from the RDBMS
|
||||
// @inject_tag: `gorm:"default:current_timestamp"`
|
||||
CreateTime *timestamp.Timestamp `protobuf:"bytes,70,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty" gorm:"default:current_timestamp"`
|
||||
}
|
||||
|
||||
func (x *AuditKeyVersion) Reset() {
|
||||
*x = AuditKeyVersion{}
|
||||
if protoimpl.UnsafeEnabled {
|
||||
mi := &file_controller_storage_kms_store_v1_audit_key_proto_msgTypes[1]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
}
|
||||
|
||||
func (x *AuditKeyVersion) String() string {
|
||||
return protoimpl.X.MessageStringOf(x)
|
||||
}
|
||||
|
||||
func (*AuditKeyVersion) ProtoMessage() {}
|
||||
|
||||
func (x *AuditKeyVersion) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_controller_storage_kms_store_v1_audit_key_proto_msgTypes[1]
|
||||
if protoimpl.UnsafeEnabled && x != nil {
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
if ms.LoadMessageInfo() == nil {
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
return ms
|
||||
}
|
||||
return mi.MessageOf(x)
|
||||
}
|
||||
|
||||
// Deprecated: Use AuditKeyVersion.ProtoReflect.Descriptor instead.
|
||||
func (*AuditKeyVersion) Descriptor() ([]byte, []int) {
|
||||
return file_controller_storage_kms_store_v1_audit_key_proto_rawDescGZIP(), []int{1}
|
||||
}
|
||||
|
||||
func (x *AuditKeyVersion) GetPrivateId() string {
|
||||
if x != nil {
|
||||
return x.PrivateId
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (x *AuditKeyVersion) GetAuditKeyId() string {
|
||||
if x != nil {
|
||||
return x.AuditKeyId
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (x *AuditKeyVersion) GetRootKeyVersionId() string {
|
||||
if x != nil {
|
||||
return x.RootKeyVersionId
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (x *AuditKeyVersion) GetKey() []byte {
|
||||
if x != nil {
|
||||
return x.Key
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (x *AuditKeyVersion) GetCtKey() []byte {
|
||||
if x != nil {
|
||||
return x.CtKey
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (x *AuditKeyVersion) GetVersion() uint32 {
|
||||
if x != nil {
|
||||
return x.Version
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
func (x *AuditKeyVersion) GetCreateTime() *timestamp.Timestamp {
|
||||
if x != nil {
|
||||
return x.CreateTime
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
var File_controller_storage_kms_store_v1_audit_key_proto protoreflect.FileDescriptor
|
||||
|
||||
var file_controller_storage_kms_store_v1_audit_key_proto_rawDesc = []byte{
|
||||
0x0a, 0x2f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2f, 0x73, 0x74, 0x6f,
|
||||
0x72, 0x61, 0x67, 0x65, 0x2f, 0x6b, 0x6d, 0x73, 0x2f, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2f, 0x76,
|
||||
0x31, 0x2f, 0x61, 0x75, 0x64, 0x69, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74,
|
||||
0x6f, 0x12, 0x1f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2e, 0x73, 0x74,
|
||||
0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x6b, 0x6d, 0x73, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2e,
|
||||
0x76, 0x31, 0x1a, 0x2f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2f, 0x73,
|
||||
0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70,
|
||||
0x2f, 0x76, 0x31, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72,
|
||||
0x6f, 0x74, 0x6f, 0x22, 0x96, 0x01, 0x0a, 0x08, 0x41, 0x75, 0x64, 0x69, 0x74, 0x4b, 0x65, 0x79,
|
||||
0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0a,
|
||||
0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x49, 0x64, 0x12,
|
||||
0x1e, 0x0a, 0x0b, 0x72, 0x6f, 0x6f, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x14,
|
||||
0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x72, 0x6f, 0x6f, 0x74, 0x4b, 0x65, 0x79, 0x49, 0x64, 0x12,
|
||||
0x4b, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x1e,
|
||||
0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65,
|
||||
0x72, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74,
|
||||
0x61, 0x6d, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70,
|
||||
0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x22, 0x91, 0x02, 0x0a,
|
||||
0x0f, 0x41, 0x75, 0x64, 0x69, 0x74, 0x4b, 0x65, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e,
|
||||
0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0a,
|
||||
0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x49, 0x64, 0x12,
|
||||
0x20, 0x0a, 0x0c, 0x61, 0x75, 0x64, 0x69, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x69, 0x64, 0x18,
|
||||
0x14, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x75, 0x64, 0x69, 0x74, 0x4b, 0x65, 0x79, 0x49,
|
||||
0x64, 0x12, 0x2d, 0x0a, 0x13, 0x72, 0x6f, 0x6f, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x76, 0x65,
|
||||
0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10,
|
||||
0x72, 0x6f, 0x6f, 0x74, 0x4b, 0x65, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64,
|
||||
0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x28, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x03, 0x6b,
|
||||
0x65, 0x79, 0x12, 0x15, 0x0a, 0x06, 0x63, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x32, 0x20, 0x01,
|
||||
0x28, 0x0c, 0x52, 0x05, 0x63, 0x74, 0x4b, 0x65, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72,
|
||||
0x73, 0x69, 0x6f, 0x6e, 0x18, 0x3c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73,
|
||||
0x69, 0x6f, 0x6e, 0x12, 0x4b, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69,
|
||||
0x6d, 0x65, 0x18, 0x46, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72,
|
||||
0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x74, 0x69,
|
||||
0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73,
|
||||
0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65,
|
||||
0x42, 0x38, 0x5a, 0x36, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x68,
|
||||
0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2f, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x61, 0x72,
|
||||
0x79, 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2f, 0x6b, 0x6d, 0x73, 0x2f, 0x73,
|
||||
0x74, 0x6f, 0x72, 0x65, 0x3b, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
|
||||
0x6f, 0x33,
|
||||
}
|
||||
|
||||
var (
|
||||
file_controller_storage_kms_store_v1_audit_key_proto_rawDescOnce sync.Once
|
||||
file_controller_storage_kms_store_v1_audit_key_proto_rawDescData = file_controller_storage_kms_store_v1_audit_key_proto_rawDesc
|
||||
)
|
||||
|
||||
func file_controller_storage_kms_store_v1_audit_key_proto_rawDescGZIP() []byte {
|
||||
file_controller_storage_kms_store_v1_audit_key_proto_rawDescOnce.Do(func() {
|
||||
file_controller_storage_kms_store_v1_audit_key_proto_rawDescData = protoimpl.X.CompressGZIP(file_controller_storage_kms_store_v1_audit_key_proto_rawDescData)
|
||||
})
|
||||
return file_controller_storage_kms_store_v1_audit_key_proto_rawDescData
|
||||
}
|
||||
|
||||
var file_controller_storage_kms_store_v1_audit_key_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
|
||||
var file_controller_storage_kms_store_v1_audit_key_proto_goTypes = []interface{}{
|
||||
(*AuditKey)(nil), // 0: controller.storage.kms.store.v1.AuditKey
|
||||
(*AuditKeyVersion)(nil), // 1: controller.storage.kms.store.v1.AuditKeyVersion
|
||||
(*timestamp.Timestamp)(nil), // 2: controller.storage.timestamp.v1.Timestamp
|
||||
}
|
||||
var file_controller_storage_kms_store_v1_audit_key_proto_depIdxs = []int32{
|
||||
2, // 0: controller.storage.kms.store.v1.AuditKey.create_time:type_name -> controller.storage.timestamp.v1.Timestamp
|
||||
2, // 1: controller.storage.kms.store.v1.AuditKeyVersion.create_time:type_name -> controller.storage.timestamp.v1.Timestamp
|
||||
2, // [2:2] is the sub-list for method output_type
|
||||
2, // [2:2] is the sub-list for method input_type
|
||||
2, // [2:2] is the sub-list for extension type_name
|
||||
2, // [2:2] is the sub-list for extension extendee
|
||||
0, // [0:2] is the sub-list for field type_name
|
||||
}
|
||||
|
||||
func init() { file_controller_storage_kms_store_v1_audit_key_proto_init() }
|
||||
func file_controller_storage_kms_store_v1_audit_key_proto_init() {
|
||||
if File_controller_storage_kms_store_v1_audit_key_proto != nil {
|
||||
return
|
||||
}
|
||||
if !protoimpl.UnsafeEnabled {
|
||||
file_controller_storage_kms_store_v1_audit_key_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
|
||||
switch v := v.(*AuditKey); i {
|
||||
case 0:
|
||||
return &v.state
|
||||
case 1:
|
||||
return &v.sizeCache
|
||||
case 2:
|
||||
return &v.unknownFields
|
||||
default:
|
||||
return nil
|
||||
}
|
||||
}
|
||||
file_controller_storage_kms_store_v1_audit_key_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
|
||||
switch v := v.(*AuditKeyVersion); i {
|
||||
case 0:
|
||||
return &v.state
|
||||
case 1:
|
||||
return &v.sizeCache
|
||||
case 2:
|
||||
return &v.unknownFields
|
||||
default:
|
||||
return nil
|
||||
}
|
||||
}
|
||||
}
|
||||
type x struct{}
|
||||
out := protoimpl.TypeBuilder{
|
||||
File: protoimpl.DescBuilder{
|
||||
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
|
||||
RawDescriptor: file_controller_storage_kms_store_v1_audit_key_proto_rawDesc,
|
||||
NumEnums: 0,
|
||||
NumMessages: 2,
|
||||
NumExtensions: 0,
|
||||
NumServices: 0,
|
||||
},
|
||||
GoTypes: file_controller_storage_kms_store_v1_audit_key_proto_goTypes,
|
||||
DependencyIndexes: file_controller_storage_kms_store_v1_audit_key_proto_depIdxs,
|
||||
MessageInfos: file_controller_storage_kms_store_v1_audit_key_proto_msgTypes,
|
||||
}.Build()
|
||||
File_controller_storage_kms_store_v1_audit_key_proto = out.File
|
||||
file_controller_storage_kms_store_v1_audit_key_proto_rawDesc = nil
|
||||
file_controller_storage_kms_store_v1_audit_key_proto_goTypes = nil
|
||||
file_controller_storage_kms_store_v1_audit_key_proto_depIdxs = nil
|
||||
}
|
||||
@@ -229,3 +229,39 @@ func TestOidcKeyVersion(t *testing.T, conn *db.DB, rootKeyVersionWrapper wrappin
|
||||
require.NoError(err)
|
||||
return k
|
||||
}
|
||||
|
||||
func TestAuditKey(t *testing.T, conn *db.DB, rootKeyId string) *AuditKey {
|
||||
t.Helper()
|
||||
ctx := context.Background()
|
||||
require := require.New(t)
|
||||
rw := db.New(conn)
|
||||
require.NoError(conn.Where("root_key_id = ?", rootKeyId).Delete(AllocAuditKey()).Error)
|
||||
k, err := NewAuditKey(ctx, rootKeyId)
|
||||
require.NoError(err)
|
||||
id, err := newAuditKeyId(ctx)
|
||||
require.NoError(err)
|
||||
k.PrivateId = id
|
||||
k.RootKeyId = rootKeyId
|
||||
err = rw.Create(context.Background(), k)
|
||||
require.NoError(err)
|
||||
return k
|
||||
}
|
||||
|
||||
func TestAuditKeyVersion(t *testing.T, conn *db.DB, rootKeyVersionWrapper wrapping.Wrapper, auditKeyId string, key []byte) *AuditKeyVersion {
|
||||
t.Helper()
|
||||
ctx := context.Background()
|
||||
require := require.New(t)
|
||||
rw := db.New(conn)
|
||||
rootKeyVersionId := rootKeyVersionWrapper.KeyID()
|
||||
require.NotEmpty(rootKeyVersionId)
|
||||
k, err := NewAuditKeyVersion(ctx, auditKeyId, key, rootKeyVersionId)
|
||||
require.NoError(err)
|
||||
id, err := newAuditKeyVersionId(ctx)
|
||||
require.NoError(err)
|
||||
k.PrivateId = id
|
||||
err = k.Encrypt(context.Background(), rootKeyVersionWrapper)
|
||||
require.NoError(err)
|
||||
err = rw.Create(context.Background(), k)
|
||||
require.NoError(err)
|
||||
return k
|
||||
}
|
||||
@@ -4,6 +4,4 @@ import (
|
||||
"errors"
|
||||
)
|
||||
|
||||
var (
|
||||
ErrInvalidParameter = errors.New("Invalid parameter")
|
||||
)
|
||||
var ErrInvalidParameter = errors.New("Invalid parameter")
|
||||
@@ -4,11 +4,13 @@ import (
|
||||
"context"
|
||||
"fmt"
|
||||
"net/url"
|
||||
"sync"
|
||||
|
||||
filterpkg "github.com/hashicorp/boundary/internal/filter"
|
||||
"github.com/hashicorp/eventlogger"
|
||||
"github.com/hashicorp/eventlogger/formatter_filters/cloudevents"
|
||||
"github.com/hashicorp/go-bexpr"
|
||||
wrapping "github.com/hashicorp/go-kms-wrapping"
|
||||
)
|
||||
|
||||
// cloudEventsFormatterFilter represents an eventlogger.cloudEventsFormatterFilter which filters events based on allow and
|
||||
@@ -17,6 +19,7 @@ type cloudEventsFormatterFilter struct {
|
||||
*cloudevents.FormatterFilter
|
||||
allow []*filter
|
||||
deny []*filter
|
||||
l sync.RWMutex
|
||||
}
|
||||
|
||||
// newCloudEventsFormatterFilter creates a new filter node using the optional allow and deny filters
|
||||
@@ -67,6 +70,23 @@ func newCloudEventsFormatterFilter(source *url.URL, format cloudevents.Format, o
|
||||
return &n, nil
|
||||
}
|
||||
|
||||
// Rotate supports rotating the filter's wrapper. No options are currently
|
||||
// supported.
|
||||
func (f *cloudEventsFormatterFilter) Rotate(w wrapping.Wrapper, _ ...Option) error {
|
||||
const op = "event.(cloudEventsFormatterFilter).Rotate"
|
||||
if w == nil {
|
||||
return fmt.Errorf("%s: missing wrapper: %w", op, ErrInvalidParameter)
|
||||
}
|
||||
f.l.Lock()
|
||||
defer f.l.Unlock()
|
||||
h, err := newSigner(context.Background(), w, nil, nil)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
f.Signer = cloudevents.Signer(h)
|
||||
return nil
|
||||
}
|
||||
|
||||
func newPredicate(allow, deny []*filter) func(ctx context.Context, ce interface{}) (bool, error) {
|
||||
return func(ctx context.Context, ce interface{}) (bool, error) {
|
||||
if len(allow) == 0 && len(deny) == 0 {
|
||||
|
||||
@@ -10,6 +10,7 @@ import (
|
||||
|
||||
"github.com/hashicorp/eventlogger"
|
||||
"github.com/hashicorp/eventlogger/formatter_filters/cloudevents"
|
||||
wrapping "github.com/hashicorp/go-kms-wrapping"
|
||||
"github.com/stretchr/testify/assert"
|
||||
"github.com/stretchr/testify/require"
|
||||
)
|
||||
@@ -343,3 +344,41 @@ func TestNode_Process(t *testing.T) {
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
func Test_cloudEventsFormatter_Rotate(t *testing.T) {
|
||||
tests := []struct {
|
||||
name string
|
||||
f *cloudEventsFormatterFilter
|
||||
w wrapping.Wrapper
|
||||
wantIsError error
|
||||
wantErrContains string
|
||||
}{
|
||||
{
|
||||
name: "missing-wrapper",
|
||||
f: &cloudEventsFormatterFilter{FormatterFilter: &cloudevents.FormatterFilter{}},
|
||||
wantIsError: ErrInvalidParameter,
|
||||
wantErrContains: "missing wrapper",
|
||||
},
|
||||
{
|
||||
name: "valid",
|
||||
f: &cloudEventsFormatterFilter{FormatterFilter: &cloudevents.FormatterFilter{}},
|
||||
w: testWrapper(t),
|
||||
},
|
||||
}
|
||||
|
||||
for _, tt := range tests {
|
||||
t.Run(tt.name, func(t *testing.T) {
|
||||
assert, require := assert.New(t), require.New(t)
|
||||
err := tt.f.Rotate(tt.w)
|
||||
if tt.wantIsError != nil {
|
||||
require.Error(err)
|
||||
assert.ErrorIs(err, tt.wantIsError)
|
||||
if tt.wantErrContains != "" {
|
||||
assert.Contains(err.Error(), tt.wantErrContains)
|
||||
}
|
||||
return
|
||||
}
|
||||
assert.NotNil(tt.f.Signer)
|
||||
})
|
||||
}
|
||||
}
|
||||
@@ -21,6 +21,7 @@ import (
|
||||
"github.com/hashicorp/eventlogger/formatter_filters/cloudevents"
|
||||
"github.com/hashicorp/eventlogger/sinks/writer"
|
||||
"github.com/hashicorp/go-hclog"
|
||||
wrapping "github.com/hashicorp/go-kms-wrapping"
|
||||
"google.golang.org/protobuf/types/known/fieldmaskpb"
|
||||
)
|
||||
|
||||
@@ -67,6 +68,7 @@ type Eventer struct {
|
||||
auditPipelines []pipeline
|
||||
observationPipelines []pipeline
|
||||
errPipelines []pipeline
|
||||
auditWrapperNodes []interface{}
|
||||
}
|
||||
|
||||
type pipeline struct {
|
||||
@@ -187,9 +189,10 @@ func NewEventer(log hclog.Logger, serializationLock *sync.Mutex, serverName stri
|
||||
}
|
||||
|
||||
e := &Eventer{
|
||||
logger: log,
|
||||
conf: c,
|
||||
broker: b,
|
||||
logger: log,
|
||||
conf: c,
|
||||
broker: b,
|
||||
auditWrapperNodes: []interface{}{},
|
||||
}
|
||||
|
||||
if !opts.withNow.IsZero() {
|
||||
@@ -208,7 +211,8 @@ func NewEventer(log hclog.Logger, serializationLock *sync.Mutex, serverName stri
|
||||
allSinkFilenames := map[string]bool{}
|
||||
|
||||
for _, s := range c.Sinks {
|
||||
fmtId, fmtNode, err := newFmtFilterNode(serverName, *s)
|
||||
fmtId, fmtNode, err := newFmtFilterNode(serverName, *s, opt...)
|
||||
e.auditWrapperNodes = append(e.auditWrapperNodes, fmtNode)
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("%s: %w", op, err)
|
||||
}
|
||||
@@ -287,6 +291,7 @@ func NewEventer(log hclog.Logger, serializationLock *sync.Mutex, serverName stri
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("%s: %w", op, err)
|
||||
}
|
||||
e.auditWrapperNodes = append(e.auditWrapperNodes, encryptFilter)
|
||||
if len(s.AuditConfig.FilterOverrides) > 0 {
|
||||
overrides := encrypt.DefaultFilterOperations()
|
||||
for k, v := range s.AuditConfig.FilterOverrides {
|
||||
@@ -464,11 +469,12 @@ func NewEventer(log hclog.Logger, serializationLock *sync.Mutex, serverName stri
|
||||
return e, nil
|
||||
}
|
||||
|
||||
func newFmtFilterNode(serverName string, c SinkConfig) (eventlogger.NodeID, eventlogger.Node, error) {
|
||||
func newFmtFilterNode(serverName string, c SinkConfig, opt ...Option) (eventlogger.NodeID, eventlogger.Node, error) {
|
||||
const op = "newFmtFilterNode"
|
||||
if serverName == "" {
|
||||
return "", nil, fmt.Errorf("%s: missing server name: %w", op, ErrInvalidParameter)
|
||||
}
|
||||
opts := getOpts(opt...)
|
||||
var fmtId eventlogger.NodeID
|
||||
var fmtNode eventlogger.Node
|
||||
switch c.Format {
|
||||
@@ -479,7 +485,7 @@ func newFmtFilterNode(serverName string, c SinkConfig) (eventlogger.NodeID, even
|
||||
}
|
||||
fmtId = eventlogger.NodeID(id)
|
||||
|
||||
fmtNode, err = newHclogFormatterFilter(c.Format == JSONHclogSinkFormat, WithAllow(c.AllowFilters...), WithDeny(c.DenyFilters...))
|
||||
fmtNode, err = newHclogFormatterFilter(c.Format == JSONHclogSinkFormat, WithAllow(c.AllowFilters...), WithDeny(c.DenyFilters...), WithAuditWrapper(opts.withAuditWrapper))
|
||||
if err != nil {
|
||||
return "", nil, fmt.Errorf("%s: %w", op, err)
|
||||
}
|
||||
@@ -531,6 +537,26 @@ func DefaultSink() *SinkConfig {
|
||||
}
|
||||
}
|
||||
|
||||
func (e *Eventer) RotateAuditWrapper(ctx context.Context, newWrapper wrapping.Wrapper) error {
|
||||
const op = "event.(Eventer).RotateAuditWrapper"
|
||||
if newWrapper == nil {
|
||||
return fmt.Errorf("%s: missing wrapper: %w", op, ErrInvalidParameter)
|
||||
}
|
||||
for _, n := range e.auditWrapperNodes {
|
||||
switch w := n.(type) {
|
||||
case *hclogFormatterFilter:
|
||||
w.Rotate(newWrapper)
|
||||
case *cloudEventsFormatterFilter:
|
||||
w.Rotate(newWrapper)
|
||||
case *encrypt.Filter:
|
||||
w.Rotate(encrypt.WithWrapper(newWrapper))
|
||||
default:
|
||||
return fmt.Errorf("%s: unsupported node type (%s): %w", op, reflect.TypeOf(w), ErrInvalidParameter)
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
// writeObservation writes/sends an Observation event.
|
||||
func (e *Eventer) writeObservation(ctx context.Context, event *observation) error {
|
||||
const op = "event.(Eventer).writeObservation"
|
||||
|
||||
@@ -13,8 +13,10 @@ import (
|
||||
"testing"
|
||||
|
||||
"github.com/hashicorp/eventlogger"
|
||||
"github.com/hashicorp/eventlogger/filters/encrypt"
|
||||
"github.com/hashicorp/eventlogger/formatter_filters/cloudevents"
|
||||
"github.com/hashicorp/go-hclog"
|
||||
wrapping "github.com/hashicorp/go-kms-wrapping"
|
||||
"github.com/stretchr/testify/assert"
|
||||
"github.com/stretchr/testify/require"
|
||||
)
|
||||
@@ -149,6 +151,7 @@ func Test_InitSysEventer(t *testing.T) {
|
||||
tt.want.auditPipelines = got.auditPipelines
|
||||
tt.want.errPipelines = got.errPipelines
|
||||
tt.want.observationPipelines = got.observationPipelines
|
||||
tt.want.auditWrapperNodes = got.auditWrapperNodes
|
||||
assert.Equal(tt.want, got)
|
||||
})
|
||||
}
|
||||
@@ -716,6 +719,7 @@ func Test_NewEventer(t *testing.T) {
|
||||
tt.want.auditPipelines = got.auditPipelines
|
||||
tt.want.errPipelines = got.errPipelines
|
||||
tt.want.observationPipelines = got.observationPipelines
|
||||
tt.want.auditWrapperNodes = got.auditWrapperNodes
|
||||
assert.Equal(tt.want, got)
|
||||
|
||||
assert.Lenf(testBroker.registeredNodeIds, len(tt.wantRegistered), "got nodes: %q", testBroker.registeredNodeIds)
|
||||
@@ -1184,3 +1188,69 @@ func Test_logAdapter_Write(t *testing.T) {
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
func TestEventer_RotateAuditWrapper(t *testing.T) {
|
||||
// this test and its subtests cannot be run in parallel because of it's
|
||||
// dependency on the sysEventer
|
||||
|
||||
cloudEventsConfig := TestEventerConfig(t, "TestEventer_RotateAuditWrapper")
|
||||
hclogConfig := TestEventerConfig(t, "TestEventer_RotateAuditWrapper", testWithSinkFormat(t, JSONHclogSinkFormat))
|
||||
|
||||
testLock := &sync.Mutex{}
|
||||
testLogger := hclog.New(&hclog.LoggerOptions{
|
||||
Mutex: testLock,
|
||||
Name: "test",
|
||||
})
|
||||
|
||||
testCtx := context.Background()
|
||||
tests := []struct {
|
||||
name string
|
||||
w wrapping.Wrapper
|
||||
config TestConfig
|
||||
wantIsError error
|
||||
wantErrContains string
|
||||
}{
|
||||
{
|
||||
name: "missing-wrapper",
|
||||
config: cloudEventsConfig,
|
||||
wantIsError: ErrInvalidParameter,
|
||||
wantErrContains: "missing wrapper",
|
||||
},
|
||||
{
|
||||
name: "valid-cloudevents",
|
||||
w: testWrapper(t),
|
||||
config: cloudEventsConfig,
|
||||
},
|
||||
{
|
||||
name: "valid-hclog",
|
||||
w: testWrapper(t),
|
||||
config: hclogConfig,
|
||||
},
|
||||
}
|
||||
for _, tt := range tests {
|
||||
t.Run(tt.name, func(t *testing.T) {
|
||||
assert, require := assert.New(t), require.New(t)
|
||||
require.NoError(InitSysEventer(testLogger, testLock, "TestEventer_RotateAuditWrapper", WithEventerConfig(&tt.config.EventerConfig)))
|
||||
eventer := SysEventer()
|
||||
err := eventer.RotateAuditWrapper(testCtx, tt.w)
|
||||
if tt.wantIsError != nil {
|
||||
require.Error(err)
|
||||
assert.ErrorIs(err, tt.wantIsError)
|
||||
if tt.wantErrContains != "" {
|
||||
assert.Contains(err.Error(), tt.wantErrContains)
|
||||
}
|
||||
return
|
||||
}
|
||||
for _, n := range eventer.auditWrapperNodes {
|
||||
switch w := n.(type) {
|
||||
case *hclogFormatterFilter:
|
||||
assert.NotNil(w.signer)
|
||||
case *cloudEventsFormatterFilter:
|
||||
assert.NotNil(w.Signer)
|
||||
case *encrypt.Filter:
|
||||
assert.NotNil(w.Wrapper)
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
@@ -3,13 +3,16 @@ package event
|
||||
import (
|
||||
"bytes"
|
||||
"context"
|
||||
"encoding/base64"
|
||||
"errors"
|
||||
"fmt"
|
||||
"reflect"
|
||||
"sync"
|
||||
|
||||
"github.com/fatih/structs"
|
||||
"github.com/hashicorp/eventlogger"
|
||||
"github.com/hashicorp/go-hclog"
|
||||
wrapping "github.com/hashicorp/go-kms-wrapping"
|
||||
)
|
||||
|
||||
const (
|
||||
@@ -28,14 +31,18 @@ type hclogFormatterFilter struct {
|
||||
predicate func(ctx context.Context, i interface{}) (bool, error)
|
||||
allow []*filter
|
||||
deny []*filter
|
||||
signer signer
|
||||
l sync.RWMutex
|
||||
}
|
||||
|
||||
func newHclogFormatterFilter(jsonFormat bool, opt ...Option) (*hclogFormatterFilter, error) {
|
||||
const op = "event.NewHclogFormatter"
|
||||
opts := getOpts(opt...)
|
||||
var s signer
|
||||
n := hclogFormatterFilter{
|
||||
jsonFormat: jsonFormat,
|
||||
signer: s,
|
||||
}
|
||||
opts := getOpts(opt...)
|
||||
// intentionally not checking if allow and/or deny optional filters were
|
||||
// supplied since having a filter node with no filters is okay.
|
||||
|
||||
@@ -64,6 +71,23 @@ func newHclogFormatterFilter(jsonFormat bool, opt ...Option) (*hclogFormatterFil
|
||||
return &n, nil
|
||||
}
|
||||
|
||||
// Rotate supports rotating the filter's wrapper. No options are currently
|
||||
// supported.
|
||||
func (f *hclogFormatterFilter) Rotate(w wrapping.Wrapper, _ ...Option) error {
|
||||
const op = "event.(hclogFormatterFilter).Rotate"
|
||||
if w == nil {
|
||||
return fmt.Errorf("%s: missing wrapper: %w", op, ErrInvalidParameter)
|
||||
}
|
||||
f.l.Lock()
|
||||
defer f.l.Unlock()
|
||||
h, err := newSigner(context.Background(), w, nil, nil)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
f.signer = h
|
||||
return nil
|
||||
}
|
||||
|
||||
// Reopen is a no op
|
||||
func (_ *hclogFormatterFilter) Reopen() error { return nil }
|
||||
|
||||
@@ -154,23 +178,20 @@ func (f *hclogFormatterFilter) Process(ctx context.Context, e *eventlogger.Event
|
||||
args = append(args, k, v)
|
||||
}
|
||||
|
||||
var buf bytes.Buffer
|
||||
logger := hclog.New(&hclog.LoggerOptions{
|
||||
Output: &buf,
|
||||
Level: hclog.Trace,
|
||||
JSONFormat: f.jsonFormat,
|
||||
})
|
||||
const eventMarker = " event"
|
||||
switch string(e.Type) {
|
||||
case string(ErrorType):
|
||||
logger.Error(string(e.Type)+eventMarker, args...)
|
||||
case string(ObservationType), string(SystemType), string(AuditType):
|
||||
logger.Info(string(e.Type)+eventMarker, args...)
|
||||
default:
|
||||
// well, we should ever hit this, since we should be specific about the
|
||||
// event type we're processing, but adding this default to just be sure
|
||||
// we haven't missed anything.
|
||||
logger.Trace(string(e.Type)+eventMarker, args...)
|
||||
buf, err := hclogBytes(e.Type, f.jsonFormat, args)
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("%s: unable to format: %w", op, err)
|
||||
}
|
||||
if f.signer != nil && string(e.Type) == string(AuditType) {
|
||||
bufHmac, err := f.signer(ctx, buf.Bytes())
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("%s: unable to hmac-sha256: %w", op, err)
|
||||
}
|
||||
args = append(args, "serialized", base64.RawURLEncoding.EncodeToString(buf.Bytes()), "serialized_hmac", bufHmac)
|
||||
buf, err = hclogBytes(e.Type, f.jsonFormat, args)
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("%s: unable to format after hmac-sha256: %w", op, err)
|
||||
}
|
||||
}
|
||||
switch f.jsonFormat {
|
||||
case true:
|
||||
@@ -181,3 +202,25 @@ func (f *hclogFormatterFilter) Process(ctx context.Context, e *eventlogger.Event
|
||||
|
||||
return e, nil
|
||||
}
|
||||
|
||||
func hclogBytes(eventType eventlogger.EventType, jsonFormat bool, args []interface{}) (*bytes.Buffer, error) {
|
||||
var buf bytes.Buffer
|
||||
logger := hclog.New(&hclog.LoggerOptions{
|
||||
Output: &buf,
|
||||
Level: hclog.Trace,
|
||||
JSONFormat: jsonFormat,
|
||||
})
|
||||
const eventMarker = " event"
|
||||
switch string(eventType) {
|
||||
case string(ErrorType):
|
||||
logger.Error(string(eventType)+eventMarker, args...)
|
||||
case string(ObservationType), string(SystemType), string(AuditType):
|
||||
logger.Info(string(eventType)+eventMarker, args...)
|
||||
default:
|
||||
// well, we should ever hit this, since we should be specific about the
|
||||
// event type we're processing, but adding this default to just be sure
|
||||
// we haven't missed anything.
|
||||
logger.Trace(string(eventType)+eventMarker, args...)
|
||||
}
|
||||
return &buf, nil
|
||||
}
|
||||
@@ -2,9 +2,11 @@ package event
|
||||
|
||||
import (
|
||||
"context"
|
||||
"encoding/json"
|
||||
"testing"
|
||||
|
||||
"github.com/hashicorp/eventlogger"
|
||||
wrapping "github.com/hashicorp/go-kms-wrapping"
|
||||
"github.com/stretchr/testify/assert"
|
||||
"github.com/stretchr/testify/require"
|
||||
)
|
||||
@@ -246,6 +248,32 @@ func TestHclogFormatter_Process(t *testing.T) {
|
||||
}
|
||||
})
|
||||
}
|
||||
t.Run("with-signing", func(t *testing.T) {
|
||||
assert, require := assert.New(t), require.New(t)
|
||||
wrapper := testWrapper(t)
|
||||
f, err := newHclogFormatterFilter(true) // produce json formatted events
|
||||
require.NoError(err)
|
||||
require.NoError(f.Rotate(wrapper))
|
||||
require.NotNil(f.signer)
|
||||
|
||||
e := &eventlogger.Event{
|
||||
Type: eventlogger.EventType(AuditType),
|
||||
Payload: &audit{
|
||||
Id: "1",
|
||||
Version: auditVersion,
|
||||
Auth: &Auth{UserName: "alice"},
|
||||
},
|
||||
}
|
||||
|
||||
gotEvent, err := f.Process(ctx, e)
|
||||
require.NoError(err)
|
||||
b, ok := gotEvent.Format(string(JSONHclogSinkFormat))
|
||||
require.True(ok)
|
||||
var rep map[string]interface{}
|
||||
require.NoError(json.Unmarshal(b, &rep))
|
||||
assert.NotEmpty(rep["serialized"])
|
||||
assert.NotEmpty(rep["serialized_hmac"])
|
||||
})
|
||||
}
|
||||
|
||||
func Test_hclogFormatterFilter_Name(t *testing.T) {
|
||||
@@ -366,3 +394,41 @@ func Test_newHclogFormatterFilter(t *testing.T) {
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
func Test_hclogFormatterFilter_Rotate(t *testing.T) {
|
||||
tests := []struct {
|
||||
name string
|
||||
f *hclogFormatterFilter
|
||||
w wrapping.Wrapper
|
||||
wantIsError error
|
||||
wantErrContains string
|
||||
}{
|
||||
{
|
||||
name: "missing-wrapper",
|
||||
f: &hclogFormatterFilter{},
|
||||
wantIsError: ErrInvalidParameter,
|
||||
wantErrContains: "missing wrapper",
|
||||
},
|
||||
{
|
||||
name: "valid",
|
||||
f: &hclogFormatterFilter{},
|
||||
w: testWrapper(t),
|
||||
},
|
||||
}
|
||||
|
||||
for _, tt := range tests {
|
||||
t.Run(tt.name, func(t *testing.T) {
|
||||
assert, require := assert.New(t), require.New(t)
|
||||
err := tt.f.Rotate(tt.w)
|
||||
if tt.wantIsError != nil {
|
||||
require.Error(err)
|
||||
assert.ErrorIs(err, tt.wantIsError)
|
||||
if tt.wantErrContains != "" {
|
||||
assert.Contains(err.Error(), tt.wantErrContains)
|
||||
}
|
||||
return
|
||||
}
|
||||
assert.NotNil(tt.f.signer)
|
||||
})
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
package event
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
"github.com/hashicorp/boundary/internal/libs/crypto"
|
||||
wrapping "github.com/hashicorp/go-kms-wrapping"
|
||||
)
|
||||
|
||||
type signer func(context.Context, []byte) (string, error)
|
||||
|
||||
func newSigner(_ context.Context, w wrapping.Wrapper, info, salt []byte) (signer, error) {
|
||||
const op = "event.hmacHclogSigner"
|
||||
return func(requestCtx context.Context, data []byte) (string, error) {
|
||||
return crypto.HmacSha256(requestCtx, data, w, info, salt, crypto.WithPrefix("hmac-sha256:"), crypto.WithBase64Encoding())
|
||||
}, nil
|
||||
}
|
||||
@@ -290,7 +290,7 @@ func Parse(scopeId, grantString string, opt ...Option) (Grant, error) {
|
||||
scope: Scope{Id: scopeId},
|
||||
}
|
||||
switch {
|
||||
case scopeId == "global":
|
||||
case scopeId == scope.Global.String():
|
||||
grant.scope.Type = scope.Global
|
||||
case strings.HasPrefix(scopeId, scope.Org.Prefix()):
|
||||
grant.scope.Type = scope.Org
|
||||
|
||||
@@ -0,0 +1,52 @@
|
||||
syntax = "proto3";
|
||||
|
||||
package controller.storage.kms.store.v1;
|
||||
option go_package = "github.com/hashicorp/boundary/internal/kms/store;store";
|
||||
|
||||
import "controller/storage/timestamp/v1/timestamp.proto";
|
||||
|
||||
message AuditKey {
|
||||
// private_id is used to access the key via an API
|
||||
// @inject_tag: gorm:"primary_key"
|
||||
string private_id = 10;
|
||||
|
||||
// root key id for the key
|
||||
// @inject_tag: `gorm:"default:null"`
|
||||
string root_key_id = 20;
|
||||
|
||||
// create_time from the RDBMS
|
||||
// @inject_tag: `gorm:"default:current_timestamp"`
|
||||
timestamp.v1.Timestamp create_time = 30;
|
||||
}
|
||||
|
||||
message AuditKeyVersion {
|
||||
// private_id is used to access the key version via an API
|
||||
// @inject_tag: gorm:"primary_key"
|
||||
string private_id = 10;
|
||||
|
||||
// id for the key version
|
||||
// @inject_tag: `gorm:"default:null"`
|
||||
string audit_key_id = 20;
|
||||
|
||||
// root_key_version_id of the version of the root key data.
|
||||
// @inject_tag: `gorm:"default:null"`
|
||||
string root_key_version_id = 30;
|
||||
|
||||
// plain-text of the key data. we are NOT storing this plain-text key
|
||||
// in the db.
|
||||
// @inject_tag: `gorm:"-" wrapping:"pt,key_data"`
|
||||
bytes key = 40;
|
||||
|
||||
// ciphertext key data stored in the database
|
||||
// @inject_tag: `gorm:"column:key;not_null" wrapping:"ct,key_data"`
|
||||
bytes ct_key = 50;
|
||||
|
||||
// version of the key data. This is not used for optimistic locking, since
|
||||
// key versions are immutable. It's just the version of the key.
|
||||
// @inject_tag: `gorm:"default:null"`
|
||||
uint32 version = 60;
|
||||
|
||||
// create_time from the RDBMS
|
||||
// @inject_tag: `gorm:"default:current_timestamp"`
|
||||
timestamp.v1.Timestamp create_time = 70;
|
||||
}
|
||||
@@ -173,7 +173,7 @@ func Verify(ctx context.Context, opt ...Option) (ret VerifyResults) {
|
||||
// Look up scope details to return. We can skip a lookup when using the
|
||||
// global scope
|
||||
switch ret.Scope.Id {
|
||||
case "global":
|
||||
case scope.Global.String():
|
||||
ret.Scope = &scopes.ScopeInfo{
|
||||
Id: scope.Global.String(),
|
||||
Type: scope.Global.String(),
|
||||
@@ -503,7 +503,7 @@ func (v verifier) performAuthCheck(ctx context.Context) (
|
||||
// Look up scope details to return. We can skip a lookup when using the
|
||||
// global scope
|
||||
switch v.res.ScopeId {
|
||||
case "global":
|
||||
case scope.Global.String():
|
||||
scopeInfo = &scopes.ScopeInfo{
|
||||
Id: scope.Global.String(),
|
||||
Type: scope.Global.String(),
|
||||
|
||||
@@ -27,6 +27,7 @@ import (
|
||||
"github.com/hashicorp/boundary/internal/servers/controller/common"
|
||||
"github.com/hashicorp/boundary/internal/session"
|
||||
"github.com/hashicorp/boundary/internal/target"
|
||||
"github.com/hashicorp/boundary/internal/types/scope"
|
||||
host_plugin_assets "github.com/hashicorp/boundary/plugins/host"
|
||||
"github.com/hashicorp/boundary/sdk/pbs/plugin"
|
||||
external_host_plugins "github.com/hashicorp/boundary/sdk/plugins/host"
|
||||
@@ -167,6 +168,16 @@ func New(ctx context.Context, conf *Config) (*Controller, error) {
|
||||
); err != nil {
|
||||
return nil, fmt.Errorf("error adding config keys to kms: %w", err)
|
||||
}
|
||||
// now that the kms is configured, we can get the audit wrapper and rotate
|
||||
// the eventer audit wrapper, so the emitted events can include encrypt and
|
||||
// hmac-sha256 data
|
||||
auditWrapper, err := c.kms.GetWrapper(ctx, scope.Global.String(), kms.KeyPurposeAudit)
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("error getting audit wrapper from kms: %w", err)
|
||||
}
|
||||
if c.conf.Eventer.RotateAuditWrapper(ctx, auditWrapper); err != nil {
|
||||
return nil, fmt.Errorf("error rotating eventer audit wrapper: %w", err)
|
||||
}
|
||||
jobRepoFn := func() (*job.Repository, error) {
|
||||
return job.NewRepository(dbase, dbase, c.kms)
|
||||
}
|
||||
|
||||
@@ -225,7 +225,7 @@ func (s Service) GetScope(ctx context.Context, req *pbs.GetScopeRequest) (*pbs.G
|
||||
}
|
||||
act := IdActions
|
||||
// Can't delete global so elide it
|
||||
if p.GetPublicId() == "global" {
|
||||
if p.GetPublicId() == scope.Global.String() {
|
||||
act = act[0:3]
|
||||
}
|
||||
if outputFields.Has(globals.AuthorizedActionsField) {
|
||||
@@ -596,7 +596,7 @@ func validateGetRequest(req *pbs.GetScopeRequest) error {
|
||||
badFields := map[string]string{}
|
||||
id := req.GetId()
|
||||
switch {
|
||||
case id == "global":
|
||||
case id == scope.Global.String():
|
||||
case strings.HasPrefix(id, scope.Org.Prefix()):
|
||||
if !handlers.ValidId(handlers.Id(id), scope.Org.Prefix()) {
|
||||
badFields["id"] = "Invalidly formatted scope id."
|
||||
@@ -654,7 +654,7 @@ func validateUpdateRequest(req *pbs.UpdateScopeRequest) error {
|
||||
badFields := map[string]string{}
|
||||
id := req.GetId()
|
||||
switch {
|
||||
case id == "global":
|
||||
case id == scope.Global.String():
|
||||
case strings.HasPrefix(id, scope.Org.Prefix()):
|
||||
if !handlers.ValidId(handlers.Id(id), scope.Org.Prefix()) {
|
||||
badFields["id"] = "Invalidly formatted scope id."
|
||||
@@ -711,7 +711,7 @@ func validateDeleteRequest(req *pbs.DeleteScopeRequest) error {
|
||||
badFields := map[string]string{}
|
||||
id := req.GetId()
|
||||
switch {
|
||||
case id == "global":
|
||||
case id == scope.Global.String():
|
||||
badFields["id"] = "Invalid to delete the global scope."
|
||||
case strings.HasPrefix(id, scope.Org.Prefix()):
|
||||
if !handlers.ValidId(handlers.Id(id), scope.Org.Prefix()) {
|
||||
|
||||
Generated
+32
-32
@@ -2,38 +2,38 @@
|
||||
# WARNING: Do not EDIT or MERGE this file, it is generated by packagespec.
|
||||
# ***
|
||||
|
||||
LAYER_00-base-849b90f357ec2b0e340c99c0a49e883d36073bd9_ID := 00-base-849b90f357ec2b0e340c99c0a49e883d36073bd9
|
||||
LAYER_00-base-849b90f357ec2b0e340c99c0a49e883d36073bd9_TYPE := base
|
||||
LAYER_00-base-849b90f357ec2b0e340c99c0a49e883d36073bd9_BASE_LAYER :=
|
||||
LAYER_00-base-849b90f357ec2b0e340c99c0a49e883d36073bd9_SOURCE_INCLUDE :=
|
||||
LAYER_00-base-849b90f357ec2b0e340c99c0a49e883d36073bd9_SOURCE_EXCLUDE :=
|
||||
LAYER_00-base-849b90f357ec2b0e340c99c0a49e883d36073bd9_CACHE_KEY_FILE := .buildcache/cache-keys/base-849b90f357ec2b0e340c99c0a49e883d36073bd9
|
||||
LAYER_00-base-849b90f357ec2b0e340c99c0a49e883d36073bd9_ARCHIVE_FILE := .buildcache/archives/00-base-849b90f357ec2b0e340c99c0a49e883d36073bd9.tar.gz
|
||||
$(eval $(call LAYER,$(LAYER_00-base-849b90f357ec2b0e340c99c0a49e883d36073bd9_ID),$(LAYER_00-base-849b90f357ec2b0e340c99c0a49e883d36073bd9_TYPE),$(LAYER_00-base-849b90f357ec2b0e340c99c0a49e883d36073bd9_BASE_LAYER),$(LAYER_00-base-849b90f357ec2b0e340c99c0a49e883d36073bd9_SOURCE_INCLUDE),$(LAYER_00-base-849b90f357ec2b0e340c99c0a49e883d36073bd9_SOURCE_EXCLUDE),$(LAYER_00-base-849b90f357ec2b0e340c99c0a49e883d36073bd9_CACHE_KEY_FILE),$(LAYER_00-base-849b90f357ec2b0e340c99c0a49e883d36073bd9_ARCHIVE_FILE)))
|
||||
LAYER_00-base-cc87158f920a83b1c241d68474eed6734b32c511_ID := 00-base-cc87158f920a83b1c241d68474eed6734b32c511
|
||||
LAYER_00-base-cc87158f920a83b1c241d68474eed6734b32c511_TYPE := base
|
||||
LAYER_00-base-cc87158f920a83b1c241d68474eed6734b32c511_BASE_LAYER :=
|
||||
LAYER_00-base-cc87158f920a83b1c241d68474eed6734b32c511_SOURCE_INCLUDE :=
|
||||
LAYER_00-base-cc87158f920a83b1c241d68474eed6734b32c511_SOURCE_EXCLUDE :=
|
||||
LAYER_00-base-cc87158f920a83b1c241d68474eed6734b32c511_CACHE_KEY_FILE := .buildcache/cache-keys/base-cc87158f920a83b1c241d68474eed6734b32c511
|
||||
LAYER_00-base-cc87158f920a83b1c241d68474eed6734b32c511_ARCHIVE_FILE := .buildcache/archives/00-base-cc87158f920a83b1c241d68474eed6734b32c511.tar.gz
|
||||
$(eval $(call LAYER,$(LAYER_00-base-cc87158f920a83b1c241d68474eed6734b32c511_ID),$(LAYER_00-base-cc87158f920a83b1c241d68474eed6734b32c511_TYPE),$(LAYER_00-base-cc87158f920a83b1c241d68474eed6734b32c511_BASE_LAYER),$(LAYER_00-base-cc87158f920a83b1c241d68474eed6734b32c511_SOURCE_INCLUDE),$(LAYER_00-base-cc87158f920a83b1c241d68474eed6734b32c511_SOURCE_EXCLUDE),$(LAYER_00-base-cc87158f920a83b1c241d68474eed6734b32c511_CACHE_KEY_FILE),$(LAYER_00-base-cc87158f920a83b1c241d68474eed6734b32c511_ARCHIVE_FILE)))
|
||||
|
||||
LAYER_01-ui-7d0eb4b8e23fd3d22cf70da1dff7e4359673ce05_ID := 01-ui-7d0eb4b8e23fd3d22cf70da1dff7e4359673ce05
|
||||
LAYER_01-ui-7d0eb4b8e23fd3d22cf70da1dff7e4359673ce05_TYPE := ui
|
||||
LAYER_01-ui-7d0eb4b8e23fd3d22cf70da1dff7e4359673ce05_BASE_LAYER := 00-base-849b90f357ec2b0e340c99c0a49e883d36073bd9
|
||||
LAYER_01-ui-7d0eb4b8e23fd3d22cf70da1dff7e4359673ce05_SOURCE_INCLUDE := internal/ui/VERSION
|
||||
LAYER_01-ui-7d0eb4b8e23fd3d22cf70da1dff7e4359673ce05_SOURCE_EXCLUDE :=
|
||||
LAYER_01-ui-7d0eb4b8e23fd3d22cf70da1dff7e4359673ce05_CACHE_KEY_FILE := .buildcache/cache-keys/ui-7d0eb4b8e23fd3d22cf70da1dff7e4359673ce05
|
||||
LAYER_01-ui-7d0eb4b8e23fd3d22cf70da1dff7e4359673ce05_ARCHIVE_FILE := .buildcache/archives/01-ui-7d0eb4b8e23fd3d22cf70da1dff7e4359673ce05.tar.gz
|
||||
$(eval $(call LAYER,$(LAYER_01-ui-7d0eb4b8e23fd3d22cf70da1dff7e4359673ce05_ID),$(LAYER_01-ui-7d0eb4b8e23fd3d22cf70da1dff7e4359673ce05_TYPE),$(LAYER_01-ui-7d0eb4b8e23fd3d22cf70da1dff7e4359673ce05_BASE_LAYER),$(LAYER_01-ui-7d0eb4b8e23fd3d22cf70da1dff7e4359673ce05_SOURCE_INCLUDE),$(LAYER_01-ui-7d0eb4b8e23fd3d22cf70da1dff7e4359673ce05_SOURCE_EXCLUDE),$(LAYER_01-ui-7d0eb4b8e23fd3d22cf70da1dff7e4359673ce05_CACHE_KEY_FILE),$(LAYER_01-ui-7d0eb4b8e23fd3d22cf70da1dff7e4359673ce05_ARCHIVE_FILE)))
|
||||
LAYER_01-ui-dfc937906b9b645655c44bc782ef13c64ebe8dbb_ID := 01-ui-dfc937906b9b645655c44bc782ef13c64ebe8dbb
|
||||
LAYER_01-ui-dfc937906b9b645655c44bc782ef13c64ebe8dbb_TYPE := ui
|
||||
LAYER_01-ui-dfc937906b9b645655c44bc782ef13c64ebe8dbb_BASE_LAYER := 00-base-cc87158f920a83b1c241d68474eed6734b32c511
|
||||
LAYER_01-ui-dfc937906b9b645655c44bc782ef13c64ebe8dbb_SOURCE_INCLUDE := internal/ui/VERSION
|
||||
LAYER_01-ui-dfc937906b9b645655c44bc782ef13c64ebe8dbb_SOURCE_EXCLUDE :=
|
||||
LAYER_01-ui-dfc937906b9b645655c44bc782ef13c64ebe8dbb_CACHE_KEY_FILE := .buildcache/cache-keys/ui-dfc937906b9b645655c44bc782ef13c64ebe8dbb
|
||||
LAYER_01-ui-dfc937906b9b645655c44bc782ef13c64ebe8dbb_ARCHIVE_FILE := .buildcache/archives/01-ui-dfc937906b9b645655c44bc782ef13c64ebe8dbb.tar.gz
|
||||
$(eval $(call LAYER,$(LAYER_01-ui-dfc937906b9b645655c44bc782ef13c64ebe8dbb_ID),$(LAYER_01-ui-dfc937906b9b645655c44bc782ef13c64ebe8dbb_TYPE),$(LAYER_01-ui-dfc937906b9b645655c44bc782ef13c64ebe8dbb_BASE_LAYER),$(LAYER_01-ui-dfc937906b9b645655c44bc782ef13c64ebe8dbb_SOURCE_INCLUDE),$(LAYER_01-ui-dfc937906b9b645655c44bc782ef13c64ebe8dbb_SOURCE_EXCLUDE),$(LAYER_01-ui-dfc937906b9b645655c44bc782ef13c64ebe8dbb_CACHE_KEY_FILE),$(LAYER_01-ui-dfc937906b9b645655c44bc782ef13c64ebe8dbb_ARCHIVE_FILE)))
|
||||
|
||||
LAYER_02-go-modules-a25cdf16b83859e7e53c8fd5272e4c6b8366e2be_ID := 02-go-modules-a25cdf16b83859e7e53c8fd5272e4c6b8366e2be
|
||||
LAYER_02-go-modules-a25cdf16b83859e7e53c8fd5272e4c6b8366e2be_TYPE := go-modules
|
||||
LAYER_02-go-modules-a25cdf16b83859e7e53c8fd5272e4c6b8366e2be_BASE_LAYER := 01-ui-7d0eb4b8e23fd3d22cf70da1dff7e4359673ce05
|
||||
LAYER_02-go-modules-a25cdf16b83859e7e53c8fd5272e4c6b8366e2be_SOURCE_INCLUDE := go.mod go.sum */go.mod */go.sum
|
||||
LAYER_02-go-modules-a25cdf16b83859e7e53c8fd5272e4c6b8366e2be_SOURCE_EXCLUDE :=
|
||||
LAYER_02-go-modules-a25cdf16b83859e7e53c8fd5272e4c6b8366e2be_CACHE_KEY_FILE := .buildcache/cache-keys/go-modules-a25cdf16b83859e7e53c8fd5272e4c6b8366e2be
|
||||
LAYER_02-go-modules-a25cdf16b83859e7e53c8fd5272e4c6b8366e2be_ARCHIVE_FILE := .buildcache/archives/02-go-modules-a25cdf16b83859e7e53c8fd5272e4c6b8366e2be.tar.gz
|
||||
$(eval $(call LAYER,$(LAYER_02-go-modules-a25cdf16b83859e7e53c8fd5272e4c6b8366e2be_ID),$(LAYER_02-go-modules-a25cdf16b83859e7e53c8fd5272e4c6b8366e2be_TYPE),$(LAYER_02-go-modules-a25cdf16b83859e7e53c8fd5272e4c6b8366e2be_BASE_LAYER),$(LAYER_02-go-modules-a25cdf16b83859e7e53c8fd5272e4c6b8366e2be_SOURCE_INCLUDE),$(LAYER_02-go-modules-a25cdf16b83859e7e53c8fd5272e4c6b8366e2be_SOURCE_EXCLUDE),$(LAYER_02-go-modules-a25cdf16b83859e7e53c8fd5272e4c6b8366e2be_CACHE_KEY_FILE),$(LAYER_02-go-modules-a25cdf16b83859e7e53c8fd5272e4c6b8366e2be_ARCHIVE_FILE)))
|
||||
LAYER_02-go-modules-74c0c94188690e22d738cb1784f8feba7c3dc00d_ID := 02-go-modules-74c0c94188690e22d738cb1784f8feba7c3dc00d
|
||||
LAYER_02-go-modules-74c0c94188690e22d738cb1784f8feba7c3dc00d_TYPE := go-modules
|
||||
LAYER_02-go-modules-74c0c94188690e22d738cb1784f8feba7c3dc00d_BASE_LAYER := 01-ui-dfc937906b9b645655c44bc782ef13c64ebe8dbb
|
||||
LAYER_02-go-modules-74c0c94188690e22d738cb1784f8feba7c3dc00d_SOURCE_INCLUDE := go.mod go.sum */go.mod */go.sum
|
||||
LAYER_02-go-modules-74c0c94188690e22d738cb1784f8feba7c3dc00d_SOURCE_EXCLUDE :=
|
||||
LAYER_02-go-modules-74c0c94188690e22d738cb1784f8feba7c3dc00d_CACHE_KEY_FILE := .buildcache/cache-keys/go-modules-74c0c94188690e22d738cb1784f8feba7c3dc00d
|
||||
LAYER_02-go-modules-74c0c94188690e22d738cb1784f8feba7c3dc00d_ARCHIVE_FILE := .buildcache/archives/02-go-modules-74c0c94188690e22d738cb1784f8feba7c3dc00d.tar.gz
|
||||
$(eval $(call LAYER,$(LAYER_02-go-modules-74c0c94188690e22d738cb1784f8feba7c3dc00d_ID),$(LAYER_02-go-modules-74c0c94188690e22d738cb1784f8feba7c3dc00d_TYPE),$(LAYER_02-go-modules-74c0c94188690e22d738cb1784f8feba7c3dc00d_BASE_LAYER),$(LAYER_02-go-modules-74c0c94188690e22d738cb1784f8feba7c3dc00d_SOURCE_INCLUDE),$(LAYER_02-go-modules-74c0c94188690e22d738cb1784f8feba7c3dc00d_SOURCE_EXCLUDE),$(LAYER_02-go-modules-74c0c94188690e22d738cb1784f8feba7c3dc00d_CACHE_KEY_FILE),$(LAYER_02-go-modules-74c0c94188690e22d738cb1784f8feba7c3dc00d_ARCHIVE_FILE)))
|
||||
|
||||
LAYER_03-copy-source-5c01da64a31c9bfe7ba38f51d95e8bf99c0842f5_ID := 03-copy-source-5c01da64a31c9bfe7ba38f51d95e8bf99c0842f5
|
||||
LAYER_03-copy-source-5c01da64a31c9bfe7ba38f51d95e8bf99c0842f5_TYPE := copy-source
|
||||
LAYER_03-copy-source-5c01da64a31c9bfe7ba38f51d95e8bf99c0842f5_BASE_LAYER := 02-go-modules-a25cdf16b83859e7e53c8fd5272e4c6b8366e2be
|
||||
LAYER_03-copy-source-5c01da64a31c9bfe7ba38f51d95e8bf99c0842f5_SOURCE_INCLUDE := *.go *.up.sql
|
||||
LAYER_03-copy-source-5c01da64a31c9bfe7ba38f51d95e8bf99c0842f5_SOURCE_EXCLUDE :=
|
||||
LAYER_03-copy-source-5c01da64a31c9bfe7ba38f51d95e8bf99c0842f5_CACHE_KEY_FILE := .buildcache/cache-keys/copy-source-5c01da64a31c9bfe7ba38f51d95e8bf99c0842f5
|
||||
LAYER_03-copy-source-5c01da64a31c9bfe7ba38f51d95e8bf99c0842f5_ARCHIVE_FILE := .buildcache/archives/03-copy-source-5c01da64a31c9bfe7ba38f51d95e8bf99c0842f5.tar.gz
|
||||
$(eval $(call LAYER,$(LAYER_03-copy-source-5c01da64a31c9bfe7ba38f51d95e8bf99c0842f5_ID),$(LAYER_03-copy-source-5c01da64a31c9bfe7ba38f51d95e8bf99c0842f5_TYPE),$(LAYER_03-copy-source-5c01da64a31c9bfe7ba38f51d95e8bf99c0842f5_BASE_LAYER),$(LAYER_03-copy-source-5c01da64a31c9bfe7ba38f51d95e8bf99c0842f5_SOURCE_INCLUDE),$(LAYER_03-copy-source-5c01da64a31c9bfe7ba38f51d95e8bf99c0842f5_SOURCE_EXCLUDE),$(LAYER_03-copy-source-5c01da64a31c9bfe7ba38f51d95e8bf99c0842f5_CACHE_KEY_FILE),$(LAYER_03-copy-source-5c01da64a31c9bfe7ba38f51d95e8bf99c0842f5_ARCHIVE_FILE)))
|
||||
LAYER_03-copy-source-6be6bbcf469c2d26620194eeee87f0c4ba470bde_ID := 03-copy-source-6be6bbcf469c2d26620194eeee87f0c4ba470bde
|
||||
LAYER_03-copy-source-6be6bbcf469c2d26620194eeee87f0c4ba470bde_TYPE := copy-source
|
||||
LAYER_03-copy-source-6be6bbcf469c2d26620194eeee87f0c4ba470bde_BASE_LAYER := 02-go-modules-74c0c94188690e22d738cb1784f8feba7c3dc00d
|
||||
LAYER_03-copy-source-6be6bbcf469c2d26620194eeee87f0c4ba470bde_SOURCE_INCLUDE := *.go *.up.sql
|
||||
LAYER_03-copy-source-6be6bbcf469c2d26620194eeee87f0c4ba470bde_SOURCE_EXCLUDE :=
|
||||
LAYER_03-copy-source-6be6bbcf469c2d26620194eeee87f0c4ba470bde_CACHE_KEY_FILE := .buildcache/cache-keys/copy-source-6be6bbcf469c2d26620194eeee87f0c4ba470bde
|
||||
LAYER_03-copy-source-6be6bbcf469c2d26620194eeee87f0c4ba470bde_ARCHIVE_FILE := .buildcache/archives/03-copy-source-6be6bbcf469c2d26620194eeee87f0c4ba470bde.tar.gz
|
||||
$(eval $(call LAYER,$(LAYER_03-copy-source-6be6bbcf469c2d26620194eeee87f0c4ba470bde_ID),$(LAYER_03-copy-source-6be6bbcf469c2d26620194eeee87f0c4ba470bde_TYPE),$(LAYER_03-copy-source-6be6bbcf469c2d26620194eeee87f0c4ba470bde_BASE_LAYER),$(LAYER_03-copy-source-6be6bbcf469c2d26620194eeee87f0c4ba470bde_SOURCE_INCLUDE),$(LAYER_03-copy-source-6be6bbcf469c2d26620194eeee87f0c4ba470bde_SOURCE_EXCLUDE),$(LAYER_03-copy-source-6be6bbcf469c2d26620194eeee87f0c4ba470bde_CACHE_KEY_FILE),$(LAYER_03-copy-source-6be6bbcf469c2d26620194eeee87f0c4ba470bde_ARCHIVE_FILE)))
|
||||
Generated
+295
-295
@@ -1,11 +1,11 @@
|
||||
# ***
|
||||
# WARNING: Do not EDIT or MERGE this file, it is generated by packagespec.
|
||||
# ***
|
||||
lockid: 87386c0c55d5c61a
|
||||
lockid: 7f1510c592a3019a
|
||||
packagespec-version: 0.2.6
|
||||
cache-version: 10
|
||||
packages:
|
||||
- packagespecid: fa8840f2e78bfa9c58d242426d80f4e30464516f
|
||||
- packagespecid: 5e182eecadd802ce4fde19b40733c21f1920d680
|
||||
inputs:
|
||||
BINARY_NAME: boundary
|
||||
BUILD_TAGS: ui
|
||||
@@ -22,33 +22,33 @@ packages:
|
||||
builtin:
|
||||
BUILD_LAYERS:
|
||||
- type: copy-source
|
||||
name: 03-copy-source-5c01da64a31c9bfe7ba38f51d95e8bf99c0842f5
|
||||
archive: .buildcache/archives/03-copy-source-5c01da64a31c9bfe7ba38f51d95e8bf99c0842f5.tar.gz
|
||||
name: 03-copy-source-6be6bbcf469c2d26620194eeee87f0c4ba470bde
|
||||
archive: .buildcache/archives/03-copy-source-6be6bbcf469c2d26620194eeee87f0c4ba470bde.tar.gz
|
||||
- type: go-modules
|
||||
name: 02-go-modules-a25cdf16b83859e7e53c8fd5272e4c6b8366e2be
|
||||
archive: .buildcache/archives/02-go-modules-a25cdf16b83859e7e53c8fd5272e4c6b8366e2be.tar.gz
|
||||
name: 02-go-modules-74c0c94188690e22d738cb1784f8feba7c3dc00d
|
||||
archive: .buildcache/archives/02-go-modules-74c0c94188690e22d738cb1784f8feba7c3dc00d.tar.gz
|
||||
- type: ui
|
||||
name: 01-ui-7d0eb4b8e23fd3d22cf70da1dff7e4359673ce05
|
||||
archive: .buildcache/archives/01-ui-7d0eb4b8e23fd3d22cf70da1dff7e4359673ce05.tar.gz
|
||||
name: 01-ui-dfc937906b9b645655c44bc782ef13c64ebe8dbb
|
||||
archive: .buildcache/archives/01-ui-dfc937906b9b645655c44bc782ef13c64ebe8dbb.tar.gz
|
||||
- type: base
|
||||
name: 00-base-849b90f357ec2b0e340c99c0a49e883d36073bd9
|
||||
archive: .buildcache/archives/00-base-849b90f357ec2b0e340c99c0a49e883d36073bd9.tar.gz
|
||||
PACKAGE_CACHE_KEY_FILE: .buildcache/cache-keys/package-fa8840f2e78bfa9c58d242426d80f4e30464516f
|
||||
name: 00-base-cc87158f920a83b1c241d68474eed6734b32c511
|
||||
archive: .buildcache/archives/00-base-cc87158f920a83b1c241d68474eed6734b32c511.tar.gz
|
||||
PACKAGE_CACHE_KEY_FILE: .buildcache/cache-keys/package-5e182eecadd802ce4fde19b40733c21f1920d680
|
||||
POST_PROCESSORS: apple-notarize av-scan
|
||||
circleci:
|
||||
BUILDER_CACHE_KEY_PREFIX_LIST:
|
||||
- copy-source_5c01_{{checksum ".buildcache/cache-keys/copy-source-5c01da64a31c9bfe7ba38f51d95e8bf99c0842f5"}}
|
||||
- go-modules_a25c_{{checksum ".buildcache/cache-keys/go-modules-a25cdf16b83859e7e53c8fd5272e4c6b8366e2be"}}
|
||||
- ui_7d0e_{{checksum ".buildcache/cache-keys/ui-7d0eb4b8e23fd3d22cf70da1dff7e4359673ce05"}}
|
||||
- base_849b_{{checksum ".buildcache/cache-keys/base-849b90f357ec2b0e340c99c0a49e883d36073bd9"}}
|
||||
PACKAGE_CACHE_KEY: package-fa8840f2e78bfa9c58d242426d80f4e30464516f-{{checksum ".buildcache/cache-keys/package-fa8840f2e78bfa9c58d242426d80f4e30464516f"}}
|
||||
- copy-source_6be6_{{checksum ".buildcache/cache-keys/copy-source-6be6bbcf469c2d26620194eeee87f0c4ba470bde"}}
|
||||
- go-modules_74c0_{{checksum ".buildcache/cache-keys/go-modules-74c0c94188690e22d738cb1784f8feba7c3dc00d"}}
|
||||
- ui_dfc9_{{checksum ".buildcache/cache-keys/ui-dfc937906b9b645655c44bc782ef13c64ebe8dbb"}}
|
||||
- base_cc87_{{checksum ".buildcache/cache-keys/base-cc87158f920a83b1c241d68474eed6734b32c511"}}
|
||||
PACKAGE_CACHE_KEY: package-5e182eecadd802ce4fde19b40733c21f1920d680-{{checksum ".buildcache/cache-keys/package-5e182eecadd802ce4fde19b40733c21f1920d680"}}
|
||||
build-command: VERSION_PKG_PATH=github.com/hashicorp/boundary/version; unset GOPATH; ORIG_PATH=$(pwd); for PLUGIN_TYPE in host; do for CURR_PLUGIN in $(ls $ORIG_PATH/plugins/$PLUGIN_TYPE/mains); do cd $ORIG_PATH/plugins/$PLUGIN_TYPE/mains/$CURR_PLUGIN; go build -v -o $ORIG_PATH/plugins/$PLUGIN_TYPE/assets/boundary-plugin-${PLUGIN_TYPE}-${CURR_PLUGIN} .; cd $ORIG_PATH; done; cd $ORIG_PATH/plugins/$PLUGIN_TYPE/assets; for CURR_PLUGIN in $(ls); do gzip -9 $CURR_PLUGIN; done; cd $ORIG_PATH; done; go build -v -tags 'ui' -ldflags "-X $VERSION_PKG_PATH.GitCommit=$PACKAGE_SOURCE_ID -X $VERSION_PKG_PATH.Version=0.6.2 -X $VERSION_PKG_PATH.VersionPrerelease=" -o $OUTPUT_DIR/boundary ./cmd/boundary && cd $OUTPUT_DIR && zip $PACKAGE_ZIP_NAME boundary
|
||||
aliases:
|
||||
- type: local
|
||||
path: boundary_0.6.2_darwin_amd64.zip
|
||||
- type: public-hc-releases
|
||||
path: boundary/boundary_0.6.2/boundary_0.6.2_darwin_amd64.zip
|
||||
- packagespecid: 110a848ce5db07e7fc389430350c45261d2d7baa
|
||||
- packagespecid: 72ea9453ed75bfab19ee6a1fd34e7ac751e5e71d
|
||||
inputs:
|
||||
BINARY_NAME: boundary
|
||||
BUILD_TAGS: ui
|
||||
@@ -65,33 +65,33 @@ packages:
|
||||
builtin:
|
||||
BUILD_LAYERS:
|
||||
- type: copy-source
|
||||
name: 03-copy-source-5c01da64a31c9bfe7ba38f51d95e8bf99c0842f5
|
||||
archive: .buildcache/archives/03-copy-source-5c01da64a31c9bfe7ba38f51d95e8bf99c0842f5.tar.gz
|
||||
name: 03-copy-source-6be6bbcf469c2d26620194eeee87f0c4ba470bde
|
||||
archive: .buildcache/archives/03-copy-source-6be6bbcf469c2d26620194eeee87f0c4ba470bde.tar.gz
|
||||
- type: go-modules
|
||||
name: 02-go-modules-a25cdf16b83859e7e53c8fd5272e4c6b8366e2be
|
||||
archive: .buildcache/archives/02-go-modules-a25cdf16b83859e7e53c8fd5272e4c6b8366e2be.tar.gz
|
||||
name: 02-go-modules-74c0c94188690e22d738cb1784f8feba7c3dc00d
|
||||
archive: .buildcache/archives/02-go-modules-74c0c94188690e22d738cb1784f8feba7c3dc00d.tar.gz
|
||||
- type: ui
|
||||
name: 01-ui-7d0eb4b8e23fd3d22cf70da1dff7e4359673ce05
|
||||
archive: .buildcache/archives/01-ui-7d0eb4b8e23fd3d22cf70da1dff7e4359673ce05.tar.gz
|
||||
name: 01-ui-dfc937906b9b645655c44bc782ef13c64ebe8dbb
|
||||
archive: .buildcache/archives/01-ui-dfc937906b9b645655c44bc782ef13c64ebe8dbb.tar.gz
|
||||
- type: base
|
||||
name: 00-base-849b90f357ec2b0e340c99c0a49e883d36073bd9
|
||||
archive: .buildcache/archives/00-base-849b90f357ec2b0e340c99c0a49e883d36073bd9.tar.gz
|
||||
PACKAGE_CACHE_KEY_FILE: .buildcache/cache-keys/package-110a848ce5db07e7fc389430350c45261d2d7baa
|
||||
name: 00-base-cc87158f920a83b1c241d68474eed6734b32c511
|
||||
archive: .buildcache/archives/00-base-cc87158f920a83b1c241d68474eed6734b32c511.tar.gz
|
||||
PACKAGE_CACHE_KEY_FILE: .buildcache/cache-keys/package-72ea9453ed75bfab19ee6a1fd34e7ac751e5e71d
|
||||
POST_PROCESSORS: apple-notarize av-scan
|
||||
circleci:
|
||||
BUILDER_CACHE_KEY_PREFIX_LIST:
|
||||
- copy-source_5c01_{{checksum ".buildcache/cache-keys/copy-source-5c01da64a31c9bfe7ba38f51d95e8bf99c0842f5"}}
|
||||
- go-modules_a25c_{{checksum ".buildcache/cache-keys/go-modules-a25cdf16b83859e7e53c8fd5272e4c6b8366e2be"}}
|
||||
- ui_7d0e_{{checksum ".buildcache/cache-keys/ui-7d0eb4b8e23fd3d22cf70da1dff7e4359673ce05"}}
|
||||
- base_849b_{{checksum ".buildcache/cache-keys/base-849b90f357ec2b0e340c99c0a49e883d36073bd9"}}
|
||||
PACKAGE_CACHE_KEY: package-110a848ce5db07e7fc389430350c45261d2d7baa-{{checksum ".buildcache/cache-keys/package-110a848ce5db07e7fc389430350c45261d2d7baa"}}
|
||||
- copy-source_6be6_{{checksum ".buildcache/cache-keys/copy-source-6be6bbcf469c2d26620194eeee87f0c4ba470bde"}}
|
||||
- go-modules_74c0_{{checksum ".buildcache/cache-keys/go-modules-74c0c94188690e22d738cb1784f8feba7c3dc00d"}}
|
||||
- ui_dfc9_{{checksum ".buildcache/cache-keys/ui-dfc937906b9b645655c44bc782ef13c64ebe8dbb"}}
|
||||
- base_cc87_{{checksum ".buildcache/cache-keys/base-cc87158f920a83b1c241d68474eed6734b32c511"}}
|
||||
PACKAGE_CACHE_KEY: package-72ea9453ed75bfab19ee6a1fd34e7ac751e5e71d-{{checksum ".buildcache/cache-keys/package-72ea9453ed75bfab19ee6a1fd34e7ac751e5e71d"}}
|
||||
build-command: VERSION_PKG_PATH=github.com/hashicorp/boundary/version; unset GOPATH; ORIG_PATH=$(pwd); for PLUGIN_TYPE in host; do for CURR_PLUGIN in $(ls $ORIG_PATH/plugins/$PLUGIN_TYPE/mains); do cd $ORIG_PATH/plugins/$PLUGIN_TYPE/mains/$CURR_PLUGIN; go build -v -o $ORIG_PATH/plugins/$PLUGIN_TYPE/assets/boundary-plugin-${PLUGIN_TYPE}-${CURR_PLUGIN} .; cd $ORIG_PATH; done; cd $ORIG_PATH/plugins/$PLUGIN_TYPE/assets; for CURR_PLUGIN in $(ls); do gzip -9 $CURR_PLUGIN; done; cd $ORIG_PATH; done; go build -v -tags 'ui' -ldflags "-X $VERSION_PKG_PATH.GitCommit=$PACKAGE_SOURCE_ID -X $VERSION_PKG_PATH.Version=0.6.2 -X $VERSION_PKG_PATH.VersionPrerelease=" -o $OUTPUT_DIR/boundary ./cmd/boundary && cd $OUTPUT_DIR && zip $PACKAGE_ZIP_NAME boundary
|
||||
aliases:
|
||||
- type: local
|
||||
path: boundary_0.6.2_darwin_arm64.zip
|
||||
- type: public-hc-releases
|
||||
path: boundary/boundary_0.6.2/boundary_0.6.2_darwin_arm64.zip
|
||||
- packagespecid: 36032b26f94d618cdc87dcb7ac3b4eb820a4ab6d
|
||||
- packagespecid: ccae35a6ffa3283396cbe5608aa626a65cf951f4
|
||||
inputs:
|
||||
BINARY_NAME: boundary
|
||||
BUILD_TAGS: ui
|
||||
@@ -108,33 +108,33 @@ packages:
|
||||
builtin:
|
||||
BUILD_LAYERS:
|
||||
- type: copy-source
|
||||
name: 03-copy-source-5c01da64a31c9bfe7ba38f51d95e8bf99c0842f5
|
||||
archive: .buildcache/archives/03-copy-source-5c01da64a31c9bfe7ba38f51d95e8bf99c0842f5.tar.gz
|
||||
name: 03-copy-source-6be6bbcf469c2d26620194eeee87f0c4ba470bde
|
||||
archive: .buildcache/archives/03-copy-source-6be6bbcf469c2d26620194eeee87f0c4ba470bde.tar.gz
|
||||
- type: go-modules
|
||||
name: 02-go-modules-a25cdf16b83859e7e53c8fd5272e4c6b8366e2be
|
||||
archive: .buildcache/archives/02-go-modules-a25cdf16b83859e7e53c8fd5272e4c6b8366e2be.tar.gz
|
||||
name: 02-go-modules-74c0c94188690e22d738cb1784f8feba7c3dc00d
|
||||
archive: .buildcache/archives/02-go-modules-74c0c94188690e22d738cb1784f8feba7c3dc00d.tar.gz
|
||||
- type: ui
|
||||
name: 01-ui-7d0eb4b8e23fd3d22cf70da1dff7e4359673ce05
|
||||
archive: .buildcache/archives/01-ui-7d0eb4b8e23fd3d22cf70da1dff7e4359673ce05.tar.gz
|
||||
name: 01-ui-dfc937906b9b645655c44bc782ef13c64ebe8dbb
|
||||
archive: .buildcache/archives/01-ui-dfc937906b9b645655c44bc782ef13c64ebe8dbb.tar.gz
|
||||
- type: base
|
||||
name: 00-base-849b90f357ec2b0e340c99c0a49e883d36073bd9
|
||||
archive: .buildcache/archives/00-base-849b90f357ec2b0e340c99c0a49e883d36073bd9.tar.gz
|
||||
PACKAGE_CACHE_KEY_FILE: .buildcache/cache-keys/package-36032b26f94d618cdc87dcb7ac3b4eb820a4ab6d
|
||||
name: 00-base-cc87158f920a83b1c241d68474eed6734b32c511
|
||||
archive: .buildcache/archives/00-base-cc87158f920a83b1c241d68474eed6734b32c511.tar.gz
|
||||
PACKAGE_CACHE_KEY_FILE: .buildcache/cache-keys/package-ccae35a6ffa3283396cbe5608aa626a65cf951f4
|
||||
POST_PROCESSORS: av-scan
|
||||
circleci:
|
||||
BUILDER_CACHE_KEY_PREFIX_LIST:
|
||||
- copy-source_5c01_{{checksum ".buildcache/cache-keys/copy-source-5c01da64a31c9bfe7ba38f51d95e8bf99c0842f5"}}
|
||||
- go-modules_a25c_{{checksum ".buildcache/cache-keys/go-modules-a25cdf16b83859e7e53c8fd5272e4c6b8366e2be"}}
|
||||
- ui_7d0e_{{checksum ".buildcache/cache-keys/ui-7d0eb4b8e23fd3d22cf70da1dff7e4359673ce05"}}
|
||||
- base_849b_{{checksum ".buildcache/cache-keys/base-849b90f357ec2b0e340c99c0a49e883d36073bd9"}}
|
||||
PACKAGE_CACHE_KEY: package-36032b26f94d618cdc87dcb7ac3b4eb820a4ab6d-{{checksum ".buildcache/cache-keys/package-36032b26f94d618cdc87dcb7ac3b4eb820a4ab6d"}}
|
||||
- copy-source_6be6_{{checksum ".buildcache/cache-keys/copy-source-6be6bbcf469c2d26620194eeee87f0c4ba470bde"}}
|
||||
- go-modules_74c0_{{checksum ".buildcache/cache-keys/go-modules-74c0c94188690e22d738cb1784f8feba7c3dc00d"}}
|
||||
- ui_dfc9_{{checksum ".buildcache/cache-keys/ui-dfc937906b9b645655c44bc782ef13c64ebe8dbb"}}
|
||||
- base_cc87_{{checksum ".buildcache/cache-keys/base-cc87158f920a83b1c241d68474eed6734b32c511"}}
|
||||
PACKAGE_CACHE_KEY: package-ccae35a6ffa3283396cbe5608aa626a65cf951f4-{{checksum ".buildcache/cache-keys/package-ccae35a6ffa3283396cbe5608aa626a65cf951f4"}}
|
||||
build-command: VERSION_PKG_PATH=github.com/hashicorp/boundary/version; unset GOPATH; ORIG_PATH=$(pwd); for PLUGIN_TYPE in host; do for CURR_PLUGIN in $(ls $ORIG_PATH/plugins/$PLUGIN_TYPE/mains); do cd $ORIG_PATH/plugins/$PLUGIN_TYPE/mains/$CURR_PLUGIN; go build -v -o $ORIG_PATH/plugins/$PLUGIN_TYPE/assets/boundary-plugin-${PLUGIN_TYPE}-${CURR_PLUGIN} .; cd $ORIG_PATH; done; cd $ORIG_PATH/plugins/$PLUGIN_TYPE/assets; for CURR_PLUGIN in $(ls); do gzip -9 $CURR_PLUGIN; done; cd $ORIG_PATH; done; go build -v -tags 'ui' -ldflags "-X $VERSION_PKG_PATH.GitCommit=$PACKAGE_SOURCE_ID -X $VERSION_PKG_PATH.Version=0.6.2 -X $VERSION_PKG_PATH.VersionPrerelease=" -o $OUTPUT_DIR/boundary ./cmd/boundary && cd $OUTPUT_DIR && zip $PACKAGE_ZIP_NAME boundary
|
||||
aliases:
|
||||
- type: local
|
||||
path: boundary_0.6.2_freebsd_386.zip
|
||||
- type: public-hc-releases
|
||||
path: boundary/boundary_0.6.2/boundary_0.6.2_freebsd_386.zip
|
||||
- packagespecid: 0922d907d014ef141526a2a3b9d54a3940adcbf3
|
||||
- packagespecid: 0101b0c84138c8e37a5affd1171d04237dcd044f
|
||||
inputs:
|
||||
BINARY_NAME: boundary
|
||||
BUILD_TAGS: ui
|
||||
@@ -151,33 +151,33 @@ packages:
|
||||
builtin:
|
||||
BUILD_LAYERS:
|
||||
- type: copy-source
|
||||
name: 03-copy-source-5c01da64a31c9bfe7ba38f51d95e8bf99c0842f5
|
||||
archive: .buildcache/archives/03-copy-source-5c01da64a31c9bfe7ba38f51d95e8bf99c0842f5.tar.gz
|
||||
name: 03-copy-source-6be6bbcf469c2d26620194eeee87f0c4ba470bde
|
||||
archive: .buildcache/archives/03-copy-source-6be6bbcf469c2d26620194eeee87f0c4ba470bde.tar.gz
|
||||
- type: go-modules
|
||||
name: 02-go-modules-a25cdf16b83859e7e53c8fd5272e4c6b8366e2be
|
||||
archive: .buildcache/archives/02-go-modules-a25cdf16b83859e7e53c8fd5272e4c6b8366e2be.tar.gz
|
||||
name: 02-go-modules-74c0c94188690e22d738cb1784f8feba7c3dc00d
|
||||
archive: .buildcache/archives/02-go-modules-74c0c94188690e22d738cb1784f8feba7c3dc00d.tar.gz
|
||||
- type: ui
|
||||
name: 01-ui-7d0eb4b8e23fd3d22cf70da1dff7e4359673ce05
|
||||
archive: .buildcache/archives/01-ui-7d0eb4b8e23fd3d22cf70da1dff7e4359673ce05.tar.gz
|
||||
name: 01-ui-dfc937906b9b645655c44bc782ef13c64ebe8dbb
|
||||
archive: .buildcache/archives/01-ui-dfc937906b9b645655c44bc782ef13c64ebe8dbb.tar.gz
|
||||
- type: base
|
||||
name: 00-base-849b90f357ec2b0e340c99c0a49e883d36073bd9
|
||||
archive: .buildcache/archives/00-base-849b90f357ec2b0e340c99c0a49e883d36073bd9.tar.gz
|
||||
PACKAGE_CACHE_KEY_FILE: .buildcache/cache-keys/package-0922d907d014ef141526a2a3b9d54a3940adcbf3
|
||||
name: 00-base-cc87158f920a83b1c241d68474eed6734b32c511
|
||||
archive: .buildcache/archives/00-base-cc87158f920a83b1c241d68474eed6734b32c511.tar.gz
|
||||
PACKAGE_CACHE_KEY_FILE: .buildcache/cache-keys/package-0101b0c84138c8e37a5affd1171d04237dcd044f
|
||||
POST_PROCESSORS: av-scan
|
||||
circleci:
|
||||
BUILDER_CACHE_KEY_PREFIX_LIST:
|
||||
- copy-source_5c01_{{checksum ".buildcache/cache-keys/copy-source-5c01da64a31c9bfe7ba38f51d95e8bf99c0842f5"}}
|
||||
- go-modules_a25c_{{checksum ".buildcache/cache-keys/go-modules-a25cdf16b83859e7e53c8fd5272e4c6b8366e2be"}}
|
||||
- ui_7d0e_{{checksum ".buildcache/cache-keys/ui-7d0eb4b8e23fd3d22cf70da1dff7e4359673ce05"}}
|
||||
- base_849b_{{checksum ".buildcache/cache-keys/base-849b90f357ec2b0e340c99c0a49e883d36073bd9"}}
|
||||
PACKAGE_CACHE_KEY: package-0922d907d014ef141526a2a3b9d54a3940adcbf3-{{checksum ".buildcache/cache-keys/package-0922d907d014ef141526a2a3b9d54a3940adcbf3"}}
|
||||
- copy-source_6be6_{{checksum ".buildcache/cache-keys/copy-source-6be6bbcf469c2d26620194eeee87f0c4ba470bde"}}
|
||||
- go-modules_74c0_{{checksum ".buildcache/cache-keys/go-modules-74c0c94188690e22d738cb1784f8feba7c3dc00d"}}
|
||||
- ui_dfc9_{{checksum ".buildcache/cache-keys/ui-dfc937906b9b645655c44bc782ef13c64ebe8dbb"}}
|
||||
- base_cc87_{{checksum ".buildcache/cache-keys/base-cc87158f920a83b1c241d68474eed6734b32c511"}}
|
||||
PACKAGE_CACHE_KEY: package-0101b0c84138c8e37a5affd1171d04237dcd044f-{{checksum ".buildcache/cache-keys/package-0101b0c84138c8e37a5affd1171d04237dcd044f"}}
|
||||
build-command: VERSION_PKG_PATH=github.com/hashicorp/boundary/version; unset GOPATH; ORIG_PATH=$(pwd); for PLUGIN_TYPE in host; do for CURR_PLUGIN in $(ls $ORIG_PATH/plugins/$PLUGIN_TYPE/mains); do cd $ORIG_PATH/plugins/$PLUGIN_TYPE/mains/$CURR_PLUGIN; go build -v -o $ORIG_PATH/plugins/$PLUGIN_TYPE/assets/boundary-plugin-${PLUGIN_TYPE}-${CURR_PLUGIN} .; cd $ORIG_PATH; done; cd $ORIG_PATH/plugins/$PLUGIN_TYPE/assets; for CURR_PLUGIN in $(ls); do gzip -9 $CURR_PLUGIN; done; cd $ORIG_PATH; done; go build -v -tags 'ui' -ldflags "-X $VERSION_PKG_PATH.GitCommit=$PACKAGE_SOURCE_ID -X $VERSION_PKG_PATH.Version=0.6.2 -X $VERSION_PKG_PATH.VersionPrerelease=" -o $OUTPUT_DIR/boundary ./cmd/boundary && cd $OUTPUT_DIR && zip $PACKAGE_ZIP_NAME boundary
|
||||
aliases:
|
||||
- type: local
|
||||
path: boundary_0.6.2_freebsd_amd64.zip
|
||||
- type: public-hc-releases
|
||||
path: boundary/boundary_0.6.2/boundary_0.6.2_freebsd_amd64.zip
|
||||
- packagespecid: ccb0599d3f5653d5bf75173f87d906156ebf1e3d
|
||||
- packagespecid: 3735bcca8df7adfefa7d79ae87bb6731ed5e074f
|
||||
inputs:
|
||||
BINARY_NAME: boundary
|
||||
BUILD_TAGS: ui
|
||||
@@ -194,33 +194,33 @@ packages:
|
||||
builtin:
|
||||
BUILD_LAYERS:
|
||||
- type: copy-source
|
||||
name: 03-copy-source-5c01da64a31c9bfe7ba38f51d95e8bf99c0842f5
|
||||
archive: .buildcache/archives/03-copy-source-5c01da64a31c9bfe7ba38f51d95e8bf99c0842f5.tar.gz
|
||||
name: 03-copy-source-6be6bbcf469c2d26620194eeee87f0c4ba470bde
|
||||
archive: .buildcache/archives/03-copy-source-6be6bbcf469c2d26620194eeee87f0c4ba470bde.tar.gz
|
||||
- type: go-modules
|
||||
name: 02-go-modules-a25cdf16b83859e7e53c8fd5272e4c6b8366e2be
|
||||
archive: .buildcache/archives/02-go-modules-a25cdf16b83859e7e53c8fd5272e4c6b8366e2be.tar.gz
|
||||
name: 02-go-modules-74c0c94188690e22d738cb1784f8feba7c3dc00d
|
||||
archive: .buildcache/archives/02-go-modules-74c0c94188690e22d738cb1784f8feba7c3dc00d.tar.gz
|
||||
- type: ui
|
||||
name: 01-ui-7d0eb4b8e23fd3d22cf70da1dff7e4359673ce05
|
||||
archive: .buildcache/archives/01-ui-7d0eb4b8e23fd3d22cf70da1dff7e4359673ce05.tar.gz
|
||||
name: 01-ui-dfc937906b9b645655c44bc782ef13c64ebe8dbb
|
||||
archive: .buildcache/archives/01-ui-dfc937906b9b645655c44bc782ef13c64ebe8dbb.tar.gz
|
||||
- type: base
|
||||
name: 00-base-849b90f357ec2b0e340c99c0a49e883d36073bd9
|
||||
archive: .buildcache/archives/00-base-849b90f357ec2b0e340c99c0a49e883d36073bd9.tar.gz
|
||||
PACKAGE_CACHE_KEY_FILE: .buildcache/cache-keys/package-ccb0599d3f5653d5bf75173f87d906156ebf1e3d
|
||||
name: 00-base-cc87158f920a83b1c241d68474eed6734b32c511
|
||||
archive: .buildcache/archives/00-base-cc87158f920a83b1c241d68474eed6734b32c511.tar.gz
|
||||
PACKAGE_CACHE_KEY_FILE: .buildcache/cache-keys/package-3735bcca8df7adfefa7d79ae87bb6731ed5e074f
|
||||
POST_PROCESSORS: av-scan
|
||||
circleci:
|
||||
BUILDER_CACHE_KEY_PREFIX_LIST:
|
||||
- copy-source_5c01_{{checksum ".buildcache/cache-keys/copy-source-5c01da64a31c9bfe7ba38f51d95e8bf99c0842f5"}}
|
||||
- go-modules_a25c_{{checksum ".buildcache/cache-keys/go-modules-a25cdf16b83859e7e53c8fd5272e4c6b8366e2be"}}
|
||||
- ui_7d0e_{{checksum ".buildcache/cache-keys/ui-7d0eb4b8e23fd3d22cf70da1dff7e4359673ce05"}}
|
||||
- base_849b_{{checksum ".buildcache/cache-keys/base-849b90f357ec2b0e340c99c0a49e883d36073bd9"}}
|
||||
PACKAGE_CACHE_KEY: package-ccb0599d3f5653d5bf75173f87d906156ebf1e3d-{{checksum ".buildcache/cache-keys/package-ccb0599d3f5653d5bf75173f87d906156ebf1e3d"}}
|
||||
- copy-source_6be6_{{checksum ".buildcache/cache-keys/copy-source-6be6bbcf469c2d26620194eeee87f0c4ba470bde"}}
|
||||
- go-modules_74c0_{{checksum ".buildcache/cache-keys/go-modules-74c0c94188690e22d738cb1784f8feba7c3dc00d"}}
|
||||
- ui_dfc9_{{checksum ".buildcache/cache-keys/ui-dfc937906b9b645655c44bc782ef13c64ebe8dbb"}}
|
||||
- base_cc87_{{checksum ".buildcache/cache-keys/base-cc87158f920a83b1c241d68474eed6734b32c511"}}
|
||||
PACKAGE_CACHE_KEY: package-3735bcca8df7adfefa7d79ae87bb6731ed5e074f-{{checksum ".buildcache/cache-keys/package-3735bcca8df7adfefa7d79ae87bb6731ed5e074f"}}
|
||||
build-command: VERSION_PKG_PATH=github.com/hashicorp/boundary/version; unset GOPATH; ORIG_PATH=$(pwd); for PLUGIN_TYPE in host; do for CURR_PLUGIN in $(ls $ORIG_PATH/plugins/$PLUGIN_TYPE/mains); do cd $ORIG_PATH/plugins/$PLUGIN_TYPE/mains/$CURR_PLUGIN; go build -v -o $ORIG_PATH/plugins/$PLUGIN_TYPE/assets/boundary-plugin-${PLUGIN_TYPE}-${CURR_PLUGIN} .; cd $ORIG_PATH; done; cd $ORIG_PATH/plugins/$PLUGIN_TYPE/assets; for CURR_PLUGIN in $(ls); do gzip -9 $CURR_PLUGIN; done; cd $ORIG_PATH; done; go build -v -tags 'ui' -ldflags "-X $VERSION_PKG_PATH.GitCommit=$PACKAGE_SOURCE_ID -X $VERSION_PKG_PATH.Version=0.6.2 -X $VERSION_PKG_PATH.VersionPrerelease=" -o $OUTPUT_DIR/boundary ./cmd/boundary && cd $OUTPUT_DIR && zip $PACKAGE_ZIP_NAME boundary
|
||||
aliases:
|
||||
- type: local
|
||||
path: boundary_0.6.2_freebsd_arm.zip
|
||||
- type: public-hc-releases
|
||||
path: boundary/boundary_0.6.2/boundary_0.6.2_freebsd_arm.zip
|
||||
- packagespecid: bced2a380b5354bba95ec9da4a54d06bc0a9b56d
|
||||
- packagespecid: 81b9112a9e1bd1d33778c4673adbec942c595a7e
|
||||
inputs:
|
||||
BINARY_NAME: boundary
|
||||
BUILD_TAGS: ui
|
||||
@@ -237,33 +237,33 @@ packages:
|
||||
builtin:
|
||||
BUILD_LAYERS:
|
||||
- type: copy-source
|
||||
name: 03-copy-source-5c01da64a31c9bfe7ba38f51d95e8bf99c0842f5
|
||||
archive: .buildcache/archives/03-copy-source-5c01da64a31c9bfe7ba38f51d95e8bf99c0842f5.tar.gz
|
||||
name: 03-copy-source-6be6bbcf469c2d26620194eeee87f0c4ba470bde
|
||||
archive: .buildcache/archives/03-copy-source-6be6bbcf469c2d26620194eeee87f0c4ba470bde.tar.gz
|
||||
- type: go-modules
|
||||
name: 02-go-modules-a25cdf16b83859e7e53c8fd5272e4c6b8366e2be
|
||||
archive: .buildcache/archives/02-go-modules-a25cdf16b83859e7e53c8fd5272e4c6b8366e2be.tar.gz
|
||||
name: 02-go-modules-74c0c94188690e22d738cb1784f8feba7c3dc00d
|
||||
archive: .buildcache/archives/02-go-modules-74c0c94188690e22d738cb1784f8feba7c3dc00d.tar.gz
|
||||
- type: ui
|
||||
name: 01-ui-7d0eb4b8e23fd3d22cf70da1dff7e4359673ce05
|
||||
archive: .buildcache/archives/01-ui-7d0eb4b8e23fd3d22cf70da1dff7e4359673ce05.tar.gz
|
||||
name: 01-ui-dfc937906b9b645655c44bc782ef13c64ebe8dbb
|
||||
archive: .buildcache/archives/01-ui-dfc937906b9b645655c44bc782ef13c64ebe8dbb.tar.gz
|
||||
- type: base
|
||||
name: 00-base-849b90f357ec2b0e340c99c0a49e883d36073bd9
|
||||
archive: .buildcache/archives/00-base-849b90f357ec2b0e340c99c0a49e883d36073bd9.tar.gz
|
||||
PACKAGE_CACHE_KEY_FILE: .buildcache/cache-keys/package-bced2a380b5354bba95ec9da4a54d06bc0a9b56d
|
||||
name: 00-base-cc87158f920a83b1c241d68474eed6734b32c511
|
||||
archive: .buildcache/archives/00-base-cc87158f920a83b1c241d68474eed6734b32c511.tar.gz
|
||||
PACKAGE_CACHE_KEY_FILE: .buildcache/cache-keys/package-81b9112a9e1bd1d33778c4673adbec942c595a7e
|
||||
POST_PROCESSORS: av-scan
|
||||
circleci:
|
||||
BUILDER_CACHE_KEY_PREFIX_LIST:
|
||||
- copy-source_5c01_{{checksum ".buildcache/cache-keys/copy-source-5c01da64a31c9bfe7ba38f51d95e8bf99c0842f5"}}
|
||||
- go-modules_a25c_{{checksum ".buildcache/cache-keys/go-modules-a25cdf16b83859e7e53c8fd5272e4c6b8366e2be"}}
|
||||
- ui_7d0e_{{checksum ".buildcache/cache-keys/ui-7d0eb4b8e23fd3d22cf70da1dff7e4359673ce05"}}
|
||||
- base_849b_{{checksum ".buildcache/cache-keys/base-849b90f357ec2b0e340c99c0a49e883d36073bd9"}}
|
||||
PACKAGE_CACHE_KEY: package-bced2a380b5354bba95ec9da4a54d06bc0a9b56d-{{checksum ".buildcache/cache-keys/package-bced2a380b5354bba95ec9da4a54d06bc0a9b56d"}}
|
||||
- copy-source_6be6_{{checksum ".buildcache/cache-keys/copy-source-6be6bbcf469c2d26620194eeee87f0c4ba470bde"}}
|
||||
- go-modules_74c0_{{checksum ".buildcache/cache-keys/go-modules-74c0c94188690e22d738cb1784f8feba7c3dc00d"}}
|
||||
- ui_dfc9_{{checksum ".buildcache/cache-keys/ui-dfc937906b9b645655c44bc782ef13c64ebe8dbb"}}
|
||||
- base_cc87_{{checksum ".buildcache/cache-keys/base-cc87158f920a83b1c241d68474eed6734b32c511"}}
|
||||
PACKAGE_CACHE_KEY: package-81b9112a9e1bd1d33778c4673adbec942c595a7e-{{checksum ".buildcache/cache-keys/package-81b9112a9e1bd1d33778c4673adbec942c595a7e"}}
|
||||
build-command: VERSION_PKG_PATH=github.com/hashicorp/boundary/version; unset GOPATH; ORIG_PATH=$(pwd); for PLUGIN_TYPE in host; do for CURR_PLUGIN in $(ls $ORIG_PATH/plugins/$PLUGIN_TYPE/mains); do cd $ORIG_PATH/plugins/$PLUGIN_TYPE/mains/$CURR_PLUGIN; go build -v -o $ORIG_PATH/plugins/$PLUGIN_TYPE/assets/boundary-plugin-${PLUGIN_TYPE}-${CURR_PLUGIN} .; cd $ORIG_PATH; done; cd $ORIG_PATH/plugins/$PLUGIN_TYPE/assets; for CURR_PLUGIN in $(ls); do gzip -9 $CURR_PLUGIN; done; cd $ORIG_PATH; done; go build -v -tags 'ui' -ldflags "-X $VERSION_PKG_PATH.GitCommit=$PACKAGE_SOURCE_ID -X $VERSION_PKG_PATH.Version=0.6.2 -X $VERSION_PKG_PATH.VersionPrerelease=" -o $OUTPUT_DIR/boundary ./cmd/boundary && cd $OUTPUT_DIR && zip $PACKAGE_ZIP_NAME boundary
|
||||
aliases:
|
||||
- type: local
|
||||
path: boundary_0.6.2_linux_386.zip
|
||||
- type: public-hc-releases
|
||||
path: boundary/boundary_0.6.2/boundary_0.6.2_linux_386.zip
|
||||
- packagespecid: 9cdfa7cc4f940bdb711b3e4c05e23a771d7ce29f
|
||||
- packagespecid: b04f52247addbb91ec89a35be1ddff9feadf7090
|
||||
inputs:
|
||||
BINARY_NAME: boundary
|
||||
BUILD_TAGS: ui
|
||||
@@ -280,33 +280,33 @@ packages:
|
||||
builtin:
|
||||
BUILD_LAYERS:
|
||||
- type: copy-source
|
||||
name: 03-copy-source-5c01da64a31c9bfe7ba38f51d95e8bf99c0842f5
|
||||
archive: .buildcache/archives/03-copy-source-5c01da64a31c9bfe7ba38f51d95e8bf99c0842f5.tar.gz
|
||||
name: 03-copy-source-6be6bbcf469c2d26620194eeee87f0c4ba470bde
|
||||
archive: .buildcache/archives/03-copy-source-6be6bbcf469c2d26620194eeee87f0c4ba470bde.tar.gz
|
||||
- type: go-modules
|
||||
name: 02-go-modules-a25cdf16b83859e7e53c8fd5272e4c6b8366e2be
|
||||
archive: .buildcache/archives/02-go-modules-a25cdf16b83859e7e53c8fd5272e4c6b8366e2be.tar.gz
|
||||
name: 02-go-modules-74c0c94188690e22d738cb1784f8feba7c3dc00d
|
||||
archive: .buildcache/archives/02-go-modules-74c0c94188690e22d738cb1784f8feba7c3dc00d.tar.gz
|
||||
- type: ui
|
||||
name: 01-ui-7d0eb4b8e23fd3d22cf70da1dff7e4359673ce05
|
||||
archive: .buildcache/archives/01-ui-7d0eb4b8e23fd3d22cf70da1dff7e4359673ce05.tar.gz
|
||||
name: 01-ui-dfc937906b9b645655c44bc782ef13c64ebe8dbb
|
||||
archive: .buildcache/archives/01-ui-dfc937906b9b645655c44bc782ef13c64ebe8dbb.tar.gz
|
||||
- type: base
|
||||
name: 00-base-849b90f357ec2b0e340c99c0a49e883d36073bd9
|
||||
archive: .buildcache/archives/00-base-849b90f357ec2b0e340c99c0a49e883d36073bd9.tar.gz
|
||||
PACKAGE_CACHE_KEY_FILE: .buildcache/cache-keys/package-9cdfa7cc4f940bdb711b3e4c05e23a771d7ce29f
|
||||
name: 00-base-cc87158f920a83b1c241d68474eed6734b32c511
|
||||
archive: .buildcache/archives/00-base-cc87158f920a83b1c241d68474eed6734b32c511.tar.gz
|
||||
PACKAGE_CACHE_KEY_FILE: .buildcache/cache-keys/package-b04f52247addbb91ec89a35be1ddff9feadf7090
|
||||
POST_PROCESSORS: av-scan
|
||||
circleci:
|
||||
BUILDER_CACHE_KEY_PREFIX_LIST:
|
||||
- copy-source_5c01_{{checksum ".buildcache/cache-keys/copy-source-5c01da64a31c9bfe7ba38f51d95e8bf99c0842f5"}}
|
||||
- go-modules_a25c_{{checksum ".buildcache/cache-keys/go-modules-a25cdf16b83859e7e53c8fd5272e4c6b8366e2be"}}
|
||||
- ui_7d0e_{{checksum ".buildcache/cache-keys/ui-7d0eb4b8e23fd3d22cf70da1dff7e4359673ce05"}}
|
||||
- base_849b_{{checksum ".buildcache/cache-keys/base-849b90f357ec2b0e340c99c0a49e883d36073bd9"}}
|
||||
PACKAGE_CACHE_KEY: package-9cdfa7cc4f940bdb711b3e4c05e23a771d7ce29f-{{checksum ".buildcache/cache-keys/package-9cdfa7cc4f940bdb711b3e4c05e23a771d7ce29f"}}
|
||||
- copy-source_6be6_{{checksum ".buildcache/cache-keys/copy-source-6be6bbcf469c2d26620194eeee87f0c4ba470bde"}}
|
||||
- go-modules_74c0_{{checksum ".buildcache/cache-keys/go-modules-74c0c94188690e22d738cb1784f8feba7c3dc00d"}}
|
||||
- ui_dfc9_{{checksum ".buildcache/cache-keys/ui-dfc937906b9b645655c44bc782ef13c64ebe8dbb"}}
|
||||
- base_cc87_{{checksum ".buildcache/cache-keys/base-cc87158f920a83b1c241d68474eed6734b32c511"}}
|
||||
PACKAGE_CACHE_KEY: package-b04f52247addbb91ec89a35be1ddff9feadf7090-{{checksum ".buildcache/cache-keys/package-b04f52247addbb91ec89a35be1ddff9feadf7090"}}
|
||||
build-command: VERSION_PKG_PATH=github.com/hashicorp/boundary/version; unset GOPATH; ORIG_PATH=$(pwd); for PLUGIN_TYPE in host; do for CURR_PLUGIN in $(ls $ORIG_PATH/plugins/$PLUGIN_TYPE/mains); do cd $ORIG_PATH/plugins/$PLUGIN_TYPE/mains/$CURR_PLUGIN; go build -v -o $ORIG_PATH/plugins/$PLUGIN_TYPE/assets/boundary-plugin-${PLUGIN_TYPE}-${CURR_PLUGIN} .; cd $ORIG_PATH; done; cd $ORIG_PATH/plugins/$PLUGIN_TYPE/assets; for CURR_PLUGIN in $(ls); do gzip -9 $CURR_PLUGIN; done; cd $ORIG_PATH; done; go build -v -tags 'ui' -ldflags "-X $VERSION_PKG_PATH.GitCommit=$PACKAGE_SOURCE_ID -X $VERSION_PKG_PATH.Version=0.6.2 -X $VERSION_PKG_PATH.VersionPrerelease=" -o $OUTPUT_DIR/boundary ./cmd/boundary && cd $OUTPUT_DIR && zip $PACKAGE_ZIP_NAME boundary
|
||||
aliases:
|
||||
- type: local
|
||||
path: boundary_0.6.2_linux_amd64.zip
|
||||
- type: public-hc-releases
|
||||
path: boundary/boundary_0.6.2/boundary_0.6.2_linux_amd64.zip
|
||||
- packagespecid: 6c8214c1a10a7f53964bfb8d2688cadbe8c6b9e4
|
||||
- packagespecid: 25033317f5db33c76740dba3e792063240c317b1
|
||||
inputs:
|
||||
BINARY_NAME: boundary
|
||||
BUILD_TAGS: ui
|
||||
@@ -323,33 +323,33 @@ packages:
|
||||
builtin:
|
||||
BUILD_LAYERS:
|
||||
- type: copy-source
|
||||
name: 03-copy-source-5c01da64a31c9bfe7ba38f51d95e8bf99c0842f5
|
||||
archive: .buildcache/archives/03-copy-source-5c01da64a31c9bfe7ba38f51d95e8bf99c0842f5.tar.gz
|
||||
name: 03-copy-source-6be6bbcf469c2d26620194eeee87f0c4ba470bde
|
||||
archive: .buildcache/archives/03-copy-source-6be6bbcf469c2d26620194eeee87f0c4ba470bde.tar.gz
|
||||
- type: go-modules
|
||||
name: 02-go-modules-a25cdf16b83859e7e53c8fd5272e4c6b8366e2be
|
||||
archive: .buildcache/archives/02-go-modules-a25cdf16b83859e7e53c8fd5272e4c6b8366e2be.tar.gz
|
||||
name: 02-go-modules-74c0c94188690e22d738cb1784f8feba7c3dc00d
|
||||
archive: .buildcache/archives/02-go-modules-74c0c94188690e22d738cb1784f8feba7c3dc00d.tar.gz
|
||||
- type: ui
|
||||
name: 01-ui-7d0eb4b8e23fd3d22cf70da1dff7e4359673ce05
|
||||
archive: .buildcache/archives/01-ui-7d0eb4b8e23fd3d22cf70da1dff7e4359673ce05.tar.gz
|
||||
name: 01-ui-dfc937906b9b645655c44bc782ef13c64ebe8dbb
|
||||
archive: .buildcache/archives/01-ui-dfc937906b9b645655c44bc782ef13c64ebe8dbb.tar.gz
|
||||
- type: base
|
||||
name: 00-base-849b90f357ec2b0e340c99c0a49e883d36073bd9
|
||||
archive: .buildcache/archives/00-base-849b90f357ec2b0e340c99c0a49e883d36073bd9.tar.gz
|
||||
PACKAGE_CACHE_KEY_FILE: .buildcache/cache-keys/package-6c8214c1a10a7f53964bfb8d2688cadbe8c6b9e4
|
||||
name: 00-base-cc87158f920a83b1c241d68474eed6734b32c511
|
||||
archive: .buildcache/archives/00-base-cc87158f920a83b1c241d68474eed6734b32c511.tar.gz
|
||||
PACKAGE_CACHE_KEY_FILE: .buildcache/cache-keys/package-25033317f5db33c76740dba3e792063240c317b1
|
||||
POST_PROCESSORS: av-scan
|
||||
circleci:
|
||||
BUILDER_CACHE_KEY_PREFIX_LIST:
|
||||
- copy-source_5c01_{{checksum ".buildcache/cache-keys/copy-source-5c01da64a31c9bfe7ba38f51d95e8bf99c0842f5"}}
|
||||
- go-modules_a25c_{{checksum ".buildcache/cache-keys/go-modules-a25cdf16b83859e7e53c8fd5272e4c6b8366e2be"}}
|
||||
- ui_7d0e_{{checksum ".buildcache/cache-keys/ui-7d0eb4b8e23fd3d22cf70da1dff7e4359673ce05"}}
|
||||
- base_849b_{{checksum ".buildcache/cache-keys/base-849b90f357ec2b0e340c99c0a49e883d36073bd9"}}
|
||||
PACKAGE_CACHE_KEY: package-6c8214c1a10a7f53964bfb8d2688cadbe8c6b9e4-{{checksum ".buildcache/cache-keys/package-6c8214c1a10a7f53964bfb8d2688cadbe8c6b9e4"}}
|
||||
- copy-source_6be6_{{checksum ".buildcache/cache-keys/copy-source-6be6bbcf469c2d26620194eeee87f0c4ba470bde"}}
|
||||
- go-modules_74c0_{{checksum ".buildcache/cache-keys/go-modules-74c0c94188690e22d738cb1784f8feba7c3dc00d"}}
|
||||
- ui_dfc9_{{checksum ".buildcache/cache-keys/ui-dfc937906b9b645655c44bc782ef13c64ebe8dbb"}}
|
||||
- base_cc87_{{checksum ".buildcache/cache-keys/base-cc87158f920a83b1c241d68474eed6734b32c511"}}
|
||||
PACKAGE_CACHE_KEY: package-25033317f5db33c76740dba3e792063240c317b1-{{checksum ".buildcache/cache-keys/package-25033317f5db33c76740dba3e792063240c317b1"}}
|
||||
build-command: VERSION_PKG_PATH=github.com/hashicorp/boundary/version; unset GOPATH; ORIG_PATH=$(pwd); for PLUGIN_TYPE in host; do for CURR_PLUGIN in $(ls $ORIG_PATH/plugins/$PLUGIN_TYPE/mains); do cd $ORIG_PATH/plugins/$PLUGIN_TYPE/mains/$CURR_PLUGIN; go build -v -o $ORIG_PATH/plugins/$PLUGIN_TYPE/assets/boundary-plugin-${PLUGIN_TYPE}-${CURR_PLUGIN} .; cd $ORIG_PATH; done; cd $ORIG_PATH/plugins/$PLUGIN_TYPE/assets; for CURR_PLUGIN in $(ls); do gzip -9 $CURR_PLUGIN; done; cd $ORIG_PATH; done; go build -v -tags 'ui' -ldflags "-X $VERSION_PKG_PATH.GitCommit=$PACKAGE_SOURCE_ID -X $VERSION_PKG_PATH.Version=0.6.2 -X $VERSION_PKG_PATH.VersionPrerelease=" -o $OUTPUT_DIR/boundary ./cmd/boundary && cd $OUTPUT_DIR && zip $PACKAGE_ZIP_NAME boundary
|
||||
aliases:
|
||||
- type: local
|
||||
path: boundary_0.6.2_linux_arm.zip
|
||||
- type: public-hc-releases
|
||||
path: boundary/boundary_0.6.2/boundary_0.6.2_linux_arm.zip
|
||||
- packagespecid: 276415ef2d0ac06fb080dd55910bb71613f9c049
|
||||
- packagespecid: dc42bacf89f0d78468257a40c404e141fa9272c8
|
||||
inputs:
|
||||
BINARY_NAME: boundary
|
||||
BUILD_TAGS: ui
|
||||
@@ -366,33 +366,33 @@ packages:
|
||||
builtin:
|
||||
BUILD_LAYERS:
|
||||
- type: copy-source
|
||||
name: 03-copy-source-5c01da64a31c9bfe7ba38f51d95e8bf99c0842f5
|
||||
archive: .buildcache/archives/03-copy-source-5c01da64a31c9bfe7ba38f51d95e8bf99c0842f5.tar.gz
|
||||
name: 03-copy-source-6be6bbcf469c2d26620194eeee87f0c4ba470bde
|
||||
archive: .buildcache/archives/03-copy-source-6be6bbcf469c2d26620194eeee87f0c4ba470bde.tar.gz
|
||||
- type: go-modules
|
||||
name: 02-go-modules-a25cdf16b83859e7e53c8fd5272e4c6b8366e2be
|
||||
archive: .buildcache/archives/02-go-modules-a25cdf16b83859e7e53c8fd5272e4c6b8366e2be.tar.gz
|
||||
name: 02-go-modules-74c0c94188690e22d738cb1784f8feba7c3dc00d
|
||||
archive: .buildcache/archives/02-go-modules-74c0c94188690e22d738cb1784f8feba7c3dc00d.tar.gz
|
||||
- type: ui
|
||||
name: 01-ui-7d0eb4b8e23fd3d22cf70da1dff7e4359673ce05
|
||||
archive: .buildcache/archives/01-ui-7d0eb4b8e23fd3d22cf70da1dff7e4359673ce05.tar.gz
|
||||
name: 01-ui-dfc937906b9b645655c44bc782ef13c64ebe8dbb
|
||||
archive: .buildcache/archives/01-ui-dfc937906b9b645655c44bc782ef13c64ebe8dbb.tar.gz
|
||||
- type: base
|
||||
name: 00-base-849b90f357ec2b0e340c99c0a49e883d36073bd9
|
||||
archive: .buildcache/archives/00-base-849b90f357ec2b0e340c99c0a49e883d36073bd9.tar.gz
|
||||
PACKAGE_CACHE_KEY_FILE: .buildcache/cache-keys/package-276415ef2d0ac06fb080dd55910bb71613f9c049
|
||||
name: 00-base-cc87158f920a83b1c241d68474eed6734b32c511
|
||||
archive: .buildcache/archives/00-base-cc87158f920a83b1c241d68474eed6734b32c511.tar.gz
|
||||
PACKAGE_CACHE_KEY_FILE: .buildcache/cache-keys/package-dc42bacf89f0d78468257a40c404e141fa9272c8
|
||||
POST_PROCESSORS: av-scan
|
||||
circleci:
|
||||
BUILDER_CACHE_KEY_PREFIX_LIST:
|
||||
- copy-source_5c01_{{checksum ".buildcache/cache-keys/copy-source-5c01da64a31c9bfe7ba38f51d95e8bf99c0842f5"}}
|
||||
- go-modules_a25c_{{checksum ".buildcache/cache-keys/go-modules-a25cdf16b83859e7e53c8fd5272e4c6b8366e2be"}}
|
||||
- ui_7d0e_{{checksum ".buildcache/cache-keys/ui-7d0eb4b8e23fd3d22cf70da1dff7e4359673ce05"}}
|
||||
- base_849b_{{checksum ".buildcache/cache-keys/base-849b90f357ec2b0e340c99c0a49e883d36073bd9"}}
|
||||
PACKAGE_CACHE_KEY: package-276415ef2d0ac06fb080dd55910bb71613f9c049-{{checksum ".buildcache/cache-keys/package-276415ef2d0ac06fb080dd55910bb71613f9c049"}}
|
||||
- copy-source_6be6_{{checksum ".buildcache/cache-keys/copy-source-6be6bbcf469c2d26620194eeee87f0c4ba470bde"}}
|
||||
- go-modules_74c0_{{checksum ".buildcache/cache-keys/go-modules-74c0c94188690e22d738cb1784f8feba7c3dc00d"}}
|
||||
- ui_dfc9_{{checksum ".buildcache/cache-keys/ui-dfc937906b9b645655c44bc782ef13c64ebe8dbb"}}
|
||||
- base_cc87_{{checksum ".buildcache/cache-keys/base-cc87158f920a83b1c241d68474eed6734b32c511"}}
|
||||
PACKAGE_CACHE_KEY: package-dc42bacf89f0d78468257a40c404e141fa9272c8-{{checksum ".buildcache/cache-keys/package-dc42bacf89f0d78468257a40c404e141fa9272c8"}}
|
||||
build-command: VERSION_PKG_PATH=github.com/hashicorp/boundary/version; unset GOPATH; ORIG_PATH=$(pwd); for PLUGIN_TYPE in host; do for CURR_PLUGIN in $(ls $ORIG_PATH/plugins/$PLUGIN_TYPE/mains); do cd $ORIG_PATH/plugins/$PLUGIN_TYPE/mains/$CURR_PLUGIN; go build -v -o $ORIG_PATH/plugins/$PLUGIN_TYPE/assets/boundary-plugin-${PLUGIN_TYPE}-${CURR_PLUGIN} .; cd $ORIG_PATH; done; cd $ORIG_PATH/plugins/$PLUGIN_TYPE/assets; for CURR_PLUGIN in $(ls); do gzip -9 $CURR_PLUGIN; done; cd $ORIG_PATH; done; go build -v -tags 'ui' -ldflags "-X $VERSION_PKG_PATH.GitCommit=$PACKAGE_SOURCE_ID -X $VERSION_PKG_PATH.Version=0.6.2 -X $VERSION_PKG_PATH.VersionPrerelease=" -o $OUTPUT_DIR/boundary ./cmd/boundary && cd $OUTPUT_DIR && zip $PACKAGE_ZIP_NAME boundary
|
||||
aliases:
|
||||
- type: local
|
||||
path: boundary_0.6.2_linux_arm64.zip
|
||||
- type: public-hc-releases
|
||||
path: boundary/boundary_0.6.2/boundary_0.6.2_linux_arm64.zip
|
||||
- packagespecid: 224e22a10a66af47d1f9468e0ca6c68f2a252599
|
||||
- packagespecid: f56a0ca98b1bf7e4f647cedee7db20d8b940a1e0
|
||||
inputs:
|
||||
BINARY_NAME: boundary
|
||||
BUILD_TAGS: ui
|
||||
@@ -409,33 +409,33 @@ packages:
|
||||
builtin:
|
||||
BUILD_LAYERS:
|
||||
- type: copy-source
|
||||
name: 03-copy-source-5c01da64a31c9bfe7ba38f51d95e8bf99c0842f5
|
||||
archive: .buildcache/archives/03-copy-source-5c01da64a31c9bfe7ba38f51d95e8bf99c0842f5.tar.gz
|
||||
name: 03-copy-source-6be6bbcf469c2d26620194eeee87f0c4ba470bde
|
||||
archive: .buildcache/archives/03-copy-source-6be6bbcf469c2d26620194eeee87f0c4ba470bde.tar.gz
|
||||
- type: go-modules
|
||||
name: 02-go-modules-a25cdf16b83859e7e53c8fd5272e4c6b8366e2be
|
||||
archive: .buildcache/archives/02-go-modules-a25cdf16b83859e7e53c8fd5272e4c6b8366e2be.tar.gz
|
||||
name: 02-go-modules-74c0c94188690e22d738cb1784f8feba7c3dc00d
|
||||
archive: .buildcache/archives/02-go-modules-74c0c94188690e22d738cb1784f8feba7c3dc00d.tar.gz
|
||||
- type: ui
|
||||
name: 01-ui-7d0eb4b8e23fd3d22cf70da1dff7e4359673ce05
|
||||
archive: .buildcache/archives/01-ui-7d0eb4b8e23fd3d22cf70da1dff7e4359673ce05.tar.gz
|
||||
name: 01-ui-dfc937906b9b645655c44bc782ef13c64ebe8dbb
|
||||
archive: .buildcache/archives/01-ui-dfc937906b9b645655c44bc782ef13c64ebe8dbb.tar.gz
|
||||
- type: base
|
||||
name: 00-base-849b90f357ec2b0e340c99c0a49e883d36073bd9
|
||||
archive: .buildcache/archives/00-base-849b90f357ec2b0e340c99c0a49e883d36073bd9.tar.gz
|
||||
PACKAGE_CACHE_KEY_FILE: .buildcache/cache-keys/package-224e22a10a66af47d1f9468e0ca6c68f2a252599
|
||||
name: 00-base-cc87158f920a83b1c241d68474eed6734b32c511
|
||||
archive: .buildcache/archives/00-base-cc87158f920a83b1c241d68474eed6734b32c511.tar.gz
|
||||
PACKAGE_CACHE_KEY_FILE: .buildcache/cache-keys/package-f56a0ca98b1bf7e4f647cedee7db20d8b940a1e0
|
||||
POST_PROCESSORS: av-scan
|
||||
circleci:
|
||||
BUILDER_CACHE_KEY_PREFIX_LIST:
|
||||
- copy-source_5c01_{{checksum ".buildcache/cache-keys/copy-source-5c01da64a31c9bfe7ba38f51d95e8bf99c0842f5"}}
|
||||
- go-modules_a25c_{{checksum ".buildcache/cache-keys/go-modules-a25cdf16b83859e7e53c8fd5272e4c6b8366e2be"}}
|
||||
- ui_7d0e_{{checksum ".buildcache/cache-keys/ui-7d0eb4b8e23fd3d22cf70da1dff7e4359673ce05"}}
|
||||
- base_849b_{{checksum ".buildcache/cache-keys/base-849b90f357ec2b0e340c99c0a49e883d36073bd9"}}
|
||||
PACKAGE_CACHE_KEY: package-224e22a10a66af47d1f9468e0ca6c68f2a252599-{{checksum ".buildcache/cache-keys/package-224e22a10a66af47d1f9468e0ca6c68f2a252599"}}
|
||||
- copy-source_6be6_{{checksum ".buildcache/cache-keys/copy-source-6be6bbcf469c2d26620194eeee87f0c4ba470bde"}}
|
||||
- go-modules_74c0_{{checksum ".buildcache/cache-keys/go-modules-74c0c94188690e22d738cb1784f8feba7c3dc00d"}}
|
||||
- ui_dfc9_{{checksum ".buildcache/cache-keys/ui-dfc937906b9b645655c44bc782ef13c64ebe8dbb"}}
|
||||
- base_cc87_{{checksum ".buildcache/cache-keys/base-cc87158f920a83b1c241d68474eed6734b32c511"}}
|
||||
PACKAGE_CACHE_KEY: package-f56a0ca98b1bf7e4f647cedee7db20d8b940a1e0-{{checksum ".buildcache/cache-keys/package-f56a0ca98b1bf7e4f647cedee7db20d8b940a1e0"}}
|
||||
build-command: VERSION_PKG_PATH=github.com/hashicorp/boundary/version; unset GOPATH; ORIG_PATH=$(pwd); for PLUGIN_TYPE in host; do for CURR_PLUGIN in $(ls $ORIG_PATH/plugins/$PLUGIN_TYPE/mains); do cd $ORIG_PATH/plugins/$PLUGIN_TYPE/mains/$CURR_PLUGIN; go build -v -o $ORIG_PATH/plugins/$PLUGIN_TYPE/assets/boundary-plugin-${PLUGIN_TYPE}-${CURR_PLUGIN} .; cd $ORIG_PATH; done; cd $ORIG_PATH/plugins/$PLUGIN_TYPE/assets; for CURR_PLUGIN in $(ls); do gzip -9 $CURR_PLUGIN; done; cd $ORIG_PATH; done; go build -v -tags 'ui' -ldflags "-X $VERSION_PKG_PATH.GitCommit=$PACKAGE_SOURCE_ID -X $VERSION_PKG_PATH.Version=0.6.2 -X $VERSION_PKG_PATH.VersionPrerelease=" -o $OUTPUT_DIR/boundary ./cmd/boundary && cd $OUTPUT_DIR && zip $PACKAGE_ZIP_NAME boundary
|
||||
aliases:
|
||||
- type: local
|
||||
path: boundary_0.6.2_netbsd_386.zip
|
||||
- type: public-hc-releases
|
||||
path: boundary/boundary_0.6.2/boundary_0.6.2_netbsd_386.zip
|
||||
- packagespecid: b971c9df855df00922afb57baeda53f399318c79
|
||||
- packagespecid: 8dd295cf186df50e92ed66575b73e97003885428
|
||||
inputs:
|
||||
BINARY_NAME: boundary
|
||||
BUILD_TAGS: ui
|
||||
@@ -452,33 +452,33 @@ packages:
|
||||
builtin:
|
||||
BUILD_LAYERS:
|
||||
- type: copy-source
|
||||
name: 03-copy-source-5c01da64a31c9bfe7ba38f51d95e8bf99c0842f5
|
||||
archive: .buildcache/archives/03-copy-source-5c01da64a31c9bfe7ba38f51d95e8bf99c0842f5.tar.gz
|
||||
name: 03-copy-source-6be6bbcf469c2d26620194eeee87f0c4ba470bde
|
||||
archive: .buildcache/archives/03-copy-source-6be6bbcf469c2d26620194eeee87f0c4ba470bde.tar.gz
|
||||
- type: go-modules
|
||||
name: 02-go-modules-a25cdf16b83859e7e53c8fd5272e4c6b8366e2be
|
||||
archive: .buildcache/archives/02-go-modules-a25cdf16b83859e7e53c8fd5272e4c6b8366e2be.tar.gz
|
||||
name: 02-go-modules-74c0c94188690e22d738cb1784f8feba7c3dc00d
|
||||
archive: .buildcache/archives/02-go-modules-74c0c94188690e22d738cb1784f8feba7c3dc00d.tar.gz
|
||||
- type: ui
|
||||
name: 01-ui-7d0eb4b8e23fd3d22cf70da1dff7e4359673ce05
|
||||
archive: .buildcache/archives/01-ui-7d0eb4b8e23fd3d22cf70da1dff7e4359673ce05.tar.gz
|
||||
name: 01-ui-dfc937906b9b645655c44bc782ef13c64ebe8dbb
|
||||
archive: .buildcache/archives/01-ui-dfc937906b9b645655c44bc782ef13c64ebe8dbb.tar.gz
|
||||
- type: base
|
||||
name: 00-base-849b90f357ec2b0e340c99c0a49e883d36073bd9
|
||||
archive: .buildcache/archives/00-base-849b90f357ec2b0e340c99c0a49e883d36073bd9.tar.gz
|
||||
PACKAGE_CACHE_KEY_FILE: .buildcache/cache-keys/package-b971c9df855df00922afb57baeda53f399318c79
|
||||
name: 00-base-cc87158f920a83b1c241d68474eed6734b32c511
|
||||
archive: .buildcache/archives/00-base-cc87158f920a83b1c241d68474eed6734b32c511.tar.gz
|
||||
PACKAGE_CACHE_KEY_FILE: .buildcache/cache-keys/package-8dd295cf186df50e92ed66575b73e97003885428
|
||||
POST_PROCESSORS: av-scan
|
||||
circleci:
|
||||
BUILDER_CACHE_KEY_PREFIX_LIST:
|
||||
- copy-source_5c01_{{checksum ".buildcache/cache-keys/copy-source-5c01da64a31c9bfe7ba38f51d95e8bf99c0842f5"}}
|
||||
- go-modules_a25c_{{checksum ".buildcache/cache-keys/go-modules-a25cdf16b83859e7e53c8fd5272e4c6b8366e2be"}}
|
||||
- ui_7d0e_{{checksum ".buildcache/cache-keys/ui-7d0eb4b8e23fd3d22cf70da1dff7e4359673ce05"}}
|
||||
- base_849b_{{checksum ".buildcache/cache-keys/base-849b90f357ec2b0e340c99c0a49e883d36073bd9"}}
|
||||
PACKAGE_CACHE_KEY: package-b971c9df855df00922afb57baeda53f399318c79-{{checksum ".buildcache/cache-keys/package-b971c9df855df00922afb57baeda53f399318c79"}}
|
||||
- copy-source_6be6_{{checksum ".buildcache/cache-keys/copy-source-6be6bbcf469c2d26620194eeee87f0c4ba470bde"}}
|
||||
- go-modules_74c0_{{checksum ".buildcache/cache-keys/go-modules-74c0c94188690e22d738cb1784f8feba7c3dc00d"}}
|
||||
- ui_dfc9_{{checksum ".buildcache/cache-keys/ui-dfc937906b9b645655c44bc782ef13c64ebe8dbb"}}
|
||||
- base_cc87_{{checksum ".buildcache/cache-keys/base-cc87158f920a83b1c241d68474eed6734b32c511"}}
|
||||
PACKAGE_CACHE_KEY: package-8dd295cf186df50e92ed66575b73e97003885428-{{checksum ".buildcache/cache-keys/package-8dd295cf186df50e92ed66575b73e97003885428"}}
|
||||
build-command: VERSION_PKG_PATH=github.com/hashicorp/boundary/version; unset GOPATH; ORIG_PATH=$(pwd); for PLUGIN_TYPE in host; do for CURR_PLUGIN in $(ls $ORIG_PATH/plugins/$PLUGIN_TYPE/mains); do cd $ORIG_PATH/plugins/$PLUGIN_TYPE/mains/$CURR_PLUGIN; go build -v -o $ORIG_PATH/plugins/$PLUGIN_TYPE/assets/boundary-plugin-${PLUGIN_TYPE}-${CURR_PLUGIN} .; cd $ORIG_PATH; done; cd $ORIG_PATH/plugins/$PLUGIN_TYPE/assets; for CURR_PLUGIN in $(ls); do gzip -9 $CURR_PLUGIN; done; cd $ORIG_PATH; done; go build -v -tags 'ui' -ldflags "-X $VERSION_PKG_PATH.GitCommit=$PACKAGE_SOURCE_ID -X $VERSION_PKG_PATH.Version=0.6.2 -X $VERSION_PKG_PATH.VersionPrerelease=" -o $OUTPUT_DIR/boundary ./cmd/boundary && cd $OUTPUT_DIR && zip $PACKAGE_ZIP_NAME boundary
|
||||
aliases:
|
||||
- type: local
|
||||
path: boundary_0.6.2_netbsd_amd64.zip
|
||||
- type: public-hc-releases
|
||||
path: boundary/boundary_0.6.2/boundary_0.6.2_netbsd_amd64.zip
|
||||
- packagespecid: 1c8250fee830f8fac2364e7d3e3f82ee5832983e
|
||||
- packagespecid: 997f9a9e448c02fe17505a5b75635b9dd1104d92
|
||||
inputs:
|
||||
BINARY_NAME: boundary
|
||||
BUILD_TAGS: ui
|
||||
@@ -495,33 +495,33 @@ packages:
|
||||
builtin:
|
||||
BUILD_LAYERS:
|
||||
- type: copy-source
|
||||
name: 03-copy-source-5c01da64a31c9bfe7ba38f51d95e8bf99c0842f5
|
||||
archive: .buildcache/archives/03-copy-source-5c01da64a31c9bfe7ba38f51d95e8bf99c0842f5.tar.gz
|
||||
name: 03-copy-source-6be6bbcf469c2d26620194eeee87f0c4ba470bde
|
||||
archive: .buildcache/archives/03-copy-source-6be6bbcf469c2d26620194eeee87f0c4ba470bde.tar.gz
|
||||
- type: go-modules
|
||||
name: 02-go-modules-a25cdf16b83859e7e53c8fd5272e4c6b8366e2be
|
||||
archive: .buildcache/archives/02-go-modules-a25cdf16b83859e7e53c8fd5272e4c6b8366e2be.tar.gz
|
||||
name: 02-go-modules-74c0c94188690e22d738cb1784f8feba7c3dc00d
|
||||
archive: .buildcache/archives/02-go-modules-74c0c94188690e22d738cb1784f8feba7c3dc00d.tar.gz
|
||||
- type: ui
|
||||
name: 01-ui-7d0eb4b8e23fd3d22cf70da1dff7e4359673ce05
|
||||
archive: .buildcache/archives/01-ui-7d0eb4b8e23fd3d22cf70da1dff7e4359673ce05.tar.gz
|
||||
name: 01-ui-dfc937906b9b645655c44bc782ef13c64ebe8dbb
|
||||
archive: .buildcache/archives/01-ui-dfc937906b9b645655c44bc782ef13c64ebe8dbb.tar.gz
|
||||
- type: base
|
||||
name: 00-base-849b90f357ec2b0e340c99c0a49e883d36073bd9
|
||||
archive: .buildcache/archives/00-base-849b90f357ec2b0e340c99c0a49e883d36073bd9.tar.gz
|
||||
PACKAGE_CACHE_KEY_FILE: .buildcache/cache-keys/package-1c8250fee830f8fac2364e7d3e3f82ee5832983e
|
||||
name: 00-base-cc87158f920a83b1c241d68474eed6734b32c511
|
||||
archive: .buildcache/archives/00-base-cc87158f920a83b1c241d68474eed6734b32c511.tar.gz
|
||||
PACKAGE_CACHE_KEY_FILE: .buildcache/cache-keys/package-997f9a9e448c02fe17505a5b75635b9dd1104d92
|
||||
POST_PROCESSORS: av-scan
|
||||
circleci:
|
||||
BUILDER_CACHE_KEY_PREFIX_LIST:
|
||||
- copy-source_5c01_{{checksum ".buildcache/cache-keys/copy-source-5c01da64a31c9bfe7ba38f51d95e8bf99c0842f5"}}
|
||||
- go-modules_a25c_{{checksum ".buildcache/cache-keys/go-modules-a25cdf16b83859e7e53c8fd5272e4c6b8366e2be"}}
|
||||
- ui_7d0e_{{checksum ".buildcache/cache-keys/ui-7d0eb4b8e23fd3d22cf70da1dff7e4359673ce05"}}
|
||||
- base_849b_{{checksum ".buildcache/cache-keys/base-849b90f357ec2b0e340c99c0a49e883d36073bd9"}}
|
||||
PACKAGE_CACHE_KEY: package-1c8250fee830f8fac2364e7d3e3f82ee5832983e-{{checksum ".buildcache/cache-keys/package-1c8250fee830f8fac2364e7d3e3f82ee5832983e"}}
|
||||
- copy-source_6be6_{{checksum ".buildcache/cache-keys/copy-source-6be6bbcf469c2d26620194eeee87f0c4ba470bde"}}
|
||||
- go-modules_74c0_{{checksum ".buildcache/cache-keys/go-modules-74c0c94188690e22d738cb1784f8feba7c3dc00d"}}
|
||||
- ui_dfc9_{{checksum ".buildcache/cache-keys/ui-dfc937906b9b645655c44bc782ef13c64ebe8dbb"}}
|
||||
- base_cc87_{{checksum ".buildcache/cache-keys/base-cc87158f920a83b1c241d68474eed6734b32c511"}}
|
||||
PACKAGE_CACHE_KEY: package-997f9a9e448c02fe17505a5b75635b9dd1104d92-{{checksum ".buildcache/cache-keys/package-997f9a9e448c02fe17505a5b75635b9dd1104d92"}}
|
||||
build-command: VERSION_PKG_PATH=github.com/hashicorp/boundary/version; unset GOPATH; ORIG_PATH=$(pwd); for PLUGIN_TYPE in host; do for CURR_PLUGIN in $(ls $ORIG_PATH/plugins/$PLUGIN_TYPE/mains); do cd $ORIG_PATH/plugins/$PLUGIN_TYPE/mains/$CURR_PLUGIN; go build -v -o $ORIG_PATH/plugins/$PLUGIN_TYPE/assets/boundary-plugin-${PLUGIN_TYPE}-${CURR_PLUGIN} .; cd $ORIG_PATH; done; cd $ORIG_PATH/plugins/$PLUGIN_TYPE/assets; for CURR_PLUGIN in $(ls); do gzip -9 $CURR_PLUGIN; done; cd $ORIG_PATH; done; go build -v -tags 'ui' -ldflags "-X $VERSION_PKG_PATH.GitCommit=$PACKAGE_SOURCE_ID -X $VERSION_PKG_PATH.Version=0.6.2 -X $VERSION_PKG_PATH.VersionPrerelease=" -o $OUTPUT_DIR/boundary ./cmd/boundary && cd $OUTPUT_DIR && zip $PACKAGE_ZIP_NAME boundary
|
||||
aliases:
|
||||
- type: local
|
||||
path: boundary_0.6.2_openbsd_386.zip
|
||||
- type: public-hc-releases
|
||||
path: boundary/boundary_0.6.2/boundary_0.6.2_openbsd_386.zip
|
||||
- packagespecid: a8981b00f8f6bce3fb156f73b58c4e33fe077876
|
||||
- packagespecid: 505ab0aca6b881919f05bb8e0125783a5799b4fc
|
||||
inputs:
|
||||
BINARY_NAME: boundary
|
||||
BUILD_TAGS: ui
|
||||
@@ -538,33 +538,33 @@ packages:
|
||||
builtin:
|
||||
BUILD_LAYERS:
|
||||
- type: copy-source
|
||||
name: 03-copy-source-5c01da64a31c9bfe7ba38f51d95e8bf99c0842f5
|
||||
archive: .buildcache/archives/03-copy-source-5c01da64a31c9bfe7ba38f51d95e8bf99c0842f5.tar.gz
|
||||
name: 03-copy-source-6be6bbcf469c2d26620194eeee87f0c4ba470bde
|
||||
archive: .buildcache/archives/03-copy-source-6be6bbcf469c2d26620194eeee87f0c4ba470bde.tar.gz
|
||||
- type: go-modules
|
||||
name: 02-go-modules-a25cdf16b83859e7e53c8fd5272e4c6b8366e2be
|
||||
archive: .buildcache/archives/02-go-modules-a25cdf16b83859e7e53c8fd5272e4c6b8366e2be.tar.gz
|
||||
name: 02-go-modules-74c0c94188690e22d738cb1784f8feba7c3dc00d
|
||||
archive: .buildcache/archives/02-go-modules-74c0c94188690e22d738cb1784f8feba7c3dc00d.tar.gz
|
||||
- type: ui
|
||||
name: 01-ui-7d0eb4b8e23fd3d22cf70da1dff7e4359673ce05
|
||||
archive: .buildcache/archives/01-ui-7d0eb4b8e23fd3d22cf70da1dff7e4359673ce05.tar.gz
|
||||
name: 01-ui-dfc937906b9b645655c44bc782ef13c64ebe8dbb
|
||||
archive: .buildcache/archives/01-ui-dfc937906b9b645655c44bc782ef13c64ebe8dbb.tar.gz
|
||||
- type: base
|
||||
name: 00-base-849b90f357ec2b0e340c99c0a49e883d36073bd9
|
||||
archive: .buildcache/archives/00-base-849b90f357ec2b0e340c99c0a49e883d36073bd9.tar.gz
|
||||
PACKAGE_CACHE_KEY_FILE: .buildcache/cache-keys/package-a8981b00f8f6bce3fb156f73b58c4e33fe077876
|
||||
name: 00-base-cc87158f920a83b1c241d68474eed6734b32c511
|
||||
archive: .buildcache/archives/00-base-cc87158f920a83b1c241d68474eed6734b32c511.tar.gz
|
||||
PACKAGE_CACHE_KEY_FILE: .buildcache/cache-keys/package-505ab0aca6b881919f05bb8e0125783a5799b4fc
|
||||
POST_PROCESSORS: av-scan
|
||||
circleci:
|
||||
BUILDER_CACHE_KEY_PREFIX_LIST:
|
||||
- copy-source_5c01_{{checksum ".buildcache/cache-keys/copy-source-5c01da64a31c9bfe7ba38f51d95e8bf99c0842f5"}}
|
||||
- go-modules_a25c_{{checksum ".buildcache/cache-keys/go-modules-a25cdf16b83859e7e53c8fd5272e4c6b8366e2be"}}
|
||||
- ui_7d0e_{{checksum ".buildcache/cache-keys/ui-7d0eb4b8e23fd3d22cf70da1dff7e4359673ce05"}}
|
||||
- base_849b_{{checksum ".buildcache/cache-keys/base-849b90f357ec2b0e340c99c0a49e883d36073bd9"}}
|
||||
PACKAGE_CACHE_KEY: package-a8981b00f8f6bce3fb156f73b58c4e33fe077876-{{checksum ".buildcache/cache-keys/package-a8981b00f8f6bce3fb156f73b58c4e33fe077876"}}
|
||||
- copy-source_6be6_{{checksum ".buildcache/cache-keys/copy-source-6be6bbcf469c2d26620194eeee87f0c4ba470bde"}}
|
||||
- go-modules_74c0_{{checksum ".buildcache/cache-keys/go-modules-74c0c94188690e22d738cb1784f8feba7c3dc00d"}}
|
||||
- ui_dfc9_{{checksum ".buildcache/cache-keys/ui-dfc937906b9b645655c44bc782ef13c64ebe8dbb"}}
|
||||
- base_cc87_{{checksum ".buildcache/cache-keys/base-cc87158f920a83b1c241d68474eed6734b32c511"}}
|
||||
PACKAGE_CACHE_KEY: package-505ab0aca6b881919f05bb8e0125783a5799b4fc-{{checksum ".buildcache/cache-keys/package-505ab0aca6b881919f05bb8e0125783a5799b4fc"}}
|
||||
build-command: VERSION_PKG_PATH=github.com/hashicorp/boundary/version; unset GOPATH; ORIG_PATH=$(pwd); for PLUGIN_TYPE in host; do for CURR_PLUGIN in $(ls $ORIG_PATH/plugins/$PLUGIN_TYPE/mains); do cd $ORIG_PATH/plugins/$PLUGIN_TYPE/mains/$CURR_PLUGIN; go build -v -o $ORIG_PATH/plugins/$PLUGIN_TYPE/assets/boundary-plugin-${PLUGIN_TYPE}-${CURR_PLUGIN} .; cd $ORIG_PATH; done; cd $ORIG_PATH/plugins/$PLUGIN_TYPE/assets; for CURR_PLUGIN in $(ls); do gzip -9 $CURR_PLUGIN; done; cd $ORIG_PATH; done; go build -v -tags 'ui' -ldflags "-X $VERSION_PKG_PATH.GitCommit=$PACKAGE_SOURCE_ID -X $VERSION_PKG_PATH.Version=0.6.2 -X $VERSION_PKG_PATH.VersionPrerelease=" -o $OUTPUT_DIR/boundary ./cmd/boundary && cd $OUTPUT_DIR && zip $PACKAGE_ZIP_NAME boundary
|
||||
aliases:
|
||||
- type: local
|
||||
path: boundary_0.6.2_openbsd_amd64.zip
|
||||
- type: public-hc-releases
|
||||
path: boundary/boundary_0.6.2/boundary_0.6.2_openbsd_amd64.zip
|
||||
- packagespecid: ee6ae4147a76888401e2032a2fee0926ef36ad00
|
||||
- packagespecid: b7d03bef8d16c702d595798df0cbda643915292c
|
||||
inputs:
|
||||
BINARY_NAME: boundary
|
||||
BUILD_TAGS: ui
|
||||
@@ -581,33 +581,33 @@ packages:
|
||||
builtin:
|
||||
BUILD_LAYERS:
|
||||
- type: copy-source
|
||||
name: 03-copy-source-5c01da64a31c9bfe7ba38f51d95e8bf99c0842f5
|
||||
archive: .buildcache/archives/03-copy-source-5c01da64a31c9bfe7ba38f51d95e8bf99c0842f5.tar.gz
|
||||
name: 03-copy-source-6be6bbcf469c2d26620194eeee87f0c4ba470bde
|
||||
archive: .buildcache/archives/03-copy-source-6be6bbcf469c2d26620194eeee87f0c4ba470bde.tar.gz
|
||||
- type: go-modules
|
||||
name: 02-go-modules-a25cdf16b83859e7e53c8fd5272e4c6b8366e2be
|
||||
archive: .buildcache/archives/02-go-modules-a25cdf16b83859e7e53c8fd5272e4c6b8366e2be.tar.gz
|
||||
name: 02-go-modules-74c0c94188690e22d738cb1784f8feba7c3dc00d
|
||||
archive: .buildcache/archives/02-go-modules-74c0c94188690e22d738cb1784f8feba7c3dc00d.tar.gz
|
||||
- type: ui
|
||||
name: 01-ui-7d0eb4b8e23fd3d22cf70da1dff7e4359673ce05
|
||||
archive: .buildcache/archives/01-ui-7d0eb4b8e23fd3d22cf70da1dff7e4359673ce05.tar.gz
|
||||
name: 01-ui-dfc937906b9b645655c44bc782ef13c64ebe8dbb
|
||||
archive: .buildcache/archives/01-ui-dfc937906b9b645655c44bc782ef13c64ebe8dbb.tar.gz
|
||||
- type: base
|
||||
name: 00-base-849b90f357ec2b0e340c99c0a49e883d36073bd9
|
||||
archive: .buildcache/archives/00-base-849b90f357ec2b0e340c99c0a49e883d36073bd9.tar.gz
|
||||
PACKAGE_CACHE_KEY_FILE: .buildcache/cache-keys/package-ee6ae4147a76888401e2032a2fee0926ef36ad00
|
||||
name: 00-base-cc87158f920a83b1c241d68474eed6734b32c511
|
||||
archive: .buildcache/archives/00-base-cc87158f920a83b1c241d68474eed6734b32c511.tar.gz
|
||||
PACKAGE_CACHE_KEY_FILE: .buildcache/cache-keys/package-b7d03bef8d16c702d595798df0cbda643915292c
|
||||
POST_PROCESSORS: av-scan
|
||||
circleci:
|
||||
BUILDER_CACHE_KEY_PREFIX_LIST:
|
||||
- copy-source_5c01_{{checksum ".buildcache/cache-keys/copy-source-5c01da64a31c9bfe7ba38f51d95e8bf99c0842f5"}}
|
||||
- go-modules_a25c_{{checksum ".buildcache/cache-keys/go-modules-a25cdf16b83859e7e53c8fd5272e4c6b8366e2be"}}
|
||||
- ui_7d0e_{{checksum ".buildcache/cache-keys/ui-7d0eb4b8e23fd3d22cf70da1dff7e4359673ce05"}}
|
||||
- base_849b_{{checksum ".buildcache/cache-keys/base-849b90f357ec2b0e340c99c0a49e883d36073bd9"}}
|
||||
PACKAGE_CACHE_KEY: package-ee6ae4147a76888401e2032a2fee0926ef36ad00-{{checksum ".buildcache/cache-keys/package-ee6ae4147a76888401e2032a2fee0926ef36ad00"}}
|
||||
- copy-source_6be6_{{checksum ".buildcache/cache-keys/copy-source-6be6bbcf469c2d26620194eeee87f0c4ba470bde"}}
|
||||
- go-modules_74c0_{{checksum ".buildcache/cache-keys/go-modules-74c0c94188690e22d738cb1784f8feba7c3dc00d"}}
|
||||
- ui_dfc9_{{checksum ".buildcache/cache-keys/ui-dfc937906b9b645655c44bc782ef13c64ebe8dbb"}}
|
||||
- base_cc87_{{checksum ".buildcache/cache-keys/base-cc87158f920a83b1c241d68474eed6734b32c511"}}
|
||||
PACKAGE_CACHE_KEY: package-b7d03bef8d16c702d595798df0cbda643915292c-{{checksum ".buildcache/cache-keys/package-b7d03bef8d16c702d595798df0cbda643915292c"}}
|
||||
build-command: VERSION_PKG_PATH=github.com/hashicorp/boundary/version; unset GOPATH; ORIG_PATH=$(pwd); for PLUGIN_TYPE in host; do for CURR_PLUGIN in $(ls $ORIG_PATH/plugins/$PLUGIN_TYPE/mains); do cd $ORIG_PATH/plugins/$PLUGIN_TYPE/mains/$CURR_PLUGIN; go build -v -o $ORIG_PATH/plugins/$PLUGIN_TYPE/assets/boundary-plugin-${PLUGIN_TYPE}-${CURR_PLUGIN} .; cd $ORIG_PATH; done; cd $ORIG_PATH/plugins/$PLUGIN_TYPE/assets; for CURR_PLUGIN in $(ls); do gzip -9 $CURR_PLUGIN; done; cd $ORIG_PATH; done; go build -v -tags 'ui' -ldflags "-X $VERSION_PKG_PATH.GitCommit=$PACKAGE_SOURCE_ID -X $VERSION_PKG_PATH.Version=0.6.2 -X $VERSION_PKG_PATH.VersionPrerelease=" -o $OUTPUT_DIR/boundary ./cmd/boundary && cd $OUTPUT_DIR && zip $PACKAGE_ZIP_NAME boundary
|
||||
aliases:
|
||||
- type: local
|
||||
path: boundary_0.6.2_solaris_amd64.zip
|
||||
- type: public-hc-releases
|
||||
path: boundary/boundary_0.6.2/boundary_0.6.2_solaris_amd64.zip
|
||||
- packagespecid: e3454f0b7ee22d489b83f6daf78d545f4878a79c
|
||||
- packagespecid: a68848e3db3953d016f73aabb3d732a0333b7bc9
|
||||
inputs:
|
||||
BINARY_NAME: boundary.exe
|
||||
BUILD_TAGS: ui
|
||||
@@ -624,33 +624,33 @@ packages:
|
||||
builtin:
|
||||
BUILD_LAYERS:
|
||||
- type: copy-source
|
||||
name: 03-copy-source-5c01da64a31c9bfe7ba38f51d95e8bf99c0842f5
|
||||
archive: .buildcache/archives/03-copy-source-5c01da64a31c9bfe7ba38f51d95e8bf99c0842f5.tar.gz
|
||||
name: 03-copy-source-6be6bbcf469c2d26620194eeee87f0c4ba470bde
|
||||
archive: .buildcache/archives/03-copy-source-6be6bbcf469c2d26620194eeee87f0c4ba470bde.tar.gz
|
||||
- type: go-modules
|
||||
name: 02-go-modules-a25cdf16b83859e7e53c8fd5272e4c6b8366e2be
|
||||
archive: .buildcache/archives/02-go-modules-a25cdf16b83859e7e53c8fd5272e4c6b8366e2be.tar.gz
|
||||
name: 02-go-modules-74c0c94188690e22d738cb1784f8feba7c3dc00d
|
||||
archive: .buildcache/archives/02-go-modules-74c0c94188690e22d738cb1784f8feba7c3dc00d.tar.gz
|
||||
- type: ui
|
||||
name: 01-ui-7d0eb4b8e23fd3d22cf70da1dff7e4359673ce05
|
||||
archive: .buildcache/archives/01-ui-7d0eb4b8e23fd3d22cf70da1dff7e4359673ce05.tar.gz
|
||||
name: 01-ui-dfc937906b9b645655c44bc782ef13c64ebe8dbb
|
||||
archive: .buildcache/archives/01-ui-dfc937906b9b645655c44bc782ef13c64ebe8dbb.tar.gz
|
||||
- type: base
|
||||
name: 00-base-849b90f357ec2b0e340c99c0a49e883d36073bd9
|
||||
archive: .buildcache/archives/00-base-849b90f357ec2b0e340c99c0a49e883d36073bd9.tar.gz
|
||||
PACKAGE_CACHE_KEY_FILE: .buildcache/cache-keys/package-e3454f0b7ee22d489b83f6daf78d545f4878a79c
|
||||
name: 00-base-cc87158f920a83b1c241d68474eed6734b32c511
|
||||
archive: .buildcache/archives/00-base-cc87158f920a83b1c241d68474eed6734b32c511.tar.gz
|
||||
PACKAGE_CACHE_KEY_FILE: .buildcache/cache-keys/package-a68848e3db3953d016f73aabb3d732a0333b7bc9
|
||||
POST_PROCESSORS: microsoft-notarize av-scan
|
||||
circleci:
|
||||
BUILDER_CACHE_KEY_PREFIX_LIST:
|
||||
- copy-source_5c01_{{checksum ".buildcache/cache-keys/copy-source-5c01da64a31c9bfe7ba38f51d95e8bf99c0842f5"}}
|
||||
- go-modules_a25c_{{checksum ".buildcache/cache-keys/go-modules-a25cdf16b83859e7e53c8fd5272e4c6b8366e2be"}}
|
||||
- ui_7d0e_{{checksum ".buildcache/cache-keys/ui-7d0eb4b8e23fd3d22cf70da1dff7e4359673ce05"}}
|
||||
- base_849b_{{checksum ".buildcache/cache-keys/base-849b90f357ec2b0e340c99c0a49e883d36073bd9"}}
|
||||
PACKAGE_CACHE_KEY: package-e3454f0b7ee22d489b83f6daf78d545f4878a79c-{{checksum ".buildcache/cache-keys/package-e3454f0b7ee22d489b83f6daf78d545f4878a79c"}}
|
||||
- copy-source_6be6_{{checksum ".buildcache/cache-keys/copy-source-6be6bbcf469c2d26620194eeee87f0c4ba470bde"}}
|
||||
- go-modules_74c0_{{checksum ".buildcache/cache-keys/go-modules-74c0c94188690e22d738cb1784f8feba7c3dc00d"}}
|
||||
- ui_dfc9_{{checksum ".buildcache/cache-keys/ui-dfc937906b9b645655c44bc782ef13c64ebe8dbb"}}
|
||||
- base_cc87_{{checksum ".buildcache/cache-keys/base-cc87158f920a83b1c241d68474eed6734b32c511"}}
|
||||
PACKAGE_CACHE_KEY: package-a68848e3db3953d016f73aabb3d732a0333b7bc9-{{checksum ".buildcache/cache-keys/package-a68848e3db3953d016f73aabb3d732a0333b7bc9"}}
|
||||
build-command: VERSION_PKG_PATH=github.com/hashicorp/boundary/version; unset GOPATH; ORIG_PATH=$(pwd); for PLUGIN_TYPE in host; do for CURR_PLUGIN in $(ls $ORIG_PATH/plugins/$PLUGIN_TYPE/mains); do cd $ORIG_PATH/plugins/$PLUGIN_TYPE/mains/$CURR_PLUGIN; go build -v -o $ORIG_PATH/plugins/$PLUGIN_TYPE/assets/boundary-plugin-${PLUGIN_TYPE}-${CURR_PLUGIN} .; cd $ORIG_PATH; done; cd $ORIG_PATH/plugins/$PLUGIN_TYPE/assets; for CURR_PLUGIN in $(ls); do gzip -9 $CURR_PLUGIN; done; cd $ORIG_PATH; done; go build -v -tags 'ui' -ldflags "-X $VERSION_PKG_PATH.GitCommit=$PACKAGE_SOURCE_ID -X $VERSION_PKG_PATH.Version=0.6.2 -X $VERSION_PKG_PATH.VersionPrerelease=" -o $OUTPUT_DIR/boundary.exe ./cmd/boundary && cd $OUTPUT_DIR && zip $PACKAGE_ZIP_NAME boundary.exe
|
||||
aliases:
|
||||
- type: local
|
||||
path: boundary_0.6.2_windows_386.zip
|
||||
- type: public-hc-releases
|
||||
path: boundary/boundary_0.6.2/boundary_0.6.2_windows_386.zip
|
||||
- packagespecid: d92fb1003c4ac9e95b86d700d64bf54b76e6fef5
|
||||
- packagespecid: 89694dc28c6ddc1d0648b69cefdcc9f67d59a240
|
||||
inputs:
|
||||
BINARY_NAME: boundary.exe
|
||||
BUILD_TAGS: ui
|
||||
@@ -667,49 +667,49 @@ packages:
|
||||
builtin:
|
||||
BUILD_LAYERS:
|
||||
- type: copy-source
|
||||
name: 03-copy-source-5c01da64a31c9bfe7ba38f51d95e8bf99c0842f5
|
||||
archive: .buildcache/archives/03-copy-source-5c01da64a31c9bfe7ba38f51d95e8bf99c0842f5.tar.gz
|
||||
name: 03-copy-source-6be6bbcf469c2d26620194eeee87f0c4ba470bde
|
||||
archive: .buildcache/archives/03-copy-source-6be6bbcf469c2d26620194eeee87f0c4ba470bde.tar.gz
|
||||
- type: go-modules
|
||||
name: 02-go-modules-a25cdf16b83859e7e53c8fd5272e4c6b8366e2be
|
||||
archive: .buildcache/archives/02-go-modules-a25cdf16b83859e7e53c8fd5272e4c6b8366e2be.tar.gz
|
||||
name: 02-go-modules-74c0c94188690e22d738cb1784f8feba7c3dc00d
|
||||
archive: .buildcache/archives/02-go-modules-74c0c94188690e22d738cb1784f8feba7c3dc00d.tar.gz
|
||||
- type: ui
|
||||
name: 01-ui-7d0eb4b8e23fd3d22cf70da1dff7e4359673ce05
|
||||
archive: .buildcache/archives/01-ui-7d0eb4b8e23fd3d22cf70da1dff7e4359673ce05.tar.gz
|
||||
name: 01-ui-dfc937906b9b645655c44bc782ef13c64ebe8dbb
|
||||
archive: .buildcache/archives/01-ui-dfc937906b9b645655c44bc782ef13c64ebe8dbb.tar.gz
|
||||
- type: base
|
||||
name: 00-base-849b90f357ec2b0e340c99c0a49e883d36073bd9
|
||||
archive: .buildcache/archives/00-base-849b90f357ec2b0e340c99c0a49e883d36073bd9.tar.gz
|
||||
PACKAGE_CACHE_KEY_FILE: .buildcache/cache-keys/package-d92fb1003c4ac9e95b86d700d64bf54b76e6fef5
|
||||
name: 00-base-cc87158f920a83b1c241d68474eed6734b32c511
|
||||
archive: .buildcache/archives/00-base-cc87158f920a83b1c241d68474eed6734b32c511.tar.gz
|
||||
PACKAGE_CACHE_KEY_FILE: .buildcache/cache-keys/package-89694dc28c6ddc1d0648b69cefdcc9f67d59a240
|
||||
POST_PROCESSORS: microsoft-notarize av-scan
|
||||
circleci:
|
||||
BUILDER_CACHE_KEY_PREFIX_LIST:
|
||||
- copy-source_5c01_{{checksum ".buildcache/cache-keys/copy-source-5c01da64a31c9bfe7ba38f51d95e8bf99c0842f5"}}
|
||||
- go-modules_a25c_{{checksum ".buildcache/cache-keys/go-modules-a25cdf16b83859e7e53c8fd5272e4c6b8366e2be"}}
|
||||
- ui_7d0e_{{checksum ".buildcache/cache-keys/ui-7d0eb4b8e23fd3d22cf70da1dff7e4359673ce05"}}
|
||||
- base_849b_{{checksum ".buildcache/cache-keys/base-849b90f357ec2b0e340c99c0a49e883d36073bd9"}}
|
||||
PACKAGE_CACHE_KEY: package-d92fb1003c4ac9e95b86d700d64bf54b76e6fef5-{{checksum ".buildcache/cache-keys/package-d92fb1003c4ac9e95b86d700d64bf54b76e6fef5"}}
|
||||
- copy-source_6be6_{{checksum ".buildcache/cache-keys/copy-source-6be6bbcf469c2d26620194eeee87f0c4ba470bde"}}
|
||||
- go-modules_74c0_{{checksum ".buildcache/cache-keys/go-modules-74c0c94188690e22d738cb1784f8feba7c3dc00d"}}
|
||||
- ui_dfc9_{{checksum ".buildcache/cache-keys/ui-dfc937906b9b645655c44bc782ef13c64ebe8dbb"}}
|
||||
- base_cc87_{{checksum ".buildcache/cache-keys/base-cc87158f920a83b1c241d68474eed6734b32c511"}}
|
||||
PACKAGE_CACHE_KEY: package-89694dc28c6ddc1d0648b69cefdcc9f67d59a240-{{checksum ".buildcache/cache-keys/package-89694dc28c6ddc1d0648b69cefdcc9f67d59a240"}}
|
||||
build-command: VERSION_PKG_PATH=github.com/hashicorp/boundary/version; unset GOPATH; ORIG_PATH=$(pwd); for PLUGIN_TYPE in host; do for CURR_PLUGIN in $(ls $ORIG_PATH/plugins/$PLUGIN_TYPE/mains); do cd $ORIG_PATH/plugins/$PLUGIN_TYPE/mains/$CURR_PLUGIN; go build -v -o $ORIG_PATH/plugins/$PLUGIN_TYPE/assets/boundary-plugin-${PLUGIN_TYPE}-${CURR_PLUGIN} .; cd $ORIG_PATH; done; cd $ORIG_PATH/plugins/$PLUGIN_TYPE/assets; for CURR_PLUGIN in $(ls); do gzip -9 $CURR_PLUGIN; done; cd $ORIG_PATH; done; go build -v -tags 'ui' -ldflags "-X $VERSION_PKG_PATH.GitCommit=$PACKAGE_SOURCE_ID -X $VERSION_PKG_PATH.Version=0.6.2 -X $VERSION_PKG_PATH.VersionPrerelease=" -o $OUTPUT_DIR/boundary.exe ./cmd/boundary && cd $OUTPUT_DIR && zip $PACKAGE_ZIP_NAME boundary.exe
|
||||
aliases:
|
||||
- type: local
|
||||
path: boundary_0.6.2_windows_amd64.zip
|
||||
- type: public-hc-releases
|
||||
path: boundary/boundary_0.6.2/boundary_0.6.2_windows_amd64.zip
|
||||
base-image: docker.mirror.hashicorp.services/golang@sha256:c301ce41458847a02caea52b5c2fd2a18b34f33785ddd676d38defe286bb946b
|
||||
base-image: docker.mirror.hashicorp.services/golang@sha256:3b27ac95762ce1340a4824dc3cab2dc9d63f194f0899a0a9887402c1b1463f41
|
||||
layers:
|
||||
- depth: 0
|
||||
final: false
|
||||
type: base
|
||||
id: 849b90f357ec2b0e340c99c0a49e883d36073bd9
|
||||
name: 00-base-849b90f357ec2b0e340c99c0a49e883d36073bd9
|
||||
id: cc87158f920a83b1c241d68474eed6734b32c511
|
||||
name: 00-base-cc87158f920a83b1c241d68474eed6734b32c511
|
||||
parentname: ""
|
||||
parenttype: ""
|
||||
parentid: ""
|
||||
cachekeyfile: .buildcache/cache-keys/base-849b90f357ec2b0e340c99c0a49e883d36073bd9
|
||||
cachekeyfile: .buildcache/cache-keys/base-cc87158f920a83b1c241d68474eed6734b32c511
|
||||
sourceinclude: ""
|
||||
sourceexclude: ""
|
||||
archivefile: .buildcache/archives/00-base-849b90f357ec2b0e340c99c0a49e883d36073bd9.tar.gz
|
||||
archivefile: .buildcache/archives/00-base-cc87158f920a83b1c241d68474eed6734b32c511.tar.gz
|
||||
dockerfile: |
|
||||
# syntax=docker.mirror.hashicorp.services/docker/dockerfile:1.1.7-experimental
|
||||
FROM docker.mirror.hashicorp.services/golang@sha256:c301ce41458847a02caea52b5c2fd2a18b34f33785ddd676d38defe286bb946b
|
||||
FROM docker.mirror.hashicorp.services/golang@sha256:3b27ac95762ce1340a4824dc3cab2dc9d63f194f0899a0a9887402c1b1463f41
|
||||
COPY . ./
|
||||
ENV \
|
||||
GOPATH= \
|
||||
@@ -730,24 +730,24 @@ layers:
|
||||
builtin:
|
||||
LAYER_LIST:
|
||||
- type: base
|
||||
name: 00-base-849b90f357ec2b0e340c99c0a49e883d36073bd9
|
||||
archive: .buildcache/archives/00-base-849b90f357ec2b0e340c99c0a49e883d36073bd9.tar.gz
|
||||
name: 00-base-cc87158f920a83b1c241d68474eed6734b32c511
|
||||
archive: .buildcache/archives/00-base-cc87158f920a83b1c241d68474eed6734b32c511.tar.gz
|
||||
circleci:
|
||||
CACHE_KEY_PREFIX_LIST:
|
||||
- base_849b_{{checksum ".buildcache/cache-keys/base-849b90f357ec2b0e340c99c0a49e883d36073bd9"}}
|
||||
- base_cc87_{{checksum ".buildcache/cache-keys/base-cc87158f920a83b1c241d68474eed6734b32c511"}}
|
||||
childcount: 1
|
||||
- depth: 1
|
||||
final: false
|
||||
type: ui
|
||||
id: 7d0eb4b8e23fd3d22cf70da1dff7e4359673ce05
|
||||
name: 01-ui-7d0eb4b8e23fd3d22cf70da1dff7e4359673ce05
|
||||
parentname: 00-base-849b90f357ec2b0e340c99c0a49e883d36073bd9
|
||||
id: dfc937906b9b645655c44bc782ef13c64ebe8dbb
|
||||
name: 01-ui-dfc937906b9b645655c44bc782ef13c64ebe8dbb
|
||||
parentname: 00-base-cc87158f920a83b1c241d68474eed6734b32c511
|
||||
parenttype: base
|
||||
parentid: 849b90f357ec2b0e340c99c0a49e883d36073bd9
|
||||
cachekeyfile: .buildcache/cache-keys/ui-7d0eb4b8e23fd3d22cf70da1dff7e4359673ce05
|
||||
parentid: cc87158f920a83b1c241d68474eed6734b32c511
|
||||
cachekeyfile: .buildcache/cache-keys/ui-dfc937906b9b645655c44bc782ef13c64ebe8dbb
|
||||
sourceinclude: internal/ui/VERSION
|
||||
sourceexclude: ""
|
||||
archivefile: .buildcache/archives/01-ui-7d0eb4b8e23fd3d22cf70da1dff7e4359673ce05.tar.gz
|
||||
archivefile: .buildcache/archives/01-ui-dfc937906b9b645655c44bc782ef13c64ebe8dbb.tar.gz
|
||||
dockerfile: |
|
||||
# syntax=docker.mirror.hashicorp.services/docker/dockerfile:1.1.7-experimental
|
||||
ARG BASE_IMAGE
|
||||
@@ -767,28 +767,28 @@ layers:
|
||||
builtin:
|
||||
LAYER_LIST:
|
||||
- type: ui
|
||||
name: 01-ui-7d0eb4b8e23fd3d22cf70da1dff7e4359673ce05
|
||||
archive: .buildcache/archives/01-ui-7d0eb4b8e23fd3d22cf70da1dff7e4359673ce05.tar.gz
|
||||
name: 01-ui-dfc937906b9b645655c44bc782ef13c64ebe8dbb
|
||||
archive: .buildcache/archives/01-ui-dfc937906b9b645655c44bc782ef13c64ebe8dbb.tar.gz
|
||||
- type: base
|
||||
name: 00-base-849b90f357ec2b0e340c99c0a49e883d36073bd9
|
||||
archive: .buildcache/archives/00-base-849b90f357ec2b0e340c99c0a49e883d36073bd9.tar.gz
|
||||
name: 00-base-cc87158f920a83b1c241d68474eed6734b32c511
|
||||
archive: .buildcache/archives/00-base-cc87158f920a83b1c241d68474eed6734b32c511.tar.gz
|
||||
circleci:
|
||||
CACHE_KEY_PREFIX_LIST:
|
||||
- ui_7d0e_{{checksum ".buildcache/cache-keys/ui-7d0eb4b8e23fd3d22cf70da1dff7e4359673ce05"}}
|
||||
- base_849b_{{checksum ".buildcache/cache-keys/base-849b90f357ec2b0e340c99c0a49e883d36073bd9"}}
|
||||
- ui_dfc9_{{checksum ".buildcache/cache-keys/ui-dfc937906b9b645655c44bc782ef13c64ebe8dbb"}}
|
||||
- base_cc87_{{checksum ".buildcache/cache-keys/base-cc87158f920a83b1c241d68474eed6734b32c511"}}
|
||||
childcount: 1
|
||||
- depth: 2
|
||||
final: false
|
||||
type: go-modules
|
||||
id: a25cdf16b83859e7e53c8fd5272e4c6b8366e2be
|
||||
name: 02-go-modules-a25cdf16b83859e7e53c8fd5272e4c6b8366e2be
|
||||
parentname: 01-ui-7d0eb4b8e23fd3d22cf70da1dff7e4359673ce05
|
||||
id: 74c0c94188690e22d738cb1784f8feba7c3dc00d
|
||||
name: 02-go-modules-74c0c94188690e22d738cb1784f8feba7c3dc00d
|
||||
parentname: 01-ui-dfc937906b9b645655c44bc782ef13c64ebe8dbb
|
||||
parenttype: ui
|
||||
parentid: 7d0eb4b8e23fd3d22cf70da1dff7e4359673ce05
|
||||
cachekeyfile: .buildcache/cache-keys/go-modules-a25cdf16b83859e7e53c8fd5272e4c6b8366e2be
|
||||
parentid: dfc937906b9b645655c44bc782ef13c64ebe8dbb
|
||||
cachekeyfile: .buildcache/cache-keys/go-modules-74c0c94188690e22d738cb1784f8feba7c3dc00d
|
||||
sourceinclude: go.mod go.sum */go.mod */go.sum
|
||||
sourceexclude: ""
|
||||
archivefile: .buildcache/archives/02-go-modules-a25cdf16b83859e7e53c8fd5272e4c6b8366e2be.tar.gz
|
||||
archivefile: .buildcache/archives/02-go-modules-74c0c94188690e22d738cb1784f8feba7c3dc00d.tar.gz
|
||||
dockerfile: |
|
||||
# syntax=docker.mirror.hashicorp.services/docker/dockerfile:1.1.7-experimental
|
||||
ARG BASE_IMAGE
|
||||
@@ -799,32 +799,32 @@ layers:
|
||||
builtin:
|
||||
LAYER_LIST:
|
||||
- type: go-modules
|
||||
name: 02-go-modules-a25cdf16b83859e7e53c8fd5272e4c6b8366e2be
|
||||
archive: .buildcache/archives/02-go-modules-a25cdf16b83859e7e53c8fd5272e4c6b8366e2be.tar.gz
|
||||
name: 02-go-modules-74c0c94188690e22d738cb1784f8feba7c3dc00d
|
||||
archive: .buildcache/archives/02-go-modules-74c0c94188690e22d738cb1784f8feba7c3dc00d.tar.gz
|
||||
- type: ui
|
||||
name: 01-ui-7d0eb4b8e23fd3d22cf70da1dff7e4359673ce05
|
||||
archive: .buildcache/archives/01-ui-7d0eb4b8e23fd3d22cf70da1dff7e4359673ce05.tar.gz
|
||||
name: 01-ui-dfc937906b9b645655c44bc782ef13c64ebe8dbb
|
||||
archive: .buildcache/archives/01-ui-dfc937906b9b645655c44bc782ef13c64ebe8dbb.tar.gz
|
||||
- type: base
|
||||
name: 00-base-849b90f357ec2b0e340c99c0a49e883d36073bd9
|
||||
archive: .buildcache/archives/00-base-849b90f357ec2b0e340c99c0a49e883d36073bd9.tar.gz
|
||||
name: 00-base-cc87158f920a83b1c241d68474eed6734b32c511
|
||||
archive: .buildcache/archives/00-base-cc87158f920a83b1c241d68474eed6734b32c511.tar.gz
|
||||
circleci:
|
||||
CACHE_KEY_PREFIX_LIST:
|
||||
- go-modules_a25c_{{checksum ".buildcache/cache-keys/go-modules-a25cdf16b83859e7e53c8fd5272e4c6b8366e2be"}}
|
||||
- ui_7d0e_{{checksum ".buildcache/cache-keys/ui-7d0eb4b8e23fd3d22cf70da1dff7e4359673ce05"}}
|
||||
- base_849b_{{checksum ".buildcache/cache-keys/base-849b90f357ec2b0e340c99c0a49e883d36073bd9"}}
|
||||
- go-modules_74c0_{{checksum ".buildcache/cache-keys/go-modules-74c0c94188690e22d738cb1784f8feba7c3dc00d"}}
|
||||
- ui_dfc9_{{checksum ".buildcache/cache-keys/ui-dfc937906b9b645655c44bc782ef13c64ebe8dbb"}}
|
||||
- base_cc87_{{checksum ".buildcache/cache-keys/base-cc87158f920a83b1c241d68474eed6734b32c511"}}
|
||||
childcount: 1
|
||||
- depth: 3
|
||||
final: true
|
||||
type: copy-source
|
||||
id: 5c01da64a31c9bfe7ba38f51d95e8bf99c0842f5
|
||||
name: 03-copy-source-5c01da64a31c9bfe7ba38f51d95e8bf99c0842f5
|
||||
parentname: 02-go-modules-a25cdf16b83859e7e53c8fd5272e4c6b8366e2be
|
||||
id: 6be6bbcf469c2d26620194eeee87f0c4ba470bde
|
||||
name: 03-copy-source-6be6bbcf469c2d26620194eeee87f0c4ba470bde
|
||||
parentname: 02-go-modules-74c0c94188690e22d738cb1784f8feba7c3dc00d
|
||||
parenttype: go-modules
|
||||
parentid: a25cdf16b83859e7e53c8fd5272e4c6b8366e2be
|
||||
cachekeyfile: .buildcache/cache-keys/copy-source-5c01da64a31c9bfe7ba38f51d95e8bf99c0842f5
|
||||
parentid: 74c0c94188690e22d738cb1784f8feba7c3dc00d
|
||||
cachekeyfile: .buildcache/cache-keys/copy-source-6be6bbcf469c2d26620194eeee87f0c4ba470bde
|
||||
sourceinclude: '*.go *.up.sql'
|
||||
sourceexclude: ""
|
||||
archivefile: .buildcache/archives/03-copy-source-5c01da64a31c9bfe7ba38f51d95e8bf99c0842f5.tar.gz
|
||||
archivefile: .buildcache/archives/03-copy-source-6be6bbcf469c2d26620194eeee87f0c4ba470bde.tar.gz
|
||||
dockerfile: |
|
||||
# syntax=docker.mirror.hashicorp.services/docker/dockerfile:1.1.7-experimental
|
||||
ARG BASE_IMAGE
|
||||
@@ -834,21 +834,21 @@ layers:
|
||||
builtin:
|
||||
LAYER_LIST:
|
||||
- type: copy-source
|
||||
name: 03-copy-source-5c01da64a31c9bfe7ba38f51d95e8bf99c0842f5
|
||||
archive: .buildcache/archives/03-copy-source-5c01da64a31c9bfe7ba38f51d95e8bf99c0842f5.tar.gz
|
||||
name: 03-copy-source-6be6bbcf469c2d26620194eeee87f0c4ba470bde
|
||||
archive: .buildcache/archives/03-copy-source-6be6bbcf469c2d26620194eeee87f0c4ba470bde.tar.gz
|
||||
- type: go-modules
|
||||
name: 02-go-modules-a25cdf16b83859e7e53c8fd5272e4c6b8366e2be
|
||||
archive: .buildcache/archives/02-go-modules-a25cdf16b83859e7e53c8fd5272e4c6b8366e2be.tar.gz
|
||||
name: 02-go-modules-74c0c94188690e22d738cb1784f8feba7c3dc00d
|
||||
archive: .buildcache/archives/02-go-modules-74c0c94188690e22d738cb1784f8feba7c3dc00d.tar.gz
|
||||
- type: ui
|
||||
name: 01-ui-7d0eb4b8e23fd3d22cf70da1dff7e4359673ce05
|
||||
archive: .buildcache/archives/01-ui-7d0eb4b8e23fd3d22cf70da1dff7e4359673ce05.tar.gz
|
||||
name: 01-ui-dfc937906b9b645655c44bc782ef13c64ebe8dbb
|
||||
archive: .buildcache/archives/01-ui-dfc937906b9b645655c44bc782ef13c64ebe8dbb.tar.gz
|
||||
- type: base
|
||||
name: 00-base-849b90f357ec2b0e340c99c0a49e883d36073bd9
|
||||
archive: .buildcache/archives/00-base-849b90f357ec2b0e340c99c0a49e883d36073bd9.tar.gz
|
||||
name: 00-base-cc87158f920a83b1c241d68474eed6734b32c511
|
||||
archive: .buildcache/archives/00-base-cc87158f920a83b1c241d68474eed6734b32c511.tar.gz
|
||||
circleci:
|
||||
CACHE_KEY_PREFIX_LIST:
|
||||
- copy-source_5c01_{{checksum ".buildcache/cache-keys/copy-source-5c01da64a31c9bfe7ba38f51d95e8bf99c0842f5"}}
|
||||
- go-modules_a25c_{{checksum ".buildcache/cache-keys/go-modules-a25cdf16b83859e7e53c8fd5272e4c6b8366e2be"}}
|
||||
- ui_7d0e_{{checksum ".buildcache/cache-keys/ui-7d0eb4b8e23fd3d22cf70da1dff7e4359673ce05"}}
|
||||
- base_849b_{{checksum ".buildcache/cache-keys/base-849b90f357ec2b0e340c99c0a49e883d36073bd9"}}
|
||||
- copy-source_6be6_{{checksum ".buildcache/cache-keys/copy-source-6be6bbcf469c2d26620194eeee87f0c4ba470bde"}}
|
||||
- go-modules_74c0_{{checksum ".buildcache/cache-keys/go-modules-74c0c94188690e22d738cb1784f8feba7c3dc00d"}}
|
||||
- ui_dfc9_{{checksum ".buildcache/cache-keys/ui-dfc937906b9b645655c44bc782ef13c64ebe8dbb"}}
|
||||
- base_cc87_{{checksum ".buildcache/cache-keys/base-cc87158f920a83b1c241d68474eed6734b32c511"}}
|
||||
childcount: 0
|
||||
+2
-2
@@ -51,8 +51,8 @@ package-aliases:
|
||||
template: >-
|
||||
boundary/{{.BUNDLE_NAME}}/{{.BUNDLE_NAME}}_{{.GOOS}}_{{.GOARCH}}.zip
|
||||
|
||||
# golang:1.17.2-buster
|
||||
base-image: "docker.mirror.hashicorp.services/golang@sha256:c301ce41458847a02caea52b5c2fd2a18b34f33785ddd676d38defe286bb946b"
|
||||
# golang:1.17.3-bullseye
|
||||
base-image: "docker.mirror.hashicorp.services/golang@sha256:3b27ac95762ce1340a4824dc3cab2dc9d63f194f0899a0a9887402c1b1463f41"
|
||||
|
||||
layers:
|
||||
- name: base
|
||||
|
||||
+1
-1
@@ -6,7 +6,7 @@ require (
|
||||
github.com/fatih/color v1.12.0 // indirect
|
||||
github.com/golang/protobuf v1.5.2 // indirect
|
||||
github.com/google/go-cmp v0.5.6 // indirect
|
||||
github.com/hashicorp/eventlogger v0.1.0
|
||||
github.com/hashicorp/eventlogger v0.1.1-0.20211104100552-e1e801e50144
|
||||
github.com/hashicorp/eventlogger/filters/encrypt v0.1.6-0.20211027211326-5db60a48f239
|
||||
github.com/hashicorp/go-cleanhttp v0.5.2 // indirect
|
||||
github.com/hashicorp/go-hclog v0.16.2
|
||||
|
||||
+2
-1
@@ -241,8 +241,9 @@ github.com/grpc-ecosystem/grpc-gateway v1.16.0/go.mod h1:BDjrQk3hbvj6Nolgz8mAMFb
|
||||
github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4=
|
||||
github.com/hashicorp/errwrap v1.1.0 h1:OxrOeh75EUXMY8TBjag2fzXGZ40LB6IKw45YeGUDY2I=
|
||||
github.com/hashicorp/errwrap v1.1.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4=
|
||||
github.com/hashicorp/eventlogger v0.1.0 h1:S6xc4gZVzewuDUP4R4Ngko419h/CGDuV/b4ADL3XLik=
|
||||
github.com/hashicorp/eventlogger v0.1.0/go.mod h1:a3IXf1aEJfpCPzseTOrwKj4fVW/Qn3oEmpQeaIznzH0=
|
||||
github.com/hashicorp/eventlogger v0.1.1-0.20211104100552-e1e801e50144 h1:PCl0HtlVnIIloIozAKvjICu6K4IghKXAKNny3R3b2nI=
|
||||
github.com/hashicorp/eventlogger v0.1.1-0.20211104100552-e1e801e50144/go.mod h1:a3IXf1aEJfpCPzseTOrwKj4fVW/Qn3oEmpQeaIznzH0=
|
||||
github.com/hashicorp/eventlogger/filters/encrypt v0.1.6-0.20211027211326-5db60a48f239 h1:Yh9tY0lige+y0trmjQeT9NRDo6+YvtNAzbmUNOsIUzI=
|
||||
github.com/hashicorp/eventlogger/filters/encrypt v0.1.6-0.20211027211326-5db60a48f239/go.mod h1:8rcez7Kw1zanB0/074qnOuGu7zxmNh9Xr2ZI+K4xVIA=
|
||||
github.com/hashicorp/go-cleanhttp v0.5.0/go.mod h1:JpRdi6/HCYpAwUzNwuwqhbovhLtngrth3wmdIIUrZ80=
|
||||
|
||||
@@ -118,7 +118,12 @@ From this command, you can see the flags available to skip the creation of auto-
|
||||
To initialize the Boundary database without generated resources:
|
||||
|
||||
```
|
||||
$ boundary database init -skip-initial-login-role-creation -config /etc/boundary.hcl
|
||||
$ boundary database init \
|
||||
-skip-auth-method-creation \
|
||||
-skip-host-resources-creation \
|
||||
-skip-scopes-creation \
|
||||
-skip-target-creation \
|
||||
-config /etc/boundary.hcl
|
||||
```
|
||||
|
||||
When you start Boundary, you will effectively have a blank sheet to work against. The initial migrations in the database have been run (note that this includes creating special users like `u_anon` and the `global` scope) and the internal keyrings have been initialized. From here, it's required that
|
||||
|
||||
Reference in new issue
Block a user