Skip to content
This repository was archived by the owner on Oct 7, 2025. It is now read-only.
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
531 commits
Select commit Hold shift + click to select a range
461792d
Updating email notification title pr 2.x (#2140)
matej5 Dec 9, 2024
f969f1b
Adding-defaults-to-max-children (#2141)
drazenCE Dec 11, 2024
83157d1
Adding defaults to max children pr 2.x (#2144)
drazenCE Dec 11, 2024
2740a8a
Updating-php-defaults (#2145)
drazenCE Dec 12, 2024
e52a546
Updating php defaults pr 2.x (#2147)
drazenCE Dec 13, 2024
e8b9b63
efs_version_fix_for_old_debian_workaround (#2151)
tymofiisobchenko Dec 17, 2024
653c23e
fix(duplicity): Fix file name of include/exclude list (#2152)
klausi Dec 17, 2024
af394a8
Bug fixes 2.x pr 2.x (#2120)
gregharvey Dec 18, 2024
ca98e15
Update .wikis2pages.yml
gregharvey Dec 18, 2024
7ee7f1c
Nightly builds (#2153)
gregharvey Dec 21, 2024
237a59a
Updating-wazuh-template (#2154)
drazenCE Dec 23, 2024
f41c496
Updating le template (#2156)
drazenCE Dec 31, 2024
123bced
Reworking-nodejs-for-older-versions (#2157)
drazenCE Jan 2, 2025
984c502
Reworking nodejs for older versions pr 2.x (#2159)
drazenCE Jan 3, 2025
d7f2a1b
Reworking nodejs for older versions pr 2.x (#2160)
drazenCE Jan 3, 2025
9c15d0e
Reworking nodejs for older versions pr 2.x (#2161)
drazenCE Jan 3, 2025
3cab7e3
Publish docs pr 2.x (#2164)
gregharvey Jan 6, 2025
7f05cf2
Merge branch 'devel-2.x' into 2.x
gregharvey Jan 6, 2025
2a8f937
Publish docs pr 2.x (#2166)
gregharvey Jan 7, 2025
1130f7a
Publish docs pr 2.x (#2168)
gregharvey Jan 7, 2025
ff7c0ac
Publish docs pr 2.x (#2171)
gregharvey Jan 7, 2025
7415e4c
Publish docs pr 2.x (#2174)
gregharvey Jan 8, 2025
bfc862b
Publish docs pr 2.x (#2177)
gregharvey Jan 8, 2025
9a12fcc
Publish docs pr 2.x (#2179)
gregharvey Jan 8, 2025
2a0d997
Publish docs pr 2.x (#2181)
gregharvey Jan 8, 2025
c55ba2c
Publish docs pr 2.x (#2184)
gregharvey Jan 8, 2025
63583d3
Publish docs pr 2.x (#2186)
gregharvey Jan 8, 2025
e3e122b
GitHub Actions - updating markdown docs - (#2187)
github-actions[bot] Jan 8, 2025
efb357c
Publish docs pr 2.x (#2189)
gregharvey Jan 8, 2025
66c6ed9
Publish docs pr 2.x (#2193)
gregharvey Jan 8, 2025
67ea50f
r71115-default-ldap-ca-cert (#2197)
nfawbert Jan 8, 2025
9893d68
Documentation update - 2.x (#2198)
github-actions[bot] Jan 8, 2025
8a4d8c5
Publish docs pr 2.x (#2203)
gregharvey Jan 8, 2025
4fada37
Publish docs pr 2.x (#2205)
gregharvey Jan 8, 2025
8ddb254
Documentation update - 2.x (#2200)
github-actions[bot] Jan 8, 2025
72137a4
Enhanced quick start pr 2.x (#2207)
gregharvey Jan 9, 2025
537b60e
Documentation update - 2.x (#2208)
github-actions[bot] Jan 13, 2025
bf90d80
Enhanced quick start pr 2.x (#2211)
gregharvey Jan 13, 2025
5de8638
Publish docs pr 2.x (#2216)
gregharvey Jan 13, 2025
fb03534
Publish docs pr 2.x (#2218)
gregharvey Jan 13, 2025
0986cb2
Documentation update - 2.x (#2213)
github-actions[bot] Jan 13, 2025
8de3b45
Publish docs pr 2.x (#2220)
gregharvey Jan 13, 2025
e879264
Bug fixes 2.x pr 2.x (#2225)
gregharvey Jan 14, 2025
2ad05bb
Bug fixes 2.x pr 2.x (#2229)
gregharvey Jan 14, 2025
858de79
Documentation update - 2.x (#2226)
github-actions[bot] Jan 14, 2025
a81e2d1
Bug fixes 2.x pr 2.x (#2231)
gregharvey Jan 15, 2025
5096fa9
Bug fixes 2.x pr 2.x (#2233)
gregharvey Jan 15, 2025
24b4a9b
Bug fixes 2.x pr 2.x (#2235)
gregharvey Jan 15, 2025
13fd86a
Bug fixes 2.x pr 2.x (#2240)
gregharvey Jan 15, 2025
fdf1e22
Updating-descriptions (#2237)
matej5 Jan 15, 2025
02d550c
Bug fixes 2.x pr 2.x (#2242)
gregharvey Jan 15, 2025
9ef5312
Bug fixes 2.x pr 2.x (#2244)
gregharvey Jan 15, 2025
344d9a3
Documentation update - 2.x (#2245)
github-actions[bot] Jan 15, 2025
c814de9
Bug fixes 2.x pr 2.x (#2252)
gregharvey Jan 16, 2025
2288a06
Bug fixes 2.x pr 2.x (#2256)
gregharvey Jan 16, 2025
606b8f7
Bug fixes 2.x pr 2.x (#2259)
gregharvey Jan 17, 2025
28243d1
Updating-nodejs (#2262)
drazenCE Jan 22, 2025
de5313a
Fixing-unattended-upgrades (#2268)
drazenCE Jan 23, 2025
b5eca01
Bug fixes 2.x pr 2.x (#2272)
gregharvey Jan 23, 2025
ddc9dac
Allowing more flexible definition of sudo privileges via user_ansible…
gregharvey Jan 24, 2025
e0888ff
Bug fixes 2.x pr 2.x (#2280)
gregharvey Jan 29, 2025
c639402
Bug fixes 2.x pr 2.x (#2281)
gregharvey Jan 30, 2025
84fc781
Enhanced quick start pr 2.x (#2283)
gregharvey Jan 30, 2025
8d3975a
ldap ca certificate refactor (#2247)
filiprupic Jan 30, 2025
207dfcb
Merge branch 'devel-2.x' into 2.x
gregharvey Jan 30, 2025
92fb7c5
Enhanced quick start pr 2.x (#2286)
gregharvey Jan 30, 2025
bfc59e2
Enhanced quick start pr 2.x (#2289)
gregharvey Feb 5, 2025
6e102ab
optional_working_dir_for_ansible_galaxy (#2291)
tymofiisobchenko Feb 10, 2025
670ca54
add_missing_condition (#2293)
tymofiisobchenko Feb 10, 2025
ebbc13d
hide_task_output (#2295)
tymofiisobchenko Feb 10, 2025
63ba8d9
Allowing openvpn role to set up a client config location. (#2297)
gregharvey Feb 11, 2025
de98bc1
Openvpn client config pr 2.x (#2299)
gregharvey Feb 11, 2025
9cd127e
Bug fixes pr 2.x (#2302)
gregharvey Feb 12, 2025
b64ab8b
Bug fixes pr 2.x (#2304)
gregharvey Feb 13, 2025
149af43
Updating-haymarket-drupal-common (#2312)
drazenCE Feb 17, 2025
5a04ee3
Updating-drupal-common-j2 (#2319)
drazenCE Feb 17, 2025
11b740c
Bug fixes pr 2.x (#2322)
gregharvey Feb 19, 2025
468c0ce
Postfix-rsyslog (#2328)
drazenCE Feb 19, 2025
ad8e35a
Reverting-rsyslog-changes (#2335)
drazenCE Feb 20, 2025
0160e68
Updating-timer-persistency (#2323)
drazenCE Feb 20, 2025
922d7c2
adding support for varnish during generates (#2306)
filiprupic Feb 21, 2025
142c0c0
adding swap to common base (#2341)
filiprupic Feb 21, 2025
6a3e9e8
Updating rsyslog conf (#2343)
drazenCE Feb 24, 2025
59e098d
Updating-Backup-validation-role (#2344)
matej5 Feb 25, 2025
f8ee952
Updating-drupal-common-drupal-fallback-optional (#2348)
drazenCE Mar 3, 2025
3c67a2d
Merge branch 'n10-Creating-new-role-for-administration' into n10-Crea…
Mar 4, 2025
6c9c9c2
n10-Creating-new-role-for-administration
Mar 4, 2025
3624510
Merge branch 'n10-Creating-new-role-for-administration' into n10-Crea…
Mar 4, 2025
2450389
Adding-role-in-meta-tasks
Mar 4, 2025
0d15bcc
Merge branch 'n10-Creating-new-role-for-administration' into n10-Crea…
Mar 4, 2025
d5617c6
Moving-swag-file
Mar 4, 2025
b612e6d
Merge branch 'n10-Creating-new-role-for-administration' into n10-Crea…
Mar 4, 2025
19f2cb9
Moving-swag-file-2
Mar 4, 2025
7e12c91
Merge branch 'n10-Creating-new-role-for-administration' into n10-Crea…
Mar 4, 2025
d6e41d3
Changing-from-swagger-file-to-text
Mar 4, 2025
966575e
Merge branch 'n10-Creating-new-role-for-administration' into n10-Crea…
Mar 4, 2025
8b0f681
Adding-API-lookup-prior-to-creation
Mar 4, 2025
2201e65
Merge branch 'n10-Creating-new-role-for-administration' into n10-Crea…
Mar 4, 2025
6318134
Adding-API-lookup-prior-to-creation-2
Mar 4, 2025
12ceb50
Merge branch 'n10-Creating-new-role-for-administration' into n10-Crea…
Mar 4, 2025
642557d
Adding-API-lookup-prior-to-creation-3
Mar 4, 2025
8dab848
Merge branch 'n10-Creating-new-role-for-administration' into n10-Crea…
Mar 4, 2025
7fbec97
Adding-API-lookup-prior-to-creation-4
Mar 4, 2025
fdc336d
Merge branch 'n10-Creating-new-role-for-administration' into n10-Crea…
Mar 4, 2025
8fa230a
Adding-API-lookup-prior-to-creation-5
Mar 4, 2025
84a1f11
Merge branch 'n10-Creating-new-role-for-administration' into n10-Crea…
Mar 4, 2025
f693aed
Adding-API-lookup-prior-to-creation-6
Mar 4, 2025
16116e2
Merge branch 'n10-Creating-new-role-for-administration' into n10-Crea…
Mar 4, 2025
c2de109
Adding-API-lookup-prior-to-creation-7
Mar 4, 2025
f833822
Merge branch 'n10-Creating-new-role-for-administration' into n10-Crea…
Mar 4, 2025
27ec0c5
Updating-tasks
Mar 4, 2025
51dc7ff
Merge branch 'n10-Creating-new-role-for-administration' into n10-Crea…
Mar 4, 2025
33e4164
Updating-tasks
Mar 4, 2025
c8f39dd
Merge branch 'n10-Creating-new-role-for-administration' into n10-Crea…
Mar 4, 2025
aeac776
Updating-tasks-2
Mar 4, 2025
a10bd4c
Merge branch 'n10-Creating-new-role-for-administration' into n10-Crea…
Mar 4, 2025
6d24b7b
Updating-tasks-3
Mar 4, 2025
5d989c0
Merge branch 'n10-Creating-new-role-for-administration' into n10-Crea…
Mar 4, 2025
71881fa
Updating-tasks-4
Mar 4, 2025
1a4c3a9
Merge branch 'n10-Creating-new-role-for-administration' into n10-Crea…
Mar 4, 2025
7fe971c
Updating-tasks-4
Mar 4, 2025
220f413
Merge branch 'n10-Creating-new-role-for-administration' into n10-Crea…
Mar 4, 2025
aa62247
Updating-tasks-5
Mar 4, 2025
9172d64
Merge branch 'n10-Creating-new-role-for-administration' into n10-Crea…
Mar 4, 2025
c449201
Updating-tasks-6
Mar 4, 2025
2c990ad
Merge branch 'n10-Creating-new-role-for-administration' into n10-Crea…
Mar 4, 2025
97c9c48
Updating-tasks-7
Mar 4, 2025
bf7dcf3
Merge branch 'n10-Creating-new-role-for-administration' into n10-Crea…
Mar 4, 2025
3aaa16d
Adding-for-loop-for-lambda-functions
Mar 5, 2025
9b7518a
Merge branch 'n10-Creating-new-role-for-administration' into n10-Crea…
Mar 5, 2025
cf1295e
Adding-for-loop-for-lambda-functions-2
Mar 5, 2025
a08eaa6
Merge branch 'n10-Creating-new-role-for-administration' into n10-Crea…
Mar 5, 2025
fb23ca0
Adding-for-loop-for-lambda-functions-3
Mar 5, 2025
a268d83
Merge branch 'n10-Creating-new-role-for-administration' into n10-Crea…
Mar 5, 2025
d89cd20
Adding-for-loop-for-lambda-functions-4
Mar 5, 2025
d634458
Merge branch 'n10-Creating-new-role-for-administration' into n10-Crea…
Mar 5, 2025
0c1c28b
Adding-for-loop-for-lambda-functions-5
Mar 5, 2025
fe7caad
Merge branch 'n10-Creating-new-role-for-administration' into n10-Crea…
Mar 5, 2025
356b39a
Adding-for-loop-for-lambda-functions-6
Mar 5, 2025
2c83dad
Merge branch 'n10-Creating-new-role-for-administration' into n10-Crea…
Mar 5, 2025
6becf47
Adding-for-loop-for-lambda-functions-7
Mar 5, 2025
180c9cf
Merge branch 'n10-Creating-new-role-for-administration' into n10-Crea…
Mar 5, 2025
37e18b6
Adding-for-loop-for-lambda-functions-8
Mar 5, 2025
e5c7f93
Merge branch 'n10-Creating-new-role-for-administration' into n10-Crea…
Mar 5, 2025
82e9f8b
Adding-for-loop-for-lambda-functions-9
Mar 5, 2025
529ad97
Merge branch 'n10-Creating-new-role-for-administration' into n10-Crea…
Mar 5, 2025
77e3ba5
Adding-for-loop-for-lambda-functions-10
Mar 5, 2025
b891684
Merge branch 'n10-Creating-new-role-for-administration' into n10-Crea…
Mar 5, 2025
163b82e
Adding-for-loop-for-lambda-functions-11
Mar 5, 2025
527a368
Merge branch 'n10-Creating-new-role-for-administration' into n10-Crea…
Mar 5, 2025
34286b7
Switching-role-to-use-aws-cli
Mar 5, 2025
565210f
Merge branch 'n10-Creating-new-role-for-administration' into n10-Crea…
Mar 5, 2025
eb12ddc
Switching-role-to-use-aws-cli-2
Mar 5, 2025
d2c5a21
Merge branch 'n10-Creating-new-role-for-administration' into n10-Crea…
Mar 5, 2025
f753c72
Switching-role-to-use-aws-cli-3
Mar 5, 2025
8ee110c
Merge branch 'n10-Creating-new-role-for-administration' into n10-Crea…
Mar 5, 2025
bc461a1
Switching-role-to-use-aws-cli-4
Mar 5, 2025
b855ff9
Merge branch 'n10-Creating-new-role-for-administration' into n10-Crea…
Mar 5, 2025
587f382
Publish docs pr devel 2.x (#2167)
gregharvey Jan 7, 2025
da689c4
Publish docs pr devel 2.x (#2169)
gregharvey Jan 7, 2025
a9443a8
Switching-role-to-use-aws-cli-5
Mar 5, 2025
d896d15
Switching-role-to-use-aws-cli-6
Mar 5, 2025
0c0eb88
resolving-conflicts
Mar 5, 2025
b917414
Switching-role-to-use-aws-cli-7
Mar 5, 2025
a67c3ca
Switching-role-to-use-aws-cli-8
Mar 5, 2025
3b91b0c
Switching-role-to-use-aws-cli-9
Mar 5, 2025
15d2f31
Switching-role-to-use-aws-cli-10
Mar 5, 2025
3c7649b
Switching-role-to-use-aws-cli-11
Mar 5, 2025
73176b9
Switching-role-to-use-aws-cli-12
Mar 5, 2025
fde5d49
Switching-role-to-use-aws-cli-13
Mar 5, 2025
155631e
Switching-role-to-use-aws-cli-14
Mar 5, 2025
bf496cf
Switching-role-to-use-aws-cli-15
Mar 5, 2025
c90e17a
Switching-role-to-use-aws-cli-16
Mar 5, 2025
0bba695
Switching-role-to-use-aws-cli-17
Mar 5, 2025
60a6074
Switching-role-to-use-aws-cli-18
Mar 5, 2025
a805d3e
Switching-role-to-use-aws-cli-19
Mar 5, 2025
fb13045
Switching-role-to-use-aws-cli-20
Mar 5, 2025
d2ffdf6
Switching-role-to-use-aws-cli-21
Mar 5, 2025
fa3427f
Switching-role-to-use-aws-cli-22
Mar 5, 2025
8128909
Switching-role-to-use-aws-cli-23
Mar 5, 2025
5156d62
Adding-tasks-for-lambda-functions
Mar 5, 2025
e21a6f4
Adding-tasks-for-lambda-functions-2
Mar 5, 2025
065e4b8
Adding-tasks-for-lambda-functions-2
Mar 5, 2025
065f221
Adding-tasks-for-lambda-functions-3
Mar 5, 2025
fa5ca88
Adding-waf
Mar 6, 2025
4395b05
Adding-waf-2
Mar 6, 2025
d2a6c95
Adding-waf-3
Mar 6, 2025
ab7ab6d
Adding-waf-4
Mar 6, 2025
7fc0186
Adding-waf-5
Mar 6, 2025
3d33651
Adding-waf-6
Mar 6, 2025
68cc8f0
Adding-waf-7
Mar 6, 2025
4c200b1
Adding-waf-8
Mar 6, 2025
a9b0e2b
Adding-waf-9
Mar 6, 2025
bcfccca
Adding-waf-9
Mar 6, 2025
d13779c
Adding-waf-11
Mar 6, 2025
50b249f
Adding-waf-12
Mar 6, 2025
a9489e2
Adding-waf-13
Mar 6, 2025
d07d5e4
Adding-waf-14
Mar 6, 2025
be113ac
Adding-waf-15
Mar 7, 2025
59ab43e
Adding-waf-15
Mar 7, 2025
58e8334
Adding-waf-17
Mar 7, 2025
012cfaa
Adding-waf-18
Mar 7, 2025
9b90a4e
Adding-waf-19
Mar 7, 2025
73e8f68
Adding-waf-20
Mar 7, 2025
f4c5063
Adding-waf-21
Mar 7, 2025
3a16cc0
Adding-waf-22
Mar 7, 2025
60507c7
Adding-waf-23
Mar 7, 2025
f0bbf1c
Updating-nitial-tasks
Mar 7, 2025
514b198
Updating-initial-tasks-2
Mar 7, 2025
959bc41
Updating-initial-tasks-3
Mar 7, 2025
8a5901f
Updating-initial-tasks-4
Mar 7, 2025
e8bf304
Updating-initial-tasks-5
Mar 7, 2025
4d9efb5
Updating-initial-tasks-6
Mar 7, 2025
5316a81
Updating-initial-tasks-7
Mar 10, 2025
ac47006
Updating-initial-tasks-8
Mar 10, 2025
72d5514
Updating-initial-tasks-9
Mar 10, 2025
1f6e1e6
Updating-initial-tasks-10
Mar 10, 2025
4dfb8b7
Updating-initial-tasks-11
Mar 10, 2025
c24aeba
Updating-initial-tasks-12
Mar 10, 2025
8890859
Updating-initial-tasks-13
Mar 10, 2025
6273768
Updating-initial-tasks-13
Mar 10, 2025
8104b0c
Updating-initial-tasks-14
Mar 11, 2025
7d71a72
Updating-initial-tasks-15
Mar 11, 2025
848e2a9
Updating-initial-tasks-16
Mar 11, 2025
0b3694e
Updating-initial-tasks-17
Mar 11, 2025
fdcf00e
Updating-initial-tasks-18
Mar 11, 2025
855b169
Updating-initial-tasks-19
Mar 11, 2025
6e116dd
Updating-initial-tasks-20
Mar 11, 2025
52e1871
Updating-initial-tasks-21
Mar 11, 2025
e83c1be
Updating-initial-tasks-22
Mar 11, 2025
f8b1345
Updating-initial-tasks-23
Mar 11, 2025
966d385
Updating-initial-tasks-24
Mar 12, 2025
39fe121
Updating-initial-tasks-24
Mar 12, 2025
9537aff
Updating-initial-tasks-25
Mar 12, 2025
6ee7428
Updating-initial-tasks-26
Mar 12, 2025
1815eb7
Updating-initial-tasks-27
Mar 12, 2025
8f83f2b
Updating-initial-tasks-28
Mar 12, 2025
0a3d337
Updating-initial-tasks-29
Mar 12, 2025
678a00f
Updating-initial-tasks-30
Mar 12, 2025
b78a877
Updating-initial-tasks-31
Mar 12, 2025
e029306
Updating-initial-tasks-32
Mar 12, 2025
fb341af
Updating-initial-tasks-33
Mar 12, 2025
2582c5e
Updating-initial-tasks-34
Mar 12, 2025
c927bdd
Updating-initial-tasks-35
Mar 12, 2025
1dfb5b1
Updating-initial-tasks-36
Mar 12, 2025
7ed72fa
New-admin-tools-role-3
Mar 12, 2025
d0610a4
New-admin-tools-role-4
Mar 12, 2025
450b1df
New-admin-tools-role-5
Mar 12, 2025
a0c5c82
New-admin-tools-role-6
Mar 12, 2025
b14e7c6
New-admin-tools-role-4
Mar 12, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions ce-dev/ansible/vars/provision/galaxy-requirements.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@
roles:
- name: geerlingguy.solr
- name: geerlingguy.java
- name: cloudalchemy.process_exporter
- name: cloudalchemy.grafana
- name: prometheus.prometheus.process_exporter
- name: grafana.grafana.grafana
collections:
- name: community.grafana
- name: prometheus.prometheus
1 change: 1 addition & 0 deletions roles/_meta/aws_region/meta/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,3 +8,4 @@ dependencies:
- role: aws/aws_cloudwatch_log_group
- role: aws/aws_backup
- role: aws/aws_backup_sns
- role: aws/aws_admin_tools
1 change: 1 addition & 0 deletions roles/aws/aws_acl/defaults/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ aws_acl:
region: "us-east-1"
tags: "{{ _aws_tags }}"
recreate: false # set to true to creating the ACL
default_action: "Allow" # Default action if no rules are triggered, can be Block
rules:
rate_limit:
value: 600 # set to 0 to skip rate limit rule, set to a value to set how many requests to allow in period before blocking
Expand Down
2 changes: 1 addition & 1 deletion roles/aws/aws_acl/tasks/create_acl.yml
Original file line number Diff line number Diff line change
Expand Up @@ -92,7 +92,7 @@
description: "{{ _acl.description }}"
scope: "{{ _acl.scope }}"
region: "{{ _acl.region }}"
default_action: Allow # or "Block"
default_action: "{{ _acl.default_action }}" # or "Block"
sampled_requests: false
cloudwatch_metrics: true # or "false" to disable metrics
metric_name: test-metric-name # not sure about this name, since each rule also has it's own metrics name (maybe log group name)
Expand Down
18 changes: 18 additions & 0 deletions roles/aws/aws_admin_tools/defaults/main.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
aws_admin_tools:
runtime: "python3.12"
timeout: 20
allowed_ips:
- 192.168.1.1/32 # Ip of server with access to API-s
functions:
- name: "GetForecastedCosts"
type: GET
policies:
- "arn:aws:iam::{{ _acc_id }}:policy/CEBillingPolicy" # Custom policy
- name: "ChangeASGScaling"
type: POST
policies:
- arn:aws:iam::aws:policy/AmazonEC2FullAccess
- name: "GetListOfEC2"
type: GET
policies:
- arn:aws:iam::aws:policy/AmazonEC2FullAccess
74 changes: 74 additions & 0 deletions roles/aws/aws_admin_tools/tasks/create.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
- name: Create stage on API gateway.
ansible.builtin.command: >-
aws apigateway create-stage
--rest-api-id "{{ _api_gate.id }}"
--stage-name "prod"
--deployment-id "{{ _main_api_deploy.id }}"
--region "{{ _aws_region }}"
register: _main_api_stage
when: _api_index | length == 0

- name: Create resources and set methods on API Gateway.
ansible.builtin.include_tasks: create_methods.yml
loop: "{{ aws_admin_tools.functions }}"

- name: Obtain all information for a single WAF.
community.aws.wafv2_web_acl_info:
name: "{{ _aws_profile }}_admin_tools"
scope: "REGIONAL"
region: "{{ _aws_region }}"
register: _main_waf

- name: Get list of API gateway resources.
ansible.builtin.command: >-
aws apigateway get-resources
--region "{{ _aws_region }}"
--rest-api-id "{{ _api_gate.id }}"
register: _api_res_list

- name: Setting previous command output into variable.
ansible.builtin.set_fact:
_api_res_list: "{{ _api_res_list.stdout | from_json | json_query('items') }}"

- name: Get index of DelMe resource from API gateway.
ansible.builtin.set_fact:
_api_res_index_list: "{{ lookup('ansible.utils.index_of', _api_res_list, 'eq', '/DelMe', 'path', wantlist=True) }}"
when: _api_index | length == 0

- name: Delete the initial resource.
ansible.builtin.command: >-
aws apigateway delete-resource
--rest-api-id "{{ _api_gate.id }}"
--resource-id "{{ _api_res_list[_api_res_index_list[0]].id }}"
--region "{{ _aws_region }}"
when: _api_index | length == 0

- name: Deploy API gateway prior to attaching WAF.
ansible.builtin.command: >-
aws apigateway create-deployment
--rest-api-id "{{ _api_gate.id }}"
--stage-name "prod"
--region "{{ _aws_region }}"

- name: Add API gateway to waf.
community.aws.wafv2_resources:
name: "{{ _aws_profile }}_admin_tools"
scope: REGIONAL
state: present
region: "{{ _aws_region }}"
arn: "arn:aws:apigateway:{{ _aws_region }}::/restapis/{{ _api_gate.id }}/stages/prod"

- name: Generate unique string.
ansible.builtin.set_fact:
_rand_str: "{{ lookup('community.general.random_string', length=8, special=false, min_lower=2, min_numeric=2, min_upper=2) }}"

- name: Update Lambda triggers.
ansible.builtin.command: >-
aws lambda add-permission
--function-name "API_{{ item.name }}"
--statement-id "{{ item.name }}_{{ _rand_str }}"
--action "lambda:InvokeFunction"
--principal apigateway.amazonaws.com
--source-arn arn:aws:execute-api:{{ _aws_region }}:{{ _acc_id }}:{{ _api_gate.id }}/*/{{ item.type }}/{{ item.name }}
--region {{ _aws_region }}
loop: "{{ aws_admin_tools.functions }}"
80 changes: 80 additions & 0 deletions roles/aws/aws_admin_tools/tasks/create_methods.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,80 @@
- name: Get resources.
ansible.builtin.command: >-
aws apigateway get-resources
--rest-api-id "{{ _api_gate.id }}"
--region "{{ _aws_region }}"
register: _api_old_resource

- name: Setting previous command output into variable.
ansible.builtin.set_fact:
_api_old_resource: "{{ _api_old_resource.stdout | from_json }}"

- name: Find the index of existing resource.
ansible.builtin.set_fact:
_api_old_resource_index: "{{ lookup('ansible.utils.index_of', _api_old_resource['items'], 'eq', '/' + item.name, 'path', wantlist=True) }}"

- name: Delete resource.
ansible.builtin.command: >-
aws apigateway delete-resource
--rest-api-id "{{ _api_gate.id }}"
--resource-id "{{ _api_old_resource['items'][_api_old_resource_index[0]].id }}"
--region "{{ _aws_region }}"
register: _api_old_resource
when: _api_old_resource_index | length > 0

- name: Create resource on API gateway.
ansible.builtin.command: >-
aws apigateway create-resource
--rest-api-id "{{ _api_gate.id }}"
--parent-id "{{ _api_res_list[_api_res_index_list[0]].id }}"
--path-part "{{ item.name }}"
--region "{{ _aws_region }}"
register: _api_resource

- name: Setting previous command output into variable.
ansible.builtin.set_fact:
_api_resource: "{{ _api_resource.stdout | from_json }}"

- name: Put method on API gateway
ansible.builtin.command: >-
aws apigateway put-method
--rest-api-id "{{ _api_gate.id }}"
--resource-id "{{ _api_resource.id }}"
--http-method "{{ item.type }}"
--authorization-type "NONE"
--no-api-key-required
--region "{{ _aws_region }}"

- name: Add Lambda for method.
ansible.builtin.command: >-
aws apigateway put-integration
--rest-api-id "{{ _api_gate.id }}"
--resource-id "{{ _api_resource.id }}"
--http-method "{{ item.type }}"
--type AWS
--content-handling CONVERT_TO_TEXT
--request-templates '{ "application/json": "{\"statusCode\": 200}" }'
--integration-http-method POST
--uri "arn:aws:apigateway:{{ _aws_region }}:lambda:path/2015-03-31/functions/arn:aws:lambda:{{ _aws_region }}:{{ _acc_id }}:function:API_{{ item.name }}/invocations"
--region {{ _aws_region }}

- name: Add method response.
ansible.builtin.command: >-
aws apigateway put-method-response
--rest-api-id "{{ _api_gate.id }}"
--resource-id "{{ _api_resource.id }}"
--http-method "{{ item.type }}"
--status-code "200"
--response-models '{"application/json":"Empty"}'
--region {{ _aws_region }}

- name: Add integration response.
ansible.builtin.command: >-
aws apigateway put-integration-response
--rest-api-id "{{ _api_gate.id }}"
--resource-id "{{ _api_resource.id }}"
--http-method "{{ item.type }}"
--status-code "200"
--selection-pattern ""
--content-handling "CONVERT_TO_TEXT"
--region {{ _aws_region }}
42 changes: 42 additions & 0 deletions roles/aws/aws_admin_tools/tasks/create_mock.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
- name: Create MOCK resource on API gateway.
ansible.builtin.command: >-
aws apigateway create-resource
--rest-api-id "{{ _api_gate.id }}"
--parent-id "{{ _api_res_list[_api_res_index_list[0]].id }}"
--path-part "DelMe"
--region "{{ _aws_region }}"
register: _api_resource

- name: Setting command output into variable.
ansible.builtin.set_fact:
_api_resource: "{{ _api_resource.stdout | from_json }}"

- name: Put method on API gateway.
ansible.builtin.command: >-
aws apigateway put-method
--rest-api-id "{{ _api_gate.id }}"
--resource-id "{{ _api_resource.id }}"
--http-method "GET"
--authorization-type "NONE"
--no-api-key-required
--region "{{ _aws_region }}"

- name: Add mock integration.
ansible.builtin.command: >-
aws apigateway put-integration
--rest-api-id "{{ _api_gate.id }}"
--resource-id "{{ _api_resource.id }}"
--http-method GET
--type MOCK
--region {{ _aws_region }}

- name: Create initial deployent for API gateway.
ansible.builtin.command: >-
aws apigateway create-deployment
--rest-api-id "{{ _api_gate.id }}"
--region "{{ _aws_region }}"
register: _main_api_deploy

- name: Setting command output into variable.
ansible.builtin.set_fact:
_main_api_deploy: "{{ _main_api_deploy.stdout | from_json }}"
48 changes: 48 additions & 0 deletions roles/aws/aws_admin_tools/tasks/lambda_functions.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
- name: Create S3 bucket for lambda functions.
amazon.aws.s3_bucket:
name: "{{ _aws_profile }}-lambda-api-functions"
region: "{{ _aws_region }}"
state: present

- name: Check and clean any previous python files.
ansible.builtin.file:
path: "/tmp/{{ item.name }}.py"
state: absent

- name: Write Lambda functions.
ansible.builtin.template:
src: "API_{{ item.name }}.py.j2"
dest: "/tmp/API_{{ item.name }}.py"

- name: Create a zip archive of Lambda functions.
community.general.archive:
path: "/tmp/API_{{ item.name }}.py"
dest: "/tmp/API_{{ item.name }}.zip"
format: zip

- name: Place Lambda functions in S3 bucket.
amazon.aws.s3_object:
bucket: "{{ _aws_profile }}-lambda-api-functions"
object: "lambda-functions/API-{{ item.name }}.zip"
src: "/tmp/API_{{ item.name }}.zip"
mode: put

- name: Get appropriate IAM role for Lambda.
amazon.aws.iam_role_info:
name: "API_{{ item.name }}"
register: _iam_api_lambda

- name: Create Lambda functions.
amazon.aws.lambda:
name: "API_{{ item.name }}"
description: "Lambda function for {{ item.name }}"
region: "{{ _aws_region }}"
timeout: "{{ aws_admin_tools.timeout }}"
s3_bucket: "{{ _aws_profile }}-lambda-api-functions"
s3_key: "lambda-functions/API-{{ item.name }}.zip"
state: present
runtime: "{{ aws_admin_tools.runtime }}"
role: "{{ _iam_api_lambda.iam_roles[0].arn }}"
handler: "API_{{ item.name }}.lambda_handler"
tags:
Name: "API_{{ item.name }}"
9 changes: 9 additions & 0 deletions roles/aws/aws_admin_tools/tasks/lambda_iam.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
- name: Attach CloudWatch policy.
ansible.builtin.set_fact:
_policies: "{{ item.policies + ['arn:aws:iam::aws:policy/CloudWatchLogsFullAccess'] }}"

- name: Create a role and attach policies.
amazon.aws.iam_role:
name: "API_{{ item.name }}"
assume_role_policy_document: "{{ lookup('template', 'trusted_entitites.j2') }}"
managed_policies: "{{ _policies }}"
Loading