Chef CI (#18859)

* Squashed commit of the following:

commit bc116c2fb65459dafec6ca8ef701e58ece34dd75
Author: Austin Bozowski <bozowski@google.com>
Date:   Thu May 26 19:53:36 2022 +0000

    Update manifest

commit e89bddae010bd0112a6d54042428be85b104209a
Author: Austin Bozowski <bozowski@google.com>
Date:   Thu May 26 19:48:58 2022 +0000

    Resync workflows with master, delete test example

commit 6da917b0f2ea9135ffa4977b97874c1ff1b85e86
Author: Austin Bozowski <bozowski@google.com>
Date:   Thu May 26 19:41:53 2022 +0000

    Workflow naming

commit 80506eb0f0b7446a9c8c8e8b7ebbfbceaa8b0272
Author: Austin Bozowski <bozowski@google.com>
Date:   Thu May 26 19:36:45 2022 +0000

    Help messages

commit c1724ec879673759a337705c98a5d5bdca59fd10
Author: Austin Bozowski <bozowski@google.com>
Date:   Thu May 26 19:29:19 2022 +0000

    Restyle

commit e24916f0ff0e457bbb4bac2c6cb24e1071492acc
Author: Austin Bozowski <bozowski@google.com>
Date:   Thu May 26 19:21:06 2022 +0000

    Style

commit cdbc67c60134384ba6a8dcdfc3bfa034fc5a86b0
Author: Austin Bozowski <bozowski@google.com>
Date:   Thu May 26 19:02:23 2022 +0000

    Re run generate

commit 03361f76794163127b36e119ee93807eccd8dd1a
Author: Austin Bozowski <bozowski@google.com>
Date:   Thu May 26 18:48:10 2022 +0000

    Indent error

commit 82daba0f834723af22c56e56151a31d240aea520
Author: Austin Bozowski <bozowski@google.com>
Date:   Thu May 26 18:45:37 2022 +0000

    Further validate CI - expected fail now

commit d10389334508eeeb0703fe06e30ba8775fb97e6c
Author: Austin Bozowski <bozowski@google.com>
Date:   Thu May 26 08:06:27 2022 +0000

    TODO and err msg

commit b2e5cb3bce4f1d8ee387b607a1ce2ec9fd4cdf1c
Author: Austin Bozowski <bozowski@google.com>
Date:   Thu May 26 07:59:28 2022 +0000

    Demo fix CI

commit d7dd6a2097b75533f34109ddc4a49803bb777a8e
Author: Austin Bozowski <bozowski@google.com>
Date:   Thu May 26 07:41:13 2022 +0000

    More elegant CI fail

commit 51595e93b4e79c87b86d95aeb7cf062324d64d44
Author: Austin Bozowski <bozowski@google.com>
Date:   Thu May 26 07:36:46 2022 +0000

    Missed

commit 4070d6f6b78b0026a7a41a1c105fdce236d18c2b
Author: Austin Bozowski <bozowski@google.com>
Date:   Thu May 26 07:35:26 2022 +0000

    Use cached files in GCB, test CI fail

commit bf89f5a16fc47fea4efb45dd7bf22a95dd28e94d
Author: Austin Bozowski <bozowski@google.com>
Date:   Thu May 26 01:33:30 2022 +0000

    Flush buffers to fix stdout ordering

commit 3a9012b7e7bde0bd036b2543682b9a66ce4b6fb1
Author: Austin Bozowski <bozowski@google.com>
Date:   Thu May 26 00:54:40 2022 +0000

    Missed revert

commit c25a5bbe41cf03d43468a2d72fb92ca1c0b6e6f5
Author: Austin Bozowski <bozowski@google.com>
Date:   Wed May 25 23:14:09 2022 +0000

    Minor

commit 1898821d44077d93b89e37f91bb307e7dbdcc6bf
Author: Austin Bozowski <bozowski@google.com>
Date:   Wed May 25 22:33:36 2022 +0000

    Revert

commit 86de3af37fc871f57342ad7af9963a5475e961af
Author: Austin Bozowski <bozowski@google.com>
Date:   Wed May 25 20:40:59 2022 +0000

    Split builds

commit 56afe2198dad11ea835ca20631c1a894e194b035
Author: Austin Bozowski <bozowski@google.com>
Date:   Wed May 25 17:17:23 2022 +0000

    Revert

commit 88b88bdf39f65edfaa36d6c6f150e5bc07c4c9ee
Author: Austin Bozowski <bozowski@google.com>
Date:   Wed May 25 02:14:42 2022 +0000

    Switch to stateful shell

commit 1b4a0f1946bf7f5723b1af8c98c5af5f5764540c
Author: Austin Bozowski <bozowski@google.com>
Date:   Wed May 25 01:25:43 2022 +0000

    Minot

commit b26e609b08f0db142c887272662aa12d7ca056b8
Author: Austin Bozowski <bozowski@google.com>
Date:   Wed May 25 01:04:16 2022 +0000

    Restyle

commit 547a3612c3bebbd9be38abe18e470403aa5895a0
Author: Austin Bozowski <bozowski@google.com>
Date:   Wed May 25 00:11:17 2022 +0000

    Fix underscore

commit 9193a3db8f6738bc4c0c9b5c59832cbb541394f7
Author: Austin Bozowski <bozowski@google.com>
Date:   Tue May 24 23:54:53 2022 +0000

    Make CI uniform

commit 91c7a225264dbcdaa4587c1e4804859b502a1067
Author: Austin Bozowski <bozowski@google.com>
Date:   Tue May 24 23:27:14 2022 +0000

    Fix indent error

commit 70c578012bddd6823a6a28b2b487027b6c47b193
Author: Austin Bozowski <bozowski@google.com>
Date:   Tue May 24 22:44:04 2022 +0000

    Close quote

commit 7fad5ecd783da0c9012c954777d1238435e7d206
Author: Austin Bozowski <bozowski@google.com>
Date:   Tue May 24 22:33:38 2022 +0000

    Test impact of bootstrap

commit 33631309cf882c16ac7709337ffdc48fa5667108
Author: Austin Bozowski <bozowski@google.com>
Date:   Tue May 24 21:30:03 2022 +0000

    Example GCB config (no test)

commit 187da61191f4c5d359741275b806a6603bb47294
Author: Austin Bozowski <bozowski@google.com>
Date:   Tue May 24 21:13:06 2022 +0000

    Compress outputs to tar file in GCB dir

commit 7c9866db08e5f5c1ef26a2c10f73a6b04a97c4ac
Author: Austin Bozowski <bozowski@google.com>
Date:   Tue May 24 20:23:53 2022 +0000

    Move non re-used logic to chef, simplify

commit 921557a830aea09855070a1fff93fb15733febcb
Author: Austin Bozowski <bozowski@google.com>
Date:   Tue May 24 20:10:35 2022 +0000

    Build all function

commit ba144ea4cc3ac9bba2fb514d8222aa5a43cf37ad
Author: Austin Bozowski <bozowski@google.com>
Date:   Tue May 24 18:13:56 2022 +0000

    Refactor

commit e007f0e15203bba8e49070145eefef4aae6b0d16
Author: Austin Bozowski <bozowski@google.com>
Date:   Tue May 24 16:55:23 2022 +0000

    clear allow list var

commit 0bc28e7703242775289c5b45aad6d02258ddf0ae
Author: Austin Bozowski <bozowski@google.com>
Date:   Tue May 24 10:12:32 2022 +0000

    Disable git manifest

commit df7883e2a3352e083c93e49dfce78a4271b2d909
Author: Austin Bozowski <bozowski@google.com>
Date:   Tue May 24 10:10:10 2022 +0000

    Disable git manifest

commit 78752e248a3526bfcce9cd8dc7d893ce91265ae4
Author: Austin Bozowski <bozowski@google.com>
Date:   Tue May 24 10:01:23 2022 +0000

    Fetch

commit 5523fb158ca524d8019e42512da05473f8898965
Author: Austin Bozowski <bozowski@google.com>
Date:   Tue May 24 09:52:56 2022 +0000

    Use included image

commit caafa2e668493f24553c2095d1d1bab03bce6d40
Author: Austin Bozowski <bozowski@google.com>
Date:   Tue May 24 09:42:48 2022 +0000

    Image for CI

commit 929ef49977d05a599e2b505f2a35798626b40038
Author: Austin Bozowski <bozowski@google.com>
Date:   Tue May 24 09:20:35 2022 +0000

    Install git

commit a09f7e56f024b210d0c5758b7bf4a7c304eec8de
Author: Austin Bozowski <bozowski@google.com>
Date:   Tue May 24 09:16:28 2022 +0000

    validate zzz in workflow

commit 47c63e77d9363046dc0935b12789104644a7ff9d
Author: Austin Bozowski <bozowski@google.com>
Date:   Tue May 24 08:48:35 2022 +0000

    Delete dup declare

commit 603e531ed4c889042c51b299c54176c00b04f9d3
Author: Austin Bozowski <bozowski@google.com>
Date:   Tue May 24 08:45:30 2022 +0000

    Keep cached ZAP output fresh with validator function

commit 78a87ba896d0df3a944d1ffd43ee79c5d6ca5e6f
Author: Austin Bozowski <bozowski@google.com>
Date:   Tue May 24 08:13:14 2022 +0000

    Filter zap cache to one file, Add zap version to manifest

commit 53156a16f676986f7d5470ffa8f15304d108c16a
Author: Austin Bozowski <bozowski@google.com>
Date:   Tue May 24 07:35:19 2022 +0000

    Move zzz to chef dir, write manifest, new opt

commit a345cb557de8cc07658ec32d797bbd4bb342f1e7
Author: Austin Bozowski <bozowski@google.com>
Date:   Tue May 24 06:23:33 2022 +0000

    typo

commit 8ee0354c3b1fa85837f22d8a856b88f0fc3e2241
Author: Austin Bozowski <bozowski@google.com>
Date:   Tue May 24 06:05:53 2022 +0000

    Add shell

commit bb454c828056411988fdb33aae75efc6285dea51
Author: Austin Bozowski <bozowski@google.com>
Date:   Tue May 24 05:56:50 2022 +0000

    bootstrap

commit c4186dd557155cce64ad48920e7eb551cd47deb9
Author: Austin Bozowski <bozowski@google.com>
Date:   Tue May 24 05:53:51 2022 +0000

    Split bootstrap, run script direct

commit 366d91b5d8fab50c08ccd84df5195ea3646082cc
Author: Austin Bozowski <bozowski@google.com>
Date:   Tue May 24 03:21:15 2022 +0000

    Minor style

commit a2d973c7ddcf42077a0ddbc3b3c2461fef23228a
Author: Austin Bozowski <bozowski@google.com>
Date:   Tue May 24 00:19:51 2022 +0000

    Temp delete other workflows, fix newlines

commit c29d9edc33c20134f22bbd17e52ba82b76a54403
Author: Austin Bozowski <bozowski@google.com>
Date:   Mon May 23 23:40:11 2022 +0000

    Chef workflow

commit c3f2ee26c38f66941c62b9386b3a3ddaf7dc5a50
Author: Austin Bozowski <bozowski@google.com>
Date:   Mon May 23 22:44:57 2022 +0000

    Add cached ZAP output

commit 6f04f9e360b5231c6384f72865ddc9276af6b945
Author: Austin Bozowski <bozowski@google.com>
Date:   Mon May 23 22:20:35 2022 +0000

    chef: fix path error, add options for cached zap

* Regen zzz after merge; job WAI

* Lic

* Squashed commit of the following:

commit 733c61de426ca583400fae9648440bd2d2896a99
Author: Austin Bozowski <bozowski@google.com>
Date:   Sat May 28 01:29:36 2022 +0000

    Repair workflows for merge

commit 281c051e1073f3dae62da3b45801583458fe77a0
Author: Austin Bozowski <bozowski@google.com>
Date:   Sat May 28 01:25:12 2022 +0000

    Fix build all but no test

commit 3e2ed8e5f8fe1f8c1ad1f7df69d35af3c028561f
Author: Austin Bozowski <bozowski@google.com>
Date:   Sat May 28 01:05:03 2022 +0000

    Re run generate_zzz and disable git check

commit 9cdf59030a5adc9fa677cbca3d942184505dd3b3
Author: Austin Bozowski <bozowski@google.com>
Date:   Sat May 28 00:55:03 2022 +0000

    Fix dedent

commit d5bf603a294c8303e92767771e9368fe7fe1cccb
Author: Austin Bozowski <bozowski@google.com>
Date:   Fri May 27 23:07:06 2022 +0000

    Run restyle

commit 43ed4538c268e5541c12f53b0838d086ebb06327
Author: Austin Bozowski <bozowski@google.com>
Date:   Fri May 27 22:58:10 2022 +0000

    Style

commit 8ec4bd82d100e16eec6e872cb241205f6b4d803e
Author: Austin Bozowski <bozowski@google.com>
Date:   Fri May 27 22:44:20 2022 +0000

    Stateful shell

commit 29700a51288bda592d50a138d4d7de999103b078
Author: Austin Bozowski <bozowski@google.com>
Date:   Fri May 27 22:24:00 2022 +0000

    stateful shell

commit 2443fb3fc6ae9e37514908a1be5bdbc7f02ad6ea
Author: Austin Bozowski <bozowski@google.com>
Date:   Fri May 27 22:07:10 2022 +0000

    Fix find and replace

commit 07db659efc08af241d64769ad009daac20dd5068
Author: Austin Bozowski <bozowski@google.com>
Date:   Fri May 27 21:59:16 2022 +0000

    Test stateful shell

commit ecd2d00bfb73a7b9ef1ffc6d39e2998618e5c8d1
Author: Austin Bozowski <bozowski@google.com>
Date:   Fri May 27 21:49:16 2022 +0000

    Restyle

commit 4ff29bbfdbfe6fe35ad669489ae0f905747c2791
Author: Austin Bozowski <bozowski@google.com>
Date:   Fri May 27 21:46:02 2022 +0000

    Important comment

commit ab9e2ed21a8e60d7b8b1c9dd54a7d9a60ca22712
Author: Austin Bozowski <bozowski@google.com>
Date:   Fri May 27 21:39:14 2022 +0000

    isort

commit 321cfcadbb7b7f5b85e6aefe0ec5a325157bbb6a
Author: Austin Bozowski <bozowski@google.com>
Date:   Fri May 27 21:38:32 2022 +0000

    Flush print

commit 5d2fa9d3bf16b146c3a6e79f8200c5f93a965541
Author: Austin Bozowski <bozowski@google.com>
Date:   Fri May 27 21:31:11 2022 +0000

    Reference and new print

commit 04990257220592b24ba1b1345e8e7d79cc04bc2a
Author: Austin Bozowski <bozowski@google.com>
Date:   Fri May 27 21:27:24 2022 +0000

    Ref

commit f1ad0215045cb38243185c59d572681cbaffc589
Author: Austin Bozowski <bozowski@google.com>
Date:   Fri May 27 21:25:36 2022 +0000

    Suffix

commit 2ef6d3e978809eb2720d6ad139d7ceb948fc4df4
Author: Austin Bozowski <bozowski@google.com>
Date:   Fri May 27 21:21:42 2022 +0000

    Refactor

commit 88b852a63a8ccc41d66614e462e955696fda8104
Author: Austin Bozowski <bozowski@google.com>
Date:   Fri May 27 20:56:58 2022 +0000

    OK

commit 37f91b18597b77da06a8f0836d12c0425af0b283
Author: Austin Bozowski <bozowski@google.com>
Date:   Fri May 27 20:24:26 2022 +0000

    Ref

commit 0216a73cb5c85ec21f97e936f641844fb759fb02
Author: Austin Bozowski <bozowski@google.com>
Date:   Fri May 27 20:10:37 2022 +0000

    Group

commit 7299fd7c90b85b159e6559d0bd180484479606fb
Author: Austin Bozowski <bozowski@google.com>
Date:   Fri May 27 20:07:36 2022 +0000

    Reference

commit 997124e09f40808b75b581e1e672b6a2768d6e84
Author: Austin Bozowski <bozowski@google.com>
Date:   Fri May 27 19:59:14 2022 +0000

    JSON

commit d7f26cb24e1b1ae1c5a72f7dd0288a376a300f6f
Author: Austin Bozowski <bozowski@google.com>
Date:   Fri May 27 19:40:01 2022 +0000

    Temp delete workflows

commit 9421c27d912909fd67e5f45e22847822d1f00e7f
Author: Austin Bozowski <bozowski@google.com>
Date:   Fri May 27 19:35:13 2022 +0000

    Refactor

commit 7264515a244290a9057e5275813a2d26b3761445
Author: Austin Bozowski <bozowski@google.com>
Date:   Fri May 27 19:30:57 2022 +0000

    More refactor

commit 3f826ff28c41944d8895f0c7cc7a886d37b82263
Author: Austin Bozowski <bozowski@google.com>
Date:   Fri May 27 19:07:38 2022 +0000

    Begin refactor

commit b73ddd5fa8cafa05b47dde75fb6f0fc02236c307
Author: Austin Bozowski <bozowski@google.com>
Date:   Fri May 27 18:30:32 2022 +0000

    Comment

commit 161e92b4c2c418137658c31c273306e2d94fde56
Author: Austin Bozowski <bozowski@google.com>
Date:   Fri May 27 18:25:21 2022 +0000

    Comment, dedent, comment, fstring

commit 89ce50e7564bc573c048a7ff464b703c4aa8c757
Author: Austin Bozowski <bozowski@google.com>
Date:   Fri May 27 17:24:35 2022 +0000

    dedent and remove bundle placeholder

commit d3c7d9834f3df1f8c8934ad81b7a0020d56f5819
Author: Austin Bozowski <bozowski@google.com>
Date:   Fri May 27 17:17:40 2022 +0000

    Sort imports

* Fix indent

* Squashed commit of the following:

commit 76f74140bfcd6fdca577d7a8225708e4d0c39f27
Author: Austin Bozowski <bozowski@google.com>
Date:   Tue May 31 07:48:51 2022 +0000

    remove subproc

commit e66e06438a1920962ef91466a6196c15089f6756
Author: Austin Bozowski <bozowski@google.com>
Date:   Tue May 31 07:38:41 2022 +0000

    Restore workflows

commit f1f308fc1eff3c9e6dae2dcc6daf190871967d19
Author: Austin Bozowski <bozowski@google.com>
Date:   Tue May 31 07:32:39 2022 +0000

    Restyle and test

commit bddb57672dcdd000c47b0a58e892ea337a23e9f3
Author: Austin Bozowski <bozowski@google.com>
Date:   Tue May 31 07:21:24 2022 +0000

    Style

commit 77f334e96b9388a728c266f375c67cb8c3c0333c
Author: Austin Bozowski <bozowski@google.com>
Date:   Tue May 31 07:16:09 2022 +0000

    MD5 memory

commit dd59f1e73dc11ffa95ed362b058112b3ef4765fd
Author: Austin Bozowski <bozowski@google.com>
Date:   Tue May 31 07:04:36 2022 +0000

    Rename manifest

commit 1f570d4e24032176d9627001e2a87eb965575a07
Author: Austin Bozowski <bozowski@google.com>
Date:   Tue May 31 06:59:55 2022 +0000

    Minor

commit 869234166d150dd4b3d804df53b4f93d0c614070
Author: Austin Bozowski <bozowski@google.com>
Date:   Tue May 31 06:52:11 2022 +0000

    clean

commit 27656a52a2e4b52e6a7271b39fc90fca72edd3a8
Author: Austin Bozowski <bozowski@google.com>
Date:   Tue May 31 06:34:53 2022 +0000

    Style

commit e31e668703db4d115f084795929bec0f5987b1ed
Author: Austin Bozowski <bozowski@google.com>
Date:   Tue May 31 06:34:17 2022 +0000

    Format

commit 6dbd4f37a8ca6ad1ee42fa9edb244a594c6da395
Author: Austin Bozowski <bozowski@google.com>
Date:   Tue May 31 06:23:25 2022 +0000

    Make validate better

commit c4a99f09d83718a48acf96f73740f5bf1b68ab0d
Author: Austin Bozowski <bozowski@google.com>
Date:   Tue May 31 05:44:42 2022 +0000

    Restructure manifest

commit f6358a7273b6a2ce7550f1ab0019cd59f40db75d
Author: Austin Bozowski <bozowski@google.com>
Date:   Tue May 31 05:20:49 2022 +0000

    Pull only chef changes from update2

* Squashed commit of the following:

commit c1f494830792eeeff91e305833a0a2df5b7e2d67
Author: Austin Bozowski <bozowski@google.com>
Date:   Wed Jun 1 19:46:50 2022 +0000

    Restore workflows

commit 239b61cc08e887d7ac7fc7fdf34838bede987a9a
Author: Austin Bozowski <bozowski@google.com>
Date:   Wed Jun 1 19:42:00 2022 +0000

    Output

commit 0602dc1ecc2ba4e4f8eae6163ab0fa8912f4f5dc
Author: Austin Bozowski <bozowski@google.com>
Date:   Wed Jun 1 19:34:09 2022 +0000

    Test

commit f92534c276b1e708c767f2dd0694d85dac90bad9
Author: Austin Bozowski <bozowski@google.com>
Date:   Wed Jun 1 19:31:52 2022 +0000

    Refs`

commit ccc65644a4fe840e4569664039e8bb5f051a1fd3
Author: Austin Bozowski <bozowski@google.com>
Date:   Wed Jun 1 19:25:25 2022 +0000

    Helpful output

commit 0a1de0a68e76d9b7e3989410a4904df4331c59f4
Author: Austin Bozowski <bozowski@google.com>
Date:   Wed Jun 1 18:41:07 2022 +0000

    Fix git

commit cac8616059cd57d636dd48912ada3a0a238b6f29
Author: Austin Bozowski <bozowski@google.com>
Date:   Wed Jun 1 18:38:57 2022 +0000

    Finish git

commit 23ca7847b23d435441a9bff245c28fc75a3628fd
Author: Austin Bozowski <bozowski@google.com>
Date:   Wed Jun 1 18:21:11 2022 +0000

    Untested git

commit d8bb5b34e851fac5cb45f6eff023df6cf456e08b
Author: Austin Bozowski <bozowski@google.com>
Date:   Wed Jun 1 08:31:24 2022 +0000

    Save command

commit beb3b7759416a1b1cdf45196711400fead4dc737
Author: Austin Bozowski <bozowski@google.com>
Date:   Wed Jun 1 08:17:48 2022 +0000

    Repair

commit 5aadacfb883859c94d962d931a6ee1e70f1a3480
Author: Austin Bozowski <bozowski@google.com>
Date:   Wed Jun 1 08:15:50 2022 +0000

    test

commit 7bb9a173af85ef19f28ceed2942aa38163d3ce5a
Author: Austin Bozowski <bozowski@google.com>
Date:   Wed Jun 1 08:08:53 2022 +0000

    Format

commit 04a966e1d57c76711fb1a1417aa3871b1fcf1689
Author: Austin Bozowski <bozowski@google.com>
Date:   Wed Jun 1 07:56:02 2022 +0000

    RM workflows

commit 5474f72c98a1cc701b220ff594c2bc22f419f4a8
Author: Austin Bozowski <bozowski@google.com>
Date:   Wed Jun 1 07:54:41 2022 +0000

    Shell

commit ede604cfc55a18d5f3a776805a554f126afe1cc3
Author: Austin Bozowski <bozowski@google.com>
Date:   Wed Jun 1 07:35:53 2022 +0000

    Merge from pull/19006

* chef generate_zzz

* Simplify md5

* Restyle, dedent, fix instructions

* Missed type hint

* Missed return code

* Squashed commit of the following:

commit 2ecd59cefce5e38f84fb33fef593f8258118bc65
Author: Austin Bozowski <bozowski@google.com>
Date:   Thu Jun 2 01:47:42 2022 +0000

    [no ci] restore workflows

commit 1fca56e51249931ded9060b73139827d87d79738
Author: Austin Bozowski <bozowski@google.com>
Date:   Thu Jun 2 01:46:24 2022 +0000

    Clean

commit c91c923cd0556ad74c9b470bfa5344ed0e6971d1
Author: Austin Bozowski <bozowski@google.com>
Date:   Thu Jun 2 01:39:37 2022 +0000

    Style

commit 950d454937d8017fcc756a8108fa4259c929bd7c
Author: Austin Bozowski <bozowski@google.com>
Date:   Thu Jun 2 01:32:32 2022 +0000

    generate_zzz

commit b151b26dcf9b23e5ec77437169f15b77041aa5c0
Author: Austin Bozowski <bozowski@google.com>
Date:   Thu Jun 2 01:31:41 2022 +0000

    Update help text

commit 576f1637590d74482dbc4ef4ebd0dcd5aff9fb9b
Author: Austin Bozowski <bozowski@google.com>
Date:   Thu Jun 2 01:27:13 2022 +0000

    fix dead ref

commit 27ea5b5fe496a783c9eb41218681bd61d9aa9005
Author: Austin Bozowski <bozowski@google.com>
Date:   Thu Jun 2 01:24:54 2022 +0000

    validate should break now

commit c8762f650aa5f890950327e2206c2e6a9be67fec
Author: Austin Bozowski <bozowski@google.com>
Date:   Thu Jun 2 01:10:31 2022 +0000

    docstring

commit 69e84a4462d06fae09e717399f2341b3dcb34916
Author: Austin Bozowski <bozowski@google.com>
Date:   Thu Jun 2 01:07:38 2022 +0000

    Delete manifest

commit bce3069e4a5fbe2ade046ee36b09d993ca850130
Author: Austin Bozowski <bozowski@google.com>
Date:   Thu Jun 2 01:07:01 2022 +0000

    Make write to folder

commit ca95512ae598acf08abd196a0c27374193c18c11
Author: Austin Bozowski <bozowski@google.com>
Date:   Thu Jun 2 00:45:49 2022 +0000

    Temp delete workflows, remove git check on master

* Exclude chef zzz_generated from restyle

* Exclude restyle

* Squashed commit of the following:

commit 436ce0b33adec9cae50e3bcddbba52fc388d0ded
Author: Austin Bozowski <bozowski@google.com>
Date:   Thu Jun 2 21:36:07 2022 +0000

    [no ci] caps

commit 126ff6a4c9ad7fb4e66651e81c9fec2e9b6923d6
Author: Austin Bozowski <bozowski@google.com>
Date:   Thu Jun 2 21:28:34 2022 +0000

    Restyle

commit f7b72225724ced2803f7ec53d1434ea59810274d
Author: Austin Bozowski <bozowski@google.com>
Date:   Thu Jun 2 21:23:37 2022 +0000

    [no ci] restore workflows

commit d44b0146ba395e05d4d74e94db3e910d6e0381a6
Author: Austin Bozowski <bozowski@google.com>
Date:   Thu Jun 2 21:21:27 2022 +0000

    README

commit be2dc9ccca28d66ae6d0385593da480463e5e7ea
Author: Austin Bozowski <bozowski@google.com>
Date:   Thu Jun 2 21:19:04 2022 +0000

    README

commit 01deda9783fbd916eaf46d99757b9506465590b3
Author: Austin Bozowski <bozowski@google.com>
Date:   Thu Jun 2 21:15:31 2022 +0000

    README

commit abba2241ab1198fdfc63782c40bda5aa53b6e18b
Author: Austin Bozowski <bozowski@google.com>
Date:   Thu Jun 2 20:37:28 2022 +0000

    Make GCB workable

commit 1623e4bc7ef5e7412277ca4429f2c2aa350de650
Author: Austin Bozowski <bozowski@google.com>
Date:   Thu Jun 2 20:31:36 2022 +0000

    Flatten with block

commit 02f3e78a450010fbcfa5f87b4fa176678dc8fb30
Author: Austin Bozowski <bozowski@google.com>
Date:   Thu Jun 2 20:29:42 2022 +0000

    Remove functionality to check master branch for zap

commit 2a79c1c9d63226174ed00208c17086c61cb22c48
Author: Austin Bozowski <bozowski@google.com>
Date:   Thu Jun 2 20:24:07 2022 +0000

    Remove explicit encoding

commit 2dfcb00e3142f9d16c440b755b2c893d19e1855d
Author: Austin Bozowski <bozowski@google.com>
Date:   Thu Jun 2 20:20:43 2022 +0000

    Temp delete workflows

* Misspelled word

* --generate_zzz after zap file changed in master

* propagate nrf error, fix esp32

* Fix overwrite

* Fix dedents

* generate_zzz and update workflow image version
19 files changed
tree: d73fb8fdd41b829c80b25cb85c4e25da551ec7ef
  1. .devcontainer/
  2. .githooks/
  3. .github/
  4. .vscode/
  5. build/
  6. build_overrides/
  7. config/
  8. credentials/
  9. docs/
  10. examples/
  11. integrations/
  12. scripts/
  13. src/
  14. third_party/
  15. zzz_generated/
  16. .clang-format
  17. .clang-tidy
  18. .default-version.min
  19. .dir-locals.el
  20. .editorconfig
  21. .flake8
  22. .gitattributes
  23. .gitignore
  24. .gitmodules
  25. .gn
  26. .prettierrc.json
  27. .pullapprove.yml
  28. .restyled.yaml
  29. .shellcheck_tree
  30. .spellcheck.yml
  31. BUILD.gn
  32. CODE_OF_CONDUCT.md
  33. CONTRIBUTING.md
  34. gn_build.sh
  35. lgtm.yml
  36. LICENSE
  37. README.md
  38. REVIEWERS.md
README.md

Matter

Builds

Examples - EFR32 Examples - ESP32 Examples - i.MX Linux Examples - K32W with SE051 Examples - Linux Standalone Examples - nRF Connect SDK Examples - QPG Examples - TI CC26X2X7

Android

Unit / Interation Tests Cirque QEMU

ZAP Templates

What is Matter?

Matter (formerly Project Connected Home over IP, or Project CHIP) is a new Working Group within the Connectivity Standards Alliance (CSA, formerly Zigbee Alliance). This Working Group plans to develop and promote the adoption of a new, royalty-free connectivity standard to increase compatibility among smart home products, with security as a fundamental design tenet.

The goal of the Matter project is to simplify development for manufacturers and increase compatibility for consumers. The project is built around a shared belief that smart home devices should be secure, reliable, and seamless to use. By building upon Internet Protocol (IP), the project aims to enable communication across smart home devices, mobile apps, and cloud services and to define a specific set of IP-based networking technologies for device certification.

The CSA officially opened the Matter Working Group on January 17, 2020 and is in the process of drafting the specification.

Visit buildwithmatter.com to learn more and read the latest news and updates about the project.

Project Overview

Development Goals

Matter is developed with the following goals and principles in mind:

Unifying: Matter will produce a new specification, building with and on top of market-tested, existing technologies.

Interoperable: The specification permits communication between any Matter-certified device, subject to users’ permission.

Secure: The specification leverages modern security practices and protocols.

User Control: The end user is in control of authorization for interaction with devices.

Federated: No single entity serves as a throttle or a single-point-of-failure for root of trust.

Robust: The set of protocols specify a complete lifecycle of a device — starting with the seamless out-of-box experience, through operational protocols, to device and system management specifications required for proper function in the presence of change.

Low Overhead: The protocols are practically implementable on low compute-resource devices, such as MCUs.

Pervasive: The protocols are broadly deployable and accessible, thanks to leveraging IP and being implementable on low-capability devices.

Ecosystem-Flexible: The protocol must be flexible enough to accommodate deployment in ecosystems with differing policies.

Easy to Use: The protocol should aim to provide smooth, cohesive, integrated provisioning and out-of-box experience.

Open: The Project’s design and technical processes should be open and transparent to the general public, including to non-members wherever possible.

Architecture Overview

Matter Architecture Overview

The Project, as illustrated above, defines the application layer that will be deployed on devices and controllers as well as the supported IPv6-based networks to help achieve our interoperability architectural goal. Matter will initially support Wi-Fi and Thread for core, operational communications and Bluetooth Low Energy (BLE) to simplify device commissioning and setup.

The Application Layer can be further broken down into seven main components:

Matter Stack Architecture

  1. Application: High order business logic of a device. For example, an application that is focused on lighting might contain logic to handle turning on/off the bulb as well as its color characteristics.

  2. Data Model: Data primitives that help describe the various functionalities of the devices. The Application operates on these data structures when there is intent to interact with the device.

  3. Interaction Model: Represents a set of actions that can be performed on the devices to interact with it. For example, reading or writing attributes on a device would correspond to interactions with the devices. These actions operate on the structures defined by the data model.

  4. Action Framing: Once an action is constructed using the Interaction Model, it is framed into a prescriptive packed binary format to enable being well represented on the “wire”.

  5. Security: An encoded action frame is then sent down to the Security Layer to encrypt and sign the payload to ensure that data is secured and authenticated by both sender and receiver of a packet.

  6. Message Framing & Routing: With an interaction encrypted and signed, the Message Layer constructs the payload format with required and optional header fields; which specify properties of the message as well as some routing information.

  7. IP Framing & Transport Management: After the final payload has been constructed, it is sent to the underlying transport protocol for IP management of the data.

Current Status of Matter

Matter’s design and technical processes are intended to be open and transparent to the general public, including to Work Group non-members wherever possible. The availability of this GitHub repository and its source code under an Apache v2 license is an important and demonstrable step to achieving this commitment.

Matter endeavors to bring together the best aspects of market-tested technologies and to redeploy them as a unified and cohesive whole-system solution. The overall goal of this approach is to bring the benefits of Matter to consumers and manufacturers as quickly as possible. As a result, what you observe in this repository is an implementation-first approach to the technical specification, vetting integrations in practice.

The Matter repository is growing and evolving to implement the overall architecture. The repository currently contains the security foundations, message framing and dispatch, an implementation of the interaction model and data model. The code examples show simple interactions, and are supported on multiple transports -- Wi-Fi and Thread -- starting with resource-constrained (i.e., memory, processing) silicon platforms to help ensure Matter’s scalability.

How to Contribute

We welcome your contributions to Matter. Read our contribution guidelines here.

Building and Developing in Matter

Instructions about how to build Matter can be found here.

Directory Structure

The Matter repository is structured as follows:

File / FolderContents
build/Build system support content and build output directories
BUILDING.mdMore detailed information on configuring and building Matter for different targets
CODE_OF_CONDUCT.mdCode of Conduct for Matter, and contributions to it
CONTRIBUTING.mdGuidelines for contributing to Matter
docs/Documentation, including guides
examples/Example firmware applications that demonstrate use of the Matter technology
integrations/Third party integrations related to this project
integrations/docker/Docker scripts and Dockerfiles
LICENSEMatter License file (Apache 2.0)
BUILD.gnTop level GN build file
README.mdThis file
src/Implementation of Matter
third_party/Third-party code used by Matter
scripts/Scripts needed to work with the Matter repository

License

Matter is released under the Apache 2.0 license.