forked from fastly/fastly-magento2
-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathsystem.xml
969 lines (969 loc) · 72.8 KB
/
system.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
<?xml version="1.0"?>
<!--
/**
* Fastly CDN for Magento
*
* NOTICE OF LICENSE
*
* This source file is subject to the Fastly CDN for Magento End User License Agreement
* that is bundled with this package in the file LICENSE_FASTLY_CDN.txt.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade Fastly CDN to newer
* versions in the future. If you wish to customize this module for your
* needs please refer to http://www.magento.com for more information.
*
* @category Fastly
* @package Fastly_Cdn
* @copyright Copyright (c) 2016 Fastly, Inc. (http://www.fastly.com)
* @license BSD, see LICENSE_FASTLY_CDN.txt
*/
-->
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:module:Magento_Config:etc/system_file.xsd">
<system>
<section id="system">
<group id="full_page_cache">
<group id="fastly" translate="label" showInDefault="1" showInWebsite="0" showInStore="0" sortOrder="615">
<label>Fastly Configuration</label>
<comment>
<![CDATA[To use this plugin you need a Fastly account (
<a href="https://www.fastly.com/signup" target="_blank">Create a free account</a>). Once configured, you will need to <a href="https://docs.fastly.com/guides/basic-setup/adding-cname-records" target="_blank">add a CNAME to your domain.</a><br /><br />
For setting up TLS/SSL and additional documentation please refer to <a href="https://github.com/fastly/fastly-magento2/tree/master/Documentation" target="_blank">the full plugin guide.</a>]]>
</comment>
<!-- =================================
Fastly Service ID input field
================================== -->
<field id="fastly_service_id" type="text" translate="label comment" sortOrder="5" showInDefault="1" showInWebsite="0" showInStore="0">
<label>Fastly Service ID</label>
<comment>
<![CDATA[Learn more about <a href="https://docs.fastly.com/guides/basic-setup/working-with-services#creating-a-new-service" target="_blank">creating a Fastly Service</a>
and <a href="https://docs.fastly.com/guides/account-management-and-security/finding-and-managing-your-account-info" target="_blank">finding your Service ID.</a>]]>
</comment>
<backend_model>Magento\PageCache\Model\System\Config\Backend\Varnish</backend_model>
<validate>required-entry</validate>
</field>
<!-- ================================
Fastly API Token input field
================================= -->
<field id="fastly_api_key" type="text" translate="label comment" sortOrder="10" showInDefault="1" showInWebsite="0" showInStore="0">
<label>Fastly API Token</label>
<comment>
<![CDATA[Please create a <a href="https://manage.fastly.com/account/personal/tokens" target="_blank">Fastly API token</a> with a global scope.<br /><br />
After making any changes to Fastly Service ID or API token, please Save Config first before uploading VCL.]]>
</comment>
<frontend_class>masked</frontend_class>
<backend_model>Magento\PageCache\Model\System\Config\Backend\Varnish</backend_model>
<validate>required-entry</validate>
</field>
<!-- ===========================
Test Credentials button
============================ -->
<field id="test_connection" translate="label comment" sortOrder="15" showInDefault="1" showInStore="0" showInWebsite="0">
<label><![CDATA[Test Credentials]]></label>
<frontend_model>Fastly\Cdn\Block\System\Config\Form\Field\TestConnectionBtn</frontend_model>
</field>
<!-- ================================================
Automatic Upload & Service Validation button
================================================ -->
<field id="upload_vcl" translate="label comment" sortOrder="20" showInDefault="1" showInStore="0" showInWebsite="0">
<label><![CDATA[Automatic Upload & Service Activation]]></label>
<comment>
<![CDATA[Uploads stock Magento VCL. Magento VCL is required in order to take advantage of Fastly full page caching.
More details <a href="https://github.com/fastly/fastly-magento2/blob/master/Documentation/Guides/INSTALLATION.md#vcl-upload"
target="_blank">here</a>. Recommended: Re-upload VCL periodically as newer versions of the plugin may contain VCL improvements/fixes.
]]>
</comment>
<frontend_model>Fastly\Cdn\Block\System\Config\Form\Field\UploadVclBtn</frontend_model>
</field>
<!-- ================================
Advanced Configuration group
================================= -->
<group id="fastly_advanced_configuration" sortOrder="50" translate="label comment" showInDefault="1" showInWebsite="0" showInStore="0">
<label>Advanced Configuration</label>
<!-- ====================
Force TLS button
===================== -->
<field id="force_tls" translate="label comment" sortOrder="10" showInDefault="1" showInStore="0" showInWebsite="0">
<label><![CDATA[Force TLS]]></label>
<comment>
<![CDATA[Return a <strong>301 Moved Permanently</strong> redirect to any unencrypted request, and redirect to the TLS equivalent. Also sets <a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Strict-Transport-Security" target="_blank">HSTS headers</a>.]]></comment>
<frontend_model>Fastly\Cdn\Block\System\Config\Form\Field\TlsBtn</frontend_model>
</field>
<!-- ==================================
Admin Path Timeout input field
=================================== -->
<field id="admin_path_timeout" type="text" translate="label comment" sortOrder="15" showInDefault="1" showInWebsite="0" showInStore="0" canRestore="1">
<label>Admin path timeout (1-600)</label>
<comment>
<![CDATA[Time in seconds for the admin path first byte timeout. Please reupload VCL after making changes.]]>
</comment>
<backend_model>Fastly\Cdn\Model\Config\Backend\ValidateInt</backend_model>
<validate>required-entry validate-digits</validate>
</field>
<!-- =======================================
Ignored URL Parameters input field
======================================= -->
<field id="ignored_url_parameters" type="text" translate="label comment" sortOrder="20" showInDefault="1" showInWebsite="0" showInStore="0" canRestore="1">
<label>Ignored URL Parameters</label>
<comment>
<![CDATA[A comma separated list of ignored query string parameters. Please reupload VCL after making changes.]]>
</comment>
<backend_model>Magento\PageCache\Model\System\Config\Backend\Varnish</backend_model>
</field>
<!-- ===========================================
Stale Content Delivery Time input field
============================================ -->
<field id="stale_ttl" type="text" translate="label comment" sortOrder="25" showInDefault="1" showInWebsite="0" showInStore="0" canRestore="1">
<label>Stale Content Delivery Time</label>
<comment><![CDATA[Time in seconds that Fastly will serve <a href="https://docs.fastly.com/guides/performance-tuning/serving-stale-content"
target="_blank">stale content</a> while fresh content is being requested. Set to 0 to disable this feature.]]></comment>
<backend_model>Magento\PageCache\Model\System\Config\Backend\Ttl</backend_model>
</field>
<!-- =====================================================================
Stale Content Delivery Time in Case of Backend Error input field
===================================================================== -->
<field id="stale_error_ttl" type="text" translate="label comment" sortOrder="30" showInDefault="1" showInWebsite="0" showInStore="0" canRestore="1">
<label>Stale Content Delivery Time in Case of Backend Error</label>
<comment>
<![CDATA[Time in seconds that Fastly will continue to serve <a href="https://docs.fastly.com/guides/performance-tuning/serving-stale-content#serving-stale-content-on-errors"
target="_blank">stale content</a> if your origin is unavailable. Set to 0 to disable this feature.]]>
</comment>
<backend_model>Magento\PageCache\Model\System\Config\Backend\Ttl</backend_model>
</field>
<!-- ===================================
X-Magento-Tags Size input field
==================================== -->
<field id="x_magento_tags_size" type="text" translate="label comment" sortOrder="35" showInDefault="1" showInWebsite="0" showInStore="0" canRestore="1">
<label>X-Magento-Tags Size</label>
<comment>
<![CDATA[Maximum X-Magento-Tags header size (in bytes).]]>
</comment>
<backend_model>Fastly\Cdn\Model\Config\Backend\ValidateInt</backend_model>
<validate>required-entry validate-digits</validate>
</field>
<!-- ================================
Purge Category select field
================================ -->
<field id="purge_catalog_category" translate="label comment" type="select" sortOrder="40" showInDefault="1" showInWebsite="0" showInStore="0">
<label>Purge Category</label>
<comment>Choose to purge all the category assets when saving a change to that category.</comment>
<source_model>Magento\Config\Model\Config\Source\Yesno</source_model>
</field>
<!-- ==============================
Purge Product select field
=============================== -->
<field id="purge_catalog_product" translate="label comment" type="select" sortOrder="45" showInDefault="1" showInWebsite="0" showInStore="0">
<label>Purge Product</label>
<comment>Choose to purge all the product’s assets when saving a change to that product.</comment>
<source_model>Magento\Config\Model\Config\Source\Yesno</source_model>
</field>
<!-- ===============================
Purge CMS Page select field
================================ -->
<field id="purge_cms_page" translate="label comment" type="select" sortOrder="50" showInDefault="1" showInWebsite="0" showInStore="0">
<label>Purge CMS Page</label>
<comment>Choose to purge page content when updating or adding a new page in the Magento CMS.</comment>
<source_model>Magento\Config\Model\Config\Source\Yesno</source_model>
</field>
<!-- ================================================
Preserve Static Assets on Purge select field
================================================= -->
<field id="preserve_static" translate="label comment" type="select" sortOrder="55" showInDefault="1" showInWebsite="0" showInStore="0">
<label>Preserve Static Assets on Purge</label>
<comment>
When flushing cache, flush only dynamic content and preserve static assets.
</comment>
<source_model>Magento\Config\Model\Config\Source\Yesno</source_model>
</field>
<!-- ===============================
Use Soft Purge select field
================================ -->
<field id="soft_purge" translate="label comment" type="select" sortOrder="60" showInDefault="1" showInWebsite="0" showInStore="0">
<label>Use Soft Purge</label>
<comment>
<![CDATA[<a href="https://docs.fastly.com/guides/purging/soft-purges" target="_blank">Soft Purge</a> needs to be turned on in order to serve stale content.]]>
</comment>
<source_model>Magento\Config\Model\Config\Source\Yesno</source_model>
</field>
<!-- =============================
Enable GeoIP select field
============================== -->
<field id="enable_geoip" translate="label comment" type="select" sortOrder="65" showInDefault="1" showInWebsite="0" showInStore="0">
<label>Enable GeoIP</label>
<comment>Enable GeoIP for country/language lookup.</comment>
<source_model>Magento\Config\Model\Config\Source\Yesno</source_model>
</field>
<!-- =============================
GeoIP Action select field
============================== -->
<field id="geoip_action" translate="label comment" type="select" sortOrder="70" showInDefault="1" showInWebsite="0" showInStore="0">
<label>GeoIP Action</label>
<comment>
<![CDATA["Dialog" shows a modal dialog to select target store.<br /> "Redirect" redirects the client directly to the target store.]]>
</comment>
<source_model>Fastly\Cdn\Model\System\Config\Source\GeoIP\Action</source_model>
<depends>
<field id="enable_geoip">1</field>
</depends>
</field>
<!-- ================================
GeoIP Country Mapping fields
================================= -->
<field id="geoip_country_mapping" translate="label comment tooltip" sortOrder="75" showInDefault="1" showInWebsite="0" showInStore="0">
<label>GeoIP Country Mapping</label>
<frontend_model>Fastly\Cdn\Block\System\Config\Form\Field\CountryMapping</frontend_model>
<backend_model>Fastly\Cdn\Model\Config\Backend\Geoipcountry</backend_model>
<comment>
<![CDATA[Use capitalized <a href="https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2"
target="_blank">two-letter country codes</a> to map countries to store views. Use * to define a default fallback.]]>
</comment>
<depends>
<field id="enable_geoip">1</field>
</depends>
</field>
<!-- =====================================
Fastly Edge Modules on/off switch
====================================== -->
<field id="enable_fastly_edge_modules" translate="label comment" type="select" sortOrder="80" showInDefault="1" showInWebsite="1" showInStore="1">
<label>Enable Fastly Edge Modules</label>
<comment>
<![CDATA[Enables/Disables Fastly Edge Modules menu.]]>
</comment>
<source_model>Magento\Config\Model\Config\Source\Yesno</source_model>
</field>
</group>
<!-- ==========================
Backend Settings group
=========================== -->
<group id="fastly_backend_settings" sortOrder="100" translate="label comment" showInDefault="1" showInWebsite="0" showInStore="0">
<label>Backend Settings</label>
<!-- =========================
Create Backend button
========================== -->
<field id="create_backend" translate="label comment" sortOrder="5" showInDefault="1" showInStore="0" showInWebsite="0">
<label><![CDATA[Create Backend]]></label>
<comment><![CDATA[]]></comment>
<frontend_model>Fastly\Cdn\Block\System\Config\Form\Field\CreateBackendBtn</frontend_model>
</field>
<!-- ==================
Backends field
=================== -->
<field id="backends" translate="label comment tooltip" sortOrder="10" showInDefault="1" showInWebsite="0" showInStore="0">
<label>Backends</label>
<frontend_model>Fastly\Cdn\Block\System\Config\Form\Field\Backend</frontend_model>
<comment>
<![CDATA[]]>
</comment>
</field>
</group>
<!-- ==============================
Basic Authentication group
=============================== -->
<group id="fastly_basic_auth" sortOrder="150" translate="label comment" showInDefault="1" showInWebsite="0" showInStore="0">
<label>Basic Authentication</label>
<comment><![CDATA[Basic authentication allows you to protect every page and asset on your site with username and password.
This can be used to protect the site during development. You will still be able to access Magento admin without basic auth.
It is not advised to use this in production.]]>
</comment>
<!-- ======================================
Basic Authentication button
======================================= -->
<field id="enable_basic_auth" translate="label comment" type="select" sortOrder="5" showInDefault="1">
<label>Basic Authentication</label>
<frontend_model>Fastly\Cdn\Block\System\Config\Form\Field\EnableAuth</frontend_model>
</field>
<!-- ==========================
Authentication buttons
=========================== -->
<field id="authentication" translate="label comment tooltip" sortOrder="10" showInDefault="1">
<label>Authentication</label>
<frontend_model>Fastly\Cdn\Block\System\Config\Form\Field\Auth</frontend_model>
</field>
</group>
<!-- ==================
Blocking group
=================== -->
<group id="fastly_blocking" sortOrder="200" translate="label comment" showInDefault="1" showInWebsite="0" showInStore="0">
<label>Blocking</label>
<!-- ===================
Blocking button
==================== -->
<field id="block" translate="label comment" sortOrder="5" showInDefault="1" showInStore="0" showInWebsite="0">
<label><![CDATA[Blocking]]></label>
<comment>
<![CDATA[Block traffic from selected ACL IPs and Countries. Please Save Config prior to enabling.]]>
</comment>
<frontend_model>Fastly\Cdn\Block\System\Config\Form\Field\BlockingBtn</frontend_model>
</field>
<!-- ==========================
Update Blocking button
=========================== -->
<field id="update_blocking_snippet" translate="label comment" sortOrder="6" showInDefault="1" showInStore="0" showInWebsite="0">
<label><![CDATA[Update Blocking]]></label>
<comment>
<![CDATA[Applies blocking changes to active setup. HAS TO BE clicked anytime you make blocking changes.]]>
</comment>
<frontend_model>Fastly\Cdn\Block\System\Config\Form\Field\UpdateBlockingBtn</frontend_model>
</field>
<!-- ===========================
Block Type select field
============================ -->
<field id="blocking_type" translate="label comment" type="select" sortOrder="9" showInDefault="1" showInWebsite="0" showInStore="0">
<label>Blocking Type</label>
<comment>
<![CDATA[<b>Blocklist:</b> block ALL access for users from selected countries/ACLs <br />
<b>Allowlist:</b> block ALL access EXCEPT for users from selected countries/ACLs]]>
</comment>
<source_model>Fastly\Cdn\Model\Config\Backend\BlocklistAllowlist</source_model>
</field>
<!-- ==================================
Country List multiselect field
=================================== -->
<field id="block_by_country" translate="label comment" type="multiselect" sortOrder="10" showInDefault="1" showInWebsite="0" showInStore="0">
<label>Country List</label>
<comment>
<![CDATA[List of countries that can be selected. Multiple selections allowed.]]>
</comment>
<source_model>Magento\Directory\Model\Config\Source\Country</source_model>
<can_be_empty>1</can_be_empty>
</field>
<!-- ==========================
ACLs multiselect field
=========================== -->
<field id="block_by_acl" translate="label comment" type="multiselect" sortOrder="20" showInDefault="1" showInWebsite="0" showInStore="0">
<label>ACLs</label>
<comment>
<![CDATA[List of ACLs that can be selected. Multiple selections allowed.]]>
</comment>
<source_model>Fastly\Cdn\Model\Config\Backend\ListAcl</source_model>
<can_be_empty>1</can_be_empty>
</field>
</group>
<!-- ================================
Custom Synthetic Pages group
================================= -->
<group id="fastly_error_maintenance_page" sortOrder="250" translate="label comment" showInDefault="1" showInWebsite="0" showInStore="0">
<label>Custom Synthetic Pages</label>
<comment>
<![CDATA[This option allows you to define synthetic pages. It allows you to paste your own HTML.]]>
</comment>
<!-- ======================================
Error/Maintenance Page HTML button
======================================= -->
<field id="force_tls" translate="label comment" sortOrder="5" showInDefault="1" showInStore="0" showInWebsite="0">
<label><![CDATA[Error/Maintenance Page HTML]]></label>
<comment>
<![CDATA[Configures an error/sorry page that will be sent to all users if Fastly is about to serve an error page (HTTP 500/503) e.g. backend timeouts, backend servers errors etc.]]>
</comment>
<frontend_model>Fastly\Cdn\Block\System\Config\Form\Field\ErrorPageBtn</frontend_model>
</field>
<!-- ============================
WAF Page button (hidden)
============================= -->
<field id="waf_page" translate="label comment" sortOrder="10" showInDefault="1" showInStore="0" showInWebsite="0">
<label><![CDATA[WAF Page]]></label>
<comment>
<![CDATA[Customize output of the page served to users blocked by the Web Application Firewall (WAF).]]>
</comment>
<frontend_model>Fastly\Cdn\Block\System\Config\Form\Field\WafPageBtn</frontend_model>
</field>
</group>
<!-- =============================
Custom VCL Snippets group
============================== -->
<group id="fastly_custom_snippets" sortOrder="300" translate="label comment" showInDefault="1" showInWebsite="0" showInStore="0">
<label>Custom VCL Snippets</label>
<comment>
<![CDATA[This option allows you to manage your own custom VCL snippets. You can learn
<a href="https://github.com/fastly/fastly-magento2/blob/master/Documentation/Guides/CUSTOM-VCL-SNIPPETS.md" target="_blank">more here</a>.
<b>Please note</b> after you have created your snippets you have to click on Upload Fastly VCL to upload them along
side stock Fastly VCL.
]]>
</comment>
<!-- ================================
Create Custom Snippet button
================================= -->
<field id="fastly_custom_snippet_upload" translate="label comment tooltip" sortOrder="80" showInDefault="1" showInWebsite="0" showInStore="0">
<label>Create Custom Snippet</label>
<frontend_model>Fastly\Cdn\Block\System\Config\Form\Field\CustomSnippetBtn</frontend_model>
</field>
<!-- ==============================
Custom Snippets list field
=============================== -->
<field id="fastly_custom_snippet_files" translate="label comment tooltip" sortOrder="80" showInDefault="1" showInWebsite="0" showInStore="0">
<label>Custom Snippets</label>
<frontend_model>Fastly\Cdn\Block\System\Config\Form\Field\CustomSnippets</frontend_model>
<comment>
<![CDATA[]]>
</comment>
</field>
</group>
<group id="fastly_domains" translate="label comment tooltip" sortOrder="325" showInDefault="1" showInWebsite="0" showInStore="0">
<label>Domains</label>
<comment></comment>
<field id="fastly_domains_list" translate="label comment tooltip" sortOrder="5" showInDefault="1" showInWebsite="0" showInStore="0">
<label>Domains</label>
<frontend_model>Fastly\Cdn\Block\System\Config\Form\Field\Domains</frontend_model>
</field>
</group>
<!-- ==================
Edge ACL group
=================== -->
<group id="fastly_edge_acl" sortOrder="350" translate="label comment" showInDefault="1" showInWebsite="0" showInStore="0">
<label>Edge ACL</label>
<comment>
<![CDATA[Edge ACLs are access control lists that allow you to manage IP addresses that are used in allowing or blocking access to resources.
<a href="https://docs.fastly.com/guides/access-control-lists/creating-and-manipulating-edge-acl-entries">Click here for more details.</a>
This interface only allows management of containers and entries. To invoke them you will need to configure your Fastly service.]]>
</comment>
<!-- ==============
ACL button
=============== -->
<field id="acl" translate="label comment tooltip" sortOrder="5" showInDefault="1" showInWebsite="0" showInStore="0">
<label>ACL</label>
<frontend_model>Fastly\Cdn\Block\System\Config\Form\Field\Acl</frontend_model>
</field>
</group>
<!-- ===========================
Edge Dictionaries group
============================ -->
<group id="fastly_edge_dictionaries" sortOrder="400" translate="label comment" showInDefault="1" showInWebsite="0" showInStore="0">
<label>Edge Dictionaries</label>
<comment>
<![CDATA[Edge Dictionaries are made up of dictionary containers and the dictionary items within them.
In combination, containers and items allow you to store data as key-value pairs on Fastly Edge nodes.
<a href="https://docs.fastly.com/guides/edge-dictionaries/about-edge-dictionaries">Click here for more details.</a>
This interface only allows management of containers and entries. To invoke them you will need to configure your Fastly service.]]>
</comment>
<!-- =======================
Dictionaries button
======================== -->
<field id="dictionaries" translate="label comment tooltip" sortOrder="5" showInDefault="1" showInWebsite="0" showInStore="0">
<label>Dictionaries</label>
<frontend_model>Fastly\Cdn\Block\System\Config\Form\Field\Edge</frontend_model>
</field>
</group>
<!-- ============================
Image Optimization group
============================= -->
<group id="fastly_image_optimization_configuration" sortOrder="450" translate="label comment" showInDefault="1" showInWebsite="0" showInStore="0">
<label>Image Optimization</label>
<!-- ============================
Fastly IO Snippet button
============================= -->
<field id="fastly_push_image_config" translate="label comment" sortOrder="5" showInDefault="1" showInStore="0" showInWebsite="0">
<label><![CDATA[Fastly IO Snippet]]></label>
<comment>
<![CDATA[VCL snippet upload is required in order to direct image requests to Fastly Image optimizers.]]>
</comment>
<frontend_model>Fastly\Cdn\Block\System\Config\Form\Field\ImageBtn</frontend_model>
</field>
<!-- ============================
Automatic Compression
============================= -->
<field id="automatic_compression" translate="label comment" type="select" sortOrder="7" showInDefault="1" showInWebsite="0" showInStore="0">
<label><![CDATA[Automatic Compression]]></label>
<comment><![CDATA[Automatically apply optimal quality compression to produce an output image with as much visual fidelity as possible, while minimizing the file size. <a href="https://docs.fastly.com/en/image-optimization-api/optimize" target="_blank" rel="noopener">Details can be found here</a>. If you choose Off Fastly will apply the fixed quality level as defined in default settings.]]></comment>
<source_model>Fastly\Cdn\Model\Config\Backend\AutomaticCompression</source_model>
</field>
<!-- ====================================
Default IO Config Options button
===================================== -->
<field id="image_optimizations_default_config_options" translate="label comment" sortOrder="10" showInDefault="1" showInStore="0" showInWebsite="0">
<label><![CDATA[Default IO Config Options]]></label>
<comment>
<![CDATA[Allows you to (re)configure items such as default quality levels, lossy image formats, auto WebP, JPG types. These settings will be used as fallbacks when no transformation rules are applied in the URL query string or in your VCL.]]>
</comment>
<frontend_model>Fastly\Cdn\Block\System\Config\Form\Field\IoConfigOptionsBtn</frontend_model>
</field>
<!-- =======================================
Force Lossy Conversion select field
======================================== -->
<field id="image_optimization_force_lossy" translate="label comment" type="select" sortOrder="15" showInDefault="1" showInWebsite="0" showInStore="0">
<label>Force Lossy conversion</label>
<comment>Certain image types are lossless e.g. PNG and BMP and will not compress well. By default Fastly IO will retain
original format. This option forces those images to be converted to lossy JPG or WEBP. Applies only to product/catalog images.</comment>
<source_model>Magento\Config\Model\Config\Source\Yesno</source_model>
</field>
<!-- ===============================================
Enable Deep Image Optimization select field
================================================ -->
<field id="image_optimizations" translate="label comment" type="select" sortOrder="20" showInDefault="1" showInWebsite="0" showInStore="0">
<label>Enable Deep Image Optimization</label>
<comment><![CDATA[Turns off Magento built-in image resizing and manipulation and offloads it onto Fastly IO.
Please read the <a href="https://github.com/fastly/fastly-magento2/blob/master/Documentation/Guides/IMAGE-OPTIMIZATION.md#deep-image-optimization"
target="_blank">image optimization guide</a> for caveats and details.]]></comment>
<source_model>Magento\Config\Model\Config\Source\Yesno</source_model>
</field>
<!-- ====================================================
JPEG image quality input field
===================================================== -->
<field id="image_optimization_image_quality" translate="label comment" type="text" sortOrder="21" showInDefault="1" showInWebsite="0" showInStore="0" canRestore="1">
<label>JPEG Image Quality</label>
<comment>
<![CDATA[Sets JPEG image quality, values in percentage from 1 to 100. This value is used in the quality query argument for product/catalog images.]]>
</comment>
<validate>required-entry validate-digits validate-not-negative-number validate-digits-range digits-range-1-100</validate>
<depends>
<field id="image_optimizations">1</field>
</depends>
</field>
<!-- ===============================================
Set Background Color on Images select field
================================================ -->
<field id="image_optimization_bg_color" translate="label comment" type="select" sortOrder="25" showInDefault="1" showInWebsite="0" showInStore="0">
<label>Set Background Color on Images</label>
<comment>Adds bg-color query argument for product/catalog images. This will remove a transparency/alpha channel and replace it with the theme background color.</comment>
<source_model>Magento\Config\Model\Config\Source\Yesno</source_model>
<depends>
<field id="image_optimizations">1</field>
</depends>
</field>
<!-- =====================================
Set Canvas on Images select field
====================================== -->
<field id="image_optimization_canvas" translate="label comment" type="select" sortOrder="26" showInDefault="1" showInWebsite="0" showInStore="0">
<label>Set Canvas on Images</label>
<comment>Adds canvas query argument for product/catalog images.</comment>
<source_model>Magento\Config\Model\Config\Source\Yesno</source_model>
<depends>
<field id="image_optimizations">1</field>
</depends>
</field>
<!-- ====================================================
Enable Adaptive Device Pixel Ratios select field
===================================================== -->
<field id="image_optimizations_pixel_ratio" translate="label comment" type="select" sortOrder="30" showInDefault="1" showInWebsite="0" showInStore="0">
<label>Enable Adaptive Device Pixel Ratios</label>
<comment><![CDATA[Image sources will be rewritten to use srcsets supporting
<a href="https://github.com/fastly/fastly-magento2/blob/master/Documentation/Guides/IMAGE-OPTIMIZATION.md#adaptive-pixel-ratios"
target="_blank">adaptive device pixel ratios</a>. Useful for Progressive Web Apps.]]></comment>
<depends>
<field id="image_optimizations">1</field>
</depends>
<source_model>Magento\Config\Model\Config\Source\Yesno</source_model>
</field>
<!-- =========================================
Device Pixel Ratios multiselect field
========================================== -->
<field id="image_optimizations_ratios" type="multiselect" translate="label" sortOrder="35" showInDefault="1" showInWebsite="0" showInStore="0" canRestore="1">
<label>Device Pixel Ratios</label>
<comment><![CDATA[Using a higher <a href="https://www.html5rocks.com/en/mobile/high-dpi/" target="_blank">Device Pixel Ratio</a> means serving larger images.]]></comment>
<depends>
<field id="image_optimizations">1</field>
<field id="image_optimizations_pixel_ratio">1</field>
</depends>
<source_model>Fastly\Cdn\Model\Config\Backend\PixelRatios</source_model>
<validate>required_entry</validate>
</field>
<!-- =========================================
Image Verify select field
========================================== -->
<field id="image_verify" translate="label comment" type="select" sortOrder="40" showInDefault="1" showInWebsite="0" showInStore="0">
<label>Verify Image On Disk</label>
<comment>Verify image actually exists on the disk. May cause performance issues especially on systems with shared filesystems.</comment>
<source_model>Magento\Config\Model\Config\Source\Yesno</source_model>
<depends>
<field id="image_optimizations">1</field>
</depends>
</field>
</group>
<!-- ============================
Maintenance Support group
============================= -->
<group id="fastly_maintenance_support" sortOrder="485" translate="label comment" showInDefault="1" showInWebsite="0" showInStore="0">
<label>Maintenance Mode</label>
<comment>
<![CDATA[Enabling maintenance mode allows admin IPs (IPs specified in .maintenance.ip file) to access
the site as normal while returning an error page to everyone else.]]>
</comment>
<field id="toggle_su" translate="label comment" type="select" sortOrder="10" showInDefault="1" showInWebsite="0" showInStore="0">
<label>Enable Maintenance Mode</label>
<frontend_model>Fastly\Cdn\Block\System\Config\Form\Field\SuBtn</frontend_model>
</field>
<field id="update_su" translate="label comment" type="select" sortOrder="15" showInDefault="1" showInWebsite="0" showInStore="0">
<label>Update Admin IPs list</label>
<comment>Updates the list of allowed/admin IPs. The IP values are comma-delimited and read from var/.maintenance.ip file.</comment>
<frontend_model>Fastly\Cdn\Block\System\Config\Form\Field\UpdateSuBtn</frontend_model>
</field>
</group>
<!-- ==================================
Web Application Firewall group
=================================== -->
<group id="fastly_web_application_firewall" sortOrder="490" translate="label comment" showInDefault="1" showInWebsite="0" showInStore="0">
<label>Web Application Firewall (WAF)</label>
<comment>
<![CDATA[]]>
</comment>
<!-- ====================
WAF status field
===================== -->
<field id="toggle_waf" translate="label comment" type="select" sortOrder="5" showInDefault="1" showInWebsite="0" showInStore="0">
<label>Web Application Firewall</label>
<comment><![CDATA[]]></comment>
<frontend_model>Fastly\Cdn\Block\System\Config\Form\Field\WafBtn</frontend_model>
</field>
<!-- ===============================
OWASP Allowed Methods field
================================ -->
<field id="owasp_allowed_methods" type="text" sortOrder="495" translate="label comment" showInDefault="1" showInWebsite="0" showInStore="0">
<label>Allowed Methods</label>
<comment><![CDATA[]]></comment>
</field>
<!-- =====================================
OWASP Restricted Extensions field
====================================== -->
<field id="owasp_restricted_extensions" type="textarea" sortOrder="495" translate="label comment" showInDefault="1" showInWebsite="0" showInStore="0">
<label>Restricted Extensions</label>
<comment><![CDATA[]]></comment>
</field>
<!-- =========================
WAF ACL Bypass button
========================== -->
<field id="waf_bypass" translate="label comment" sortOrder="496" showInDefault="1" showInStore="0" showInWebsite="0">
<label><![CDATA[WAF ACL Bypass]]></label>
<comment>
<![CDATA[Allow IPs in selected ACLs to bypass WAF blocking]]>
</comment>
<frontend_model>Fastly\Cdn\Block\System\Config\Form\Field\WafBypassBtn</frontend_model>
</field>
<!-- ============================
Update WAF bypass button
============================= -->
<field id="update_waf_bypass" translate="label comment" sortOrder="497" showInDefault="1" showInStore="0" showInWebsite="0">
<label><![CDATA[Update WAF ACL Bypass]]></label>
<comment>
<![CDATA[Changes WAF ACL bypass. HAS TO BE clicked anytime you make changes to the list of ACLs. Not needed if you are adding/removing IPs. That is done in ACL menu.]]>
</comment>
<frontend_model>Fastly\Cdn\Block\System\Config\Form\Field\UpdateBypassBtn</frontend_model>
</field>
<!-- ==========================
ACLs multiselect field
=========================== -->
<field id="waf_allow_by_acl" translate="label comment" type="multiselect" sortOrder="500" showInDefault="1" showInWebsite="0" showInStore="0">
<label>WAF Bypass ACLs</label>
<comment>
<![CDATA[Select one or multiple ACLs that are allowed to bypass WAF blocking]]>
</comment>
<source_model>Fastly\Cdn\Model\Config\Backend\ListAcl</source_model>
<can_be_empty>1</can_be_empty>
</field>
</group>
<!-- ================================
Rate Limiting Settings group
================================= -->
<group id="fastly_rate_limiting_settings" sortOrder="460" translate="label comment" showInDefault="1" showInWebsite="0" showInStore="0">
<label>Rate Limiting</label>
<comment>
<![CDATA[Experimental: Rate limit specific URL paths against abuse. Please read <a href="https://github.com/fastly/fastly-magento2/blob/master/Documentation/Guides/RATE-LIMITING.md#vcl-upload"
target="_blank">this guide</a> for more details]]>
</comment>
<!-- =================================
Enable Rate Limiting button
================================== -->
<field id="enable_rate_limiting_master" translate="label comment" type="select" sortOrder="1" showInDefault="1" showInStore="0" showInWebsite="0">
<label>Enable Rate Limiting</label>
<source_model>Magento\Config\Model\Config\Source\Yesno</source_model>
</field>
<field id="enable_rate_limiting_logging" translate="label comment" type="select" sortOrder="1" showInDefault="1" showInStore="0" showInWebsite="0">
<label>Enable Rate Limit Logging</label>
<source_model>Magento\Config\Model\Config\Source\Yesno</source_model>
<depends>
<field id="enable_rate_limiting_master">1</field>
</depends>
</field>
<group id="path_protection" sortOrder="15" translate="label comment" showInDefault="1" showInWebsite="0" showInStore="0">
<label>Path Protection</label>
<!-- =================================
Enable Path Protection button
================================== -->
<field id="enable_rate_limiting" translate="label comment" sortOrder="5" showInDefault="1" showInStore="0" showInWebsite="0">
<label>Enable Path Protection</label>
<frontend_model>Fastly\Cdn\Block\System\Config\Form\Field\ToggleRateLimitingBtn</frontend_model>
<depends>
<field id="enable_rate_limiting_master">1</field>
</depends>
</field>
<!-- =============================
Protected Paths button
============================== -->
<field id="rate_limiting_paths" translate="label comment" sortOrder="6" showInDefault="1" showInStore="0" showInWebsite="0">
<label>Protected Paths</label>
<frontend_model>Fastly\Cdn\Block\System\Config\Form\Field\PathsBtn</frontend_model>
<depends>
<field id="enable_rate_limiting_master">1</field>
</depends>
</field>
<!-- ==========================================
Path Protection Rate Limit input field
=========================================== -->
<field id="rate_limiting_limit" translate="label comment" type="text" sortOrder="10" showInDefault="1" showInWebsite="0" showInStore="0" canRestore="1">
<label>Path Protection Rate Limit</label>
<comment>Numeric value for the number of tolerated Path Protection Rate Limit requests.</comment>
<validate>required-entry validate-number validate-not-negative-number</validate>
<depends>
<field id="enable_rate_limiting_master">1</field>
</depends>
</field>
<!-- ========================================
Path Protection Rate Limit TTL field
========================================= -->
<field id="rate_limiting_ttl" translate="label comment" type="text" sortOrder="15" showInDefault="1" showInWebsite="0" showInStore="0" canRestore="1">
<label>Path Protection Rate Limit TTL</label>
<comment>Time in seconds for the Path Protection Rate Limit lifetime.</comment>
<validate>required-entry validate-number validate-not-negative-number</validate>
<depends>
<field id="enable_rate_limiting_master">1</field>
</depends>
</field>
<depends>
<field id="enable_rate_limiting_master">1</field>
</depends>
</group>
<group id="crawler_protection" sortOrder="20" translate="label comment" showInDefault="1" showInWebsite="0" showInStore="0">
<label>Abusive Crawlers</label>
<!-- ==========================================
Enable Crawler Protection select field
=========================================== -->
<field id="enable_crawler_protection" translate="label comment" type="select" sortOrder="20" showInDefault="1" showInWebsite="0" showInStore="0">
<label>Enable Crawler Protection</label>
<comment>
<![CDATA[]]>
</comment>
<source_model>Magento\Config\Model\Config\Source\Yesno</source_model>
</field>
<!-- =============================================
Crawler Protection Rate Limit input field
============================================== -->
<field id="crawler_rate_limiting_limit" translate="label comment" type="text" sortOrder="25" showInDefault="1" showInWebsite="0" showInStore="0" canRestore="1">
<label>Crawler Protection Rate Limit</label>
<comment>Numeric value for the number of tolerated Crawler Protection Rate Limit requests.</comment>
<depends>
<field id="enable_crawler_protection">1</field>
</depends>
<validate>required-entry validate-number validate-not-negative-number</validate>
</field>
<!-- ===========================================
Crawler Protection Rate Limit TTL field
============================================ -->
<field id="crawler_rate_limiting_ttl" translate="label comment" type="text" sortOrder="30" showInDefault="1" showInWebsite="0" showInStore="0" canRestore="1">
<label>Crawler Protection Rate Limit TTL</label>
<comment>Time in seconds for the Crawler Protection Rate Limit lifetime.</comment>
<depends>
<field id="enable_crawler_protection">1</field>
</depends>
<validate>required-entry validate-number validate-not-negative-number</validate>
</field>
<!-- =================================
Exempt Good Bots select field
================================== -->
<field id="exempt_good_bots" translate="label comment" type="select" sortOrder="35" showInDefault="1" showInWebsite="0" showInStore="0">
<label>Exempt Known Good Bots</label>
<comment>Choose to exempt known good bots like Googlebot and Bingbot from Crawler Protection rate limiting</comment>
<source_model>Magento\Config\Model\Config\Source\Yesno</source_model>
<depends>
<field id="enable_crawler_protection">1</field>
</depends>
</field>
<depends>
<field id="enable_rate_limiting_master">1</field>
</depends>
</group>
</group>
<!-- ========================
Tools
========================= -->
<group id="fastly_tools" sortOrder="480" translate="label comment" showInDefault="1" showInWebsite="0" showInStore="0">
<label>Tools</label>
<field id="versions" translate="label comment tooltip" sortOrder="1" showInDefault="1" showInWebsite="0" showInStore="0">
<label>Version History</label>
<frontend_model>Fastly\Cdn\Block\System\Config\Form\Field\VersionHistory</frontend_model>
</field>
<!-- =================
Import button
================== -->
<field id="import_file" translate="label comment tooltip" type="file" sortOrder="4" showInDefault="1" showInWebsite="0" showInStore="0">
<backend_model>Fastly\Cdn\Model\Config\Backend\ImportFile</backend_model>
<upload_dir config="system">var/tmp</upload_dir>
</field>
<field id="import" translate="label comment tooltip" sortOrder="5" showInDefault="1" showInWebsite="0" showInStore="0">
<label>Import</label>
<frontend_model>Fastly\Cdn\Block\System\Config\Form\Field\ImportBtn</frontend_model>
</field>
<!-- =================
Export button
================== -->
<field id="export" translate="label comment tooltip" sortOrder="10" showInDefault="1" showInWebsite="0" showInStore="0">
<label>Export</label>
<frontend_model>Fastly\Cdn\Block\System\Config\Form\Field\ExportBtn</frontend_model>
<comment>
<![CDATA[Export Edge ACLs, Edge Dictionaries, Active Edge Modules and Custom Snippets]]>
</comment>
</field>
<!-- ========================
Real-Time Log Streaming
========================= -->
<group id="logging" sortOrder="20" translate="label comment" showInDefault="1" showInWebsite="0" showInStore="0">
<label>Real-Time Log Streaming</label>
<!-- =========================
Create Endpoint
========================== -->
<field id="create_backend" translate="label comment" sortOrder="5" showInDefault="1" showInStore="0" showInWebsite="0">
<label><![CDATA[Create Endpoint]]></label>
<comment><![CDATA[]]></comment>
<frontend_model>Fastly\Cdn\Block\System\Config\Form\Field\CreateLogEndpointBtn</frontend_model>
</field>
<!-- ==================
Backends field
=================== -->
<field id="backends" translate="label comment tooltip" sortOrder="10" showInDefault="1" showInWebsite="0" showInStore="0">
<label>Endpoints</label>
<frontend_model>Fastly\Cdn\Block\System\Config\Form\Field\LogEndpoint</frontend_model>
<comment>
<![CDATA[]]>
</comment>
</field>
</group>
</group>
<!-- ===============================
Webhook Notifications group
================================ -->
<group id="fastly_web_hooks" sortOrder="500" translate="label comment" showInDefault="1" showInWebsite="0" showInStore="0">
<label>Webhook Notifications</label>
<comment>
<![CDATA[Webhooks are a simple way to post messages to external sources. This integration is geared for Slack however you can use it for anything else.
<br /> To create Slack Incoming webhooks <a href="https://api.slack.com/incoming-webhooks">https://api.slack.com/incoming-webhooks</a>.]]>
</comment>
<!-- ========================
Enabled select field
========================= -->
<field id="enable_webhooks" translate="label comment" type="select" sortOrder="5" showInDefault="1" showInWebsite="0" showInStore="0">
<label>Enabled</label>
<source_model>Magento\Config\Model\Config\Source\Yesno</source_model>
</field>
<!-- ====================================
Incoming Webhook URL input field
===================================== -->
<field id="incoming_webhook_url" translate="label comment" type="text" sortOrder="10" showInDefault="1" showInWebsite="0" showInStore="0">
<label>Incoming Webhook URL</label>
<depends>
<field id="enable_webhooks">1</field>
</depends>
</field>
<!-- =========================================
Publish All Purge Events select field
========================================== -->
<field id="publish_purge_events" translate="label comment" type="select" sortOrder="15" showInDefault="1" showInWebsite="0" showInStore="0">
<label>Publish All Purge Events</label>
<source_model>Magento\Config\Model\Config\Source\Yesno</source_model>
<depends>
<field id="enable_webhooks">1</field>
</depends>
</field>
<!-- =================================================
Publish Key and URL Purge Events select field
================================================== -->
<field id="publish_key_url_purge_events" translate="label comment" type="select" sortOrder="20" showInDefault="1" showInWebsite="0" showInStore="0">
<label>Publish Key and URL Purge Events</label>
<source_model>Magento\Config\Model\Config\Source\Yesno</source_model>
<depends>
<field id="enable_webhooks">1</field>
</depends>
</field>
<!-- =========================================================
Publish Purge All/CLean All Items Events select field
========================================================== -->
<field id="publish_purge_all_items_events" translate="label comment" type="select" sortOrder="25" showInDefault="1" showInWebsite="0" showInStore="0">
<label>Publish Purge All/Clean All Items Events</label>
<source_model>Magento\Config\Model\Config\Source\Yesno</source_model>
<depends>
<field id="enable_webhooks">1</field>
</depends>
</field>
<!-- ========================================================
Publish Stack Trace on All Purge Events select field
========================================================= -->
<field id="publish_purge_trace" translate="label comment" type="select" sortOrder="30" showInDefault="1" showInWebsite="0" showInStore="0">
<label>Publish Stack Trace on All Purge Events</label>
<comment>Submits the stack trace when any purge event is created, for debugging purposes.</comment>
<source_model>Magento\Config\Model\Config\Source\Yesno</source_model>
<depends>
<field id="enable_webhooks">1</field>
</depends>
</field>
<!-- ================================================================
Publish Stack Trace on Key and URL Purge Events select field
================================================================= -->
<field id="publish_purge_by_key_trace" translate="label comment" type="select" sortOrder="35" showInDefault="1" showInWebsite="0" showInStore="0">
<label>Publish stack trace on Key and URL Purge Event</label>
<comment>Submits the stack trace when the purge by key event is created, for debugging purposes.</comment>
<source_model>Magento\Config\Model\Config\Source\Yesno</source_model>
<depends>
<field id="enable_webhooks">1</field>
</depends>
</field>
<!-- =======================================================
Publish Stack Trace on Purge All Event select field
======================================================== -->
<field id="publish_purge_all_trace" translate="label comment" type="select" sortOrder="40" showInDefault="1" showInWebsite="0" showInStore="0">
<label>Publish stack trace on Purge All/Clean All Event</label>
<comment>Submits the stack trace when the purge all event is created, for debugging purposes.</comment>
<source_model>Magento\Config\Model\Config\Source\Yesno</source_model>
<depends>
<field id="enable_webhooks">1</field>
</depends>
</field>
<!-- =============================================
Publish Config Change Events select field
============================================== -->
<field id="publish_config_change_events" translate="label comment" type="select" sortOrder="45" showInDefault="1" showInWebsite="0" showInStore="0">
<label>Publish Config Change Events</label>
<source_model>Magento\Config\Model\Config\Source\Yesno</source_model>
<depends>
<field id="enable_webhooks">1</field>
</depends>
</field>
<!-- ==============================
Message Prefix input field
=============================== -->
<field id="webhook_message_prefix" translate="label comment" type="text" sortOrder="50" showInDefault="1" showInWebsite="0" showInStore="0">
<label>Message Prefix</label>
<depends>
<field id="enable_webhooks">1</field>
</depends>
</field>
</group>
<depends>
<field id="caching_application">42</field>
</depends>
</group>
<!-- =============================
Fastly Edge Modules group
============================== -->
<group id="fastly_edge_modules" sortOrder="630" translate="label comment" showInDefault="1" showInWebsite="0" showInStore="0">
<label>Fastly Edge Modules</label>
<comment><![CDATA[Fastly Edge module allow you to enable specific functionality like CORS headers, etc. For more details <a href="https://github.com/fastly/fastly-magento2/blob/master/Documentation/Guides/Edge-Modules/EDGE-MODULES.md" target="_blank">click here.</a>]]></comment>
<depends>
<field id="caching_application">42</field>
<field id="system/full_page_cache/fastly/fastly_advanced_configuration/enable_fastly_edge_modules">1</field>
</depends>
<!-- =========================
Module Manager button
========================== -->
<field id="modly_all_modules" translate="label comment" sortOrder="5" showInDefault="1" showInStore="0" showInWebsite="0">
<label><![CDATA[Module Manager]]></label>
<frontend_model>Fastly\Cdn\Block\System\Config\Form\Field\AllModulesBtn</frontend_model>
</field>
<!-- =======================
Active Modules list
======================== -->
<field id="modly_active_modules" translate="label comment tooltip" sortOrder="10" showInDefault="1" showInWebsite="0" showInStore="0">
<label>Active Modules</label>
<frontend_model>Fastly\Cdn\Block\System\Config\Form\Field\ModlyActiveModules</frontend_model>
</field>
</group>
</group>
</section>
</system>
</config>