[{"data":1,"prerenderedAt":916},["ShallowReactive",2],{"navigation":3,"\u002Fdocs\u002Fdevelopment\u002Fprotobuf":508,"\u002Fdocs\u002Fdevelopment\u002Fprotobuf-surround":913},[4],{"title":5,"icon":6,"path":7,"stem":8,"children":9},"Docs","i-ph-book-open","\u002Fdocs","1.docs",[10,12,23,63,73,99,123,214,279,287,326,394,420,482],{"title":5,"path":7,"stem":11},"1.docs\u002Findex",{"title":13,"icon":14,"path":15,"stem":16,"children":17,"page":22},"Coffee","i-ph-coffee-bean","\u002Fdocs\u002Fcoffee","1.docs\u002Fcoffee",[18],{"title":19,"path":20,"stem":21},"Shops","\u002Fdocs\u002Fcoffee\u002Fshops","1.docs\u002Fcoffee\u002Fshops",false,{"title":24,"icon":25,"path":26,"stem":27,"children":28,"page":22},"Databases","i-ph-database","\u002Fdocs\u002Fdatabases","1.docs\u002Fdatabases",[29,33],{"title":30,"path":31,"stem":32},"MongoDB","\u002Fdocs\u002Fdatabases\u002Fmongodb","1.docs\u002Fdatabases\u002Fmongodb",{"title":34,"icon":35,"path":36,"stem":37,"children":38,"page":22},"MySQL","i-simple-icons-mysql","\u002Fdocs\u002Fdatabases\u002Fmysql","1.docs\u002Fdatabases\u002Fmysql",[39,43,47,51,55,59],{"title":40,"path":41,"stem":42},"Cheat Sheet","\u002Fdocs\u002Fdatabases\u002Fmysql\u002Fcheat-sheet","1.docs\u002Fdatabases\u002Fmysql\u002Fcheat-sheet",{"title":44,"path":45,"stem":46},"event_scheduler","\u002Fdocs\u002Fdatabases\u002Fmysql\u002Fevent_scheduler","1.docs\u002Fdatabases\u002Fmysql\u002Fevent_scheduler",{"title":48,"path":49,"stem":50},"init_file: Run SQL file on startup","\u002Fdocs\u002Fdatabases\u002Fmysql\u002Finit_file","1.docs\u002Fdatabases\u002Fmysql\u002Finit_file",{"title":52,"path":53,"stem":54},"MariaDB","\u002Fdocs\u002Fdatabases\u002Fmysql\u002Fmariadb","1.docs\u002Fdatabases\u002Fmysql\u002Fmariadb",{"title":56,"path":57,"stem":58},"Pitfalls","\u002Fdocs\u002Fdatabases\u002Fmysql\u002Fpitfalls","1.docs\u002Fdatabases\u002Fmysql\u002Fpitfalls",{"title":60,"path":61,"stem":62},"Slow Log","\u002Fdocs\u002Fdatabases\u002Fmysql\u002Fslow-log","1.docs\u002Fdatabases\u002Fmysql\u002Fslow-log",{"title":64,"icon":65,"path":66,"stem":67,"children":68,"page":22},"Development","i-ph-code","\u002Fdocs\u002Fdevelopment","1.docs\u002Fdevelopment",[69],{"title":70,"path":71,"stem":72},"Protobuf \u002F gRPC","\u002Fdocs\u002Fdevelopment\u002Fprotobuf","1.docs\u002Fdevelopment\u002Fprotobuf",{"title":74,"icon":75,"path":76,"stem":77,"children":78,"page":22},"General","i-ph-wrench","\u002Fdocs\u002Fgeneral","1.docs\u002Fgeneral",[79,83,87,91,95],{"title":80,"path":81,"stem":82},"ADB","\u002Fdocs\u002Fgeneral\u002Fadb","1.docs\u002Fgeneral\u002Fadb",{"title":84,"path":85,"stem":86},"VS Codium","\u002Fdocs\u002Fgeneral\u002Fcodium","1.docs\u002Fgeneral\u002Fcodium",{"title":88,"path":89,"stem":90},"OpenSSL","\u002Fdocs\u002Fgeneral\u002Fopenssl","1.docs\u002Fgeneral\u002Fopenssl",{"title":92,"path":93,"stem":94},"Projects, Tools and Utilites","\u002Fdocs\u002Fgeneral\u002Ftools-utilities","1.docs\u002Fgeneral\u002Ftools-utilities",{"title":96,"path":97,"stem":98},"Online Tools","\u002Fdocs\u002Fgeneral\u002Fuseful-online-tools","1.docs\u002Fgeneral\u002Fuseful-online-tools",{"title":100,"icon":101,"path":102,"stem":103,"children":104,"page":22},"Hassio","i-simple-icons-homeassistant","\u002Fdocs\u002Fhassio","1.docs\u002Fhassio",[105,115,119],{"title":106,"icon":107,"path":108,"stem":109,"children":110,"page":22},"ESPHome","i-simple-icons-esphome","\u002Fdocs\u002Fhassio\u002Fesphome","1.docs\u002Fhassio\u002Fesphome",[111],{"title":112,"path":113,"stem":114},"Voltage - ADC","\u002Fdocs\u002Fhassio\u002Fesphome\u002Fvoltage-adc","1.docs\u002Fhassio\u002Fesphome\u002Fvoltage-adc",{"title":116,"path":117,"stem":118},"Raspberry Pi","\u002Fdocs\u002Fhassio\u002Fraspberrypi","1.docs\u002Fhassio\u002Fraspberrypi",{"title":120,"path":121,"stem":122},"Zigbee2MQTT","\u002Fdocs\u002Fhassio\u002Fzigbee2mqtt","1.docs\u002Fhassio\u002Fzigbee2mqtt",{"title":124,"icon":125,"path":126,"stem":127,"children":128,"page":22},"Kubernetes","i-simple-icons-kubernetes","\u002Fdocs\u002Fkubernetes","1.docs\u002Fkubernetes",[129,133,136,140,157,161,165,175,188,192,210],{"title":130,"path":131,"stem":132},"Certificates","\u002Fdocs\u002Fkubernetes\u002Fcertificates","1.docs\u002Fkubernetes\u002Fcertificates",{"title":40,"path":134,"stem":135},"\u002Fdocs\u002Fkubernetes\u002Fcheat-sheet","1.docs\u002Fkubernetes\u002Fcheat-sheet",{"title":137,"path":138,"stem":139},"Cluster Components Upgrade Order","\u002Fdocs\u002Fkubernetes\u002Fcluster-components-upgrade-order","1.docs\u002Fkubernetes\u002Fcluster-components-upgrade-order",{"title":141,"icon":142,"path":143,"stem":144,"children":145,"page":22},"Etcd","i-simple-icons-etcd","\u002Fdocs\u002Fkubernetes\u002Fetcd","1.docs\u002Fkubernetes\u002Fetcd",[146,149,153],{"title":40,"path":147,"stem":148},"\u002Fdocs\u002Fkubernetes\u002Fetcd\u002Fcheat-sheet","1.docs\u002Fkubernetes\u002Fetcd\u002Fcheat-sheet",{"title":150,"path":151,"stem":152},"Editing Kubernetes Objects","\u002Fdocs\u002Fkubernetes\u002Fetcd\u002Fediting-kubernetes-objects","1.docs\u002Fkubernetes\u002Fetcd\u002Fediting-kubernetes-objects",{"title":154,"path":155,"stem":156},"Snapshots: Save & Restore","\u002Fdocs\u002Fkubernetes\u002Fetcd\u002Fsnapshots-save-restore","1.docs\u002Fkubernetes\u002Fetcd\u002Fsnapshots-save-restore",{"title":158,"path":159,"stem":160},"Ingress","\u002Fdocs\u002Fkubernetes\u002Fingress","1.docs\u002Fkubernetes\u002Fingress",{"title":162,"path":163,"stem":164},"kubeadm","\u002Fdocs\u002Fkubernetes\u002Fkubeadm","1.docs\u002Fkubernetes\u002Fkubeadm",{"title":166,"icon":167,"path":168,"stem":169,"children":170,"page":22},"Logging","i-ph-log","\u002Fdocs\u002Fkubernetes\u002Flogging","1.docs\u002Fkubernetes\u002Flogging",[171],{"title":172,"path":173,"stem":174},"Regex","\u002Fdocs\u002Fkubernetes\u002Flogging\u002Fregex","1.docs\u002Fkubernetes\u002Flogging\u002Fregex",{"title":176,"icon":177,"path":178,"stem":179,"children":180,"page":22},"Monitoring","i-ph-binoculars","\u002Fdocs\u002Fkubernetes\u002Fmonitoring","1.docs\u002Fkubernetes\u002Fmonitoring",[181,184],{"title":176,"path":182,"stem":183},"\u002Fdocs\u002Fkubernetes\u002Fmonitoring\u002Fbasics","1.docs\u002Fkubernetes\u002Fmonitoring\u002Fbasics",{"title":185,"path":186,"stem":187},"Components","\u002Fdocs\u002Fkubernetes\u002Fmonitoring\u002Fcomponents","1.docs\u002Fkubernetes\u002Fmonitoring\u002Fcomponents",{"title":189,"path":190,"stem":191},"Kubernetes Name Schemas","\u002Fdocs\u002Fkubernetes\u002Fname-schema","1.docs\u002Fkubernetes\u002Fname-schema",{"title":193,"icon":194,"path":195,"stem":196,"children":197,"page":22},"Networking","i-ph-network","\u002Fdocs\u002Fkubernetes\u002Fnetworking","1.docs\u002Fkubernetes\u002Fnetworking",[198,202,206],{"title":199,"path":200,"stem":201},"Benchmarking","\u002Fdocs\u002Fkubernetes\u002Fnetworking\u002Fbenchmarking","1.docs\u002Fkubernetes\u002Fnetworking\u002Fbenchmarking",{"title":203,"path":204,"stem":205},"Explained","\u002Fdocs\u002Fkubernetes\u002Fnetworking\u002Fexplained","1.docs\u002Fkubernetes\u002Fnetworking\u002Fexplained",{"title":207,"path":208,"stem":209},"Troubleshooting","\u002Fdocs\u002Fkubernetes\u002Fnetworking\u002Ftroubleshooting","1.docs\u002Fkubernetes\u002Fnetworking\u002Ftroubleshooting",{"title":211,"path":212,"stem":213},"System Requirements","\u002Fdocs\u002Fkubernetes\u002Fsystem-requirements","1.docs\u002Fkubernetes\u002Fsystem-requirements",{"title":215,"icon":216,"path":217,"stem":218,"children":219,"page":22},"Linux","i-simple-icons-linux","\u002Fdocs\u002Flinux","1.docs\u002Flinux",[220,224,246,250,268,272,275],{"title":221,"path":222,"stem":223},"git","\u002Fdocs\u002Flinux\u002Fgit","1.docs\u002Flinux\u002Fgit",{"title":225,"path":226,"stem":227,"children":228,"page":22},"GRUB","\u002Fdocs\u002Flinux\u002Fgrub","1.docs\u002Flinux\u002Fgrub",[229,242],{"title":230,"path":231,"stem":232,"children":233,"page":22},"Boot .XYZ File","\u002Fdocs\u002Flinux\u002Fgrub\u002Fbooting-xyz-files","1.docs\u002Flinux\u002Fgrub\u002Fbooting-xyz-files",[234,238],{"title":235,"path":236,"stem":237},".img File","\u002Fdocs\u002Flinux\u002Fgrub\u002Fbooting-xyz-files\u002Fimg-file","1.docs\u002Flinux\u002Fgrub\u002Fbooting-xyz-files\u002Fimg-file",{"title":239,"path":240,"stem":241},".iso File","\u002Fdocs\u002Flinux\u002Fgrub\u002Fbooting-xyz-files\u002Fiso-file","1.docs\u002Flinux\u002Fgrub\u002Fbooting-xyz-files\u002Fiso-file",{"title":243,"path":244,"stem":245},"Preparations for 'Booting XYZ FIle'","\u002Fdocs\u002Flinux\u002Fgrub\u002Fpreparations-for-boot-xyz-file","1.docs\u002Flinux\u002Fgrub\u002Fpreparations-for-boot-xyz-file",{"title":247,"path":248,"stem":249},"mdadm","\u002Fdocs\u002Flinux\u002Fmdam","1.docs\u002Flinux\u002Fmdam",{"title":251,"icon":252,"path":253,"stem":254,"children":255,"page":22},"Nixos","i-simple-icons-nixos","\u002Fdocs\u002Flinux\u002Fnixos","1.docs\u002Flinux\u002Fnixos",[256,260,264],{"title":257,"path":258,"stem":259},"Cleanup Storage","\u002Fdocs\u002Flinux\u002Fnixos\u002Fcleanup","1.docs\u002Flinux\u002Fnixos\u002Fcleanup",{"title":261,"path":262,"stem":263},"Quick NixOS VM","\u002Fdocs\u002Flinux\u002Fnixos\u002Fquick-vm","1.docs\u002Flinux\u002Fnixos\u002Fquick-vm",{"title":265,"path":266,"stem":267},"Update","\u002Fdocs\u002Flinux\u002Fnixos\u002Fupdate","1.docs\u002Flinux\u002Fnixos\u002Fupdate",{"title":269,"path":270,"stem":271},"Quick Commands","\u002Fdocs\u002Flinux\u002Fquick-commands","1.docs\u002Flinux\u002Fquick-commands",{"title":116,"path":273,"stem":274},"\u002Fdocs\u002Flinux\u002Fraspberrypi","1.docs\u002Flinux\u002Fraspberrypi",{"title":276,"path":277,"stem":278},"sysctl","\u002Fdocs\u002Flinux\u002Fsysctl","1.docs\u002Flinux\u002Fsysctl",{"title":166,"icon":167,"path":280,"stem":281,"children":282,"page":22},"\u002Fdocs\u002Flogging","1.docs\u002Flogging",[283],{"title":284,"path":285,"stem":286},"Loki","\u002Fdocs\u002Flogging\u002Floki","1.docs\u002Flogging\u002Floki",{"title":176,"icon":177,"path":288,"stem":289,"children":290,"page":22},"\u002Fdocs\u002Fmonitoring","1.docs\u002Fmonitoring",[291,322],{"title":292,"icon":293,"path":294,"stem":295,"children":296,"page":22},"Prometheus","i-simple-icons-prometheus","\u002Fdocs\u002Fmonitoring\u002Fprometheus","1.docs\u002Fmonitoring\u002Fprometheus",[297,318],{"title":298,"path":299,"stem":300,"children":301,"page":22},"Exporters","\u002Fdocs\u002Fmonitoring\u002Fprometheus\u002Fexporters","1.docs\u002Fmonitoring\u002Fprometheus\u002Fexporters",[302,306,310,314],{"title":303,"path":304,"stem":305},"dellhw_exporter by galexrt","\u002Fdocs\u002Fmonitoring\u002Fprometheus\u002Fexporters\u002Fdellhw_exporter","1.docs\u002Fmonitoring\u002Fprometheus\u002Fexporters\u002Fdellhw_exporter",{"title":307,"path":308,"stem":309},"ethtool_exporter by Showmax","\u002Fdocs\u002Fmonitoring\u002Fprometheus\u002Fexporters\u002Fethtool_exporter","1.docs\u002Fmonitoring\u002Fprometheus\u002Fexporters\u002Fethtool_exporter",{"title":311,"path":312,"stem":313},"node_exporter by Prometheus Project","\u002Fdocs\u002Fmonitoring\u002Fprometheus\u002Fexporters\u002Fnode_exporter","1.docs\u002Fmonitoring\u002Fprometheus\u002Fexporters\u002Fnode_exporter",{"title":315,"path":316,"stem":317},"Other exporters","\u002Fdocs\u002Fmonitoring\u002Fprometheus\u002Fexporters\u002Fothers","1.docs\u002Fmonitoring\u002Fprometheus\u002Fexporters\u002Fothers",{"title":319,"path":320,"stem":321},"Tips","\u002Fdocs\u002Fmonitoring\u002Fprometheus\u002Ftips","1.docs\u002Fmonitoring\u002Fprometheus\u002Ftips",{"title":323,"path":324,"stem":325},"Thanos","\u002Fdocs\u002Fmonitoring\u002Fthanos","1.docs\u002Fmonitoring\u002Fthanos",{"title":193,"icon":194,"path":327,"stem":328,"children":329,"page":22},"\u002Fdocs\u002Fnetworking","1.docs\u002Fnetworking",[330,347,351,363,367],{"title":331,"icon":332,"path":333,"stem":334,"children":335,"page":22},"Cisco","i-simple-icons-cisco","\u002Fdocs\u002Fnetworking\u002Fcisco","1.docs\u002Fnetworking\u002Fcisco",[336,340,343],{"title":337,"path":338,"stem":339},"ACLs","\u002Fdocs\u002Fnetworking\u002Fcisco\u002Facls","1.docs\u002Fnetworking\u002Fcisco\u002Facls",{"title":40,"path":341,"stem":342},"\u002Fdocs\u002Fnetworking\u002Fcisco\u002Fcheat-sheet","1.docs\u002Fnetworking\u002Fcisco\u002Fcheat-sheet",{"title":344,"path":345,"stem":346},"Switch Configuration","\u002Fdocs\u002Fnetworking\u002Fcisco\u002Fswitch-configuration","1.docs\u002Fnetworking\u002Fcisco\u002Fswitch-configuration",{"title":348,"path":349,"stem":350},"Cloudflare","\u002Fdocs\u002Fnetworking\u002Fcloudflare","1.docs\u002Fnetworking\u002Fcloudflare",{"title":352,"path":353,"stem":354,"children":355,"page":22},"Fiber","\u002Fdocs\u002Fnetworking\u002Ffiber","1.docs\u002Fnetworking\u002Ffiber",[356,359],{"title":40,"path":357,"stem":358},"\u002Fdocs\u002Fnetworking\u002Ffiber\u002Fcheat-sheet","1.docs\u002Fnetworking\u002Ffiber\u002Fcheat-sheet",{"title":360,"path":361,"stem":362},"Glossar","\u002Fdocs\u002Fnetworking\u002Ffiber\u002Fglossar","1.docs\u002Fnetworking\u002Ffiber\u002Fglossar",{"title":364,"path":365,"stem":366},"IP-Blocklists","\u002Fdocs\u002Fnetworking\u002Fip-blocklists","1.docs\u002Fnetworking\u002Fip-blocklists",{"title":368,"icon":369,"path":370,"stem":371,"children":372,"page":22},"Mikrotik","i-simple-icons-mikrotik","\u002Fdocs\u002Fnetworking\u002Fmikrotik","1.docs\u002Fnetworking\u002Fmikrotik",[373,376,390],{"title":40,"path":374,"stem":375},"\u002Fdocs\u002Fnetworking\u002Fmikrotik\u002Fcheat-sheet","1.docs\u002Fnetworking\u002Fmikrotik\u002Fcheat-sheet",{"title":377,"icon":378,"path":379,"stem":380,"children":381,"page":22},"DNS","i-mdi-dns","\u002Fdocs\u002Fnetworking\u002Fmikrotik\u002Fdns","1.docs\u002Fnetworking\u002Fmikrotik\u002Fdns",[382,386],{"title":383,"path":384,"stem":385},"Adlists \u002F Blocklists","\u002Fdocs\u002Fnetworking\u002Fmikrotik\u002Fdns\u002Fadlists-blocklists","1.docs\u002Fnetworking\u002Fmikrotik\u002Fdns\u002Fadlists-blocklists",{"title":387,"path":388,"stem":389},"DNS over HTTPS (DOH)","\u002Fdocs\u002Fnetworking\u002Fmikrotik\u002Fdns\u002Fdns-over-https-doh","1.docs\u002Fnetworking\u002Fmikrotik\u002Fdns\u002Fdns-over-https-doh",{"title":391,"path":392,"stem":393},"Example Configs","\u002Fdocs\u002Fnetworking\u002Fmikrotik\u002Fexample-configs","1.docs\u002Fnetworking\u002Fmikrotik\u002Fexample-configs",{"title":395,"icon":396,"path":397,"stem":398,"children":399,"page":22},"Software","i-ph-file-code","\u002Fdocs\u002Fsoftware","1.docs\u002Fsoftware",[400,404,408,412,416],{"title":401,"path":402,"stem":403},"CRI-O","\u002Fdocs\u002Fsoftware\u002Fcrio","1.docs\u002Fsoftware\u002Fcrio",{"title":405,"path":406,"stem":407},"Docker Registry","\u002Fdocs\u002Fsoftware\u002Fdocker-registry","1.docs\u002Fsoftware\u002Fdocker-registry",{"title":409,"path":410,"stem":411},"GitLab CI","\u002Fdocs\u002Fsoftware\u002Fgitlab-ci","1.docs\u002Fsoftware\u002Fgitlab-ci",{"title":413,"path":414,"stem":415},"Harbor Registry","\u002Fdocs\u002Fsoftware\u002Fharbor-registry","1.docs\u002Fsoftware\u002Fharbor-registry",{"title":417,"path":418,"stem":419},"SSH","\u002Fdocs\u002Fsoftware\u002Fssh","1.docs\u002Fsoftware\u002Fssh",{"title":421,"icon":422,"path":423,"stem":424,"children":425,"page":22},"Storage","i-ph-hard-drives","\u002Fdocs\u002Fstorage","1.docs\u002Fstorage",[426,448,456,464],{"title":427,"icon":428,"path":429,"stem":430,"children":431,"page":22},"Ceph","i-simple-icons-ceph","\u002Fdocs\u002Fstorage\u002Fceph","1.docs\u002Fstorage\u002Fceph",[432,436,440,444],{"title":433,"path":434,"stem":435},"Architecture","\u002Fdocs\u002Fstorage\u002Fceph\u002Farchitecture","1.docs\u002Fstorage\u002Fceph\u002Farchitecture",{"title":437,"path":438,"stem":439},"Common Issues","\u002Fdocs\u002Fstorage\u002Fceph\u002Fcommon-issues","1.docs\u002Fstorage\u002Fceph\u002Fcommon-issues",{"title":441,"path":442,"stem":443},"OSDs","\u002Fdocs\u002Fstorage\u002Fceph\u002Fosds","1.docs\u002Fstorage\u002Fceph\u002Fosds",{"title":445,"path":446,"stem":447},"RBD (Block Storage)","\u002Fdocs\u002Fstorage\u002Fceph\u002Frbd","1.docs\u002Fstorage\u002Fceph\u002Frbd",{"title":449,"path":450,"stem":451,"children":452,"page":22},"Gluster","\u002Fdocs\u002Fstorage\u002Fgluster","1.docs\u002Fstorage\u002Fgluster",[453],{"title":437,"path":454,"stem":455},"\u002Fdocs\u002Fstorage\u002Fgluster\u002Fcommon-issues","1.docs\u002Fstorage\u002Fgluster\u002Fcommon-issues",{"title":457,"path":458,"stem":459,"children":460,"page":22},"NFS","\u002Fdocs\u002Fstorage\u002Fnfs","1.docs\u002Fstorage\u002Fnfs",[461],{"title":437,"path":462,"stem":463},"\u002Fdocs\u002Fstorage\u002Fnfs\u002Fcommon-issues","1.docs\u002Fstorage\u002Fnfs\u002Fcommon-issues",{"title":465,"icon":466,"path":467,"stem":468,"children":469,"page":22},"Rook","i-simple-icons-rook","\u002Fdocs\u002Fstorage\u002Frook","1.docs\u002Fstorage\u002Frook",[470,473,476,479],{"title":433,"path":471,"stem":472},"\u002Fdocs\u002Fstorage\u002Frook\u002Farchitecture","1.docs\u002Fstorage\u002Frook\u002Farchitecture",{"title":40,"path":474,"stem":475},"\u002Fdocs\u002Fstorage\u002Frook\u002Fcheat-sheet","1.docs\u002Fstorage\u002Frook\u002Fcheat-sheet",{"title":465,"path":477,"stem":478},"\u002Fdocs\u002Fstorage\u002Frook\u002Fcluster","1.docs\u002Fstorage\u002Frook\u002Fcluster",{"title":437,"path":480,"stem":481},"\u002Fdocs\u002Fstorage\u002Frook\u002Fcommon-issues","1.docs\u002Fstorage\u002Frook\u002Fcommon-issues",{"title":483,"icon":484,"path":485,"stem":486,"children":487,"page":22},"Web","i-ph-browser","\u002Fdocs\u002Fweb","1.docs\u002Fweb",[488,498],{"title":489,"icon":490,"path":491,"stem":492,"children":493,"page":22},"Nuxt","i-simple-icons-nuxt","\u002Fdocs\u002Fweb\u002Fnuxt","1.docs\u002Fweb\u002Fnuxt",[494],{"title":495,"path":496,"stem":497},"Loading Indicator","\u002Fdocs\u002Fweb\u002Fnuxt\u002Floading-indicator","1.docs\u002Fweb\u002Fnuxt\u002Floading-indicator",{"title":499,"icon":500,"path":501,"stem":502,"children":503,"page":22},"Tiptap","i-mdi-file-edit-outline","\u002Fdocs\u002Fweb\u002Ftiptap","1.docs\u002Fweb\u002Ftiptap",[504],{"title":505,"path":506,"stem":507},"Snippets","\u002Fdocs\u002Fweb\u002Ftiptap\u002Fsnippets","1.docs\u002Fweb\u002Ftiptap\u002Fsnippets",{"id":509,"title":70,"body":510,"description":571,"extension":909,"meta":910,"navigation":612,"path":71,"seo":911,"stem":72,"__hash__":912},"docs\u002F1.docs\u002Fdevelopment\u002Fprotobuf.md",{"type":511,"value":512,"toc":900},"minimark",[513,518,530,544,560,565,653,657,711,715,780,784,833,837,896],[514,515,517],"h2",{"id":516},"deprecating-elements-in-grpc","Deprecating Elements in gRPC",[519,520,521,522,529],"p",{},"This section is more or less a summary of ",[523,524,528],"a",{"href":525,"rel":526},"https:\u002F\u002Fblog.bhanunadar.com\u002Fdeprecating-elements-in-grpc-a-complete-guide\u002F",[527],"nofollow","Deprecating Elements in gRPC: A Complete Guide by bhanunadar"," with some additions, in one place.",[519,531,532,533,537,538,543],{},"Here's the ",[534,535,536],"code",{},"deprecated"," field option from ",[523,539,542],{"href":540,"rel":541},"https:\u002F\u002Fprotobuf.dev\u002Fprogramming-guides\u002Fproto3\u002F",[527],"the official protobuf documentation",":",[545,546,547],"blockquote",{},[519,548,549,551,552,555,556,559],{},[534,550,536],{}," (field option): If set to ",[534,553,554],{},"true",", indicates that the field is deprecated and should not be used by new code. In most languages this has no actual effect. In Java, this becomes a ",[534,557,558],{},"@Deprecated"," annotation. For C++, clang-tidy will generate warnings whenever deprecated fields are used. In the future, other language-specific code generators may generate deprecation annotations on the field’s accessors, which will in turn cause a warning to be emitted when compiling code which attempts to use the field. If the field is not used by anyone and you want to prevent new users from using it, consider replacing the field declaration with a reserved statement.",[561,562,564],"h3",{"id":563},"services","Services",[566,567,572],"pre",{"className":568,"code":569,"language":570,"meta":571,"style":571},"language-proto shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","service UserService {\n  option deprecated = true;\n\n  rpc GetUser (GetUserRequest) returns (GetUserResponse);\n}\n","proto","",[534,573,574,591,607,614,647],{"__ignoreMap":571},[575,576,579,583,587],"span",{"class":577,"line":578},"line",1,[575,580,582],{"class":581},"sbssI","service",[575,584,586],{"class":585},"sBMFI"," UserService",[575,588,590],{"class":589},"sTEyZ"," {\n",[575,592,594,597,600,604],{"class":577,"line":593},2,[575,595,596],{"class":581},"  option",[575,598,599],{"class":589}," deprecated ",[575,601,603],{"class":602},"sMK4o","=",[575,605,606],{"class":602}," true;\n",[575,608,610],{"class":577,"line":609},3,[575,611,613],{"emptyLinePlaceholder":612},true,"\n",[575,615,617,620,624,627,630,633,636,638,641,644],{"class":577,"line":616},4,[575,618,619],{"class":581},"  rpc",[575,621,623],{"class":622},"s2Zo4"," GetUser",[575,625,626],{"class":589}," (",[575,628,629],{"class":585},"GetUserRequest",[575,631,632],{"class":589},") ",[575,634,635],{"class":581},"returns",[575,637,626],{"class":589},[575,639,640],{"class":585},"GetUserResponse",[575,642,643],{"class":589},")",[575,645,646],{"class":602},";\n",[575,648,650],{"class":577,"line":649},5,[575,651,652],{"class":589},"}\n",[561,654,656],{"id":655},"methods","Methods",[566,658,660],{"className":568,"code":659,"language":570,"meta":571,"style":571},"service UserService {\n  rpc GetUser (GetUserRequest) returns (GetUserResponse) {\n    option deprecated = true;\n  }\n}\n",[534,661,662,670,691,702,707],{"__ignoreMap":571},[575,663,664,666,668],{"class":577,"line":578},[575,665,582],{"class":581},[575,667,586],{"class":585},[575,669,590],{"class":589},[575,671,672,674,676,678,680,682,684,686,688],{"class":577,"line":593},[575,673,619],{"class":581},[575,675,623],{"class":622},[575,677,626],{"class":589},[575,679,629],{"class":585},[575,681,632],{"class":589},[575,683,635],{"class":581},[575,685,626],{"class":589},[575,687,640],{"class":585},[575,689,690],{"class":589},") {\n",[575,692,693,696,698,700],{"class":577,"line":609},[575,694,695],{"class":581},"    option",[575,697,599],{"class":589},[575,699,603],{"class":602},[575,701,606],{"class":602},[575,703,704],{"class":577,"line":616},[575,705,706],{"class":589},"  }\n",[575,708,709],{"class":577,"line":649},[575,710,652],{"class":589},[561,712,714],{"id":713},"messages","Messages",[566,716,718],{"className":568,"code":717,"language":570,"meta":571,"style":571},"message User {\n  option deprecated = true;\n\n  string name = 1;\n  int32 age = 2;\n}\n",[534,719,720,730,740,744,760,775],{"__ignoreMap":571},[575,721,722,725,728],{"class":577,"line":578},[575,723,724],{"class":581},"message",[575,726,727],{"class":585}," User",[575,729,590],{"class":589},[575,731,732,734,736,738],{"class":577,"line":593},[575,733,596],{"class":581},[575,735,599],{"class":589},[575,737,603],{"class":602},[575,739,606],{"class":602},[575,741,742],{"class":577,"line":609},[575,743,613],{"emptyLinePlaceholder":612},[575,745,746,750,753,755,758],{"class":577,"line":616},[575,747,749],{"class":748},"spNyl","  string",[575,751,752],{"class":589}," name ",[575,754,603],{"class":602},[575,756,757],{"class":581}," 1",[575,759,646],{"class":602},[575,761,762,765,768,770,773],{"class":577,"line":649},[575,763,764],{"class":748},"  int32",[575,766,767],{"class":589}," age ",[575,769,603],{"class":602},[575,771,772],{"class":581}," 2",[575,774,646],{"class":602},[575,776,778],{"class":577,"line":777},6,[575,779,652],{"class":589},[561,781,783],{"id":782},"message-fields","Message Fields",[566,785,787],{"className":568,"code":786,"language":570,"meta":571,"style":571},"message User {\n  string name = 1;\n  int32 age = 2 [deprecated = true];\n}\n",[534,788,789,797,809,829],{"__ignoreMap":571},[575,790,791,793,795],{"class":577,"line":578},[575,792,724],{"class":581},[575,794,727],{"class":585},[575,796,590],{"class":589},[575,798,799,801,803,805,807],{"class":577,"line":593},[575,800,749],{"class":748},[575,802,752],{"class":589},[575,804,603],{"class":602},[575,806,757],{"class":581},[575,808,646],{"class":602},[575,810,811,813,815,817,819,822,824,827],{"class":577,"line":609},[575,812,764],{"class":748},[575,814,767],{"class":589},[575,816,603],{"class":602},[575,818,772],{"class":581},[575,820,821],{"class":589}," [deprecated = ",[575,823,554],{"class":602},[575,825,826],{"class":589},"]",[575,828,646],{"class":602},[575,830,831],{"class":577,"line":616},[575,832,652],{"class":589},[561,834,836],{"id":835},"enum-values","Enum Values",[566,838,840],{"className":568,"code":839,"language":570,"meta":571,"style":571},"enum Data {\n  DATA_UNSPECIFIED = 0;\n  DATA_SEARCH = 1 [deprecated = true];\n  DATA_DISPLAY = 2;\n}\n",[534,841,842,852,864,881,892],{"__ignoreMap":571},[575,843,844,847,850],{"class":577,"line":578},[575,845,846],{"class":581},"enum",[575,848,849],{"class":585}," Data",[575,851,590],{"class":589},[575,853,854,857,859,862],{"class":577,"line":593},[575,855,856],{"class":589},"  DATA_UNSPECIFIED ",[575,858,603],{"class":602},[575,860,861],{"class":581}," 0",[575,863,646],{"class":602},[575,865,866,869,871,873,875,877,879],{"class":577,"line":609},[575,867,868],{"class":589},"  DATA_SEARCH ",[575,870,603],{"class":602},[575,872,757],{"class":581},[575,874,821],{"class":589},[575,876,554],{"class":602},[575,878,826],{"class":589},[575,880,646],{"class":602},[575,882,883,886,888,890],{"class":577,"line":616},[575,884,885],{"class":589},"  DATA_DISPLAY ",[575,887,603],{"class":602},[575,889,772],{"class":581},[575,891,646],{"class":602},[575,893,894],{"class":577,"line":649},[575,895,652],{"class":589},[897,898,899],"style",{},"html pre.shiki code .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}",{"title":571,"searchDepth":593,"depth":593,"links":901},[902],{"id":516,"depth":593,"text":517,"children":903},[904,905,906,907,908],{"id":563,"depth":609,"text":564},{"id":655,"depth":609,"text":656},{"id":713,"depth":609,"text":714},{"id":782,"depth":609,"text":783},{"id":835,"depth":609,"text":836},"md",{},{"title":70,"description":571},"HKaUMPa2mEefhG5iWkda531115jf3X6SW3yXNkxE7l0",[914,915],{"title":60,"path":61,"stem":62,"description":571,"children":-1},{"title":80,"path":81,"stem":82,"description":571,"children":-1},1776256634303]