Commit graph

475 commits

Author SHA1 Message Date
2a4a2d25d8 implement 2023-04-29 16:45:17 +02:00
ea77c84948 add some tests 2023-04-29 16:44:34 +02:00
3495f69a6b adjust filename 2023-04-29 14:57:15 +02:00
634e89407e multi inheritance requires more than one build extension 2023-04-29 14:53:59 +02:00
e2c0ae3a54 switch image build to new structure 2023-04-29 12:09:23 +02:00
462be0d49a with new structure we can clean up storage 2023-04-29 12:09:04 +02:00
5ce6e6c0cb add build-type to devops 2023-04-29 12:02:03 +02:00
2add0a76a2 format 2023-04-28 18:17:50 +02:00
63409f03a9 add domain validation 2023-04-28 18:17:50 +02:00
806e1eb02d [Skip-CI] Fix method override 2023-04-28 18:17:50 +02:00
40e09d246d Format 2023-04-28 18:17:23 +02:00
423166d8b9 Remove Cyclic import 2023-04-28 18:17:23 +02:00
bom
70b5607d8e Resolve pylint errors in infrastructure_api.py 2023-04-28 18:17:23 +02:00
bom
e0b30adf9f Resolve pylint errors in common.py 2023-04-28 18:17:23 +02:00
bom
bc7d8e1d87 Resolve pylint errors in release.py 2023-04-28 18:16:17 +02:00
7cace08a87 [Skip-CI] More specific exception 2023-04-28 18:16:17 +02:00
82279011fa Fix pylint messages for repo 2023-04-28 18:16:17 +02:00
aa34558040 Remove unused imports 2023-04-28 18:16:17 +02:00
bom
a25453cdbf Make ReleaseContextRepository stateless 2023-04-28 18:15:47 +02:00
bom
b6b283d2b2 Add and use throw_if_invalid function
Validates objects and raises an error if they are invalid
2023-04-28 18:15:47 +02:00
35a5a69844 [Sip-CI] Update Type Hints 2023-04-28 18:15:47 +02:00
f921a8a2ae Remove deprecated function 2023-04-28 18:14:02 +02:00
7e23080cff Refactor to C4kBuild 2023-04-28 18:14:02 +02:00
79de907396 refactor to domain-object creation by dict 2023-04-28 17:49:28 +02:00
9e519519cb [Skip-CI] Fix method override 2023-04-28 15:33:29 +02:00
172d0b848f Format 2023-04-28 15:32:15 +02:00
93d6063e6e Remove Cyclic import 2023-04-28 15:31:54 +02:00
bom
af0d6cc43e Resolve pylint errors in infrastructure_api.py 2023-04-28 15:01:03 +02:00
bom
837b58d5b8 Resolve pylint errors in common.py 2023-04-28 14:57:19 +02:00
bom
c70daa346d Resolve pylint errors in release.py 2023-04-28 14:50:35 +02:00
481d20a14c introduce devops factory 2023-04-28 14:49:23 +02:00
2463d36674 [Skip-CI] More specific exception 2023-04-28 14:42:42 +02:00
9db91c0a16 Fix pylint messages for repo 2023-04-28 14:41:37 +02:00
953e05ecfb Remove unused imports 2023-04-28 14:27:41 +02:00
bom
d801a71b49 Make ReleaseContextRepository stateless 2023-04-28 14:20:22 +02:00
bom
f4fed5293a Add and use throw_if_invalid function
Validates objects and raises an error if they are invalid
2023-04-28 14:20:22 +02:00
61d99a7b12 Merge branch 'mypy-fixes' into 'ddd-intro'
[Sip-CI] Update Type Hints

See merge request domaindrivenarchitecture/dda-devops-build!9
2023-04-28 12:17:54 +00:00
7637f65779 [Sip-CI] Update Type Hints 2023-04-28 14:12:57 +02:00
91a5964448 Remove deprecated function 2023-04-28 13:32:10 +02:00
349884cb6c Refactor to C4kBuild 2023-04-28 13:29:09 +02:00
bom
35465b543b Make services stateless
Resolves 2 TODOs
2023-04-27 14:46:49 +02:00
bom
3a83be485c Fix invalid code 2023-04-27 14:46:15 +02:00
749c8f2849 Refactor release domain 2023-04-22 12:40:40 +00:00
92081947c5 going to merge Release & ReleaseConfig [skip-ci] 2023-04-21 15:11:33 +02:00
84cf82ac57 reformat 2023-04-21 15:11:08 +02:00
d717cd5a8c removed deprecated dict create option 2023-04-21 15:10:36 +02:00
28f0b629c3 fixed tests 2023-04-21 14:54:24 +02:00
bom
134ee68cfa Remove deprecated SystemAPI 2023-04-21 14:52:06 +02:00
bom
54f3938088 Finish refactoring for ExecutionAPI 2023-04-21 14:51:17 +02:00
5fe58e95cd Deprecate SystemApi
in Favour of ExecutionApi
2023-04-21 14:38:35 +02:00
3d29277285 tried to get debugg outputs 2023-04-21 14:20:03 +02:00
223ba498d3 Review TODOs 2023-04-21 13:49:12 +02:00
381baa2eb2 [Skip CI] Uncomment assertion in test_image_build
Add logging.
2023-04-21 12:19:01 +02:00
580bf81c15 Fix CI: Remove whitespaces, add newlines 2023-04-20 17:01:04 +02:00
8e8ad034a7 Fix CI: Refactor None like logic
We now do check wether from_git or from_env was
called and then take a bool based decision on which
method to call. Also: Type declarations and specific errors.
2023-04-19 15:43:27 +02:00
420030fa0a Fix CI: Update type declaration and value assignments 2023-04-19 15:43:27 +02:00
10e7deb74b Fix CI: Update Type declarations 2023-04-19 15:43:27 +02:00
578ac29ebb Fix CI: Remove unnecessary default val 2023-04-19 15:43:27 +02:00
e31b4ef7b2 Fix CI: More Specific Error 2023-04-19 15:43:27 +02:00
44d1708448 Fix CI: Move ValueError to new line 2023-04-19 15:43:27 +02:00
943cde3aeb Fix ToDo: Method for always tagging second last 2023-04-19 13:11:26 +02:00
55114f0075 Fix CI: Fix validation 2023-04-19 13:11:18 +02:00
b050e9d07c Fix CI: Correctly validate 2023-04-19 13:11:09 +02:00
c530628192 Fix CI: Raise specific exception.
Do comparison with !=.
2023-04-19 13:10:52 +02:00
2c65187741 DDD Refactor: Move release_mixin infrastructure to infrastructure 2023-04-19 13:10:28 +02:00
38f700cad5 DDD Refactor: Move release_mixin one layer up 2023-04-19 13:10:23 +02:00
858666a957 DDD Refactor: Move release_mixin_services to application layer 2023-04-19 13:10:18 +02:00
bf8fef87c7 DDD Refactor: Move release to domain
Merge release_config and release.
Make imports available.
2023-04-19 13:10:11 +02:00
628ff35303 Fix CI: Add fields for stage and module
As required by linter.
2023-04-19 13:08:43 +02:00
1eac5d36ef DDD Refactor: Move infrastructure.py to infrastructure layer
Make imports available as module.
2023-04-19 13:08:36 +02:00
529f5f165b DDD Refactor: Move image_build_service to application layer
Make imports available as package.
2023-04-19 13:08:09 +02:00
84d3e29c28 Refactor for call consistency 2023-04-18 15:33:58 +02:00
537a5836b9 Refactor to use ReleaseConfig object 2023-04-18 15:33:14 +02:00
d0ddeb3288 Implement ReleaseConfig 2023-04-18 15:31:47 +02:00
fce12d2e21 Make Release object available 2023-04-18 15:30:20 +02:00
d3049271cc Uncomment tag_and_push_release 2023-04-18 12:44:05 +02:00
ce1fd3f559 Add_remote functionality to GitApi 2023-04-18 12:43:19 +02:00
6dc078877c Move build.py and config.json to resources 2023-04-18 12:39:39 +02:00
eab4a8e3e3 Sanitize arguments to system calls 2023-04-18 12:39:02 +02:00
fc17d6a14d Move Documentation of ReleaseMixin 2023-04-18 10:49:13 +02:00
446ed9744a add review 2023-04-18 08:57:00 +02:00
785940d3b6 add review 2023-04-18 08:56:50 +02:00
d4d49970ec reviwe 2023-04-14 17:48:12 +02:00
d6d668902b add review comments 2023-04-14 17:24:15 +02:00
Clemens
1ba7f01b93 Added some todos and extended mypy ci-pipeline 2023-04-14 12:04:10 +02:00
4667c58dbb Implement priority: env first, then git
Add test for this behavior.
2023-04-11 16:16:59 +02:00
3776116383 Use EnvironmentKeys, refactor in test accordingly 2023-04-11 16:16:08 +02:00
f51afe8bbc Add EnvironmentKeys enum class 2023-04-11 16:15:17 +02:00
Clemens
6ede2528c2 fixed pytest 2023-03-31 15:03:49 +02:00
Clemens
50a722794c Resolved some pylint issues 2023-03-31 14:59:37 +02:00
Clemens
32847914a7 fix mypy issues 2023-03-31 14:50:14 +02:00
Clemens
cfa05beae4 added method set_user_config to GitApi 2023-03-31 13:43:26 +02:00
Clemens
e69bb6adb0 fix wrong imports 2023-03-31 13:12:48 +02:00
Clemens
897784ddea Fix pytest errors 2023-03-31 12:50:33 +02:00
325c9d477f rename docker -> image & introduce domain sub-ns 2023-03-17 17:27:36 +01:00
a4fbeaadd9 docker_build now works 2023-03-17 16:16:47 +01:00
51304f3b85 docker_build now works 2023-03-17 16:05:46 +01:00
bom
50faa89f6e Implement infrastructure for ReleaseTypes from Environment 2023-03-17 11:52:22 +01:00
bom
befb5eb653 Add EnvironmentApi 2023-03-17 11:32:01 +01:00
bom
85250f1c5f Change inconsistent api naming 2023-03-17 11:29:25 +01:00
7ba7cce801 refactor to dedicated parameters 2023-03-14 19:11:34 +01:00
4eeaefc1a3 refactor to dedicated parameters 2023-03-14 18:06:04 +01:00
7b198c7215 add devops_build test 2023-03-14 16:43:41 +01:00
d650f67dbf refactor to dedicated parameters 2023-03-14 16:11:00 +01:00
1bcc8908e9 refactoring: rename C4kBuild -> C4k 2023-03-14 15:07:47 +01:00
5ff4a4c9bb refactoring: rename DockerBuild -> Docker 2023-03-14 12:22:05 +01:00
571828f6cd fix tests 2023-03-14 12:07:11 +01:00
0717b0b361 refactoring: rename Build -> Devops 2023-03-14 12:04:52 +01:00
dd85b7b95b refactor devops_c4k_mixin to arch 2023-03-12 19:09:32 +01:00
eec7392470 refactor devops_docker_build to arch 2023-03-12 17:57:31 +01:00
d95827e1e0 refactor devops_build to arch 2023-03-12 17:40:10 +01:00
ce2e2635f5 * make executabel-name configurable
* mv infra code from app to infra
2023-03-11 17:16:49 +01:00
bom
c23c5287bd Remove old project files
As this is now in a subdirectory we can have the main project handle
these files
2023-03-10 13:40:09 +01:00
bom
4575785dfa Rename release-mixin to release_mixin 2023-03-10 13:39:31 +01:00
bom
408c25028b Move tests from release_mixin to project test folder 2023-03-10 13:37:45 +01:00
f7668231be fix tests 2023-03-09 20:24:11 +01:00
a94a7ea62b Remove unused imports and order imports 2023-03-09 14:29:33 +01:00
5d2bbb758c Enable release mixin test 2023-03-09 14:26:30 +01:00
4098d00409 Cleanup redundant comments 2023-03-09 13:48:59 +01:00
21bafab882 Adapt tests for helper class 2023-03-09 13:44:50 +01:00
e4996dfb20 Turn test helper into class and rename 2023-03-09 13:43:55 +01:00
f49b44f5e0 Add test for version repo using helper scripts 2023-03-09 13:17:20 +01:00
27f2bf2d2e Move api tests to api test file
Some formatting and missing imports
2023-03-09 13:15:35 +01:00
2c2f528371 Condense copy logic into helper script 2023-03-09 13:13:47 +01:00
dfddd5ee33 refactor: only builds & mixins should inherit
test are not working fully atmo
2023-03-05 14:17:36 +01:00
9dbc5f8ab0 add doc 2023-03-05 13:59:40 +01:00
4bdbccd722 fix c4k_mixin tests 2023-03-05 13:48:20 +01:00
55c9b7f2fd mv work to application 2023-03-05 13:39:47 +01:00
dfc420f6c2 BREAKING: c4k_module_name should be filled with builds-module-name 2023-03-05 13:09:46 +01:00
2acda459b2 last wip comment :-) 2023-03-05 13:01:50 +01:00
bdc1b5c942 Add assertion for release count 2023-03-03 15:54:11 +01:00
8c0ae19fdc Clean up whitespaces 2023-03-03 15:07:02 +01:00
c76804ad92 Make counters count up 2023-03-03 15:01:56 +01:00
3f44148237 Implement write_and_commit_bump() test 2023-03-03 14:54:48 +01:00
15992d3500 WIP Implement service test 2023-03-03 13:36:39 +01:00
b63e6b47fc Implement basic test for infrastructure api 2023-03-03 13:35:24 +01:00
07abf81bda Add mock API 2023-03-03 13:31:51 +01:00
bom
0617348e84 Merged release_mixin repo 2023-03-03 10:59:59 +01:00
ce24ab6fc2 wip 2023-02-28 09:32:26 +01:00
54e3f7f41a make devopsBuild ddd 2023-02-25 15:59:41 +01:00
23b143f5af use yaml instead of edn 2022-12-30 17:59:40 +01:00
e943740b82 fix c4k mixin 2022-12-30 15:57:33 +01:00
f49b74af24 adjust apply name to other modules 2022-12-30 15:53:29 +01:00
b38b0f1f87 add c4k-mixin 2022-12-30 13:05:15 +00:00
50ac1e93e2 fix backend config 2022-12-10 17:11:31 +01:00
9d801f0a19 fix imports 2022-12-10 15:43:00 +01:00
d244214242 add do-backend-mixin 2022-12-10 15:29:29 +01:00
bec4d01063 rename do-mixin to do-build 2022-12-10 15:29:08 +01:00
ed55f98b95 remove dda-simple-mixin 2022-12-10 15:28:35 +01:00
692756e5c5 fix s3-credentials init 2022-12-10 14:06:22 +01:00
4d8b4164d5 fix do config 2022-12-10 13:24:11 +01:00
dd2d6668fb fix & update requirements 2022-12-10 12:42:48 +01:00
74351db902 Merge branch 'release-1.0' into main 2022-12-09 15:38:38 +01:00
32ef36642b fix filename 2022-12-09 15:26:39 +01:00
253c514919 fix devops_terraform_build 2022-12-09 15:10:42 +01:00
8cb3da6d92 add do mixin 2022-12-09 14:53:54 +01:00
80947e6684 remove dda-tenant support 2022-12-09 14:42:51 +01:00
29785a14fd only user can see provs config 2022-12-09 14:08:20 +01:00
ef32125554 fix 2022-08-19 15:22:50 +02:00
c068900745 fix 2022-08-19 15:10:56 +02:00
e90a46bb67 fix terraform versioning usage 2022-08-19 15:01:10 +02:00
bom
296ed5f9ba removed Terraform from wrong import 2022-05-20 10:34:38 +02:00
dbf6cd38e5 fix provs config generation 2022-03-29 18:53:31 +02:00
3f38e910c1 make k3s values avaiable as build property 2022-03-29 18:42:13 +02:00
7ee5088b44 remove asyncio 2022-03-25 18:34:21 +01:00
9b9bca8996 add the provs_k3s_mixin 2022-03-24 16:20:03 +01:00
3ed03d61f8 export also execute 2022-03-12 15:59:20 +01:00
bom
e2652584cc pass tf_version when creating terraform object 2022-01-28 12:29:34 +01:00
bom
aa4f8ee274 fixed typo 2022-01-28 10:45:51 +01:00
bom
809de87401 use dda_python_terraform instead of outdated ver 2022-01-28 10:19:25 +01:00
jem
1ad655df87 add tf1.0 example 2021-10-15 14:08:12 +02:00
jem
894a8764ee -force & -skip-plan no longer works in tf1.0 2021-10-15 13:57:27 +02:00
jem
d12ff4a00f copy registry in addition 2021-10-08 17:45:29 +02:00
jem
2fad0f88e8 fix json bug 2021-10-08 17:35:51 +02:00
jem
58fbe9b3d4 add exoscale 2021-10-08 17:35:39 +02:00
niels.knacke+quietschenetchen@neuland-bfi.de
7860b5bf02 Fix Typo in print_terraform_command 2021-07-07 16:14:58 +02:00
jem
af2a02fb08 fix aws_backend_props_mixin 2021-07-02 16:04:39 +02:00
jem
8f521e5159 fix getting-tag-from-git 2021-07-02 14:15:42 +02:00
jem
b0a63e7bdb fix tag latest 2021-07-01 21:32:15 +02:00
jem
6731ca24a9 get only the exact matching tags 2021-07-01 21:32:01 +02:00
jem
feae5df294 fix mixin 2021-06-25 17:23:59 +02:00
jem
b9dda04265 Merge branch 'master' of github.com:DomainDrivenArchitecture/dda-devops-build 2021-06-25 17:18:37 +02:00
jem
1fea3afa73 use dda-python-teraform instead of outdated python-terraform 2021-06-25 17:15:42 +02:00
bom
48b0ede65a cleaned docker publish 2021-06-25 12:55:26 +02:00
bom
e51acefbe3 fixed publish docker with tag 2021-06-25 12:44:24 +02:00
jem
e097f0232d add optional import 2021-06-25 12:28:55 +02:00
jem
dbcaae69ac use refresh instead of apply with options 2021-06-25 12:24:09 +02:00
jem
540fdaaccf prepare release 2021-06-25 11:54:48 +02:00
jem
cbad95707f add refresh 2021-06-25 11:54:32 +02:00
jem
ff81729ddd fix docker tagging 2021-06-25 11:54:16 +02:00
jem
c8dca12506 expose get_commit_tag to global level 2021-06-25 10:12:43 +02:00
bom
de3f0413b5 Added docker publish tag 2021-06-11 09:43:07 +02:00
5e504b7f0f Added hetznerdns 2021-05-21 09:40:21 +02:00
jem
e69c5d30d3 add missing file 2021-05-07 18:58:47 +02:00
jem
ffd020292b release 2021-05-07 18:53:32 +02:00
jem
5b3a19ba62 release 2021-05-07 18:42:43 +02:00
jem
47507237f1 release 2021-05-07 18:36:22 +02:00
jem
4a4d939e72 fix entrypoint 2021-03-12 13:14:23 +01:00
jem
4b1fcb43c5 fix plan exceptions 2020-07-08 15:12:13 +02:00
jem
184ce336ac improve error handling for terraform 2020-07-08 14:28:11 +02:00
niels.knacke+quietschenetchen@neuland-bfi.de
cf6d41c1a8 Exception schmeissen ist besser als sys.exit(). 2020-07-07 11:38:46 +02:00
niels.knacke+quietschenetchen@neuland-bfi.de
d0356d8bf1 Plan_Fail_On_Diff Return Code should be int not tuple 2020-07-07 11:11:31 +02:00
niels.knacke+quietschenetchen@neuland-bfi.de
cf0a195efb Add plan with a fail-on-diff option.
- on exception, exit script with exit code > 0
2020-07-06 10:21:01 +02:00
niels.knacke+quietschenetchen@neuland-bfi.de
98e06c3233 Add plan with a fail-on-diff option. 2020-07-01 16:01:57 +02:00
jem
66c8f3d934 add pg_ownership fix 2020-06-10 15:14:48 +02:00
jem
ba3109ad7e release 2020-06-05 11:14:20 +02:00
jem
a57826b2a2 fix gopass_stage 2020-06-04 12:48:18 +02:00
jem
687862d34b add rds_pg feature 2020-06-03 12:14:33 +02:00
jem
ebfa2e5ecd fix terraform-local-state handling 2020-05-08 19:53:06 +02:00
jem
8fe52fa1e3 adddda-simple-mixin 2020-05-01 17:38:17 +02:00
jem
50f8e0d3eb breaking-change: dda-pallet-mixin -> dda-tenant-mixin 2020-05-01 17:38:05 +02:00
jem
3265f4c3de fix dependencies 2020-04-24 09:49:24 +02:00
jem
bd428ccb7a fix 2020-04-18 15:19:40 +02:00
jem
3f2ec114d4 introduce the new docker image build 2020-04-18 11:42:24 +02:00
jem
064c2d2766 inital devops build 2020-04-17 21:57:21 +02:00
jem
0c51a76248 unify prog-exec 2020-04-17 19:09:04 +02:00
jem
ba3112ac47 fix dda-pallet 2020-04-17 19:08:18 +02:00
jem
e9c74215ab add option to pass additional information through 2020-04-17 17:59:19 +02:00
jem
7b04453763 format 2020-04-17 17:58:49 +02:00
jem
df1a5f09da breaking change: move credential resolution to outside 2020-04-17 17:58:33 +02:00
jem
8e194e53a2 improve credentials output 2020-04-16 18:30:02 +02:00
jem
dba0b1550c add deprecation 2020-04-15 14:26:48 +02:00
jem
c506500936 make gopass yml syntax accessable 2020-04-11 15:12:02 +02:00
jem
bc4375d999 fix plan's exitcode 2 2020-04-10 09:38:43 +02:00
jem
40e695a5da breaking change: move build_commons_path from create_devops_build_config -> create_devops_terraform_build_config 2020-03-31 19:25:31 +02:00
jem
b9f3b84acf add additional-var-files-feature 2020-03-31 16:19:14 +02:00
jem
b2265a1fe7 fix auto-approve & debug print 2020-03-25 15:08:11 +01:00
jem
89824db10b debug not working apply force 2020-03-25 09:12:13 +01:00
jem
9a70deb4ee respect auto approve 2020-03-23 17:44:32 +01:00
jem
ce58d119c9 fix autoapprove 2020-03-21 13:36:09 +01:00
jem
686442b00f revert 2020-03-13 18:17:49 +01:00
jem
a179bb4103 fix build output issue 2020-03-13 17:57:32 +01:00
jem
49c4cab8b6 serve common tf files from package 2020-03-12 14:10:16 +01:00
jem
ec3fcfdf97 add debug output 2020-03-10 15:41:07 +01:00
jem
b576d2a3e7 add common tf resources 2020-03-10 08:31:04 +01:00
jem
145091b954 add debug output 2020-03-10 08:28:06 +01:00
jem
d604901ffd find better name for aws mixin 2020-03-09 20:02:13 +01:00
jem
cd95a8b866 version bump 2020-03-07 15:07:44 +01:00
jem
1953662c4b improve copy dir 2020-03-07 15:07:32 +01:00
jem
d47dc3a2a3 make build accessable 2020-03-07 15:07:14 +01:00
jem
9d9aee79d3 separate mfa from key-only aws 2020-03-06 16:10:18 +01:00
jem
5878f0686b release 2020-03-05 13:24:23 +01:00
jem
85874b42c9 removed project specific stuff 2020-03-05 12:33:07 +01:00
jem
01464ac2c8 fix aws_apply 2020-03-05 12:08:50 +01:00
jem
f49234d1f4 add way für mfa temp session 2020-03-04 17:31:54 +01:00
jem
6c23144750 minor fixes 2020-03-04 09:27:46 +01:00
jem
ac9c4ab104 make workspaces configurable 2020-03-04 09:24:17 +01:00
jem
f8dd897158 improve build dir & fix name 2020-03-04 09:07:03 +01:00
jem
b20b740c83 use optional params 2020-03-04 08:51:12 +01:00
jem
23af9aa638 debugged 2020-03-03 18:30:17 +01:00