From 0c47cab5578c1bf20fc5126e9d52864aebd2c44b Mon Sep 17 00:00:00 2001 From: Ahmad Wilson Date: Tue, 9 Dec 2025 07:13:54 -0600 Subject: [PATCH] chore: update and consolidate cli tool meta configs and add README/release notes examples --- data/configs/apache_cli_tools.json | 1575 --- data/configs/cli_tools.json | 11702 ++++++++++++++++ data/configs/cncf_cli_tools.json | 7738 ---------- data/configs/dev_tools.json | 3077 ---- data/configs/web3_tools.json | 1671 --- data/readmes/act-v0283.md | 48 + data/readmes/activemq-activemq-parent-551.md | 82 + data/readmes/aeraki-mesh-141.md | 197 + data/readmes/airflow-313.md | 552 + data/readmes/akri-v0138.md | 76 + data/readmes/ansible-v2201rc1.md | 108 + data/readmes/antrea-v250.md | 144 + data/readmes/ape-framework-v0842.md | 158 + data/readmes/apisix-3141.md | 248 + data/readmes/apisix-dashboard-notice.md | 38 + data/readmes/aptos-aptos-node-v1384-rc.md | 34 + data/readmes/arbitrum-v394-rc2.md | 63 + data/readmes/argo-v321.md | 96 + data/readmes/armada-v02021.md | 230 + data/readmes/artifact-hub-v1220.md | 119 + data/readmes/athenz-v11231.md | 122 + data/readmes/atlantis-v0371.md | 49 + data/readmes/avalanche-v1140.md | 257 + data/readmes/aws-cli-200dev0.md | 443 + data/readmes/azure-cli-azure-cli-2810.md | 230 + data/readmes/backstage-v1453.md | 87 + data/readmes/bank-vaults-v1320.md | 118 + data/readmes/base-v0143.md | 152 + data/readmes/benthos-v4720.md | 222 + data/readmes/besu-25110.md | 79 + data/readmes/bfe-v180.md | 95 + data/readmes/bitcoin-core-v283.md | 86 + data/readmes/bookkeeper-release-4172.md | 60 + data/readmes/bootc-v1110.md | 81 + data/readmes/bpfman-v056.md | 133 + data/readmes/brigade-v260.md | 89 + data/readmes/buildah-v1422.md | 143 + data/readmes/buildpacks-v0390.md | 52 + data/readmes/caddy-v2110-beta1.md | 209 + .../cadence-workflow-v137-prerelease23.md | 123 + data/readmes/camel-camel-4160.md | 115 + data/readmes/capsule-v0120.md | 140 + data/readmes/cardano-1061.md | 74 + data/readmes/carina-v0140.md | 184 + data/readmes/cartography-01220.md | 161 + data/readmes/carvel-v0521.md | 49 + data/readmes/cassandra-cassandra-506.md | 96 + .../cdk-for-kubernetes-cdk8s-redirect.md | 120 + data/readmes/cert-manager-v1200-alpha0.md | 132 + data/readmes/certbot-v521.md | 9 + data/readmes/chainlink-v2301.md | 365 + data/readmes/chaos-mesh-v280.md | 153 + data/readmes/chaosblade-v180.md | 100 + data/readmes/checkov-32495.md | 511 + data/readmes/cilium-v1190-pre3.md | 370 + data/readmes/cloud-custodian-09480.md | 305 + data/readmes/cloudevents-cev102.md | 153 + data/readmes/cloudnativepg-v1280-rc2.md | 198 + data/readmes/clusternet-v0181.md | 156 + data/readmes/clusterpedia-v090.md | 363 + data/readmes/cni-genie-v30.md | 83 + data/readmes/composefs-v108.md | 202 + data/readmes/confidential-containers-v0170.md | 54 + data/readmes/connect-rpc-v1191.md | 191 + data/readmes/consul-ent-changelog-1220.md | 75 + .../container-network-interface-cni-v130.md | 227 + data/readmes/containerd-v220.md | 207 + data/readmes/containerssh-v052.md | 362 + data/readmes/contour-v1330.md | 71 + data/readmes/copa-v0120.md | 69 + data/readmes/coredns-v1131.md | 319 + data/readmes/cortex-v1201.md | 181 + data/readmes/cosign-v302.md | 787 ++ data/readmes/couchdb-nouveau-01.md | 137 + data/readmes/cozystack-v0383.md | 82 + data/readmes/crane-v0207.md | 157 + data/readmes/cri-o-v1343.md | 329 + data/readmes/crossplane-v213.md | 172 + data/readmes/cubefs-v352.md | 106 + data/readmes/curl-curl-8_17_0.md | 73 + data/readmes/curve-v127-rc6.md | 98 + data/readmes/dapr-v1164.md | 167 + data/readmes/dasel-v281.md | 168 + data/readmes/devfile-v230.md | 77 + data/readmes/devspace-v6318.md | 222 + data/readmes/devstream-v0133.md | 9 + data/readmes/dex-v2440.md | 153 + data/readmes/digitalocean-cli-v11470.md | 444 + data/readmes/distribution-v300.md | 81 + data/readmes/dive-v0131.md | 357 + data/readmes/dolphinscheduler-332.md | 85 + data/readmes/doris-313-rc02.md | 308 + data/readmes/dragonfly-v235-beta0.md | 87 + data/readmes/drill-drill-1220.md | 42 + data/readmes/druid-druid-3500.md | 128 + data/readmes/dubbo-admin-060.md | 195 + data/readmes/easegress-v2101.md | 237 + data/readmes/elasticsearch-v922.md | 308 + data/readmes/emissary-ingress-v400-rc1.md | 163 + data/readmes/envoy-v1363.md | 109 + data/readmes/eraser-v141.md | 46 + data/readmes/erigon-v331.md | 739 + data/readmes/etcd-v366.md | 212 + data/readmes/eventmesh-v1110.md | 227 + data/readmes/external-secrets-v111.md | 83 + data/readmes/fabedge-v081.md | 102 + data/readmes/falco-0421.md | 154 + data/readmes/flink-v04-rc1.md | 205 + data/readmes/fluentd-v1191.md | 79 + data/readmes/fluid-v108.md | 182 + data/readmes/flux-v275.md | 110 + data/readmes/fonio-v11.md | 120 + ...7fba0a51e335a174442b19d92b64df9d2ab72ab.md | 370 + data/readmes/ganache-v790.md | 8 + data/readmes/geth-go-ethereum-v1167.md | 263 + data/readmes/git-v2520.md | 81 + data/readmes/github-cli-v2831.md | 112 + data/readmes/gitlab-cli-v1220.md | 388 + data/readmes/go-weekly2012-03-27.md | 38 + data/readmes/gomplate-v433.md | 139 + data/readmes/google-cloud-sdk-list.md | 207 + data/readmes/gradle-v930-rc1.md | 128 + data/readmes/grafana-v1230.md | 58 + data/readmes/grpc-v1760.md | 111 + data/readmes/grype-v01041.md | 1015 ++ data/readmes/hadolint-v2140.md | 726 + data/readmes/hadoop-submarine-020-rc0.md | 41 + data/readmes/hami-v271.md | 200 + data/readmes/haproxy-v34-dev0.md | 69 + data/readmes/harbor-v2141.md | 127 + data/readmes/hardhat-hardhat3016.md | 38 + data/readmes/hbase-rel264.md | 52 + data/readmes/headlamp-headlamp-plugin-0130.md | 117 + data/readmes/helm-v401.md | 93 + data/readmes/hexa-v050.md | 289 + data/readmes/hive-storage-release-281-rc2.md | 132 + data/readmes/httpd-pre_ajp_proxy.md | 113 + data/readmes/hwameistor-v101.md | 271 + data/readmes/hyperlight-dev-latest.md | 273 + data/readmes/in-toto-v300.md | 177 + data/readmes/inclavare-containers-v064.md | 259 + data/readmes/infracost-v01043.md | 64 + data/readmes/inspektor-gadget-v0470.md | 225 + data/readmes/iotdb-v135.md | 529 + data/readmes/iotdb-web-workbench-v0133.md | 67 + data/readmes/ipfs-v0390.md | 521 + data/readmes/istio-1281.md | 131 + data/readmes/jaeger-v1760.md | 176 + data/readmes/java-openjdk-jdk-271.md | 19 + data/readmes/jenkins-jenkins-2540.md | 127 + data/readmes/jq-jq-181.md | 85 + data/readmes/k0s-v1342k0s0.md | 192 + data/readmes/k3s-v1342k3s1.md | 202 + data/readmes/k8gb-v0160.md | 166 + data/readmes/k8up-v2131.md | 172 + data/readmes/k9s-v05016.md | 1269 ++ data/readmes/kafka-show.md | 112 + data/readmes/kagent-v075.md | 164 + data/readmes/kairos-v3510.md | 86 + data/readmes/kaito-v080-rc0.md | 177 + data/readmes/kanister-01160.md | 141 + data/readmes/karmada-v1160.md | 255 + data/readmes/kcl-v0112.md | 95 + data/readmes/kcp-v0290.md | 91 + data/readmes/keda-v2182.md | 102 + data/readmes/keptn-metrics-operator-v210.md | 162 + data/readmes/keycloak-nightly.md | 87 + data/readmes/keylime-v7130.md | 239 + data/readmes/kgateway-v212.md | 66 + data/readmes/kibana-v922.md | 71 + data/readmes/kitops-v1100.md | 149 + data/readmes/kmesh-v120-rc0.md | 133 + data/readmes/knative-knative-v1200.md | 39 + data/readmes/ko-v0180.md | 48 + data/readmes/konveyor-v081-beta2.md | 309 + data/readmes/koordinator-v170.md | 91 + data/readmes/kpt-v100-beta59.md | 102 + data/readmes/krator-v060.md | 50 + data/readmes/krkn-v4015.md | 50 + data/readmes/krustlet-v100-alpha1.md | 48 + data/readmes/kserve-v0160.md | 79 + data/readmes/kuadrant-v131.md | 41 + data/readmes/kuasar-v101-alpha1.md | 200 + data/readmes/kube-burner-v200.md | 74 + data/readmes/kube-ovn-v11418.md | 110 + data/readmes/kube-rs-201.md | 185 + data/readmes/kube-vip-v102.md | 78 + data/readmes/kubean-v0302.md | 141 + data/readmes/kubearmor-v165.md | 69 + data/readmes/kubeclipper-v141.md | 286 + data/readmes/kubectl-v1350-rc0.md | 107 + data/readmes/kubedl-v050.md | 52 + data/readmes/kubeedge-v1220.md | 139 + data/readmes/kubeflow-v1100.md | 69 + data/readmes/kuberhealthy-v280-rc2.md | 136 + data/readmes/kubernetes-v1350-rc0.md | 107 + data/readmes/kubescape-v3046.md | 507 + .../readmes/kubeslice-kubeslice-worker-140.md | 43 + data/readmes/kubestellar-v0290.md | 117 + data/readmes/kubevela-v1106.md | 125 + data/readmes/kubevirt-v170.md | 156 + data/readmes/kubewarden-v1310.md | 252 + data/readmes/kudo-v0190.md | 42 + data/readmes/kudu-1171.md | 490 + data/readmes/kuma-v2125.md | 168 + data/readmes/kured-1200.md | 74 + data/readmes/kusionstack-v0150.md | 164 + data/readmes/kustomize-kyamlv0210.md | 242 + data/readmes/kylin-kylin-502.md | 146 + data/readmes/kyuubi-v1102.md | 153 + data/readmes/kyverno-v1161.md | 155 + data/readmes/lazydocker-v0242.md | 333 + data/readmes/lighthouse-v801.md | 88 + data/readmes/lima-v202.md | 105 + data/readmes/linkerd-edge-25121.md | 124 + data/readmes/litmus-3230.md | 181 + .../logging-operator-kube-logging-621.md | 117 + data/readmes/logstash-v922.md | 296 + data/readmes/loki-operatorv090.md | 168 + data/readmes/longhorn-v1101.md | 171 + data/readmes/loxilb-v0984.md | 202 + data/readmes/mariadb-mariadb-1221.md | 76 + data/readmes/maven-maven-400-rc-5.md | 98 + .../memcached-flash-with-wbuf-stack.md | 42 + data/readmes/merbridge-081.md | 99 + data/readmes/meshery-v08178.md | 337 + data/readmes/meshery-wasm-v08178.md | 337 + data/readmes/metallb-v0153.md | 51 + "data/readmes/metal\302\263-v0120-beta0.md" | 101 + data/readmes/microcks-1131.md | 85 + .../minio-release2025-10-15t17-29-55z.md | 181 + data/readmes/modelpack-v007.md | 50 + data/readmes/mongodb-show.md | 52 + data/readmes/mysql-mysql-cluster-950.md | 27 + data/readmes/mythril-v0248.md | 119 + data/readmes/nats-v2123-rc2.md | 83 + data/readmes/near-protocol-2101.md | 99 + data/readmes/nethermind-1353.md | 143 + data/readmes/network-service-mesh-v1160.md | 10 + data/readmes/nginx-release-1293.md | 239 + data/readmes/nifi-supportnifi-1111.md | 195 + data/readmes/nimbus-nightly.md | 174 + data/readmes/nocalhost-v0634.md | 132 + data/readmes/nodejs-v20196.md | 928 ++ data/readmes/notary-project-v132.md | 78 + data/readmes/nuclei-v360.md | 664 + data/readmes/open-cluster-management-v111.md | 141 + data/readmes/open-policy-agent-opa-v1110.md | 111 + data/readmes/open-policy-containers-v032.md | 190 + data/readmes/open-service-mesh-v124.md | 160 + data/readmes/opencost-v11180.md | 276 + data/readmes/openebs-v440.md | 95 + data/readmes/openelb-v060.md | 115 + data/readmes/openfeature-v080.md | 79 + data/readmes/openfga-v1112.md | 240 + data/readmes/openfunction-v120.md | 100 + data/readmes/opengemini-v143.md | 248 + data/readmes/openkruise-v182.md | 123 + data/readmes/openmetrics-v100.md | 100 + data/readmes/opentofu-v1108.md | 60 + data/readmes/opentracing-v120.md | 178 + data/readmes/openyurt-v161.md | 101 + data/readmes/operator-framework-v1420.md | 92 + data/readmes/optimism-op-deployerv051.md | 157 + data/readmes/oras-v130.md | 31 + data/readmes/oscal-compass-v3104.md | 152 + data/readmes/ovn-kubernetes-v110.md | 62 + data/readmes/ozone-ozone-200.md | 136 + data/readmes/packer-nightly.md | 72 + data/readmes/paralus-v029.md | 78 + data/readmes/parsec-140.md | 87 + data/readmes/perses-v0530-beta3.md | 125 + data/readmes/php-php-850.md | 179 + data/readmes/pinot-release-140.md | 198 + data/readmes/pipecd-v0551-rc1.md | 107 + data/readmes/piraeus-datastore-v2102.md | 93 + .../pixie-releasevizierv01416-pre-v00.md | 229 + data/readmes/podman-container-tools-v570.md | 214 + data/readmes/podman-desktop-v1240.md | 156 + .../readmes/polkadot-polkadot-stable2506-6.md | 101 + data/readmes/polygon-v253.md | 282 + data/readmes/porter-v140.md | 107 + data/readmes/postgresql-release-6-3.md | 49 + data/readmes/pravega-v0130.md | 133 + data/readmes/prometheus-v380.md | 212 + data/readmes/promtail-operatorv090.md | 168 + data/readmes/prysm-v701.md | 75 + data/readmes/pulsar-v412.md | 325 + data/readmes/pulumi-v32100.md | 206 + data/readmes/python-v3150a2.md | 243 + data/readmes/rabbitmq-v421.md | 102 + data/readmes/radius-v0540-rc2.md | 82 + data/readmes/ranger-release-ranger-270.md | 136 + data/readmes/ratify-v200-alpha1.md | 97 + data/readmes/rclone-v1720.md | 191 + data/readmes/redis-840.md | 935 ++ data/readmes/remix-ide-v130.md | 287 + data/readmes/restic-v0181.md | 116 + data/readmes/reth-v193.md | 156 + data/readmes/rkt-v1300.md | 111 + ...cketmq-dashboard-rocketmq-dashboard-210.md | 79 + data/readmes/rocketmq-rocketmq-all-534.md | 257 + data/readmes/rook-v1188.md | 86 + data/readmes/ruby-v4_0_0_preview2.md | 103 + data/readmes/runme-notebooks-v3164.md | 138 + data/readmes/rust-1911.md | 84 + data/readmes/schemahero-v0230-beta2.md | 36 + data/readmes/score-030.md | 125 + data/readmes/sealer-v0110.md | 209 + data/readmes/seatunnel-2312.md | 172 + data/readmes/sermant-v230.md | 124 + data/readmes/serverless-devs-v3110.md | 137 + data/readmes/serverless-workflow-v100.md | 198 + .../service-mesh-interface-smi-v060.md | 82 + data/readmes/service-mesh-performance-v061.md | 84 + data/readmes/shardingsphere-552.md | 334 + data/readmes/shenyu-v2703.md | 232 + data/readmes/shipwright-v0181.md | 286 + data/readmes/skooner-alpha001.md | 256 + data/readmes/skopeo-v1210.md | 236 + data/readmes/skywalking-v1030.md | 78 + data/readmes/slimfaas-0540.md | 191 + data/readmes/slither-0113.md | 344 + data/readmes/solana-v11826.md | 167 + data/readmes/solidity-v0831.md | 99 + data/readmes/solr-releasessolr9100.md | 94 + data/readmes/sops-v3110.md | 2279 +++ data/readmes/spark-v410-rc2.md | 173 + data/readmes/spiderpool-v110.md | 191 + data/readmes/spin-canary.md | 143 + data/readmes/spinkube-v061.md | 175 + data/readmes/spire-v1133.md | 79 + data/readmes/stacker-v113.md | 65 + data/readmes/starknet-v2141-dev0.md | 148 + data/readmes/strimzi-0491.md | 135 + data/readmes/subfinder-v2101.md | 161 + data/readmes/submariner-v0220.md | 97 + data/readmes/sui-devnet-v1620.md | 81 + data/readmes/superedge-v080.md | 128 + data/readmes/superset-600rc4.md | 230 + data/readmes/syft-v1380.md | 195 + data/readmes/teku-25111.md | 142 + data/readmes/telepresence-v2251.md | 397 + data/readmes/teller-v207.md | 354 + data/readmes/terraform-docs-v0200.md | 439 + data/readmes/terraform-v1150-alpha20251203.md | 55 + data/readmes/terragrunt-v0940.md | 35 + data/readmes/tetragon-v160.md | 87 + data/readmes/tflint-v0600.md | 201 + data/readmes/tfsec-v12814.md | 265 + data/readmes/thanos-v0401.md | 107 + data/readmes/the-graph-v0411.md | 135 + data/readmes/the-update-framework-tuf-v600.md | 121 + data/readmes/thrift-v0220.md | 217 + data/readmes/tikv-v854.md | 220 + data/readmes/tinkerbell-v0220.md | 64 + data/readmes/tomcat-11015.md | 86 + data/readmes/traefik-mesh-v148.md | 66 + data/readmes/traefik-v364.md | 166 + data/readmes/tremor-v0130-rc33.md | 269 + data/readmes/trickster-v200-beta3.md | 160 + data/readmes/trivy-v0681.md | 154 + data/readmes/urunc-v060.md | 236 + data/readmes/vault-v1211.md | 307 + data/readmes/vineyard-v0244.md | 365 + data/readmes/virtual-kubelet-v1110.md | 330 + ...isual-studio-code-kubernetes-tools-1327.md | 351 + data/readmes/vitess-v2202.md | 64 + data/readmes/volcano-v1130.md | 242 + data/readmes/vyper-v043.md | 91 + data/readmes/wasmcloud-v190.md | 119 + data/readmes/wasmedge-runtime-0150.md | 106 + data/readmes/werf-v2556.md | 62 + data/readmes/wget-v1245.md | 99 + data/readmes/xline-v070.md | 138 + data/readmes/xregistry-dev.md | 33 + data/readmes/youki-v057.md | 307 + data/readmes/yq-v4492.md | 485 + data/readmes/zeppelin-v0120.md | 34 + data/readmes/zksync-core-v2960.md | 54 + data/readmes/zookeeper-zookeeper-.md | 52 + data/readmes/zot-v2111.md | 19 + data/releases/act-v0283.md | 13 + data/releases/aeraki-mesh-141.md | 30 + data/releases/airflow-313.md | 94 + data/releases/akri-v0138.md | 85 + data/releases/ansible-v2201rc1.md | 17 + data/releases/antrea-v250.md | 65 + data/releases/ape-framework-v0842.md | 19 + data/releases/apisix-3141.md | 13 + data/releases/apisix-dashboard-notice.md | 17 + data/releases/aptos-aptos-node-v1384-rc.md | 14 + data/releases/arbitrum-v394-rc2.md | 27 + data/releases/argo-v321.md | 54 + data/releases/armada-v02021.md | 64 + data/releases/artifact-hub-v1220.md | 11 + data/releases/athenz-v11231.md | 18 + data/releases/atlantis-v0371.md | 18 + data/releases/avalanche-v1140.md | 185 + data/releases/aws-cli-200dev0.md | 29 + data/releases/azure-cli-azure-cli-2810.md | 17 + data/releases/backstage-v1453.md | 9 + data/releases/bank-vaults-v1320.md | 39 + data/releases/base-v0143.md | 30 + data/releases/benthos-v4720.md | 23 + data/releases/besu-25110.md | 51 + data/releases/bfe-v180.md | 13 + data/releases/bitcoin-core-v283.md | 17 + data/releases/bookkeeper-release-4172.md | 75 + data/releases/bootc-v1110.md | 125 + data/releases/bpfman-v056.md | 31 + data/releases/brigade-v260.md | 9 + data/releases/buildah-v1422.md | 16 + data/releases/buildpacks-v0390.md | 76 + data/releases/caddy-v2110-beta1.md | 159 + .../cadence-workflow-v137-prerelease23.md | 19 + data/releases/capsule-v0120.md | 55 + data/releases/cardano-1061.md | 89 + data/releases/carina-v0140.md | 30 + data/releases/cartography-01220.md | 34 + data/releases/carvel-v0521.md | 79 + .../cdk-for-kubernetes-cdk8s-redirect.md | 15 + data/releases/cert-manager-v1200-alpha0.md | 27 + data/releases/certbot-v521.md | 33 + data/releases/chainlink-v2301.md | 32 + data/releases/chaos-mesh-v280.md | 62 + data/releases/chaosblade-v180.md | 116 + data/releases/checkov-32495.md | 12 + data/releases/cilium-v1190-pre3.md | 314 + data/releases/cloud-custodian-09480.md | 135 + data/releases/cloudevents-cev102.md | 27 + data/releases/cloudnativepg-v1280-rc2.md | 52 + data/releases/clusternet-v0181.md | 18 + data/releases/clusterpedia-v090.md | 303 + data/releases/cni-genie-v30.md | 18 + data/releases/composefs-v108.md | 26 + .../releases/confidential-containers-v0170.md | 9 + data/releases/connect-rpc-v1191.md | 16 + data/releases/consul-ent-changelog-1220.md | 52 + .../container-network-interface-cni-v130.md | 17 + data/releases/containerd-v220.md | 230 + data/releases/containerssh-v052.md | 19 + data/releases/contour-v1330.md | 61 + data/releases/copa-v0120.md | 19 + data/releases/coredns-v1131.md | 23 + data/releases/cortex-v1201.md | 13 + data/releases/cosign-v302.md | 18 + data/releases/cozystack-v0383.md | 19 + data/releases/crane-v0207.md | 28 + data/releases/cri-o-v1343.md | 119 + data/releases/crossplane-v213.md | 17 + data/releases/cubefs-v352.md | 40 + data/releases/curl-curl-8_17_0.md | 12 + data/releases/dapr-v1164.md | 56 + data/releases/dasel-v281.md | 13 + data/releases/devfile-v230.md | 31 + data/releases/devspace-v6318.md | 13 + data/releases/devstream-v0133.md | 13 + data/releases/dex-v2440.md | 112 + data/releases/digitalocean-cli-v11470.md | 13 + data/releases/distribution-v300.md | 39 + data/releases/dive-v0131.md | 22 + data/releases/dolphinscheduler-332.md | 68 + data/releases/doris-313-rc02.md | 35 + data/releases/dragonfly-v235-beta0.md | 27 + data/releases/drill-drill-1220.md | 15 + data/releases/druid-druid-3500.md | 443 + data/releases/dubbo-admin-060.md | 10 + data/releases/easegress-v2101.md | 14 + data/releases/elasticsearch-v922.md | 10 + data/releases/emissary-ingress-v400-rc1.md | 77 + data/releases/envoy-v1363.md | 26 + data/releases/eraser-v141.md | 19 + data/releases/erigon-v331.md | 28 + data/releases/etcd-v366.md | 99 + data/releases/eventmesh-v1110.md | 98 + data/releases/external-secrets-v111.md | 67 + data/releases/fabedge-v081.md | 13 + data/releases/falco-0421.md | 51 + data/releases/fluentd-v1191.md | 32 + data/releases/fluid-v108.md | 102 + data/releases/flux-v275.md | 32 + data/releases/fonio-v11.md | 9 + ...7fba0a51e335a174442b19d92b64df9d2ab72ab.md | 9 + data/releases/ganache-v790.md | 277 + data/releases/geth-go-ethereum-v1167.md | 59 + data/releases/github-cli-v2831.md | 24 + data/releases/gitlab-cli-v1220.md | 49 + data/releases/gomplate-v433.md | 37 + data/releases/gradle-v930-rc1.md | 53 + data/releases/grafana-v1230.md | 173 + data/releases/grpc-v1760.md | 32 + data/releases/grype-v01041.md | 19 + data/releases/hadolint-v2140.md | 23 + data/releases/hami-v271.md | 45 + data/releases/harbor-v2141.md | 32 + data/releases/hardhat-hardhat3016.md | 23 + data/releases/hbase-rel264.md | 38 + .../releases/headlamp-headlamp-plugin-0130.md | 67 + data/releases/helm-v401.md | 53 + data/releases/hexa-v050.md | 12 + data/releases/hwameistor-v101.md | 13 + data/releases/hyperlight-dev-latest.md | 70 + data/releases/in-toto-v300.md | 9 + data/releases/inclavare-containers-v064.md | 18 + data/releases/infracost-v01043.md | 33 + data/releases/inspektor-gadget-v0470.md | 52 + data/releases/iotdb-v135.md | 25 + data/releases/iotdb-web-workbench-v0133.md | 17 + data/releases/ipfs-v0390.md | 367 + data/releases/istio-1281.md | 10 + data/releases/jaeger-v1760.md | 57 + data/releases/jenkins-jenkins-2540.md | 31 + data/releases/jq-jq-181.md | 38 + data/releases/k0s-v1342k0s0.md | 33 + data/releases/k3s-v1342k3s1.md | 72 + data/releases/k8gb-v0160.md | 146 + data/releases/k8up-v2131.md | 15 + data/releases/k9s-v05016.md | 67 + data/releases/kagent-v075.md | 34 + data/releases/kairos-v3510.md | 19 + data/releases/kaito-v080-rc0.md | 100 + data/releases/kanister-01160.md | 22 + data/releases/karmada-v1160.md | 46 + data/releases/kcl-v0112.md | 35 + data/releases/kcp-v0290.md | 165 + data/releases/keda-v2182.md | 22 + data/releases/keptn-metrics-operator-v210.md | 25 + data/releases/keylime-v7130.md | 63 + data/releases/kgateway-v212.md | 40 + data/releases/kibana-v922.md | 10 + data/releases/kitops-v1100.md | 32 + data/releases/kmesh-v120-rc0.md | 9 + data/releases/knative-knative-v1200.md | 148 + data/releases/ko-v0180.md | 22 + data/releases/konveyor-v081-beta2.md | 12 + data/releases/koordinator-v170.md | 217 + data/releases/kpt-v100-beta59.md | 34 + data/releases/krator-v060.md | 12 + data/releases/krkn-v4015.md | 46 + data/releases/krustlet-v100-alpha1.md | 123 + data/releases/kserve-v0160.md | 175 + data/releases/kuadrant-v131.md | 19 + data/releases/kuasar-v101-alpha1.md | 15 + data/releases/kube-burner-v200.md | 68 + data/releases/kube-ovn-v11418.md | 17 + data/releases/kube-rs-201.md | 20 + data/releases/kube-vip-v102.md | 41 + data/releases/kubean-v0302.md | 20 + data/releases/kubearmor-v165.md | 25 + data/releases/kubeclipper-v141.md | 16 + data/releases/kubectl-v1350-rc0.md | 15 + data/releases/kubedl-v050.md | 15 + data/releases/kubeedge-v1220.md | 9 + data/releases/kubeflow-v1100.md | 41 + data/releases/kuberhealthy-v280-rc2.md | 15 + data/releases/kubernetes-v1350-rc0.md | 15 + data/releases/kubescape-v3046.md | 23 + .../kubeslice-kubeslice-worker-140.md | 9 + data/releases/kubestellar-v0290.md | 186 + data/releases/kubevela-v1106.md | 13 + data/releases/kubevirt-v170.md | 228 + data/releases/kubewarden-v1310.md | 19 + data/releases/kudo-v0190.md | 24 + data/releases/kudu-1171.md | 76 + data/releases/kuma-v2125.md | 13 + data/releases/kured-1200.md | 35 + data/releases/kusionstack-v0150.md | 43 + data/releases/kustomize-kyamlv0210.md | 13 + data/releases/kylin-kylin-502.md | 48 + data/releases/kyuubi-v1102.md | 13 + data/releases/kyverno-v1161.md | 26 + data/releases/lazydocker-v0242.md | 35 + data/releases/lighthouse-v801.md | 58 + data/releases/lima-v202.md | 38 + data/releases/linkerd-edge-25121.md | 39 + data/releases/litmus-3230.md | 58 + .../logging-operator-kube-logging-621.md | 34 + data/releases/logstash-v922.md | 10 + data/releases/loki-operatorv090.md | 36 + data/releases/longhorn-v1101.md | 263 + data/releases/loxilb-v0984.md | 28 + data/releases/mariadb-mariadb-1221.md | 9 + data/releases/maven-maven-400-rc-5.md | 227 + data/releases/merbridge-081.md | 19 + data/releases/meshery-v08178.md | 16 + data/releases/meshery-wasm-v08178.md | 16 + data/releases/metallb-v0153.md | 11 + "data/releases/metal\302\263-v0120-beta0.md" | 96 + data/releases/microcks-1131.md | 84 + .../minio-release2025-10-15t17-29-55z.md | 53 + data/releases/mythril-v0248.md | 22 + data/releases/nats-v2123-rc2.md | 56 + data/releases/near-protocol-2101.md | 21 + data/releases/nethermind-1353.md | 24 + data/releases/network-service-mesh-v1160.md | 16 + data/releases/nginx-release-1293.md | 29 + data/releases/nimbus-nightly.md | 27 + data/releases/nocalhost-v0634.md | 14 + data/releases/nodejs-v20196.md | 78 + data/releases/notary-project-v132.md | 23 + data/releases/nuclei-v360.md | 44 + data/releases/open-cluster-management-v111.md | 23 + data/releases/open-policy-agent-opa-v1110.md | 71 + data/releases/open-policy-containers-v032.md | 11 + data/releases/open-service-mesh-v124.md | 31 + data/releases/opencost-v11180.md | 42 + data/releases/openebs-v440.md | 159 + data/releases/openelb-v060.md | 80 + data/releases/openfeature-v080.md | 46 + data/releases/openfga-v1112.md | 19 + data/releases/openfunction-v120.md | 38 + data/releases/opengemini-v143.md | 9 + data/releases/openkruise-v182.md | 14 + data/releases/openmetrics-v100.md | 11 + data/releases/opentofu-v1108.md | 23 + data/releases/opentracing-v120.md | 19 + data/releases/openyurt-v161.md | 17 + data/releases/operator-framework-v1420.md | 32 + data/releases/optimism-op-deployerv051.md | 10 + data/releases/oras-v130.md | 106 + data/releases/oscal-compass-v3104.md | 19 + data/releases/ovn-kubernetes-v110.md | 64 + data/releases/ozone-ozone-200.md | 57 + data/releases/packer-nightly.md | 13 + data/releases/paralus-v029.md | 27 + data/releases/parsec-140.md | 71 + data/releases/perses-v0530-beta3.md | 122 + data/releases/php-php-850.md | 23 + data/releases/pinot-release-140.md | 459 + data/releases/pipecd-v0551-rc1.md | 15 + data/releases/piraeus-datastore-v2102.md | 31 + .../pixie-releasevizierv01416-pre-v00.md | 15 + data/releases/podman-container-tools-v570.md | 75 + data/releases/podman-desktop-v1240.md | 268 + .../polkadot-polkadot-stable2506-6.md | 41 + data/releases/polygon-v253.md | 31 + data/releases/porter-v140.md | 85 + data/releases/pravega-v0130.md | 110 + data/releases/prometheus-v380.md | 51 + data/releases/promtail-operatorv090.md | 36 + data/releases/prysm-v701.md | 23 + data/releases/pulsar-v412.md | 121 + data/releases/pulumi-v32100.md | 40 + data/releases/rabbitmq-v421.md | 109 + data/releases/radius-v0540-rc2.md | 19 + data/releases/ratify-v200-alpha1.md | 248 + data/releases/rclone-v1720.md | 11 + data/releases/redis-840.md | 61 + data/releases/remix-ide-v130.md | 36 + data/releases/restic-v0181.md | 89 + data/releases/reth-v193.md | 70 + data/releases/rkt-v1300.md | 45 + ...cketmq-dashboard-rocketmq-dashboard-210.md | 55 + data/releases/rocketmq-rocketmq-all-534.md | 175 + data/releases/rook-v1188.md | 19 + data/releases/ruby-v4_0_0_preview2.md | 586 + data/releases/runme-notebooks-v3164.md | 38 + data/releases/rust-1911.md | 12 + data/releases/score-030.md | 26 + data/releases/sealer-v0110.md | 27 + data/releases/seatunnel-2312.md | 191 + data/releases/sermant-v230.md | 47 + data/releases/serverless-devs-v3110.md | 17 + data/releases/serverless-workflow-v100.md | 110 + .../service-mesh-interface-smi-v060.md | 56 + .../releases/service-mesh-performance-v061.md | 15 + data/releases/shardingsphere-552.md | 94 + data/releases/shenyu-v2703.md | 101 + data/releases/shipwright-v0181.md | 23 + data/releases/skooner-alpha001.md | 9 + data/releases/skopeo-v1210.md | 14 + data/releases/skywalking-v1030.md | 186 + data/releases/slimfaas-0540.md | 14 + data/releases/slither-0113.md | 14 + data/releases/solana-v11826.md | 13 + data/releases/solidity-v0831.md | 41 + data/releases/sops-v3110.md | 197 + data/releases/spiderpool-v110.md | 69 + data/releases/spin-canary.md | 10 + data/releases/spinkube-v061.md | 19 + data/releases/spire-v1133.md | 23 + data/releases/stacker-v113.md | 18 + data/releases/starknet-v2141-dev0.md | 9 + data/releases/strimzi-0491.md | 50 + data/releases/subfinder-v2101.md | 15 + data/releases/sui-devnet-v1620.md | 70 + data/releases/superedge-v080.md | 46 + data/releases/superset-600rc4.md | 37 + data/releases/syft-v1380.md | 32 + data/releases/teku-25111.md | 28 + data/releases/telepresence-v2251.md | 23 + data/releases/terraform-docs-v0200.md | 54 + .../releases/terraform-v1150-alpha20251203.md | 72 + data/releases/terragrunt-v0940.md | 20 + data/releases/tetragon-v160.md | 230 + data/releases/tflint-v0600.md | 56 + data/releases/tfsec-v12814.md | 19 + data/releases/thanos-v0401.md | 17 + data/releases/the-graph-v0411.md | 19 + .../releases/the-update-framework-tuf-v600.md | 25 + data/releases/thrift-v0220.md | 12 + data/releases/tikv-v854.md | 39 + data/releases/tinkerbell-v0220.md | 80 + data/releases/traefik-mesh-v148.md | 15 + data/releases/traefik-v364.md | 42 + data/releases/tremor-v0130-rc33.md | 16 + data/releases/trickster-v200-beta3.md | 17 + data/releases/trivy-v0681.md | 27 + data/releases/urunc-v060.md | 46 + data/releases/vault-v1211.md | 68 + data/releases/vineyard-v0244.md | 9 + data/releases/virtual-kubelet-v1110.md | 50 + ...isual-studio-code-kubernetes-tools-1327.md | 22 + data/releases/vitess-v2202.md | 15 + data/releases/volcano-v1130.md | 386 + data/releases/vyper-v043.md | 20 + data/releases/wasmcloud-v190.md | 238 + data/releases/wasmedge-runtime-0150.md | 253 + data/releases/werf-v2556.md | 33 + data/releases/xline-v070.md | 60 + data/releases/xregistry-dev.md | 9 + data/releases/youki-v057.md | 34 + data/releases/yq-v4492.md | 10 + data/releases/zksync-core-v2960.md | 18 + data/releases/zot-v2111.md | 48 + examples/{ => json}/bitcoind.json | 0 examples/{ => json}/ollama.json | 0 728 files changed, 97228 insertions(+), 14061 deletions(-) delete mode 100644 data/configs/apache_cli_tools.json create mode 100644 data/configs/cli_tools.json delete mode 100644 data/configs/cncf_cli_tools.json delete mode 100644 data/configs/dev_tools.json delete mode 100644 data/configs/web3_tools.json create mode 100644 data/readmes/act-v0283.md create mode 100644 data/readmes/activemq-activemq-parent-551.md create mode 100644 data/readmes/aeraki-mesh-141.md create mode 100644 data/readmes/airflow-313.md create mode 100644 data/readmes/akri-v0138.md create mode 100644 data/readmes/ansible-v2201rc1.md create mode 100644 data/readmes/antrea-v250.md create mode 100644 data/readmes/ape-framework-v0842.md create mode 100644 data/readmes/apisix-3141.md create mode 100644 data/readmes/apisix-dashboard-notice.md create mode 100644 data/readmes/aptos-aptos-node-v1384-rc.md create mode 100644 data/readmes/arbitrum-v394-rc2.md create mode 100644 data/readmes/argo-v321.md create mode 100644 data/readmes/armada-v02021.md create mode 100644 data/readmes/artifact-hub-v1220.md create mode 100644 data/readmes/athenz-v11231.md create mode 100644 data/readmes/atlantis-v0371.md create mode 100644 data/readmes/avalanche-v1140.md create mode 100644 data/readmes/aws-cli-200dev0.md create mode 100644 data/readmes/azure-cli-azure-cli-2810.md create mode 100644 data/readmes/backstage-v1453.md create mode 100644 data/readmes/bank-vaults-v1320.md create mode 100644 data/readmes/base-v0143.md create mode 100644 data/readmes/benthos-v4720.md create mode 100644 data/readmes/besu-25110.md create mode 100644 data/readmes/bfe-v180.md create mode 100644 data/readmes/bitcoin-core-v283.md create mode 100644 data/readmes/bookkeeper-release-4172.md create mode 100644 data/readmes/bootc-v1110.md create mode 100644 data/readmes/bpfman-v056.md create mode 100644 data/readmes/brigade-v260.md create mode 100644 data/readmes/buildah-v1422.md create mode 100644 data/readmes/buildpacks-v0390.md create mode 100644 data/readmes/caddy-v2110-beta1.md create mode 100644 data/readmes/cadence-workflow-v137-prerelease23.md create mode 100644 data/readmes/camel-camel-4160.md create mode 100644 data/readmes/capsule-v0120.md create mode 100644 data/readmes/cardano-1061.md create mode 100644 data/readmes/carina-v0140.md create mode 100644 data/readmes/cartography-01220.md create mode 100644 data/readmes/carvel-v0521.md create mode 100644 data/readmes/cassandra-cassandra-506.md create mode 100644 data/readmes/cdk-for-kubernetes-cdk8s-redirect.md create mode 100644 data/readmes/cert-manager-v1200-alpha0.md create mode 100644 data/readmes/certbot-v521.md create mode 100644 data/readmes/chainlink-v2301.md create mode 100644 data/readmes/chaos-mesh-v280.md create mode 100644 data/readmes/chaosblade-v180.md create mode 100644 data/readmes/checkov-32495.md create mode 100644 data/readmes/cilium-v1190-pre3.md create mode 100644 data/readmes/cloud-custodian-09480.md create mode 100644 data/readmes/cloudevents-cev102.md create mode 100644 data/readmes/cloudnativepg-v1280-rc2.md create mode 100644 data/readmes/clusternet-v0181.md create mode 100644 data/readmes/clusterpedia-v090.md create mode 100644 data/readmes/cni-genie-v30.md create mode 100644 data/readmes/composefs-v108.md create mode 100644 data/readmes/confidential-containers-v0170.md create mode 100644 data/readmes/connect-rpc-v1191.md create mode 100644 data/readmes/consul-ent-changelog-1220.md create mode 100644 data/readmes/container-network-interface-cni-v130.md create mode 100644 data/readmes/containerd-v220.md create mode 100644 data/readmes/containerssh-v052.md create mode 100644 data/readmes/contour-v1330.md create mode 100644 data/readmes/copa-v0120.md create mode 100644 data/readmes/coredns-v1131.md create mode 100644 data/readmes/cortex-v1201.md create mode 100644 data/readmes/cosign-v302.md create mode 100644 data/readmes/couchdb-nouveau-01.md create mode 100644 data/readmes/cozystack-v0383.md create mode 100644 data/readmes/crane-v0207.md create mode 100644 data/readmes/cri-o-v1343.md create mode 100644 data/readmes/crossplane-v213.md create mode 100644 data/readmes/cubefs-v352.md create mode 100644 data/readmes/curl-curl-8_17_0.md create mode 100644 data/readmes/curve-v127-rc6.md create mode 100644 data/readmes/dapr-v1164.md create mode 100644 data/readmes/dasel-v281.md create mode 100644 data/readmes/devfile-v230.md create mode 100644 data/readmes/devspace-v6318.md create mode 100644 data/readmes/devstream-v0133.md create mode 100644 data/readmes/dex-v2440.md create mode 100644 data/readmes/digitalocean-cli-v11470.md create mode 100644 data/readmes/distribution-v300.md create mode 100644 data/readmes/dive-v0131.md create mode 100644 data/readmes/dolphinscheduler-332.md create mode 100644 data/readmes/doris-313-rc02.md create mode 100644 data/readmes/dragonfly-v235-beta0.md create mode 100644 data/readmes/drill-drill-1220.md create mode 100644 data/readmes/druid-druid-3500.md create mode 100644 data/readmes/dubbo-admin-060.md create mode 100644 data/readmes/easegress-v2101.md create mode 100644 data/readmes/elasticsearch-v922.md create mode 100644 data/readmes/emissary-ingress-v400-rc1.md create mode 100644 data/readmes/envoy-v1363.md create mode 100644 data/readmes/eraser-v141.md create mode 100644 data/readmes/erigon-v331.md create mode 100644 data/readmes/etcd-v366.md create mode 100644 data/readmes/eventmesh-v1110.md create mode 100644 data/readmes/external-secrets-v111.md create mode 100644 data/readmes/fabedge-v081.md create mode 100644 data/readmes/falco-0421.md create mode 100644 data/readmes/flink-v04-rc1.md create mode 100644 data/readmes/fluentd-v1191.md create mode 100644 data/readmes/fluid-v108.md create mode 100644 data/readmes/flux-v275.md create mode 100644 data/readmes/fonio-v11.md create mode 100644 data/readmes/foundry-nightly-97fba0a51e335a174442b19d92b64df9d2ab72ab.md create mode 100644 data/readmes/ganache-v790.md create mode 100644 data/readmes/geth-go-ethereum-v1167.md create mode 100644 data/readmes/git-v2520.md create mode 100644 data/readmes/github-cli-v2831.md create mode 100644 data/readmes/gitlab-cli-v1220.md create mode 100644 data/readmes/go-weekly2012-03-27.md create mode 100644 data/readmes/gomplate-v433.md create mode 100644 data/readmes/google-cloud-sdk-list.md create mode 100644 data/readmes/gradle-v930-rc1.md create mode 100644 data/readmes/grafana-v1230.md create mode 100644 data/readmes/grpc-v1760.md create mode 100644 data/readmes/grype-v01041.md create mode 100644 data/readmes/hadolint-v2140.md create mode 100644 data/readmes/hadoop-submarine-020-rc0.md create mode 100644 data/readmes/hami-v271.md create mode 100644 data/readmes/haproxy-v34-dev0.md create mode 100644 data/readmes/harbor-v2141.md create mode 100644 data/readmes/hardhat-hardhat3016.md create mode 100644 data/readmes/hbase-rel264.md create mode 100644 data/readmes/headlamp-headlamp-plugin-0130.md create mode 100644 data/readmes/helm-v401.md create mode 100644 data/readmes/hexa-v050.md create mode 100644 data/readmes/hive-storage-release-281-rc2.md create mode 100644 data/readmes/httpd-pre_ajp_proxy.md create mode 100644 data/readmes/hwameistor-v101.md create mode 100644 data/readmes/hyperlight-dev-latest.md create mode 100644 data/readmes/in-toto-v300.md create mode 100644 data/readmes/inclavare-containers-v064.md create mode 100644 data/readmes/infracost-v01043.md create mode 100644 data/readmes/inspektor-gadget-v0470.md create mode 100644 data/readmes/iotdb-v135.md create mode 100644 data/readmes/iotdb-web-workbench-v0133.md create mode 100644 data/readmes/ipfs-v0390.md create mode 100644 data/readmes/istio-1281.md create mode 100644 data/readmes/jaeger-v1760.md create mode 100644 data/readmes/java-openjdk-jdk-271.md create mode 100644 data/readmes/jenkins-jenkins-2540.md create mode 100644 data/readmes/jq-jq-181.md create mode 100644 data/readmes/k0s-v1342k0s0.md create mode 100644 data/readmes/k3s-v1342k3s1.md create mode 100644 data/readmes/k8gb-v0160.md create mode 100644 data/readmes/k8up-v2131.md create mode 100644 data/readmes/k9s-v05016.md create mode 100644 data/readmes/kafka-show.md create mode 100644 data/readmes/kagent-v075.md create mode 100644 data/readmes/kairos-v3510.md create mode 100644 data/readmes/kaito-v080-rc0.md create mode 100644 data/readmes/kanister-01160.md create mode 100644 data/readmes/karmada-v1160.md create mode 100644 data/readmes/kcl-v0112.md create mode 100644 data/readmes/kcp-v0290.md create mode 100644 data/readmes/keda-v2182.md create mode 100644 data/readmes/keptn-metrics-operator-v210.md create mode 100644 data/readmes/keycloak-nightly.md create mode 100644 data/readmes/keylime-v7130.md create mode 100644 data/readmes/kgateway-v212.md create mode 100644 data/readmes/kibana-v922.md create mode 100644 data/readmes/kitops-v1100.md create mode 100644 data/readmes/kmesh-v120-rc0.md create mode 100644 data/readmes/knative-knative-v1200.md create mode 100644 data/readmes/ko-v0180.md create mode 100644 data/readmes/konveyor-v081-beta2.md create mode 100644 data/readmes/koordinator-v170.md create mode 100644 data/readmes/kpt-v100-beta59.md create mode 100644 data/readmes/krator-v060.md create mode 100644 data/readmes/krkn-v4015.md create mode 100644 data/readmes/krustlet-v100-alpha1.md create mode 100644 data/readmes/kserve-v0160.md create mode 100644 data/readmes/kuadrant-v131.md create mode 100644 data/readmes/kuasar-v101-alpha1.md create mode 100644 data/readmes/kube-burner-v200.md create mode 100644 data/readmes/kube-ovn-v11418.md create mode 100644 data/readmes/kube-rs-201.md create mode 100644 data/readmes/kube-vip-v102.md create mode 100644 data/readmes/kubean-v0302.md create mode 100644 data/readmes/kubearmor-v165.md create mode 100644 data/readmes/kubeclipper-v141.md create mode 100644 data/readmes/kubectl-v1350-rc0.md create mode 100644 data/readmes/kubedl-v050.md create mode 100644 data/readmes/kubeedge-v1220.md create mode 100644 data/readmes/kubeflow-v1100.md create mode 100644 data/readmes/kuberhealthy-v280-rc2.md create mode 100644 data/readmes/kubernetes-v1350-rc0.md create mode 100644 data/readmes/kubescape-v3046.md create mode 100644 data/readmes/kubeslice-kubeslice-worker-140.md create mode 100644 data/readmes/kubestellar-v0290.md create mode 100644 data/readmes/kubevela-v1106.md create mode 100644 data/readmes/kubevirt-v170.md create mode 100644 data/readmes/kubewarden-v1310.md create mode 100644 data/readmes/kudo-v0190.md create mode 100644 data/readmes/kudu-1171.md create mode 100644 data/readmes/kuma-v2125.md create mode 100644 data/readmes/kured-1200.md create mode 100644 data/readmes/kusionstack-v0150.md create mode 100644 data/readmes/kustomize-kyamlv0210.md create mode 100644 data/readmes/kylin-kylin-502.md create mode 100644 data/readmes/kyuubi-v1102.md create mode 100644 data/readmes/kyverno-v1161.md create mode 100644 data/readmes/lazydocker-v0242.md create mode 100644 data/readmes/lighthouse-v801.md create mode 100644 data/readmes/lima-v202.md create mode 100644 data/readmes/linkerd-edge-25121.md create mode 100644 data/readmes/litmus-3230.md create mode 100644 data/readmes/logging-operator-kube-logging-621.md create mode 100644 data/readmes/logstash-v922.md create mode 100644 data/readmes/loki-operatorv090.md create mode 100644 data/readmes/longhorn-v1101.md create mode 100644 data/readmes/loxilb-v0984.md create mode 100644 data/readmes/mariadb-mariadb-1221.md create mode 100644 data/readmes/maven-maven-400-rc-5.md create mode 100644 data/readmes/memcached-flash-with-wbuf-stack.md create mode 100644 data/readmes/merbridge-081.md create mode 100644 data/readmes/meshery-v08178.md create mode 100644 data/readmes/meshery-wasm-v08178.md create mode 100644 data/readmes/metallb-v0153.md create mode 100644 "data/readmes/metal\302\263-v0120-beta0.md" create mode 100644 data/readmes/microcks-1131.md create mode 100644 data/readmes/minio-release2025-10-15t17-29-55z.md create mode 100644 data/readmes/modelpack-v007.md create mode 100644 data/readmes/mongodb-show.md create mode 100644 data/readmes/mysql-mysql-cluster-950.md create mode 100644 data/readmes/mythril-v0248.md create mode 100644 data/readmes/nats-v2123-rc2.md create mode 100644 data/readmes/near-protocol-2101.md create mode 100644 data/readmes/nethermind-1353.md create mode 100644 data/readmes/network-service-mesh-v1160.md create mode 100644 data/readmes/nginx-release-1293.md create mode 100644 data/readmes/nifi-supportnifi-1111.md create mode 100644 data/readmes/nimbus-nightly.md create mode 100644 data/readmes/nocalhost-v0634.md create mode 100644 data/readmes/nodejs-v20196.md create mode 100644 data/readmes/notary-project-v132.md create mode 100644 data/readmes/nuclei-v360.md create mode 100644 data/readmes/open-cluster-management-v111.md create mode 100644 data/readmes/open-policy-agent-opa-v1110.md create mode 100644 data/readmes/open-policy-containers-v032.md create mode 100644 data/readmes/open-service-mesh-v124.md create mode 100644 data/readmes/opencost-v11180.md create mode 100644 data/readmes/openebs-v440.md create mode 100644 data/readmes/openelb-v060.md create mode 100644 data/readmes/openfeature-v080.md create mode 100644 data/readmes/openfga-v1112.md create mode 100644 data/readmes/openfunction-v120.md create mode 100644 data/readmes/opengemini-v143.md create mode 100644 data/readmes/openkruise-v182.md create mode 100644 data/readmes/openmetrics-v100.md create mode 100644 data/readmes/opentofu-v1108.md create mode 100644 data/readmes/opentracing-v120.md create mode 100644 data/readmes/openyurt-v161.md create mode 100644 data/readmes/operator-framework-v1420.md create mode 100644 data/readmes/optimism-op-deployerv051.md create mode 100644 data/readmes/oras-v130.md create mode 100644 data/readmes/oscal-compass-v3104.md create mode 100644 data/readmes/ovn-kubernetes-v110.md create mode 100644 data/readmes/ozone-ozone-200.md create mode 100644 data/readmes/packer-nightly.md create mode 100644 data/readmes/paralus-v029.md create mode 100644 data/readmes/parsec-140.md create mode 100644 data/readmes/perses-v0530-beta3.md create mode 100644 data/readmes/php-php-850.md create mode 100644 data/readmes/pinot-release-140.md create mode 100644 data/readmes/pipecd-v0551-rc1.md create mode 100644 data/readmes/piraeus-datastore-v2102.md create mode 100644 data/readmes/pixie-releasevizierv01416-pre-v00.md create mode 100644 data/readmes/podman-container-tools-v570.md create mode 100644 data/readmes/podman-desktop-v1240.md create mode 100644 data/readmes/polkadot-polkadot-stable2506-6.md create mode 100644 data/readmes/polygon-v253.md create mode 100644 data/readmes/porter-v140.md create mode 100644 data/readmes/postgresql-release-6-3.md create mode 100644 data/readmes/pravega-v0130.md create mode 100644 data/readmes/prometheus-v380.md create mode 100644 data/readmes/promtail-operatorv090.md create mode 100644 data/readmes/prysm-v701.md create mode 100644 data/readmes/pulsar-v412.md create mode 100644 data/readmes/pulumi-v32100.md create mode 100644 data/readmes/python-v3150a2.md create mode 100644 data/readmes/rabbitmq-v421.md create mode 100644 data/readmes/radius-v0540-rc2.md create mode 100644 data/readmes/ranger-release-ranger-270.md create mode 100644 data/readmes/ratify-v200-alpha1.md create mode 100644 data/readmes/rclone-v1720.md create mode 100644 data/readmes/redis-840.md create mode 100644 data/readmes/remix-ide-v130.md create mode 100644 data/readmes/restic-v0181.md create mode 100644 data/readmes/reth-v193.md create mode 100644 data/readmes/rkt-v1300.md create mode 100644 data/readmes/rocketmq-dashboard-rocketmq-dashboard-210.md create mode 100644 data/readmes/rocketmq-rocketmq-all-534.md create mode 100644 data/readmes/rook-v1188.md create mode 100644 data/readmes/ruby-v4_0_0_preview2.md create mode 100644 data/readmes/runme-notebooks-v3164.md create mode 100644 data/readmes/rust-1911.md create mode 100644 data/readmes/schemahero-v0230-beta2.md create mode 100644 data/readmes/score-030.md create mode 100644 data/readmes/sealer-v0110.md create mode 100644 data/readmes/seatunnel-2312.md create mode 100644 data/readmes/sermant-v230.md create mode 100644 data/readmes/serverless-devs-v3110.md create mode 100644 data/readmes/serverless-workflow-v100.md create mode 100644 data/readmes/service-mesh-interface-smi-v060.md create mode 100644 data/readmes/service-mesh-performance-v061.md create mode 100644 data/readmes/shardingsphere-552.md create mode 100644 data/readmes/shenyu-v2703.md create mode 100644 data/readmes/shipwright-v0181.md create mode 100644 data/readmes/skooner-alpha001.md create mode 100644 data/readmes/skopeo-v1210.md create mode 100644 data/readmes/skywalking-v1030.md create mode 100644 data/readmes/slimfaas-0540.md create mode 100644 data/readmes/slither-0113.md create mode 100644 data/readmes/solana-v11826.md create mode 100644 data/readmes/solidity-v0831.md create mode 100644 data/readmes/solr-releasessolr9100.md create mode 100644 data/readmes/sops-v3110.md create mode 100644 data/readmes/spark-v410-rc2.md create mode 100644 data/readmes/spiderpool-v110.md create mode 100644 data/readmes/spin-canary.md create mode 100644 data/readmes/spinkube-v061.md create mode 100644 data/readmes/spire-v1133.md create mode 100644 data/readmes/stacker-v113.md create mode 100644 data/readmes/starknet-v2141-dev0.md create mode 100644 data/readmes/strimzi-0491.md create mode 100644 data/readmes/subfinder-v2101.md create mode 100644 data/readmes/submariner-v0220.md create mode 100644 data/readmes/sui-devnet-v1620.md create mode 100644 data/readmes/superedge-v080.md create mode 100644 data/readmes/superset-600rc4.md create mode 100644 data/readmes/syft-v1380.md create mode 100644 data/readmes/teku-25111.md create mode 100644 data/readmes/telepresence-v2251.md create mode 100644 data/readmes/teller-v207.md create mode 100644 data/readmes/terraform-docs-v0200.md create mode 100644 data/readmes/terraform-v1150-alpha20251203.md create mode 100644 data/readmes/terragrunt-v0940.md create mode 100644 data/readmes/tetragon-v160.md create mode 100644 data/readmes/tflint-v0600.md create mode 100644 data/readmes/tfsec-v12814.md create mode 100644 data/readmes/thanos-v0401.md create mode 100644 data/readmes/the-graph-v0411.md create mode 100644 data/readmes/the-update-framework-tuf-v600.md create mode 100644 data/readmes/thrift-v0220.md create mode 100644 data/readmes/tikv-v854.md create mode 100644 data/readmes/tinkerbell-v0220.md create mode 100644 data/readmes/tomcat-11015.md create mode 100644 data/readmes/traefik-mesh-v148.md create mode 100644 data/readmes/traefik-v364.md create mode 100644 data/readmes/tremor-v0130-rc33.md create mode 100644 data/readmes/trickster-v200-beta3.md create mode 100644 data/readmes/trivy-v0681.md create mode 100644 data/readmes/urunc-v060.md create mode 100644 data/readmes/vault-v1211.md create mode 100644 data/readmes/vineyard-v0244.md create mode 100644 data/readmes/virtual-kubelet-v1110.md create mode 100644 data/readmes/visual-studio-code-kubernetes-tools-1327.md create mode 100644 data/readmes/vitess-v2202.md create mode 100644 data/readmes/volcano-v1130.md create mode 100644 data/readmes/vyper-v043.md create mode 100644 data/readmes/wasmcloud-v190.md create mode 100644 data/readmes/wasmedge-runtime-0150.md create mode 100644 data/readmes/werf-v2556.md create mode 100644 data/readmes/wget-v1245.md create mode 100644 data/readmes/xline-v070.md create mode 100644 data/readmes/xregistry-dev.md create mode 100644 data/readmes/youki-v057.md create mode 100644 data/readmes/yq-v4492.md create mode 100644 data/readmes/zeppelin-v0120.md create mode 100644 data/readmes/zksync-core-v2960.md create mode 100644 data/readmes/zookeeper-zookeeper-.md create mode 100644 data/readmes/zot-v2111.md create mode 100644 data/releases/act-v0283.md create mode 100644 data/releases/aeraki-mesh-141.md create mode 100644 data/releases/airflow-313.md create mode 100644 data/releases/akri-v0138.md create mode 100644 data/releases/ansible-v2201rc1.md create mode 100644 data/releases/antrea-v250.md create mode 100644 data/releases/ape-framework-v0842.md create mode 100644 data/releases/apisix-3141.md create mode 100644 data/releases/apisix-dashboard-notice.md create mode 100644 data/releases/aptos-aptos-node-v1384-rc.md create mode 100644 data/releases/arbitrum-v394-rc2.md create mode 100644 data/releases/argo-v321.md create mode 100644 data/releases/armada-v02021.md create mode 100644 data/releases/artifact-hub-v1220.md create mode 100644 data/releases/athenz-v11231.md create mode 100644 data/releases/atlantis-v0371.md create mode 100644 data/releases/avalanche-v1140.md create mode 100644 data/releases/aws-cli-200dev0.md create mode 100644 data/releases/azure-cli-azure-cli-2810.md create mode 100644 data/releases/backstage-v1453.md create mode 100644 data/releases/bank-vaults-v1320.md create mode 100644 data/releases/base-v0143.md create mode 100644 data/releases/benthos-v4720.md create mode 100644 data/releases/besu-25110.md create mode 100644 data/releases/bfe-v180.md create mode 100644 data/releases/bitcoin-core-v283.md create mode 100644 data/releases/bookkeeper-release-4172.md create mode 100644 data/releases/bootc-v1110.md create mode 100644 data/releases/bpfman-v056.md create mode 100644 data/releases/brigade-v260.md create mode 100644 data/releases/buildah-v1422.md create mode 100644 data/releases/buildpacks-v0390.md create mode 100644 data/releases/caddy-v2110-beta1.md create mode 100644 data/releases/cadence-workflow-v137-prerelease23.md create mode 100644 data/releases/capsule-v0120.md create mode 100644 data/releases/cardano-1061.md create mode 100644 data/releases/carina-v0140.md create mode 100644 data/releases/cartography-01220.md create mode 100644 data/releases/carvel-v0521.md create mode 100644 data/releases/cdk-for-kubernetes-cdk8s-redirect.md create mode 100644 data/releases/cert-manager-v1200-alpha0.md create mode 100644 data/releases/certbot-v521.md create mode 100644 data/releases/chainlink-v2301.md create mode 100644 data/releases/chaos-mesh-v280.md create mode 100644 data/releases/chaosblade-v180.md create mode 100644 data/releases/checkov-32495.md create mode 100644 data/releases/cilium-v1190-pre3.md create mode 100644 data/releases/cloud-custodian-09480.md create mode 100644 data/releases/cloudevents-cev102.md create mode 100644 data/releases/cloudnativepg-v1280-rc2.md create mode 100644 data/releases/clusternet-v0181.md create mode 100644 data/releases/clusterpedia-v090.md create mode 100644 data/releases/cni-genie-v30.md create mode 100644 data/releases/composefs-v108.md create mode 100644 data/releases/confidential-containers-v0170.md create mode 100644 data/releases/connect-rpc-v1191.md create mode 100644 data/releases/consul-ent-changelog-1220.md create mode 100644 data/releases/container-network-interface-cni-v130.md create mode 100644 data/releases/containerd-v220.md create mode 100644 data/releases/containerssh-v052.md create mode 100644 data/releases/contour-v1330.md create mode 100644 data/releases/copa-v0120.md create mode 100644 data/releases/coredns-v1131.md create mode 100644 data/releases/cortex-v1201.md create mode 100644 data/releases/cosign-v302.md create mode 100644 data/releases/cozystack-v0383.md create mode 100644 data/releases/crane-v0207.md create mode 100644 data/releases/cri-o-v1343.md create mode 100644 data/releases/crossplane-v213.md create mode 100644 data/releases/cubefs-v352.md create mode 100644 data/releases/curl-curl-8_17_0.md create mode 100644 data/releases/dapr-v1164.md create mode 100644 data/releases/dasel-v281.md create mode 100644 data/releases/devfile-v230.md create mode 100644 data/releases/devspace-v6318.md create mode 100644 data/releases/devstream-v0133.md create mode 100644 data/releases/dex-v2440.md create mode 100644 data/releases/digitalocean-cli-v11470.md create mode 100644 data/releases/distribution-v300.md create mode 100644 data/releases/dive-v0131.md create mode 100644 data/releases/dolphinscheduler-332.md create mode 100644 data/releases/doris-313-rc02.md create mode 100644 data/releases/dragonfly-v235-beta0.md create mode 100644 data/releases/drill-drill-1220.md create mode 100644 data/releases/druid-druid-3500.md create mode 100644 data/releases/dubbo-admin-060.md create mode 100644 data/releases/easegress-v2101.md create mode 100644 data/releases/elasticsearch-v922.md create mode 100644 data/releases/emissary-ingress-v400-rc1.md create mode 100644 data/releases/envoy-v1363.md create mode 100644 data/releases/eraser-v141.md create mode 100644 data/releases/erigon-v331.md create mode 100644 data/releases/etcd-v366.md create mode 100644 data/releases/eventmesh-v1110.md create mode 100644 data/releases/external-secrets-v111.md create mode 100644 data/releases/fabedge-v081.md create mode 100644 data/releases/falco-0421.md create mode 100644 data/releases/fluentd-v1191.md create mode 100644 data/releases/fluid-v108.md create mode 100644 data/releases/flux-v275.md create mode 100644 data/releases/fonio-v11.md create mode 100644 data/releases/foundry-nightly-97fba0a51e335a174442b19d92b64df9d2ab72ab.md create mode 100644 data/releases/ganache-v790.md create mode 100644 data/releases/geth-go-ethereum-v1167.md create mode 100644 data/releases/github-cli-v2831.md create mode 100644 data/releases/gitlab-cli-v1220.md create mode 100644 data/releases/gomplate-v433.md create mode 100644 data/releases/gradle-v930-rc1.md create mode 100644 data/releases/grafana-v1230.md create mode 100644 data/releases/grpc-v1760.md create mode 100644 data/releases/grype-v01041.md create mode 100644 data/releases/hadolint-v2140.md create mode 100644 data/releases/hami-v271.md create mode 100644 data/releases/harbor-v2141.md create mode 100644 data/releases/hardhat-hardhat3016.md create mode 100644 data/releases/hbase-rel264.md create mode 100644 data/releases/headlamp-headlamp-plugin-0130.md create mode 100644 data/releases/helm-v401.md create mode 100644 data/releases/hexa-v050.md create mode 100644 data/releases/hwameistor-v101.md create mode 100644 data/releases/hyperlight-dev-latest.md create mode 100644 data/releases/in-toto-v300.md create mode 100644 data/releases/inclavare-containers-v064.md create mode 100644 data/releases/infracost-v01043.md create mode 100644 data/releases/inspektor-gadget-v0470.md create mode 100644 data/releases/iotdb-v135.md create mode 100644 data/releases/iotdb-web-workbench-v0133.md create mode 100644 data/releases/ipfs-v0390.md create mode 100644 data/releases/istio-1281.md create mode 100644 data/releases/jaeger-v1760.md create mode 100644 data/releases/jenkins-jenkins-2540.md create mode 100644 data/releases/jq-jq-181.md create mode 100644 data/releases/k0s-v1342k0s0.md create mode 100644 data/releases/k3s-v1342k3s1.md create mode 100644 data/releases/k8gb-v0160.md create mode 100644 data/releases/k8up-v2131.md create mode 100644 data/releases/k9s-v05016.md create mode 100644 data/releases/kagent-v075.md create mode 100644 data/releases/kairos-v3510.md create mode 100644 data/releases/kaito-v080-rc0.md create mode 100644 data/releases/kanister-01160.md create mode 100644 data/releases/karmada-v1160.md create mode 100644 data/releases/kcl-v0112.md create mode 100644 data/releases/kcp-v0290.md create mode 100644 data/releases/keda-v2182.md create mode 100644 data/releases/keptn-metrics-operator-v210.md create mode 100644 data/releases/keylime-v7130.md create mode 100644 data/releases/kgateway-v212.md create mode 100644 data/releases/kibana-v922.md create mode 100644 data/releases/kitops-v1100.md create mode 100644 data/releases/kmesh-v120-rc0.md create mode 100644 data/releases/knative-knative-v1200.md create mode 100644 data/releases/ko-v0180.md create mode 100644 data/releases/konveyor-v081-beta2.md create mode 100644 data/releases/koordinator-v170.md create mode 100644 data/releases/kpt-v100-beta59.md create mode 100644 data/releases/krator-v060.md create mode 100644 data/releases/krkn-v4015.md create mode 100644 data/releases/krustlet-v100-alpha1.md create mode 100644 data/releases/kserve-v0160.md create mode 100644 data/releases/kuadrant-v131.md create mode 100644 data/releases/kuasar-v101-alpha1.md create mode 100644 data/releases/kube-burner-v200.md create mode 100644 data/releases/kube-ovn-v11418.md create mode 100644 data/releases/kube-rs-201.md create mode 100644 data/releases/kube-vip-v102.md create mode 100644 data/releases/kubean-v0302.md create mode 100644 data/releases/kubearmor-v165.md create mode 100644 data/releases/kubeclipper-v141.md create mode 100644 data/releases/kubectl-v1350-rc0.md create mode 100644 data/releases/kubedl-v050.md create mode 100644 data/releases/kubeedge-v1220.md create mode 100644 data/releases/kubeflow-v1100.md create mode 100644 data/releases/kuberhealthy-v280-rc2.md create mode 100644 data/releases/kubernetes-v1350-rc0.md create mode 100644 data/releases/kubescape-v3046.md create mode 100644 data/releases/kubeslice-kubeslice-worker-140.md create mode 100644 data/releases/kubestellar-v0290.md create mode 100644 data/releases/kubevela-v1106.md create mode 100644 data/releases/kubevirt-v170.md create mode 100644 data/releases/kubewarden-v1310.md create mode 100644 data/releases/kudo-v0190.md create mode 100644 data/releases/kudu-1171.md create mode 100644 data/releases/kuma-v2125.md create mode 100644 data/releases/kured-1200.md create mode 100644 data/releases/kusionstack-v0150.md create mode 100644 data/releases/kustomize-kyamlv0210.md create mode 100644 data/releases/kylin-kylin-502.md create mode 100644 data/releases/kyuubi-v1102.md create mode 100644 data/releases/kyverno-v1161.md create mode 100644 data/releases/lazydocker-v0242.md create mode 100644 data/releases/lighthouse-v801.md create mode 100644 data/releases/lima-v202.md create mode 100644 data/releases/linkerd-edge-25121.md create mode 100644 data/releases/litmus-3230.md create mode 100644 data/releases/logging-operator-kube-logging-621.md create mode 100644 data/releases/logstash-v922.md create mode 100644 data/releases/loki-operatorv090.md create mode 100644 data/releases/longhorn-v1101.md create mode 100644 data/releases/loxilb-v0984.md create mode 100644 data/releases/mariadb-mariadb-1221.md create mode 100644 data/releases/maven-maven-400-rc-5.md create mode 100644 data/releases/merbridge-081.md create mode 100644 data/releases/meshery-v08178.md create mode 100644 data/releases/meshery-wasm-v08178.md create mode 100644 data/releases/metallb-v0153.md create mode 100644 "data/releases/metal\302\263-v0120-beta0.md" create mode 100644 data/releases/microcks-1131.md create mode 100644 data/releases/minio-release2025-10-15t17-29-55z.md create mode 100644 data/releases/mythril-v0248.md create mode 100644 data/releases/nats-v2123-rc2.md create mode 100644 data/releases/near-protocol-2101.md create mode 100644 data/releases/nethermind-1353.md create mode 100644 data/releases/network-service-mesh-v1160.md create mode 100644 data/releases/nginx-release-1293.md create mode 100644 data/releases/nimbus-nightly.md create mode 100644 data/releases/nocalhost-v0634.md create mode 100644 data/releases/nodejs-v20196.md create mode 100644 data/releases/notary-project-v132.md create mode 100644 data/releases/nuclei-v360.md create mode 100644 data/releases/open-cluster-management-v111.md create mode 100644 data/releases/open-policy-agent-opa-v1110.md create mode 100644 data/releases/open-policy-containers-v032.md create mode 100644 data/releases/open-service-mesh-v124.md create mode 100644 data/releases/opencost-v11180.md create mode 100644 data/releases/openebs-v440.md create mode 100644 data/releases/openelb-v060.md create mode 100644 data/releases/openfeature-v080.md create mode 100644 data/releases/openfga-v1112.md create mode 100644 data/releases/openfunction-v120.md create mode 100644 data/releases/opengemini-v143.md create mode 100644 data/releases/openkruise-v182.md create mode 100644 data/releases/openmetrics-v100.md create mode 100644 data/releases/opentofu-v1108.md create mode 100644 data/releases/opentracing-v120.md create mode 100644 data/releases/openyurt-v161.md create mode 100644 data/releases/operator-framework-v1420.md create mode 100644 data/releases/optimism-op-deployerv051.md create mode 100644 data/releases/oras-v130.md create mode 100644 data/releases/oscal-compass-v3104.md create mode 100644 data/releases/ovn-kubernetes-v110.md create mode 100644 data/releases/ozone-ozone-200.md create mode 100644 data/releases/packer-nightly.md create mode 100644 data/releases/paralus-v029.md create mode 100644 data/releases/parsec-140.md create mode 100644 data/releases/perses-v0530-beta3.md create mode 100644 data/releases/php-php-850.md create mode 100644 data/releases/pinot-release-140.md create mode 100644 data/releases/pipecd-v0551-rc1.md create mode 100644 data/releases/piraeus-datastore-v2102.md create mode 100644 data/releases/pixie-releasevizierv01416-pre-v00.md create mode 100644 data/releases/podman-container-tools-v570.md create mode 100644 data/releases/podman-desktop-v1240.md create mode 100644 data/releases/polkadot-polkadot-stable2506-6.md create mode 100644 data/releases/polygon-v253.md create mode 100644 data/releases/porter-v140.md create mode 100644 data/releases/pravega-v0130.md create mode 100644 data/releases/prometheus-v380.md create mode 100644 data/releases/promtail-operatorv090.md create mode 100644 data/releases/prysm-v701.md create mode 100644 data/releases/pulsar-v412.md create mode 100644 data/releases/pulumi-v32100.md create mode 100644 data/releases/rabbitmq-v421.md create mode 100644 data/releases/radius-v0540-rc2.md create mode 100644 data/releases/ratify-v200-alpha1.md create mode 100644 data/releases/rclone-v1720.md create mode 100644 data/releases/redis-840.md create mode 100644 data/releases/remix-ide-v130.md create mode 100644 data/releases/restic-v0181.md create mode 100644 data/releases/reth-v193.md create mode 100644 data/releases/rkt-v1300.md create mode 100644 data/releases/rocketmq-dashboard-rocketmq-dashboard-210.md create mode 100644 data/releases/rocketmq-rocketmq-all-534.md create mode 100644 data/releases/rook-v1188.md create mode 100644 data/releases/ruby-v4_0_0_preview2.md create mode 100644 data/releases/runme-notebooks-v3164.md create mode 100644 data/releases/rust-1911.md create mode 100644 data/releases/score-030.md create mode 100644 data/releases/sealer-v0110.md create mode 100644 data/releases/seatunnel-2312.md create mode 100644 data/releases/sermant-v230.md create mode 100644 data/releases/serverless-devs-v3110.md create mode 100644 data/releases/serverless-workflow-v100.md create mode 100644 data/releases/service-mesh-interface-smi-v060.md create mode 100644 data/releases/service-mesh-performance-v061.md create mode 100644 data/releases/shardingsphere-552.md create mode 100644 data/releases/shenyu-v2703.md create mode 100644 data/releases/shipwright-v0181.md create mode 100644 data/releases/skooner-alpha001.md create mode 100644 data/releases/skopeo-v1210.md create mode 100644 data/releases/skywalking-v1030.md create mode 100644 data/releases/slimfaas-0540.md create mode 100644 data/releases/slither-0113.md create mode 100644 data/releases/solana-v11826.md create mode 100644 data/releases/solidity-v0831.md create mode 100644 data/releases/sops-v3110.md create mode 100644 data/releases/spiderpool-v110.md create mode 100644 data/releases/spin-canary.md create mode 100644 data/releases/spinkube-v061.md create mode 100644 data/releases/spire-v1133.md create mode 100644 data/releases/stacker-v113.md create mode 100644 data/releases/starknet-v2141-dev0.md create mode 100644 data/releases/strimzi-0491.md create mode 100644 data/releases/subfinder-v2101.md create mode 100644 data/releases/sui-devnet-v1620.md create mode 100644 data/releases/superedge-v080.md create mode 100644 data/releases/superset-600rc4.md create mode 100644 data/releases/syft-v1380.md create mode 100644 data/releases/teku-25111.md create mode 100644 data/releases/telepresence-v2251.md create mode 100644 data/releases/terraform-docs-v0200.md create mode 100644 data/releases/terraform-v1150-alpha20251203.md create mode 100644 data/releases/terragrunt-v0940.md create mode 100644 data/releases/tetragon-v160.md create mode 100644 data/releases/tflint-v0600.md create mode 100644 data/releases/tfsec-v12814.md create mode 100644 data/releases/thanos-v0401.md create mode 100644 data/releases/the-graph-v0411.md create mode 100644 data/releases/the-update-framework-tuf-v600.md create mode 100644 data/releases/thrift-v0220.md create mode 100644 data/releases/tikv-v854.md create mode 100644 data/releases/tinkerbell-v0220.md create mode 100644 data/releases/traefik-mesh-v148.md create mode 100644 data/releases/traefik-v364.md create mode 100644 data/releases/tremor-v0130-rc33.md create mode 100644 data/releases/trickster-v200-beta3.md create mode 100644 data/releases/trivy-v0681.md create mode 100644 data/releases/urunc-v060.md create mode 100644 data/releases/vault-v1211.md create mode 100644 data/releases/vineyard-v0244.md create mode 100644 data/releases/virtual-kubelet-v1110.md create mode 100644 data/releases/visual-studio-code-kubernetes-tools-1327.md create mode 100644 data/releases/vitess-v2202.md create mode 100644 data/releases/volcano-v1130.md create mode 100644 data/releases/vyper-v043.md create mode 100644 data/releases/wasmcloud-v190.md create mode 100644 data/releases/wasmedge-runtime-0150.md create mode 100644 data/releases/werf-v2556.md create mode 100644 data/releases/xline-v070.md create mode 100644 data/releases/xregistry-dev.md create mode 100644 data/releases/youki-v057.md create mode 100644 data/releases/yq-v4492.md create mode 100644 data/releases/zksync-core-v2960.md create mode 100644 data/releases/zot-v2111.md rename examples/{ => json}/bitcoind.json (100%) rename examples/{ => json}/ollama.json (100%) diff --git a/data/configs/apache_cli_tools.json b/data/configs/apache_cli_tools.json deleted file mode 100644 index 9356903..0000000 --- a/data/configs/apache_cli_tools.json +++ /dev/null @@ -1,1575 +0,0 @@ -{ - "metadata": { - "schema_version": "2.0", - "generated_at": "2025-10-15", - "description": "Apache Software Foundation projects with CLI tools", - "source": "Apache Foundation + Docker registries", - "total_projects": 56, - "properties": { - "github_release_url": "GitHub releases API endpoint", - "docker_tags_url": "Docker registry tags URL", - "readme": "Main README documentation URL", - "homepage": "Project homepage URL", - "category": "Project category", - "subcategory": "Project subcategory" - }, - "last_description_update": "2025-10-16" - }, - "apache_cli_tools": [ - { - "name": "Kafka", - "description": "Distributed event streaming platform for high-performance data pipelines and real-time applications.", - "github_release_url": "https://api.github.com/repos/apache/kafka/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/apache/kafka/tags/?page=1&page_size=100", - "readme": "https://github.com/apache/kafka/blob/master/README.md", - "category": "Apache", - "homepage": "https://kafka.apache.org/", - "github_releases": [], - "image_tags": [ - "4.1.1-rc1", - "4.1.1-rc0", - "4.0.1", - "4.0.1-rc2", - "4.1.0", - "4.0.1-rc1", - "4.1.0-rc3", - "4.0.1-rc0", - "4.1.0-rc2", - "4.1.0-rc1" - ], - "image_name": "docker.io/apache/kafka", - "docker_help_command": "/opt/kafka/bin/kafka-broker-api-versions.sh --help", - "subcategory": "Streaming & Messaging" - }, - { - "name": "Spark", - "description": "Spark is a unified analytics engine for large-scale data processing.", - "github_release_url": "https://api.github.com/repos/apache/spark/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/apache/spark/tags/?page=1&page_size=100", - "readme": "https://github.com/apache/spark/blob/master/README.md", - "category": "Apache", - "homepage": "https://spark.apache.org/", - "github_releases": [], - "image_tags": [ - "4.1.0-preview2-scala2.13-java21-python3-r-ubuntu", - "4.1.0-preview2-java21-r", - "4.1.0-preview2-scala2.13-java21-r-ubuntu", - "4.1.0-preview2-java21", - "4.1.0-preview2-java21-python3", - "4.1.0-preview2-scala2.13-java21-python3-ubuntu", - "4.1.0-preview2", - "4.1.0-preview2-python3", - "4.1.0-preview2-scala2.13-java17-python3-ubuntu", - "4.1.0-preview2-java21-scala" - ], - "image_name": "docker.io/apache/spark", - "subcategory": "Data Processing" - }, - { - "name": "Hadoop", - "description": "Distributed computing framework for processing large datasets across clusters using MapReduce and HDFS.", - "github_release_url": "https://api.github.com/repos/apache/hadoop/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/apache/hadoop/tags/?page=1&page_size=100", - "readme": "https://github.com/apache/hadoop/blob/trunk/README.txt", - "category": "Apache", - "homepage": "https://hadoop.apache.org/", - "github_releases": [], - "image_tags": [ - "3.4.1", - "3.4", - "3.4.0", - "2.10.2", - "2.10", - "2", - "3", - "3.3.6", - "3.3.5" - ], - "image_name": "docker.io/apache/hadoop", - "docker_help_command": "hadoop --help", - "notes": "Large image (~1GB compressed). Help command works but may timeout during initial image download.", - "subcategory": "Distributed Storage" - }, - { - "name": "Flink", - "description": "Apache Flink is an open source stream processing framework with powerful stream- and batch-processing capabilities.", - "github_release_url": "https://api.github.com/repos/apache/flink/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/apache/flink/tags/?page=1&page_size=100", - "readme": "https://github.com/apache/flink/blob/master/README.md", - "category": "Apache", - "homepage": "https://flink.apache.org/", - "github_releases": [], - "image_tags": [ - "java21", - "2.1-java21", - "2.1.0-java21", - "scala_2.12-java21", - "2.1-scala_2.12-java21", - "2.1.0-scala_2.12-java21", - "java11", - "2.1-java11", - "2.1.0-java11", - "scala_2.12-java11" - ], - "image_name": "docker.io/apache/flink", - "docker_help_command": "flink --help", - "subcategory": "Data Processing" - }, - { - "name": "Hive", - "description": "Data warehouse software that facilitates reading, writing, and managing large datasets in distributed storage using SQL.", - "github_release_url": "https://api.github.com/repos/apache/hive/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/apache/hive/tags/?page=1&page_size=100", - "readme": "https://github.com/apache/hive/blob/master/README.md", - "category": "Apache", - "homepage": "https://hive.apache.org/", - "github_releases": [], - "image_tags": [ - "standalone-metastore-4.1.0", - "4.1.0", - "4.0.1", - "4.0.0", - "4.0.0-beta-2-SNAPSHOT", - "3.1.3", - "4.0.0-beta-1", - "4.0.0-alpha-1", - "4.0.0-alpha-2" - ], - "image_name": "docker.io/apache/hive", - "subcategory": "Query & Analytics" - }, - { - "name": "Cassandra", - "description": "Highly-scalable partitioned row store NoSQL database for distributed data management.", - "github_release_url": "https://api.github.com/repos/apache/cassandra/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/_/cassandra", - "readme": "https://github.com/apache/cassandra/blob/trunk/README.asc", - "category": "Apache", - "homepage": "https://cassandra.apache.org/", - "github_releases": [], - "image_tags": [ - "latest", - "4.1.10-jammy", - "4.1-jammy", - "4.1", - "4.0.18-jammy", - "4.0-jammy", - "4.0", - "4", - "3.11.19-jammy", - "3.11-jammy" - ], - "image_name": "docker.io/cassandra", - "docker_help_command": "nodetool help", - "subcategory": "Distributed Storage" - }, - { - "name": "Accumulo", - "description": "Apache Accumulo is a sorted, distributed key/value store that provides robust, scalable data storage and retrieval.", - "github_release_url": "https://api.github.com/repos/apache/accumulo/releases?per_page=100&page=1", - "docker_tags_url": "", - "readme": "https://github.com/apache/accumulo/blob/main/README.md", - "category": "Apache", - "homepage": "https://accumulo.apache.org/", - "github_releases": [], - "image_tags": [], - "image_name": "", - "deprecated": true, - "subcategory": "Distributed Storage" - }, - { - "name": "Couchdb", - "description": "Multi-master sync NoSQL database with HTTP/JSON API for reliability and ease of use.", - "github_release_url": "https://api.github.com/repos/apache/couchdb/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/apache/couchdb/tags/?page=1&page_size=100", - "readme": "https://github.com/apache/couchdb/blob/main/README.rst", - "category": "Apache", - "homepage": "https://couchdb.apache.org/", - "github_releases": [], - "image_tags": [ - "latest-nouveau", - "latest", - "3-nouveau", - "3", - "3.5-nouveau", - "3.5", - "3.5.0-nouveau", - "3.5.0", - "3.4-nouveau", - "3.4" - ], - "image_name": "docker.io/apache/couchdb", - "subcategory": "Database" - }, - { - "name": "Httpd", - "description": "Open-source web server providing secure, efficient, and extensible HTTP services.", - "github_release_url": "https://api.github.com/repos/apache/httpd/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/_/httpd", - "readme": "https://github.com/apache/httpd/blob/master/README.md", - "category": "Apache", - "homepage": "https://httpd.apache.org/", - "github_releases": [], - "image_tags": [ - "latest", - "alpine3.22", - "alpine", - "2.4.65-alpine3.22", - "2.4.65-alpine", - "2.4-alpine3.22", - "2.4-alpine", - "2-alpine3.22", - "2-alpine", - "trixie" - ], - "image_name": "docker.io/httpd", - "docker_help_command": "/usr/local/apache2/bin/httpd -h", - "subcategory": "Web Server" - }, - { - "name": "Tomcat", - "description": "Implementation of Jakarta Servlet, Server Pages, Expression Language and WebSocket technologies.", - "github_release_url": "https://api.github.com/repos/apache/tomcat/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/_/tomcat", - "readme": "https://github.com/apache/tomcat/blob/main/README.md", - "category": "Apache", - "homepage": "https://tomcat.apache.org/", - "github_releases": [], - "image_tags": [ - "jre25-temurin-noble", - "jre25-temurin", - "jre25", - "jre21-temurin-noble", - "jre21-temurin", - "jre21", - "jre17-temurin-noble", - "jre17-temurin", - "jre17", - "9.0.110-jre8-temurin-noble" - ], - "image_name": "docker.io/tomcat", - "docker_help_command": "catalina.sh --help", - "subcategory": "Web Server" - }, - { - "name": "Maven", - "description": "Software project management and comprehension tool for Java applications.", - "github_release_url": "https://api.github.com/repos/apache/maven/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/_/maven", - "readme": "https://github.com/apache/maven/blob/master/README.md", - "category": "Apache", - "homepage": "https://maven.apache.org/", - "github_releases": [ - "maven-3.9.11", - "maven-4.0.0-rc-4", - "maven-3.9.10", - "maven-4.0.0-rc-3", - "maven-4.0.0-rc-2", - "maven-4.0.0-rc-1", - "maven-4.0.0-beta-5", - "maven-4.0.0-beta-4", - "maven-3.9.9", - "maven-3.9.8" - ], - "image_tags": [ - "latest", - "sapmachine", - "ibmjava", - "eclipse-temurin", - "4.0.0-rc-4-sapmachine-25", - "4.0.0-rc-4-sapmachine-21", - "4.0.0-rc-4-sapmachine-17", - "4.0.0-rc-4-sapmachine", - "4.0.0-rc-4-ibm-semeru-21-noble", - "4.0.0-rc-4-ibm-semeru-17-noble" - ], - "image_name": "docker.io/maven", - "docker_help_command": "mvn --help", - "subcategory": "Build Automation" - }, - { - "name": "Ant", - "description": "Java-based build tool with cross-platform portability for automated builds.", - "github_release_url": "https://api.github.com/repos/apache/ant/releases?per_page=100&page=1", - "docker_tags_url": "", - "readme": "https://github.com/apache/ant/blob/master/README", - "category": "Apache", - "homepage": "https://ant.apache.org/", - "github_releases": [], - "image_tags": [], - "image_name": "", - "deprecated": true, - "subcategory": "Build Automation" - }, - { - "name": "Gradle", - "description": "Build automation tool with flexibility and performance for Java, Kotlin, Groovy, Scala, C/C++, and more.", - "github_release_url": "https://api.github.com/repos/gradle/gradle/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/_/gradle", - "readme": "https://github.com/gradle/gradle/blob/master/README.md", - "category": "Build Tools", - "homepage": "https://gradle.org/", - "github_releases": [ - "v9.2.0-RC3", - "v9.2.0-RC2", - "v9.2.0-RC1", - "v9.1.0", - "v9.1.0-RC4", - "v9.1.0-RC3", - "v9.1.0-RC2", - "v9.1.0-RC1", - "v9.0.0", - "v9.0.0-RC4" - ], - "image_tags": [ - "latest", - "noble", - "jdk25-noble", - "jdk25", - "jdk21-noble", - "jdk21", - "jdk17-noble", - "jdk17", - "jdk-noble", - "jdk-lts-and-current-noble" - ], - "image_name": "docker.io/gradle", - "docker_help_command": "gradle --help", - "subcategory": "Build Automation" - }, - { - "name": "Skywalking", - "description": "SkyWalking is an open-source APM system that provides monitoring, tracing and diagnosing capabilities for distributed systems in Cloud Native architectures.", - "github_release_url": "https://api.github.com/repos/apache/skywalking/releases?per_page=100&page=1", - "docker_tags_url": "", - "readme": "https://github.com/apache/skywalking/blob/master/README.md", - "category": "Apache", - "homepage": "https://skywalking.apache.org/", - "github_releases": [ - "v10.2.0", - "v10.1.0", - "v10.0.1", - "v10.0.0", - "v9.7.0", - "v9.6.0", - "v9.5.0", - "v9.4.0", - "v9.3.0", - "v9.2.0" - ], - "image_tags": [], - "image_name": "", - "deprecated": true, - "subcategory": "Observability" - }, - { - "name": "Zookeeper", - "description": "Centralized service for configuration, naming, distributed synchronization, and group services.", - "github_release_url": "https://api.github.com/repos/apache/zookeeper/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/_/zookeeper", - "readme": "https://github.com/apache/zookeeper/blob/master/README.md", - "category": "Apache", - "homepage": "https://zookeeper.apache.org/", - "github_releases": [], - "image_tags": [ - "latest", - "3.9.4-jre-17", - "3.9.4", - "3.9-jre-17", - "3.9", - "3.8.4", - "3.8", - "3.7.3", - "3.7" - ], - "image_name": "docker.io/zookeeper", - "subcategory": "Coordination Service" - }, - { - "name": "Activemq", - "description": "High-performance message broker supporting multiple protocols and messaging patterns.", - "github_release_url": "https://api.github.com/repos/apache/activemq/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/apache/activemq-classic/tags/?page=1&page_size=100", - "readme": "https://github.com/apache/activemq/blob/main/README.md", - "category": "Apache", - "homepage": "https://activemq.apache.org/", - "github_releases": [], - "image_tags": [ - "latest", - "6.1.8", - "6.1.7", - "5.17.7", - "5.18.7", - "5.19.0", - "6.1.6", - "6.1.5", - "6.1.4", - "6.1.3" - ], - "image_name": "docker.io/apache/activemq-classic", - "docker_help_command": "/opt/apache-activemq/bin/activemq-diag -h", - "subcategory": "Streaming & Messaging" - }, - { - "name": "Pulsar", - "description": "Distributed pub-sub messaging platform with flexible messaging model and intuitive client API.", - "github_release_url": "https://api.github.com/repos/apache/pulsar/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/apachepulsar/pulsar/tags/?page=1&page_size=100", - "readme": "https://github.com/apache/pulsar/blob/master/README.md", - "category": "Apache", - "homepage": "https://pulsar.apache.org/", - "github_releases": [ - "v4.1.1", - "v4.0.7", - "v3.3.9", - "v3.0.14", - "v4.1.0", - "v4.0.6", - "v3.3.8", - "v3.0.13", - "v3.3.7", - "v4.0.5" - ], - "image_tags": [ - "latest", - "4.1.1", - "4.0.7", - "3.3.9", - "3.0.14", - "4.1.0", - "4.0.6", - "3.3.8", - "3.0.13", - "3.3.7" - ], - "image_name": "docker.io/apachepulsar/pulsar", - "docker_help_command": "pulsar-admin --help", - "subcategory": "Streaming & Messaging" - }, - { - "name": "Rocketmq", - "description": "Distributed messaging and streaming platform with low latency and high performance.", - "github_release_url": "https://api.github.com/repos/apache/rocketmq/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/apache/rocketmq/tags/?page=1&page_size=100", - "readme": "https://github.com/apache/rocketmq/blob/main/README.md", - "category": "Apache", - "homepage": "https://rocketmq.apache.org/", - "github_releases": [ - "rocketmq-all-5.3.3", - "rocketmq-all-5.3.2", - "rocketmq-all-5.3.1", - "rocketmq-all-5.3.0", - "rocketmq-all-4.9.8", - "rocketmq-all-5.2.0", - "rocketmq-all-5.1.4", - "rocketmq-all-5.1.3", - "rocketmq-all-5.1.2", - "rocketmq-all-4.9.7" - ], - "image_tags": [ - "5.3.3", - "latest", - "5.3.2", - "5.3.1", - "0.0.1", - "5.3.0", - "5.2.0", - "5.1.4", - "5.1.3", - "4.9.7" - ], - "image_name": "docker.io/apache/rocketmq", - "subcategory": "Streaming & Messaging" - }, - { - "name": "Ozone", - "description": "Scalable, redundant, and distributed object store for Hadoop and cloud-native environments.", - "github_release_url": "https://api.github.com/repos/apache/ozone/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/apache/ozone/tags/?page=1&page_size=100", - "readme": "https://github.com/apache/ozone/blob/master/README.md", - "category": "Apache", - "homepage": "https://ozone.apache.org/", - "github_releases": [ - "ozone-2.0.0", - "ozone-1.4.1" - ], - "image_tags": [ - "2.0.0-rocky", - "2.0.0", - "latest", - "1.4.0-rocky", - "1.4.1", - "1.4.1-rocky", - "1.0.0-rocky", - "1.1.0-rocky", - "1.2.1-rocky", - "1.3.0-rocky" - ], - "image_name": "docker.io/apache/ozone", - "docker_help_command": "ozone --help", - "subcategory": "Distributed Storage" - }, - { - "name": "Bookkeeper", - "description": "Scalable, fault-tolerant, low-latency storage service optimized for append-only workloads.", - "github_release_url": "https://api.github.com/repos/apache/bookkeeper/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/apache/bookkeeper/tags/?page=1&page_size=100", - "readme": "https://github.com/apache/bookkeeper/blob/master/README.md", - "category": "Apache", - "homepage": "https://bookkeeper.apache.org/", - "github_releases": [ - "release-4.17.2", - "release-4.16.7", - "release-4.17.1", - "release-4.16.6", - "release-4.17.0", - "release-4.16.5", - "release-4.16.4", - "release-4.15.5", - "release-4.16.3", - "release-4.14.8" - ], - "image_tags": [ - "latest", - "4.17.2", - "4.16.7", - "4.17.0", - "4.16.6", - "4.17.1", - "4.16.5", - "4.15.5", - "4.14.8", - "4.16.3" - ], - "image_name": "docker.io/apache/bookkeeper", - "subcategory": "Distributed Storage" - }, - { - "name": "Beam", - "description": "Unified model for defining batch and streaming data-parallel processing pipelines.", - "github_release_url": "https://api.github.com/repos/apache/beam/releases?per_page=100&page=1", - "docker_tags_url": "", - "readme": "https://github.com/apache/beam/blob/master/README.md", - "category": "Apache", - "homepage": "https://beam.apache.org/", - "github_releases": [ - "v2.69.0-RC3", - "v2.68.0", - "v2.67.0", - "v2.66.0", - "v2.65.0", - "v2.64.0", - "v2.63.0", - "v2.62.0", - "v2.61.0", - "v2.60.0" - ], - "image_tags": [], - "image_name": "", - "deprecated": true, - "subcategory": "Data Processing" - }, - { - "name": "Storm", - "description": "Distributed realtime computation system for stream processing.", - "github_release_url": "https://api.github.com/repos/apache/storm/releases?per_page=100&page=1", - "docker_tags_url": "", - "readme": "https://github.com/apache/storm/blob/master/README.markdown", - "category": "Apache", - "homepage": "https://storm.apache.org/", - "github_releases": [ - "v2.8.2", - "v2.8.1", - "v2.8.0", - "v2.7.1", - "v2.7.0" - ], - "image_tags": [], - "image_name": "", - "deprecated": true, - "subcategory": "Data Processing" - }, - { - "name": "Samza", - "description": "Distributed stream processing framework for real-time data processing.", - "github_release_url": "https://api.github.com/repos/apache/samza/releases?per_page=100&page=1", - "docker_tags_url": "", - "readme": "https://github.com/apache/samza/blob/master/README.md", - "category": "Apache", - "homepage": "https://samza.apache.org/", - "github_releases": [], - "image_tags": [], - "image_name": "", - "deprecated": true, - "subcategory": "Data Processing" - }, - { - "name": "Airflow", - "description": "Workflow orchestration platform for programmatically authoring, scheduling, and monitoring data pipelines.", - "github_release_url": "https://api.github.com/repos/apache/airflow/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/apache/airflow/tags/?page=1&page_size=100", - "readme": "https://github.com/apache/airflow/blob/main/README.md", - "category": "Apache", - "homepage": "https://airflow.apache.org/", - "github_releases": [ - "3.1.0", - "3.0.6", - "3.0.5", - "3.0.4", - "3.0.3", - "helm-chart/1.18.0", - "helm-chart/1.17.0", - "3.0.2", - "2.11.0", - "3.0.1" - ], - "image_tags": [ - "slim-3.1.1rc2-python3.13", - "3.1.1rc2-python3.13", - "slim-3.1.1rc2", - "slim-3.1.1rc2-python3.12", - "3.1.1rc2", - "3.1.1rc2-python3.12", - "slim-3.1.1rc2-python3.11", - "3.1.1rc2-python3.11", - "slim-3.1.1rc2-python3.10", - "3.1.1rc2-python3.10" - ], - "image_name": "docker.io/apache/airflow", - "subcategory": "Workflow & Orchestration" - }, - { - "name": "Oozie", - "description": "Workflow scheduler for managing Hadoop jobs and dependencies.", - "github_release_url": "https://api.github.com/repos/apache/oozie/releases?per_page=100&page=1", - "docker_tags_url": "", - "readme": "https://github.com/apache/oozie/blob/master/README.md", - "category": "Apache", - "homepage": "https://oozie.apache.org/", - "github_releases": [], - "image_tags": [], - "image_name": "", - "deprecated": true, - "subcategory": "Workflow & Orchestration" - }, - { - "name": "Solr", - "description": "Blazing-fast, open-source, multi-modal search platform built on Apache Lucene.", - "github_release_url": "https://api.github.com/repos/apache/solr/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/_/solr", - "readme": "https://github.com/apache/solr/blob/main/README.md", - "category": "Apache", - "homepage": "https://solr.apache.org/", - "github_releases": [], - "image_tags": [ - "latest", - "slim", - "9.9.0-slim", - "9.9.0", - "9.9-slim", - "9.9", - "9-slim", - "9", - "9.8.1-slim", - "9.8.1" - ], - "image_name": "docker.io/solr", - "docker_help_command": "solr --help", - "subcategory": "Search Engine" - }, - { - "name": "Lucene", - "description": "High-performance, full-featured text search engine library written in Java.", - "github_release_url": "https://api.github.com/repos/apache/lucene/releases?per_page=100&page=1", - "docker_tags_url": "", - "readme": "https://github.com/apache/lucene/blob/main/README.md", - "category": "Apache", - "homepage": "https://lucene.apache.org/", - "github_releases": [ - "releases/lucene/10.3.1", - "releases/lucene/9.12.3", - "releases/lucene/10.3.0", - "releases/lucene/9.12.2", - "releases/lucene/10.2.2", - "releases/lucene/10.2.1", - "releases/lucene/10.2.0", - "releases/lucene/10.1.0", - "releases/lucene/9.12.1", - "releases/lucene/10.0.0" - ], - "image_tags": [], - "image_name": "", - "deprecated": true, - "subcategory": "Search Engine" - }, - { - "name": "Arrow", - "description": "Universal columnar format and multi-language toolbox for fast data interchange and in-memory analytics.", - "github_release_url": "https://api.github.com/repos/apache/arrow/releases?per_page=100&page=1", - "docker_tags_url": "", - "readme": "https://github.com/apache/arrow/blob/main/README.md", - "category": "Apache", - "homepage": "https://arrow.apache.org/", - "github_releases": [ - "apache-arrow-22.0.0", - "apache-arrow-22.0.0-rc1", - "apache-arrow-22.0.0-rc0", - "apache-arrow-21.0.0", - "apache-arrow-21.0.0-rc6", - "apache-arrow-21.0.0-rc5", - "apache-arrow-21.0.0-rc4", - "apache-arrow-21.0.0-rc3", - "apache-arrow-21.0.0-rc2", - "apache-arrow-19.0.0-rc0" - ], - "image_tags": [], - "image_name": "", - "deprecated": true, - "subcategory": "Data Formats" - }, - { - "name": "Thrift", - "description": "Lightweight, language-independent software stack for point-to-point RPC implementation.", - "github_release_url": "https://api.github.com/repos/apache/thrift/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/apache/thrift/tags/?page=1&page_size=100", - "readme": "https://github.com/apache/thrift/blob/master/README.md", - "category": "Apache", - "homepage": "https://thrift.apache.org/", - "github_releases": [ - "v0.22.0", - "v0.21.0", - "v0.20.0", - "v0.19.0", - "v0.18.1", - "v0.18.0", - "v0.17.0", - "v0.16.0", - "lib/go/thrift/v0.0.1-do-not-use", - "v0.15.0" - ], - "image_tags": [ - "ubuntu", - "latest" - ], - "image_name": "docker.io/apache/thrift", - "docker_help_command": "thrift --help", - "subcategory": "Data Formats" - }, - { - "name": "Avro", - "description": "Data serialization system with rich data structures, compact binary format, and schema evolution support.", - "github_release_url": "https://api.github.com/repos/apache/avro/releases?per_page=100&page=1", - "docker_tags_url": "", - "readme": "https://github.com/apache/avro/blob/main/README.md", - "category": "Apache", - "homepage": "https://avro.apache.org/", - "github_releases": [ - "release-1.12.0", - "release-1.11.3", - "release-1.11.2", - "release-1.11.1", - "release-1.11.0", - "release-1.10.2", - "release-1.10.1", - "release-1.10.0", - "release-1.10.0-rc2", - "release-1.10.0-rc1" - ], - "image_tags": [], - "image_name": "", - "deprecated": true, - "subcategory": "Data Formats" - }, - { - "name": "Parquet", - "description": "Columnar storage format specification for efficient data processing.", - "github_release_url": "https://api.github.com/repos/apache/parquet-format/releases", - "docker_tags_url": "", - "readme": "https://github.com/apache/parquet-format/blob/master/README.md", - "category": "Apache", - "homepage": "https://parquet.apache.org/", - "github_releases": [ - "apache-parquet-format-2.12.0", - "apache-parquet-format-2.11.0" - ], - "image_tags": [], - "image_name": "", - "deprecated": true, - "subcategory": "Data Formats" - }, - { - "name": "Druid", - "description": "High-performance real-time analytics database for fast aggregations and queries.", - "github_release_url": "https://api.github.com/repos/apache/druid/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/apache/druid/tags/?page=1&page_size=100", - "readme": "https://github.com/apache/druid/blob/master/README.md", - "category": "Apache", - "homepage": "https://druid.apache.org/", - "github_releases": [ - "druid-34.0.0", - "druid-33.0.0", - "druid-32.0.1", - "druid-31.0.2", - "druid-32.0.0", - "druid-31.0.1", - "druid-31.0.0", - "druid-30.0.1", - "druid-30.0.0", - "druid-29.0.1" - ], - "image_tags": [ - "34.0.0", - "34.0.0-rc2", - "34.0.0-rc1", - "33.0.0", - "33.0.0-rc3", - "33.0.0-rc2", - "33.0.0-rc1", - "32.0.1", - "31.0.2", - "32.0.1-rc1" - ], - "image_name": "docker.io/apache/druid", - "docker_help_command": "/opt/druid/bin/run-druid --help", - "subcategory": "Database" - }, - { - "name": "NiFi", - "description": "Easy-to-use, powerful, and reliable system for processing and distributing data.", - "github_release_url": "https://api.github.com/repos/apache/nifi/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/apache/nifi/tags/?page=1&page_size=100", - "readme": "https://github.com/apache/nifi/blob/main/README.md", - "category": "Apache", - "homepage": "https://nifi.apache.org/", - "github_releases": [], - "image_tags": [ - "latest", - "2.6.0", - "2.5.0", - "2.4.0", - "2.3.0", - "2.2.0", - "2.1.0", - "1.28.1", - "2.0.0", - "1.28.0" - ], - "image_name": "docker.io/apache/nifi", - "subcategory": "Workflow & Orchestration" - }, - { - "name": "Superset", - "description": "Modern data exploration and visualization platform for enterprise business intelligence.", - "github_release_url": "https://api.github.com/repos/apache/superset/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/apache/superset/tags/?page=1&page_size=100", - "readme": "https://github.com/apache/superset/blob/master/README.md", - "category": "Apache", - "homepage": "https://superset.apache.org/", - "github_releases": [ - "superset-helm-chart-0.15.1", - "6.0.0rc2", - "4.1.4", - "4.1.4rc1", - "6.0.0rc1", - "superset-helm-chart-0.15.0", - "superset-helm-chart-0.14.3", - "4.1.3", - "5.0.0", - "5.0.0rc4" - ], - "image_tags": [ - "pr-35821-300efa8-ci", - "pr-35826-dd0788d-ci", - "GHA-dev-18788923558", - "GHA-18788923558", - "7c9720e-dev", - "7c9720e22bbf17dfc65ab39a5768c6cf58433ef8-dev", - "GHA-py312-18788923558", - "GHA-py310-18788923558", - "7c9720e-py312", - "7c9720e-py310" - ], - "image_name": "docker.io/apache/superset", - "subcategory": "Data Visualization" - }, - { - "name": "Zeppelin", - "description": "Web-based notebook for interactive data analytics with multi-language support and visualization.", - "github_release_url": "https://api.github.com/repos/apache/zeppelin/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/apache/zeppelin/tags/?page=1&page_size=100", - "readme": "https://github.com/apache/zeppelin/blob/master/README.md", - "category": "Apache", - "homepage": "https://zeppelin.apache.org/", - "github_releases": [], - "image_tags": [ - "0.12.0", - "0.11.2", - "0.11.1", - "0.11.0", - "0.10.1", - "0.10.0", - "0.9.0", - "0.8.2", - "0.8.1", - "0.8.0" - ], - "image_name": "docker.io/apache/zeppelin", - "subcategory": "Data Visualization" - }, - { - "name": "Pinot", - "description": "Real-time distributed OLAP datastore for scalable analytics with low latency.", - "github_release_url": "https://api.github.com/repos/apache/pinot/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/apachepinot/pinot/tags/?page=1&page_size=100", - "readme": "https://github.com/apache/pinot/blob/master/README.md", - "category": "Apache", - "homepage": "https://pinot.apache.org/", - "github_releases": [ - "release-1.4.0", - "release-1.3.0", - "release-1.2.0", - "release-1.1.0", - "release-1.0.0", - "release-0.12.1", - "release-0.12.0", - "release-0.11.0", - "release-0.10.0", - "release-0.9.3" - ], - "image_tags": [ - "latest-17-ms-openjdk", - "1.5.0-SNAPSHOT-f828ecd653-20251023-17-ms-openjdk", - "latest-11-amazoncorretto", - "latest-21-amazoncorretto", - "latest", - "1.5.0-SNAPSHOT-f828ecd653-20251023-11-amazoncorretto", - "latest-21-ms-openjdk", - "latest-17-amazoncorretto", - "1.5.0-SNAPSHOT-f828ecd653-20251023-21-amazoncorretto", - "1.5.0-SNAPSHOT-f828ecd653-20251023" - ], - "image_name": "docker.io/apachepinot/pinot", - "docker_help_command": "/opt/pinot/bin/pinot-admin.sh --help", - "subcategory": "Database" - }, - { - "name": "IoTDB", - "description": "Time-series database for IoT with high-throughput data collection, storage, and analysis.", - "github_release_url": "https://api.github.com/repos/apache/iotdb/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/apache/iotdb/tags/?page=1&page_size=100", - "readme": "https://github.com/apache/iotdb/blob/master/README.md", - "category": "Apache", - "homepage": "https://iotdb.apache.org/", - "github_releases": [ - "v1.3.5", - "v2.0.5", - "v2.0.4", - "v2.0.3", - "v2.0.2-1", - "v1.3.4-1", - "v2.0.2", - "v1.3.4", - "v2.0.1-beta", - "v1.3.3" - ], - "image_tags": [ - "latest", - "2.0.5-standalone", - "2.0.5-ainode", - "2.0.5-datanode", - "2.0.5-confignode", - "2.0.4-standalone", - "2.0.4-datanode", - "2.0.4-confignode", - "2.0.3-standalone", - "1.3.4-1-standalone" - ], - "image_name": "docker.io/apache/iotdb", - "subcategory": "Database" - }, - { - "name": "DolphinScheduler", - "description": "Modern data orchestration platform for agile, low-code development of high-performance workflows.", - "github_release_url": "https://api.github.com/repos/apache/dolphinscheduler/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/apache/dolphinscheduler/tags/?page=1&page_size=100", - "readme": "https://github.com/apache/dolphinscheduler/blob/dev/README.md", - "category": "Apache", - "homepage": "https://dolphinscheduler.apache.org/", - "github_releases": [ - "3.3.1", - "3.3.0-alpha", - "3.2.2", - "3.2.1", - "3.1.9", - "3.2.0", - "3.1.8", - "2.0.9", - "3.0.6", - "3.1.7" - ], - "image_tags": [ - "2.0.7", - "2.0.6", - "2.0.4", - "latest", - "2.0.5", - "2.0.3", - "2.0.2", - "2.0.1", - "2.0.0", - "2.0.0-SNAPSHOT" - ], - "image_name": "docker.io/apache/dolphinscheduler", - "subcategory": "Workflow & Orchestration" - }, - { - "name": "Doris", - "description": "Easy-to-use, high-performance real-time analytical database based on MPP architecture.", - "github_release_url": "https://api.github.com/repos/apache/doris/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/apache/doris/tags/?page=1&page_size=100", - "readme": "https://github.com/apache/doris/blob/master/README.md", - "category": "Apache", - "homepage": "https://doris.apache.org/", - "github_releases": [ - "4.0.0-rc02", - "3.1.1-rc01", - "3.1.0-rc01", - "3.0.8-rc01", - "2.1.11-rc01", - "3.0.7-rc01", - "3.0.6.2", - "3.0.6.1", - "3.0.6", - "2.1.10-rc01" - ], - "image_tags": [ - "broker-3.1.1", - "ms-3.1.1", - "be-3.1.1", - "fe-3.1.1", - "broker-4.0.0", - "ms-4.0.0", - "be-4.0.0", - "fe-4.0.0", - "broker-3.0.8", - "ms-3.0.8" - ], - "image_name": "docker.io/apache/doris", - "notes": "Multiple images: fe (Frontend), be (Backend), ms (Meta Service), broker", - "subcategory": "Database" - }, - { - "name": "Drill", - "description": "Distributed MPP query layer supporting SQL and alternative query languages against NoSQL and Hadoop systems.", - "github_release_url": "https://api.github.com/repos/apache/drill/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/apache/drill/tags/?page=1&page_size=100", - "readme": "https://github.com/apache/drill/blob/master/README.md", - "category": "Apache", - "homepage": "https://drill.apache.org/", - "github_releases": [ - "drill-1.22.0", - "drill-1.21.2", - "drill-1.21.1", - "drill-1.21.0", - "drill-1.20.3", - "drill-1.20.2", - "drill-1.20.1", - "drill-1.20.0", - "drill-1.19.0", - "drill-1.18.0" - ], - "image_tags": [ - "master-openjdk-17", - "master-openjdk-11", - "master", - "latest-openjdk-17", - "latest-openjdk-11", - "latest", - "1.22.0-openjdk-17", - "1.22.0-openjdk-11", - "1.22.0", - "master-openjdk-8" - ], - "image_name": "docker.io/apache/drill", - "subcategory": "Query & Analytics" - }, - { - "name": "Kyuubi", - "description": "Distributed and multi-tenant gateway for serverless SQL on data warehouses and lakehouses.", - "github_release_url": "https://api.github.com/repos/apache/kyuubi/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/apache/kyuubi/tags/?page=1&page_size=100", - "readme": "https://github.com/apache/kyuubi/blob/master/README.md", - "category": "Apache", - "homepage": "https://kyuubi.apache.org/", - "github_releases": [ - "v1.10.2", - "v1.9.4", - "v1.10.1", - "v1.9.3", - "v1.8.3", - "v1.10.0", - "v1.10.0-rc0", - "v1.9.2", - "v1.9.1", - "v1.8.2" - ], - "image_tags": [ - "master-snapshot", - "1.10.2-flink", - "1.10.2-all", - "1.10.2-spark", - "1.10.2", - "1.10.1-all", - "1.10.1-spark", - "1.10.1-flink", - "1.10.1", - "1.9.4-all" - ], - "image_name": "docker.io/apache/kyuubi", - "subcategory": "Query & Analytics" - }, - { - "name": "APISIX", - "description": "Dynamic, real-time, high-performance API Gateway.", - "github_release_url": "https://api.github.com/repos/apache/apisix/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/apache/apisix/tags/?page=1&page_size=100", - "readme": "https://github.com/apache/apisix/blob/master/README.md", - "category": "Apache", - "homepage": "https://apisix.apache.org/", - "github_releases": [ - "3.14.1", - "3.14.0", - "3.13.0", - "3.12.0", - "3.11.0", - "3.10.0", - "3.9.1", - "3.8.1", - "3.9.0", - "3.8.0" - ], - "image_tags": [ - "dev", - "dev-amd64", - "dev-arm64", - "3.14.1-ubuntu", - "latest", - "3.14.1-debian", - "3.14.1-redhat", - "3.14.0-ubuntu", - "3.14.0-debian", - "3.14.0-redhat" - ], - "image_name": "docker.io/apache/apisix", - "docker_help_command": "/usr/bin/apisix --help", - "subcategory": "API Gateway" - }, - { - "name": "ShenYu", - "description": "High-performance API Gateway for microservices with plugin-based architecture.", - "github_release_url": "https://api.github.com/repos/apache/shenyu/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/apache/shenyu-bootstrap/tags/?page=1&page_size=100", - "readme": "https://github.com/apache/shenyu/blob/master/README.md", - "category": "Apache", - "homepage": "https://shenyu.apache.org/", - "github_releases": [ - "v2.7.0.2", - "v2.7.0.1", - "v2.7.0", - "v2.6.1", - "v2.6.0", - "v2.5.1", - "v2.5.0", - "v2.4.3", - "v2.4.2", - "v2.4.1" - ], - "image_tags": [ - "2.7.0.2", - "latest", - "2.7.0.1", - "2.7.0", - "2.6.1", - "2.6.0", - "2.5.1", - "v2.5.1", - "2.5.0", - "2.4.3" - ], - "image_name": "docker.io/apache/shenyu-bootstrap", - "notes": "Also available: apache/shenyu-admin for admin console", - "subcategory": "API Gateway" - }, - { - "name": "ShardingSphere", - "description": "Distributed SQL transaction and query engine for data sharding, scaling, and encryption.", - "github_release_url": "https://api.github.com/repos/apache/shardingsphere/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/apache/shardingsphere-proxy/tags/?page=1&page_size=100", - "readme": "https://github.com/apache/shardingsphere/blob/master/README.md", - "category": "Apache", - "homepage": "https://shardingsphere.apache.org/", - "github_releases": [ - "5.5.2", - "5.5.1", - "5.5.0", - "5.4.1", - "5.4.0", - "5.3.2", - "5.3.1", - "5.3.0", - "5.2.1", - "5.2.0" - ], - "image_tags": [ - "latest", - "5.5.2", - "5.5.1", - "5.5.0", - "5.4.1", - "5.4.0", - "5.3.2", - "5.3.1", - "5.3.0", - "5.2.1" - ], - "image_name": "docker.io/apache/shardingsphere-proxy", - "subcategory": "Database Middleware" - }, - { - "name": "Camel", - "description": "Open-source integration framework based on Enterprise Integration Patterns with powerful Bean Integration.", - "github_release_url": "https://api.github.com/repos/apache/camel/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/apache/camel-k/tags/?page=1&page_size=100", - "readme": "https://github.com/apache/camel/blob/trunk/README.txt", - "category": "Apache", - "homepage": "https://camel.apache.org/", - "github_releases": [], - "image_tags": [ - "2.8.0-21-jdk", - "2.8.0-21-jdk-arm64", - "2.8.0-21-jdk-amd64", - "2.8.0-17-jdk", - "2.8.0-17-jdk-arm64", - "2.8.0-17-jdk-amd64", - "2.8.0", - "2.8.0-arm64", - "2.8.0-amd64", - "2.7.0-21-jdk" - ], - "image_name": "docker.io/apache/camel-k", - "notes": "Camel K is the Kubernetes-native runtime for Camel", - "subcategory": "Data Integration" - }, - { - "name": "EventMesh", - "description": "Serverless event middleware for building distributed event-driven applications.", - "github_release_url": "https://api.github.com/repos/apache/eventmesh/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/apache/eventmesh/tags/?page=1&page_size=100", - "readme": "https://github.com/apache/eventmesh/blob/master/README.md", - "category": "Apache", - "homepage": "https://eventmesh.apache.org/", - "github_releases": [ - "v1.11.0", - "v1.10.0", - "v1.9.0", - "v1.8.0", - "v1.7.0", - "v1.6.0", - "v1.5.0", - "v1.4.0", - "v1.3.0", - "v1.2.0" - ], - "image_tags": [ - "latest", - "v1.11.0", - "v1.9.0", - "v1.10.0" - ], - "image_name": "docker.io/apache/eventmesh", - "subcategory": "Streaming & Messaging" - }, - { - "name": "SeaTunnel", - "description": "High-performance distributed data integration platform for synchronization and transformation.", - "github_release_url": "https://api.github.com/repos/apache/seatunnel/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/apache/seatunnel/tags/?page=1&page_size=100", - "readme": "https://github.com/apache/seatunnel/blob/dev/README.md", - "category": "Apache", - "homepage": "https://seatunnel.apache.org/", - "github_releases": [ - "2.3.12", - "2.3.11", - "2.3.10", - "2.3.9", - "2.3.8", - "2.3.7", - "2.3.6", - "2.3.5", - "2.3.4", - "2.3.3" - ], - "image_tags": [ - "latest", - "2.3.12", - "2.3.11", - "2.3.10", - "2.3.9", - "2.3.8" - ], - "image_name": "docker.io/apache/seatunnel", - "subcategory": "Data Integration" - }, - { - "name": "Ranger", - "description": "Framework for enabling, monitoring and managing comprehensive data security across Hadoop platform.", - "github_release_url": "https://api.github.com/repos/apache/ranger/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/apache/ranger/tags/?page=1&page_size=100", - "readme": "https://github.com/apache/ranger/blob/master/README.md", - "category": "Apache", - "homepage": "https://ranger.apache.org/", - "github_releases": [], - "image_tags": [ - "2.7.0", - "2.6.0", - "2.5.0", - "2.4.0", - "2.4.1" - ], - "image_name": "docker.io/apache/ranger", - "subcategory": "Security" - }, - { - "name": "SkyWalking", - "description": "APM system for monitoring, tracing and diagnosing distributed systems in cloud-native architectures.", - "github_release_url": "https://api.github.com/repos/apache/skywalking/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/apache/skywalking-oap-server/tags/?page=1&page_size=100", - "readme": "https://github.com/apache/skywalking/blob/master/README.md", - "category": "Apache", - "homepage": "https://skywalking.apache.org/", - "github_releases": [ - "v10.2.0", - "v10.1.0", - "v10.0.1", - "v10.0.0", - "v9.7.0", - "v9.6.0", - "v9.5.0", - "v9.4.0", - "v9.3.0", - "v9.2.0" - ], - "image_tags": [ - "latest", - "10.2.0", - "10.2.0-java21", - "10.2.0-java17", - "10.1.0", - "10.1.0-java21", - "10.1.0-java17", - "10.0.1", - "10.0.1-java21", - "10.0.1-java17" - ], - "image_name": "docker.io/apache/skywalking-oap-server", - "subcategory": "Observability" - }, - { - "name": "Dubbo-Admin", - "description": "Administration console for Apache Dubbo microservice framework.", - "github_release_url": "https://api.github.com/repos/apache/dubbo-admin/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/apache/dubbo-admin/tags/?page=1&page_size=100", - "readme": "https://github.com/apache/dubbo-admin/blob/develop/README.md", - "category": "Apache", - "homepage": "https://dubbo.apache.org/", - "github_releases": [ - "0.6.0", - "0.5.0", - "0.4.0", - "0.3.0", - "0.2.0", - "0.1" - ], - "image_tags": [ - "0.6.0", - "latest", - "0.5.0-SNAPSHOT", - "0.5.0", - "0.4.0", - "0.3.0", - "0.1.0" - ], - "image_name": "docker.io/apache/dubbo-admin", - "subcategory": "Other" - }, - { - "name": "RocketMQ-Dashboard", - "description": "Web-based administration console for Apache RocketMQ message queuing system.", - "github_release_url": "https://api.github.com/repos/apache/rocketmq-dashboard/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/apacherocketmq/rocketmq-dashboard/tags/?page=1&page_size=100", - "readme": "https://github.com/apache/rocketmq-dashboard/blob/master/README.md", - "category": "Apache", - "homepage": "https://rocketmq.apache.org/", - "github_releases": [ - "rocketmq-dashboard-2.1.0", - "rocketmq-dashboard-2.0.0", - "rocketmq-dashboard-1.0.0" - ], - "image_tags": [ - "latest", - "2.1.0", - "2.0.1", - "2.0.0", - "1.0.0" - ], - "image_name": "docker.io/apacherocketmq/rocketmq-dashboard", - "subcategory": "Streaming & Messaging" - }, - { - "name": "APISIX-Dashboard", - "description": "Dashboard UI for Apache APISIX API Gateway management.", - "github_release_url": "https://api.github.com/repos/apache/apisix-dashboard/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/apache/apisix-dashboard/tags/?page=1&page_size=100", - "readme": "https://github.com/apache/apisix-dashboard/blob/master/README.md", - "category": "Apache", - "homepage": "https://apisix.apache.org/", - "github_releases": [ - "notice", - "v3.0.1", - "v2.15.1", - "v3.0.0", - "v2.15.0", - "v2.14.0", - "v2.13.1", - "v2.13", - "v2.11", - "v2.10.1" - ], - "image_tags": [ - "latest", - "3.0.1-centos", - "3.0.1-alpine", - "2.15.1-centos", - "2.15.1-alpine", - "3.0.0-centos", - "3.0.0-alpine", - "2.15.0-centos", - "2.15.0-alpine", - "2.14.0-centos" - ], - "image_name": "docker.io/apache/apisix-dashboard", - "subcategory": "API Gateway" - }, - { - "name": "Kudu", - "description": "Columnar storage manager for structured data with fast analytics on rapidly changing data.", - "github_release_url": "https://api.github.com/repos/apache/kudu/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/apache/kudu/tags/?page=1&page_size=100", - "readme": "https://github.com/apache/kudu/blob/master/README.md", - "category": "Apache", - "homepage": "https://kudu.apache.org/", - "github_releases": [ - "1.17.1", - "1.17.0", - "1.16.0", - "1.15.0", - "1.14.0", - "1.13.0" - ], - "image_tags": [ - "latest-ubuntu", - "1.18-ubuntu", - "kudu-python-latest-ubuntu", - "kudu-python-1.18-ubuntu", - "kudu-python-1.18.0-ubuntu", - "1.18.0-ubuntu", - "kudu-python-1.17-ubuntu", - "kudu-python-1.17.1-ubuntu", - "1.17-ubuntu", - "1.17.1-ubuntu" - ], - "image_name": "docker.io/apache/kudu", - "subcategory": "Storage Engine" - }, - { - "name": "Kylin", - "description": "Distributed analytics engine providing SQL interface and OLAP analysis on Hadoop for large datasets.", - "github_release_url": "https://api.github.com/repos/apache/kylin/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/apachekylin/apache-kylin-standalone/tags/?page=1&page_size=100", - "readme": "https://github.com/apache/kylin/blob/master/README.md", - "category": "Apache", - "homepage": "https://kylin.apache.org/", - "github_releases": [ - "kylin-5.0.2", - "kylin-5.0.0" - ], - "image_tags": [ - "5.0.2-GA", - "5.0.0-GA", - "5-dev", - "5.0-beta", - "5.x-base-dev-only", - "kylin-4.0.1-mondrian", - "4.0.0", - "3.1.0", - "3.0.1", - "2.6.5" - ], - "image_name": "docker.io/apachekylin/apache-kylin-standalone", - "subcategory": "Database" - }, - { - "name": "HBase", - "description": "NoSQL distributed database built on Hadoop for random, real-time read/write access to big data.", - "github_release_url": "https://api.github.com/repos/apache/hbase/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/r/harisekhon/hbase", - "readme": "https://github.com/apache/hbase/blob/master/README.txt", - "category": "Apache", - "homepage": "https://hbase.apache.org/", - "github_releases": [ - "rel/2.5.12", - "rel/2.6.3", - "rel/2.5.11", - "rel/2.6.2", - "rel/2.6.1", - "rel/2.5.10", - "rel/2.5.9", - "rel/2.4.18", - "rel/2.6.0", - "rel/2.5.8" - ], - "image_tags": [ - "0.92", - "0.94", - "1.3", - "1.2", - "1.1", - "1.0", - "latest" - ], - "image_name": "docker.io/harisekhon/hbase", - "docker_help_command": "/hbase-0.92.2/bin/hbase -h", - "notes": "Using community-maintained image (official Apache image not available on Docker Hub)", - "subcategory": "Distributed Storage" - }, - { - "name": "IoTDB-Web-Workbench", - "description": "Web-based workbench for Apache IoTDB with data visualization and query management.", - "github_release_url": "https://api.github.com/repos/apache/iotdb-web-workbench/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/apache/iotdb-web-workbench/tags/?page=1&page_size=100", - "readme": "https://github.com/apache/iotdb-web-workbench/blob/main/README.md", - "category": "Apache", - "homepage": "https://iotdb.apache.org/", - "github_releases": [ - "v0.13.3" - ], - "image_tags": [ - "0.13.0-frontend", - "0.13.0-backend" - ], - "image_name": "docker.io/apache/iotdb-web-workbench", - "notes": "Separate frontend and backend images available", - "subcategory": "Database" - } - ] -} \ No newline at end of file diff --git a/data/configs/cli_tools.json b/data/configs/cli_tools.json new file mode 100644 index 0000000..8ef6876 --- /dev/null +++ b/data/configs/cli_tools.json @@ -0,0 +1,11702 @@ +{ + "metadata": { + "schema_version": "3.0", + "generated_at": "2025-12-08", + "description": "Comprehensive collection of CLI tools from Apache, CNCF, Blockchain, and Development ecosystems", + "source": "Consolidated from Apache Foundation, CNCF Landscape, Web3/Blockchain projects, and popular development tools", + "total_tools": 384, + "properties": { + "source_repo": "Source repository information (type and repo path)", + "image_repo": "Container image repository information (type and full image path)", + "category": "Tool category classification (Apache, CNCF, Blockchain, or specific tool type)", + "subcategory": "Tool subcategory classification", + "source_releases": "Available releases/versions from source repository (up to 5 most recent)", + "image_tags": "Available container image tags (up to 5 most recent)", + "binary": "Primary binary/executable name", + "alternate_binaries": "Alternative binaries available" + }, + "categories": { + "Apache": "Apache Software Foundation projects", + "CNCF": "Cloud Native Computing Foundation projects", + "Blockchain": "Blockchain and Web3 development tools", + "Other": "Development tools, system utilities, and other CLI tools" + }, + "notes": [ + "Consolidated from 4 separate config files on 2025-12-08", + "Schema version 3.0", + "All tools include up to 5 most recent releases and image tags", + "Tools are sorted alphabetically by name", + "Removed 25 deprecated and 19 CLI-only tools on 2025-12-08" + ] + }, + "cli_tools": [ + { + "name": "act", + "description": "Run your GitHub Actions locally Why would you want to do this.", + "source_repo": { + "type": "github", + "repo": "nektos/act" + }, + "image_repo": { + "type": "ghcr", + "image": "ghcr.io/nektos/act" + }, + "category": "CI/CD", + "subcategory": "GitHub Actions", + "homepage": "https://github.com/nektos/act", + "source_releases": [ + "v0.2.83", + "v0.2.82", + "v0.2.81", + "v0.2.80", + "v0.2.79" + ], + "image_tags": [ + "v0.2.83", + "v0.2.82", + "v0.2.81", + "v0.2.80", + "v0.2.79" + ], + "binary": "", + "alternate_binaries": [], + "notes": "GHCR package requires authentication or is not publicly accessible" + }, + { + "name": "Activemq", + "description": "High-performance message broker supporting multiple protocols and messaging patterns.", + "source_repo": { + "type": "github", + "repo": "apache/activemq" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/apache/activemq-classic" + }, + "category": "Apache", + "subcategory": "Streaming & Messaging", + "homepage": "https://activemq.apache.org/", + "source_releases": [ + "activemq-parent-5.5.1", + "activemq-parent-5.3.2", + "activemq-parent-5.2", + "activemq-6.2.0", + "activemq-6.1.8" + ], + "image_tags": [ + "6.2.0", + "6.1.8", + "6.1.7", + "5.17.7", + "5.18.7" + ], + "binary": "activemq-diag", + "alternate_binaries": [] + }, + { + "name": "Aeraki Mesh", + "description": "Aeraki Mesh allows you to manage any layer-7 traffic in a service mesh.", + "source_repo": { + "type": "github", + "repo": "aeraki-mesh/aeraki" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/atlassian/bitbucket-mesh" + }, + "category": "CNCF", + "subcategory": "Service Mesh", + "homepage": "https://www.aeraki.net/", + "source_releases": [ + "1.4.1", + "1.4.0", + "1.3.0", + "1.2.1", + "1.2.0" + ], + "image_tags": [ + "3.1-ubuntu-jdk-17", + "3.1-jdk17", + "3.1.1-jdk17", + "3.1.1-ubuntu-jdk-17", + "2.5.2-ubuntu-jdk-17" + ], + "binary": "", + "alternate_binaries": [] + }, + { + "name": "Airflow", + "description": "Workflow orchestration platform for programmatically authoring, scheduling, and monitoring data pipelines.", + "source_repo": { + "type": "github", + "repo": "apache/airflow" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/apache/airflow" + }, + "category": "Apache", + "subcategory": "Workflow & Orchestration", + "homepage": "https://airflow.apache.org/", + "source_releases": [ + "3.1.3", + "3.1.2", + "3.1.1", + "3.1.0", + "3.0.6" + ], + "image_tags": [ + "3.1.4rc2-python3.13", + "3.1.4rc2", + "3.1.4rc2-python3.12", + "3.1.4rc2-python3.11", + "3.1.4rc2-python3.10" + ], + "binary": "", + "alternate_binaries": [] + }, + { + "name": "Akri", + "description": "Kubernetes Resource Interface for the Edge - discovers and utilizes leaf devices (sensors, controllers, MCUs) across heterogeneous edge clusters.", + "source_repo": { + "type": "github", + "repo": "project-akri/akri" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/nitin992vij/akri" + }, + "category": "CNCF", + "subcategory": "Cluster Management", + "homepage": "https://docs.akri.sh", + "source_releases": [ + "v0.13.8", + "v0.12.20", + "v0.12.9", + "v0.10.4", + "v0.8.23" + ], + "image_tags": [ + "v1" + ], + "binary": "", + "alternate_binaries": [] + }, + { + "name": "Ansible", + "description": "Automation platform for configuration management, application deployment, and task automation.", + "source_repo": { + "type": "github", + "repo": "ansible/ansible" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/alpine/ansible" + }, + "category": "Configuration Management", + "subcategory": "Automation", + "homepage": "https://www.ansible.com/", + "source_releases": [ + "v2.20.1rc1", + "v2.19.5rc1", + "v2.18.12rc1", + "v2.16.15rc1", + "v2.20.0" + ], + "image_tags": [ + "2.18.6", + "2.18.1", + "2.17.0", + "2.16.1", + "2.14.5" + ], + "binary": "ansible", + "alternate_binaries": [ + "ansible-playbook", + "ansible-vault", + "ansible-doc", + "ansible-galaxy", + "ansible-config", + "ansible-community" + ] + }, + { + "name": "Antrea", + "description": "Kubernetes networking solution based on Open vSwitch, providing network connectivity and security for pod workloads with native support for NetworkPolicy.", + "source_repo": { + "type": "github", + "repo": "antrea-io/antrea" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/antrea/antrea-windows" + }, + "category": "CNCF", + "subcategory": "Networking", + "homepage": "https://antrea.io/", + "source_releases": [ + "v2.5.0", + "v2.4.3", + "v2.3.2", + "v2.2.2", + "v2.4.2" + ], + "image_tags": [ + "v2.5.0", + "v2.4.3", + "v2.3.2", + "v2.2.2", + "v2.4.2" + ], + "binary": "", + "alternate_binaries": [] + }, + { + "name": "Ape Framework", + "description": "Framework for testing and deploying smart contracts with Python.", + "source_repo": { + "type": "github", + "repo": "ApeWorX/ape" + }, + "image_repo": { + "type": "ghcr", + "image": "ghcr.io/apeworx/ape" + }, + "category": "Blockchain", + "subcategory": "Development Framework", + "homepage": "https://apeworx.io/", + "source_releases": [ + "v0.8.42", + "v0.8.41", + "v0.8.40", + "v0.8.39", + "v0.8.38" + ], + "image_tags": [ + "latest-slim", + "latest", + "v0.8.15", + "stable", + "v0.8.16" + ], + "binary": "ape", + "alternate_binaries": [ + "debconf-escape" + ] + }, + { + "name": "APISIX", + "description": "Dynamic, real-time, high-performance API Gateway.", + "source_repo": { + "type": "github", + "repo": "apache/apisix" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/apache/apisix" + }, + "category": "Apache", + "subcategory": "API Gateway", + "homepage": "https://apisix.apache.org/", + "source_releases": [ + "3.14.1", + "3.14.0", + "3.13.0", + "3.12.0", + "3.11.0" + ], + "image_tags": [ + "3.14.1-ubuntu", + "3.14.1-debian", + "3.14.1-redhat", + "3.14.0-ubuntu", + "3.14.0-debian" + ], + "binary": "apisix", + "alternate_binaries": [] + }, + { + "name": "APISIX-Dashboard", + "description": "Dashboard UI for Apache APISIX API Gateway management.", + "source_repo": { + "type": "github", + "repo": "apache/apisix-dashboard" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/apache/apisix-dashboard" + }, + "category": "Apache", + "subcategory": "API Gateway", + "homepage": "https://apisix.apache.org/", + "source_releases": [ + "notice", + "v3.0.1", + "v2.15.1", + "v3.0.0", + "v2.15.0" + ], + "image_tags": [ + "3.0.1-centos", + "3.0.1-alpine", + "2.15.1-centos", + "2.15.1-alpine", + "3.0.0-centos" + ], + "binary": "", + "alternate_binaries": [] + }, + { + "name": "Aptos", + "description": "Layer 1 blockchain using Move programming language with parallel execution engine.", + "source_repo": { + "type": "github", + "repo": "aptos-labs/aptos-core" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/aptoslabs/validator" + }, + "category": "Blockchain", + "subcategory": "Blockchain Client", + "homepage": "https://aptosfoundation.org/", + "source_releases": [ + "aptos-node-v1.38.4-rc", + "aptos-node-v1.37.5", + "aptos-cli-v7.11.1", + "aptos-node-v1.38.3-rc", + "aptos-node-v1.38.2-rc" + ], + "image_tags": [ + "aptos-node-v1.38.5-rc_facb34a55849fd4ab6f70149b32cde3e87d6c314", + "aptos-node-v1.38.5-rc", + "aptos-node-v1.38.5-rc_performance_facb34a55849fd4ab6f70149b32cde3e87d6c314", + "aptos-node-v1.38.5-rc_performance", + "testnet" + ], + "binary": "aptos-node", + "alternate_binaries": [] + }, + { + "name": "Arbitrum", + "description": "Layer 2 scaling solution for Ethereum using optimistic rollups.", + "source_repo": { + "type": "github", + "repo": "OffchainLabs/nitro" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/offchainlabs/nitro-node" + }, + "category": "Blockchain", + "subcategory": "Ethereum Client", + "homepage": "https://arbitrum.io/", + "source_releases": [ + "v3.9.4-rc.2", + "v3.9.4-rc.1", + "v3.9.3", + "v3.9.3-rc.1", + "consensus-v51" + ], + "image_tags": [ + "v3.9.4-rc.2-7f582c3", + "v3.9.4-rc.2-7f582c3-slim", + "v3.9.4-rc.2-7f582c3-validator", + "v3.9.4-rc.2-7f582c3-dev", + "v3.9.4-rc.1-88edd3a" + ], + "binary": "nitro", + "alternate_binaries": [] + }, + { + "name": "Argo", + "description": "Kubernetes-native tools to run workflows, manage clusters, and do GitOps right.", + "source_repo": { + "type": "github", + "repo": "argoproj/argo-cd" + }, + "image_repo": { + "type": "quay", + "image": "quay.io/argoproj/argocd" + }, + "category": "CNCF", + "subcategory": "Application Development", + "homepage": "https://argoproj.github.io/", + "source_releases": [ + "v3.2.1", + "v3.2.0", + "v2.14.21", + "v3.2.0-rc4", + "v3.1.9" + ], + "image_tags": [ + "latest", + "sha256-a8532a23ed5f6e65afaf2a082b65fc74614549e54774f6b25fe3c993faa7bea3.att", + "sha256-a8532a23ed5f6e65afaf2a082b65fc74614549e54774f6b25fe3c993faa7bea3.sig", + "v3.2.1", + "sha256-2fe6dadaa0c137ed74c845d6fc6cc78b104fa5c76bbd25fff791424318f95eca.att" + ], + "binary": "argocd", + "alternate_binaries": [] + }, + { + "name": "Armada", + "description": "A multi-cluster batch queuing system for high-throughput workloads on Kubernetes.", + "source_repo": { + "type": "github", + "repo": "armadaproject/armada" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/diamanti/armada" + }, + "category": "CNCF", + "subcategory": "Management", + "homepage": "https://armadaproject.io/", + "source_releases": [ + "v0.20.21", + "v0.20.20", + "v0.20.19", + "v0.20.18", + "v0.20.17" + ], + "image_tags": [ + "v0.1.0-0-rke2-rajat", + "v3.5.0-495", + "v3.5.0-494", + "v3.5.0-493", + "v3.4.0-151" + ], + "binary": "armada", + "alternate_binaries": [] + }, + { + "name": "Artifact Hub", + "description": "CNCF hub for discovering, installing, and publishing cloud native packages and configurations including Helm charts, operators, and plugins.", + "source_repo": { + "type": "github", + "repo": "artifacthub/hub" + }, + "image_repo": { + "type": "quay", + "image": "quay.io/vijaysriraman/artifact-hub" + }, + "category": "CNCF", + "subcategory": "Operator Framework", + "homepage": "https://artifacthub.io", + "source_releases": [ + "v1.22.0", + "v1.21.0", + "v1.20.0", + "v1.19.0", + "v1.18.0" + ], + "image_tags": [ + "hashicorp", + "dbmigrator", + "trivy", + "kubectl", + "artifacthubhub" + ], + "binary": "--help", + "alternate_binaries": [] + }, + { + "name": "Athenz", + "description": "Open-source platform for X.509 certificate-based service authentication and fine-grained access control in dynamic infrastructures.", + "source_repo": { + "type": "github", + "repo": "AthenZ/athenz" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/athenz/athenz" + }, + "category": "CNCF", + "subcategory": "Provisioning", + "homepage": "https://www.athenz.io", + "source_releases": [ + "v1.12.31", + "v1.12.30", + "v1.12.29", + "v1.12.28", + "v1.12.27" + ], + "image_tags": [ + "v1.7.29", + "v1.7.27", + "v1.7.25", + "v1.7.24", + "v1.7.23" + ], + "binary": "zts", + "alternate_binaries": [] + }, + { + "name": "Atlantis", + "description": "Terraform Pull Request Automation - enables GitOps for Terraform by running plan/apply directly from pull requests with approval workflows.", + "source_repo": { + "type": "github", + "repo": "runatlantis/atlantis" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/runatlantis/atlantis" + }, + "category": "CNCF", + "subcategory": "Automation", + "homepage": "https://www.runatlantis.io/", + "source_releases": [ + "v0.37.1", + "v0.37.0", + "v0.36.0", + "v0.35.1", + "v0.35.0" + ], + "image_tags": [ + "v0.18.4", + "v0.18.3", + "v0.18.2", + "v0.18.1", + "v0.18.0" + ], + "binary": "atlantis", + "alternate_binaries": [] + }, + { + "name": "Avalanche", + "description": "Platform for launching decentralized applications and enterprise blockchain deployments.", + "source_repo": { + "type": "github", + "repo": "ava-labs/avalanchego" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/avaplatform/avalanchego" + }, + "category": "Blockchain", + "subcategory": "Blockchain Client", + "homepage": "https://avax.network/", + "source_releases": [ + "v1.14.0", + "v1.14.0-fuji", + "v1.13.5", + "v1.13.4", + "v1.13.3" + ], + "image_tags": [ + "v1.14.1-antithesis-docker-image-fix-r", + "v1.14.1-antithesis-docker-image-fix", + "latest", + "master-r", + "c3002e84-r" + ], + "binary": "avalanchego", + "alternate_binaries": [] + }, + { + "name": "AWS CLI", + "description": "Command-line interface for Amazon Web Services.", + "source_repo": { + "type": "github", + "repo": "aws/aws-cli" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/amazon/aws-cli" + }, + "category": "Cloud Provider CLI", + "subcategory": "AWS", + "homepage": "https://aws.amazon.com/cli/", + "source_releases": [ + "2.0.0dev0" + ], + "image_tags": [ + "2.32.12", + "2.32.11", + "2.32.10", + "2.32.9", + "2.32.8" + ], + "binary": "aws", + "alternate_binaries": [], + "notes": "Requires AWS_PAGER= environment variable: docker run --rm -e AWS_PAGER= amazon/aws-cli help" + }, + { + "name": "Azure CLI", + "description": "Command-line interface for Microsoft Azure services.", + "source_repo": { + "type": "github", + "repo": "Azure/azure-cli" + }, + "image_repo": { + "type": "mcr", + "image": "mcr.microsoft.com/azure-cli" + }, + "category": "Cloud Provider CLI", + "subcategory": "Azure", + "homepage": "https://docs.microsoft.com/en-us/cli/azure/", + "source_releases": [ + "azure-cli-2.81.0", + "azure-cli-2.80.0", + "azure-cli-2.79.0", + "azure-cli-2.78.0", + "azure-cli-2.77.0" + ], + "image_tags": [ + "0.10.0", + "0.10.1", + "0.10.10", + "0.10.11", + "0.10.12" + ], + "binary": "az", + "alternate_binaries": [], + "notes": "Image from Microsoft Container Registry" + }, + { + "name": "Backstage", + "description": "Backstage is an open framework for building developer portals.", + "source_repo": { + "type": "github", + "repo": "backstage/backstage" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/giantswarm/backstage" + }, + "category": "CNCF", + "subcategory": "Application Development", + "homepage": "https://backstage.io/", + "source_releases": [ + "v1.45.3", + "v1.46.0-next.1", + "v1.45.2", + "v1.46.0-next.0", + "v1.45.1" + ], + "image_tags": [ + "0.88.1-6903c05f16de1b4477e429146a4e0a4ffd1fde29", + "0.88.1-3ba4e3d57f7986ee5f079cf1f9ba174a1bc4392a", + "0.87.1-e39fb11ff89f52cdb3bb3853115f7fd75f4c7c8d", + "0.87.1-7f0caf84805996fff6bdab642fa122dffe76e5f8", + "0.87.1-0cd9aefd1c2db2c6a4884c81039cb411f4e8d78c" + ], + "binary": "--help", + "alternate_binaries": [] + }, + { + "name": "Bank-Vaults", + "description": "Bank-Vaults is a Vault swiss-army knife: a K8s operator, Go client with automatic token renewal, automatic configuration, multiple unseal options and more.", + "source_repo": { + "type": "github", + "repo": "bank-vaults/bank-vaults" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/banzaicloud/bank-vaults" + }, + "category": "CNCF", + "subcategory": "Provisioning", + "homepage": "https://bank-vaults.dev/", + "source_releases": [ + "v1.32.0", + "v1.31.4", + "v1.31.3", + "v1.31.2", + "v1.31.1" + ], + "image_tags": [ + "1.20.0-dev.1", + "1.19.0", + "1.18.0", + "1.17.0", + "1.16.0" + ], + "binary": "bank-vaults", + "alternate_binaries": [] + }, + { + "name": "Base", + "description": "Ethereum Layer 2 blockchain built on OP Stack for secure, low-cost transactions.", + "source_repo": { + "type": "github", + "repo": "base-org/node" + }, + "image_repo": { + "type": "ghcr", + "image": "ghcr.io/base-org/node" + }, + "category": "Blockchain", + "subcategory": "Ethereum Client", + "homepage": "https://base.org/", + "source_releases": [ + "v0.14.3", + "v0.14.2", + "v0.14.1", + "v0.14.0", + "v0.13.5" + ], + "image_tags": [ + "pr-48", + "main", + "v0.2.0", + "latest", + "v0.2.1" + ], + "binary": "op-node", + "alternate_binaries": [] + }, + { + "name": "Benthos", + "description": "Stream processor for mundane data processing tasks.", + "source_repo": { + "type": "github", + "repo": "benthosdev/benthos" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/jeffail/benthos" + }, + "category": "Data Processing", + "subcategory": "Stream Processing", + "homepage": "https://www.benthos.dev/", + "source_releases": [ + "v4.72.0", + "v4.71.0", + "v4.70.0", + "v4.69.0", + "v4.69.0-rc1" + ], + "image_tags": [ + "4.27", + "4.27.0", + "4.27-cgo", + "4.27.0-cgo", + "4.26" + ], + "binary": "benthos", + "alternate_binaries": [] + }, + { + "name": "Besu", + "description": "Enterprise-grade Ethereum execution client supporting public and private networks.", + "source_repo": { + "type": "github", + "repo": "hyperledger/besu" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/hyperledger/besu" + }, + "category": "Blockchain", + "subcategory": "Ethereum Execution Client", + "homepage": "https://besu.hyperledger.org/", + "source_releases": [ + "25.11.0", + "25.10.0", + "25.10.0-RC2", + "25.10.0-RC1", + "25.9.0" + ], + "image_tags": [ + "25.11.0", + "25.10.0", + "25.10.0-RC2", + "25.10.0-RC1", + "25.9.0" + ], + "binary": "besu", + "alternate_binaries": [] + }, + { + "name": "BFE", + "description": "Open-source layer 7 load balancer derived from proprietary Baidu FrontEnd.", + "source_repo": { + "type": "github", + "repo": "bfenetworks/bfe" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/bfenetworks/bfe" + }, + "category": "CNCF", + "subcategory": "Management", + "homepage": "https://www.bfe-networks.net", + "source_releases": [ + "v1.8.0", + "v1.7.0", + "v1.6.0", + "v1.5.0", + "v1.4.0" + ], + "image_tags": [ + "latest", + "v-1.6.0", + "v-1.5.0", + "v-1.3.0", + "v-1.2.0" + ], + "binary": "--help", + "alternate_binaries": [] + }, + { + "name": "Bitcoin Core", + "description": "Reference implementation of the Bitcoin protocol.", + "source_repo": { + "type": "github", + "repo": "bitcoin/bitcoin" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/ruimarinho/bitcoin-core" + }, + "category": "Blockchain", + "subcategory": "Bitcoin Client", + "homepage": "https://bitcoincore.org/", + "source_releases": [ + "v28.3", + "v29.2", + "v30.0", + "v29.1", + "v28.2" + ], + "image_tags": [ + "0.18-alpine", + "0.21-alpine", + "0.19-alpine", + "0.20-alpine", + "0.17-alpine" + ], + "binary": "bitcoind", + "alternate_binaries": [ + "bitcoin-qt", + "bitcoin-cli", + "bitcoin-tx" + ] + }, + { + "name": "Bookkeeper", + "description": "Scalable, fault-tolerant, low-latency storage service optimized for append-only workloads.", + "source_repo": { + "type": "github", + "repo": "apache/bookkeeper" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/apache/bookkeeper" + }, + "category": "Apache", + "subcategory": "Distributed Storage", + "homepage": "https://bookkeeper.apache.org/", + "source_releases": [ + "release-4.17.2", + "release-4.16.7", + "release-4.17.1", + "release-4.16.6", + "release-4.17.0" + ], + "image_tags": [ + "4.17.2", + "4.16.7", + "4.17.0", + "4.16.6", + "4.17.1" + ], + "binary": "", + "alternate_binaries": [] + }, + { + "name": "bootc", + "description": "The bootc provides transactional, in-place operating system images and updates using OCI/Docker container images.", + "source_repo": { + "type": "github", + "repo": "bootc-dev/bootc" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/bootc/oxidized" + }, + "category": "CNCF", + "subcategory": "Container Runtime", + "homepage": "https://github.com/containers/bootc", + "source_releases": [ + "v1.11.0", + "v1.10.0", + "v1.9.0", + "v1.8.0", + "v1.7.1" + ], + "image_tags": [ + "0.35.0", + "0.34.3", + "latest", + "ecd0495c", + "renovate-oxidized-0-x" + ], + "binary": "", + "alternate_binaries": [] + }, + { + "name": "bpfman", + "description": "EBPF manager for Linux and Kubernetes - simplifies loading, unloading, and managing eBPF programs on nodes and container workloads.", + "source_repo": { + "type": "github", + "repo": "bpfman/bpfman" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/wrongerror/bpfman" + }, + "category": "CNCF", + "subcategory": "Provisioning", + "homepage": "https://bpfman.io/", + "source_releases": [ + "v0.5.6", + "v0.5.5", + "v0.5.4", + "v0.5.3", + "v0.5.2" + ], + "image_tags": [ + "10301309", + "10300042", + "10300003", + "10292309", + "10292247" + ], + "binary": "tcp-stats-go", + "alternate_binaries": [] + }, + { + "name": "Brigade", + "description": "Brigade is a full-featured, event-driven scripting platform built on top of Kubernetes.", + "source_repo": { + "type": "github", + "repo": "brigadecore/brigade" + }, + "image_repo": { + "type": "quay", + "image": "quay.io/vdice/brigade-worker" + }, + "category": "CNCF", + "subcategory": "Application Development", + "homepage": "https://brigade.sh/", + "source_releases": [ + "v2.6.0", + "v2.6.0-rc.2", + "v2.6.0-rc.1", + "v2.5.0", + "v2.5.0-rc.2" + ], + "image_tags": [ + "edge", + "9892e55", + "1abbbcd", + "a35ebb5", + "943d43e" + ], + "binary": "", + "alternate_binaries": [] + }, + { + "name": "Buildah", + "description": "Tool that facilitates building OCI container images.", + "source_repo": { + "type": "github", + "repo": "containers/buildah" + }, + "image_repo": { + "type": "quay", + "image": "quay.io/buildah/stable" + }, + "category": "Container Tools", + "subcategory": "Build Tools", + "homepage": "https://buildah.io/", + "source_releases": [ + "v1.42.2", + "v1.39.6", + "v1.39.5", + "v1.42.1", + "v1.41.6" + ], + "image_tags": [ + "v1.42.1", + "v1.42", + "v1", + "latest", + "v1.42.1-immutable" + ], + "binary": "buildah", + "alternate_binaries": [] + }, + { + "name": "Buildpacks", + "description": "CLI for building apps using Cloud Native Buildpacks.", + "source_repo": { + "type": "github", + "repo": "buildpacks/pack" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/codefresh/buildpacks" + }, + "category": "CNCF", + "subcategory": "Application Development", + "homepage": "https://buildpacks.io/", + "source_releases": [ + "v0.39.0", + "v0.39.0-rc2", + "v0.39.0-rc1", + "v0.38.2", + "v0.38.1" + ], + "image_tags": [ + "all", + "essential-5", + "nodejs-5", + "all-5", + "essential" + ], + "binary": "pack", + "alternate_binaries": [] + }, + { + "name": "Caddy", + "description": "Fast, multi-platform web server with automatic HTTPS.", + "source_repo": { + "type": "github", + "repo": "caddyserver/caddy" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/caddy" + }, + "category": "Web Server", + "subcategory": "HTTP Server", + "homepage": "https://caddyserver.com/", + "source_releases": [ + "v2.11.0-beta.1", + "v2.10.2", + "v2.10.1", + "v2.10.0", + "v2.10.0-beta.4" + ], + "image_tags": [ + "2.11.0-beta.1-builder-alpine", + "2.11.0-beta.1-builder", + "2.11.0-beta.1-alpine", + "2.11.0-beta.1", + "2.11-builder-alpine" + ], + "binary": "caddy", + "alternate_binaries": [] + }, + { + "name": "Cadence Workflow", + "description": "Cadence is a distributed, scalable, durable, and highly available fault-oblivious stateful code platform.", + "source_repo": { + "type": "github", + "repo": "cadence-workflow/cadence" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/ubercadence/server" + }, + "category": "CNCF", + "subcategory": "Provisioning", + "homepage": "https://cadenceworkflow.io/", + "source_releases": [ + "v1.3.7-prerelease23", + "v1.3.7-prerelease21", + "v1.3.7-prerelease20", + "v1.3.7-prerelease19", + "v1.3.7-prerelease18" + ], + "image_tags": [ + "v1.3.6-auto-setup", + "v1.3.6", + "v1.3.5-auto-setup", + "v1.3.5", + "v1.3.4-auto-setup" + ], + "binary": "", + "alternate_binaries": [], + "notes": "Changed to correct Uber Cadence repository" + }, + { + "name": "Camel", + "description": "Open-source integration framework based on Enterprise Integration Patterns with powerful Bean Integration.", + "source_repo": { + "type": "github", + "repo": "apache/camel" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/apache/camel-k" + }, + "category": "Apache", + "subcategory": "Data Integration", + "homepage": "https://camel.apache.org/", + "source_releases": [ + "camel-4.16.0", + "camel-4.15.0", + "camel-4.14.2", + "camel-4.14.1", + "camel-4.14.0" + ], + "image_tags": [ + "2.8.0-21-jdk", + "2.8.0-17-jdk", + "2.8.0", + "2.7.0-21-jdk", + "2.7.0-17-jdk" + ], + "binary": "", + "alternate_binaries": [], + "notes": "Camel K is the Kubernetes-native runtime for Camel" + }, + { + "name": "Capsule", + "description": "Capsule implements a multi-tenant and policy-based environment in your Kubernetes cluster.", + "source_repo": { + "type": "github", + "repo": "projectcapsule/capsule" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/clastix/capsule" + }, + "category": "CNCF", + "subcategory": "Policy Management", + "homepage": "https://capsule.clastix.io", + "source_releases": [ + "v0.12.0", + "v0.11.1", + "v0.11.0", + "v0.10.9", + "v0.10.8" + ], + "image_tags": [ + "v0.3.3", + "v0.3.2", + "v0.3.1", + "v0.3.0", + "v0.2.2" + ], + "binary": "manager", + "alternate_binaries": [] + }, + { + "name": "Cardano", + "description": "Proof-of-stake blockchain platform with peer-reviewed research.", + "source_repo": { + "type": "github", + "repo": "IntersectMBO/cardano-node" + }, + "image_repo": { + "type": "ghcr", + "image": "ghcr.io/intersectmbo/cardano-node" + }, + "category": "Blockchain", + "subcategory": "Blockchain Client", + "homepage": "https://cardano.org/", + "source_releases": [ + "10.6.1", + "10.5.3", + "10.5.2", + "10.6.0", + "10.5.1" + ], + "image_tags": [ + "8.7.3", + "8.3.0-pre", + "8.3.1-pre", + "8.4.0-pre", + "8.5.0-pre" + ], + "binary": "cardano-cli", + "alternate_binaries": [] + }, + { + "name": "Carina", + "description": "Carina: an high performance and ops-free local storage for kubernetes.", + "source_repo": { + "type": "github", + "repo": "carina-io/carina" + }, + "image_repo": { + "type": "quay", + "image": "quay.io/opsmxpublic/carina-instance" + }, + "category": "CNCF", + "subcategory": "Storage", + "homepage": "https://carina-io.github.io/", + "source_releases": [ + "v0.14.0", + "v0.13.0", + "v0.12.0", + "v0.11.1", + "v0.11.0" + ], + "image_tags": [ + "v1.15.6-prometheus1", + "latest", + "v5.1.2-carinaLogEnabled", + "v5.1.2-carinaUserLogEnabled_1", + "v0.0.0-fix-fd-leak-issue-4" + ], + "binary": "help", + "alternate_binaries": [] + }, + { + "name": "Cartography", + "description": "Cartography is a Python tool that consolidates infrastructure assets and the relationships between them in an intuitive graph view.", + "source_repo": { + "type": "github", + "repo": "cartography-cncf/cartography" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/williamjackson/cartography" + }, + "category": "CNCF", + "subcategory": "Provisioning", + "homepage": "https://cartography.dev", + "source_releases": [ + "0.122.0", + "0.121.0", + "0.120.0", + "0.119.0", + "0.118.0" + ], + "image_tags": [ + "0.61.0", + "0.60.0", + "0.59.0", + "0.57.0", + "0.56.0" + ], + "binary": "--help", + "alternate_binaries": [] + }, + { + "name": "Carvel", + "description": "Carvel provides a set of reliable, single-purpose, composable tools that aid in your application building, configuration, and deployment to Kubernetes.", + "source_repo": { + "type": "github", + "repo": "carvel-dev/ytt" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/luwang8494/carvel" + }, + "category": "CNCF", + "subcategory": "Application Development", + "homepage": "https://carvel.dev", + "source_releases": [ + "v0.52.1", + "v0.52.0", + "v0.51.2", + "v0.51.1", + "v0.51.0" + ], + "image_tags": [ + "sha256-a9ae3513be8b8fa5c66ce76dc5cb72ece3bf937e151e950e6186565d844d4b57.imgpkg", + "build-1726626553", + "build-1726622582", + "sha256-76eb96ab971a0c71faa234aaa35c21c34c4d83a0e7d7a91369d441f9a96a0367.imgpkg", + "build-1726207783" + ], + "binary": "", + "alternate_binaries": [] + }, + { + "name": "Cassandra", + "description": "Highly-scalable partitioned row store NoSQL database for distributed data management.", + "source_repo": { + "type": "github", + "repo": "apache/cassandra" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/cassandra" + }, + "category": "Apache", + "subcategory": "Distributed Storage", + "homepage": "https://cassandra.apache.org/", + "source_releases": [ + "cassandra-5.0.6", + "cassandra-5.0.5", + "cassandra-5.0.4", + "cassandra-5.0.3", + "cassandra-5.0.2" + ], + "image_tags": [ + "5.0.6-jammy", + "5.0.6", + "5.0-jammy", + "5.0", + "4.1.10-jammy" + ], + "binary": "nodetool", + "alternate_binaries": [] + }, + { + "name": "CDK for Kubernetes (CDK8s)", + "description": "CDK8s lets you define Kubernetes apps and components using familiar programming languages and object-oriented APIs.", + "source_repo": { + "type": "github", + "repo": "cdk8s-team/cdk8s" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/newrelic/nri-kubernetes" + }, + "category": "CNCF", + "subcategory": "Provisioning", + "homepage": "https://cdk8s.io/", + "source_releases": [ + "redirect", + "v1.0.0-beta.10", + "v1.0.0-beta.9", + "v1.0.0-beta.8", + "v1.0.0-beta.7" + ], + "image_tags": [ + "3.51.0", + "3.50.2", + "3.50.1", + "3.50.0", + "3.49.0" + ], + "binary": "", + "alternate_binaries": [] + }, + { + "name": "cert-manager", + "description": "Automatically provision and manage TLS certificates in Kubernetes.", + "source_repo": { + "type": "github", + "repo": "cert-manager/cert-manager" + }, + "image_repo": { + "type": "quay", + "image": "quay.io/jetstack/cert-manager-controller" + }, + "category": "CNCF", + "subcategory": "Provisioning", + "homepage": "https://cert-manager.io/", + "source_releases": [ + "v1.20.0-alpha.0", + "v1.19.1", + "v1.18.3", + "v1.19.0", + "v1.19.0-alpha.0" + ], + "image_tags": [ + "sha256-aa524bd6dd62fe69537f226ad393665b4f82ef15cf04a69b32cc8071aeb9a1bf.sig", + "v1.20.0-alpha.0", + "sha256-cd49e769e18ada1fd7b9a9bacc87c90db24c65cbfd4bf71694dda7ed40e91187.sig", + "v1.19.1", + "sha256-dc9d9cb1f27dcedd9e0c637e288c4dd409cb16865c3563f305f3a130e8a7f78b.sig" + ], + "binary": "controller", + "alternate_binaries": [] + }, + { + "name": "Certbot", + "description": "Tool for automatically obtaining and renewing Let's Encrypt SSL certificates.", + "source_repo": { + "type": "github", + "repo": "certbot/certbot" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/certbot/certbot" + }, + "category": "Security", + "subcategory": "Certificate Management", + "homepage": "https://certbot.eff.org/", + "source_releases": [ + "v5.2.1", + "v5.1.0", + "v5.0.0", + "v4.2.0" + ], + "image_tags": [ + "v5.2.1", + "v5.2.0", + "v5.1.0", + "v5.0.0", + "v4.2.0" + ], + "binary": "certbot", + "alternate_binaries": [] + }, + { + "name": "Chainlink", + "description": "Decentralized oracle network connecting smart contracts with real-world data.", + "source_repo": { + "type": "github", + "repo": "smartcontractkit/chainlink" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/smartcontract/chainlink" + }, + "category": "Blockchain", + "subcategory": "Oracle Network", + "homepage": "https://chain.link/", + "source_releases": [ + "v2.30.1", + "v2.29.0", + "v2.28.0", + "v2.27.0" + ], + "image_tags": [ + "2.30.1", + "2.29.0", + "2.28.0", + "2.27.0", + "2.26.0" + ], + "binary": "chainlink", + "alternate_binaries": [] + }, + { + "name": "Chaos Mesh", + "description": "Cloud native chaos engineering platform for Kubernetes - injects failures and tests resilience of distributed systems.", + "source_repo": { + "type": "github", + "repo": "chaos-mesh/chaos-mesh" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/pingcap/chaos-mesh" + }, + "category": "CNCF", + "subcategory": "Observability", + "homepage": "https://chaos-mesh.org/", + "source_releases": [ + "v2.8.0", + "v2.7.3", + "v2.7.2", + "v2.6.7", + "v2.7.1" + ], + "image_tags": [ + "v2.0.7", + "v2.0.6", + "v2.0.5", + "v1.2.4", + "v2.0.4" + ], + "binary": "sh", + "alternate_binaries": [] + }, + { + "name": "Chaosblade", + "description": "Easy-to-use and powerful chaos engineering experiment toolkit for testing system resilience and reliability.", + "source_repo": { + "type": "github", + "repo": "chaosblade-io/chaosblade" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/brodydocker/chaosblade" + }, + "category": "CNCF", + "subcategory": "Observability", + "homepage": "https://chaosblade.io/", + "source_releases": [ + "v1.8.0", + "v1.7.5", + "v1.7.4", + "v1.7.3", + "v1.7.2" + ], + "image_tags": [ + "0.1.0" + ], + "binary": "blade", + "alternate_binaries": [] + }, + { + "name": "Checkov", + "description": "Static analysis tool for infrastructure-as-code security scanning.", + "source_repo": { + "type": "github", + "repo": "bridgecrewio/checkov" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/bridgecrew/checkov" + }, + "category": "Security", + "subcategory": "Security", + "homepage": "https://www.checkov.io/", + "source_releases": [ + "3.2.495", + "3.2.494", + "3.2.493", + "3.2.492", + "3.2.491" + ], + "image_tags": [ + "3.2.495", + "3.2.494", + "3.2.493", + "3.2.492", + "latest" + ], + "binary": "checkov", + "alternate_binaries": [] + }, + { + "name": "Cilium", + "description": "EBPF-based Networking, Security, and Observability.", + "source_repo": { + "type": "github", + "repo": "cilium/cilium" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/cilium/cilium" + }, + "category": "CNCF", + "subcategory": "Networking", + "homepage": "https://cilium.io/", + "source_releases": [ + "v1.19.0-pre.3", + "v1.18.4", + "v1.17.10", + "v1.16.17", + "v1.19.0-pre.2" + ], + "image_tags": [ + "v1.19.0-pre.3", + "v1.18.4", + "v1.17.10", + "v1.16.17", + "v1.19.0-pre.2" + ], + "binary": "cilium", + "alternate_binaries": [] + }, + { + "name": "Cloud Custodian", + "description": "Rules engine for cloud security, cost optimization, and governance, DSL in yaml for policies to query, filter, and take actions on resources.", + "source_repo": { + "type": "github", + "repo": "cloud-custodian/cloud-custodian" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/drillinginfo/cloud-custodian" + }, + "category": "CNCF", + "subcategory": "Provisioning", + "homepage": "https://cloudcustodian.io/", + "source_releases": [ + "0.9.48.0", + "0.9.47.0", + "0.9.46.0", + "0.9.45.0", + "0.9.44.0" + ], + "image_tags": [ + "0.8.42.1", + "0.8.41.0", + "0.8.40.0", + "0.8.33.0", + "0.8.32.0" + ], + "binary": "custodian", + "alternate_binaries": [] + }, + { + "name": "CloudEvents", + "description": "Standardizing common eventing metadata and their location to help with event identification and routing.", + "source_repo": { + "type": "github", + "repo": "cloudevents/spec" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/andrewvwebber/cloudevents" + }, + "category": "CNCF", + "subcategory": "Application Development", + "homepage": "https://cloudevents.io/", + "source_releases": [ + "ce@v1.0.2", + "ce@v1.0.1", + "ce@v1.0", + "cesql@v1.0.0", + "v1.0-rc1" + ], + "image_tags": [ + "ed9a401d", + "7fedb3c7", + "357e53ee", + "934c0f8c", + "c5141523" + ], + "binary": "cloudevents", + "alternate_binaries": [] + }, + { + "name": "CloudNativePG", + "description": "CloudNativePG is a comprehensive platform designed to seamlessly manage PostgreSQL databases within Kubernetes environments,.", + "source_repo": { + "type": "github", + "repo": "cloudnative-pg/cloudnative-pg" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/betonnecmi/cloudnativepg" + }, + "category": "CNCF", + "subcategory": "Application Development", + "homepage": "https://www.cloudnative-pg.io/", + "source_releases": [ + "v1.28.0-rc2", + "v1.28.0-rc1", + "v1.27.1", + "v1.26.2", + "v1.25.4" + ], + "image_tags": [ + "17.3.12", + "17.3.11", + "17.3.10", + "17.3.9", + "17.3.8" + ], + "binary": "--help", + "alternate_binaries": [] + }, + { + "name": "Clusternet", + "description": "Managing your Kubernetes clusters (including public, private, edge, etc.) as easily as visiting the Internet.", + "source_repo": { + "type": "github", + "repo": "clusternet/clusternet" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/clusternet/clusternet-agent" + }, + "category": "CNCF", + "subcategory": "Management", + "homepage": "https://clusternet.io", + "source_releases": [ + "v0.18.1", + "v0.17.4", + "v0.17.3", + "v0.16.1", + "v0.18.0" + ], + "image_tags": [ + "v0.18.1", + "v0.17.4", + "v0.18.0", + "v0.16.1", + "v0.17.3" + ], + "binary": "clusternet-agent", + "alternate_binaries": [] + }, + { + "name": "Clusterpedia", + "description": "Clusterpedia is used for complex resources search across multiple clusters, support simultaneous search of a single kind of resource or multiple kinds of resources existing in multiple clusters.", + "source_repo": { + "type": "github", + "repo": "clusterpedia-io/clusterpedia" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/deeplythink/clusterpedia-apiserver" + }, + "category": "CNCF", + "subcategory": "Management", + "homepage": "https://clusterpedia.io", + "source_releases": [ + "v0.9.0", + "v0.9.0-beta.3", + "v0.9.0-beta.2", + "v0.9.0-beta.1", + "v0.9.0-beta.0" + ], + "image_tags": [ + "v0.3.0", + "latest" + ], + "binary": "apiserver", + "alternate_binaries": [] + }, + { + "name": "CNI-Genie", + "description": "CNI-Genie for choosing pod network of your choice during deployment time.", + "source_repo": { + "type": "github", + "repo": "cni-genie/CNI-Genie" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/airbyte/source-opsgenie" + }, + "category": "CNCF", + "subcategory": "Networking", + "homepage": "https://cnigenie.netlify.app", + "source_releases": [ + "v3.0", + "v2.0", + "v1.0", + "v1.0-beta.1" + ], + "image_tags": [ + "0.5.12", + "0.5.11", + "0.5.10", + "0.5.9", + "0.5.8" + ], + "binary": "--help", + "alternate_binaries": [] + }, + { + "name": "composefs", + "description": "A project that combines Linux kernel features to provide read-only mountable filesystem trees stacking on top of an underlying \"lower\" Linux filesystem,.", + "source_repo": { + "type": "github", + "repo": "composefs/composefs" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/orimanabu/myhttpd-composefs" + }, + "category": "CNCF", + "subcategory": "Container Runtime", + "homepage": "https://github.com/containers/composefs", + "source_releases": [ + "v1.0.8", + "v1.0.7", + "v1.0.6", + "v1.0.5", + "v1.0.4" + ], + "image_tags": [ + "latest" + ], + "binary": "", + "alternate_binaries": [] + }, + { + "name": "Confidential Containers", + "description": "Confidential Containers is an open source community working to enable cloud native confidential computing by leveraging Trusted Execution Environments to protect containers and data.", + "source_repo": { + "type": "github", + "repo": "confidential-containers/confidential-containers" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/elementgreen/confidential-containers" + }, + "category": "CNCF", + "subcategory": "Provisioning", + "homepage": "https://confidentialcontainers.org/", + "source_releases": [ + "v0.17.0", + "v0.16.0", + "v0.15.0", + "v0.14.0", + "v0.13.0" + ], + "image_tags": [ + "osc-cloud-api-adaptor-rhel9-fix" + ], + "binary": "--help", + "alternate_binaries": [] + }, + { + "name": "Connect RPC", + "description": "Connect is a family of libraries for building browser and gRPC-compatible HTTP APIs.", + "source_repo": { + "type": "github", + "repo": "connectrpc/connect-go" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/google/apigee-connect-agent" + }, + "category": "CNCF", + "subcategory": "Management", + "homepage": "https://connectrpc.com/", + "source_releases": [ + "v1.19.1", + "v1.19.0", + "v1.18.1", + "v1.18.0", + "v1.17.0" + ], + "image_tags": [ + "1.8.1", + "1.7.4", + "1.8.0", + "1.7.3", + "1.6.9" + ], + "binary": "--help", + "alternate_binaries": [] + }, + { + "name": "Consul", + "description": "Service mesh solution providing service discovery, configuration, and segmentation.", + "source_repo": { + "type": "github", + "repo": "hashicorp/consul" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/hashicorp/consul" + }, + "category": "Service Mesh", + "subcategory": "Service Mesh", + "homepage": "https://www.consul.io/", + "source_releases": [ + "ent-changelog-1.22.0", + "ent-changelog-1.20.9", + "ent-changelog-1.20.8", + "ent-changelog-1.20.13", + "ent-changelog-1.20.12" + ], + "image_tags": [ + "1.22", + "1.22.1", + "1.22.1-ubi", + "1.22.0", + "1.22.0-ubi" + ], + "binary": "consul -help", + "alternate_binaries": [] + }, + { + "name": "Container Network Interface (CNI)", + "description": "Container Network Interface - networking for Linux containers.", + "source_repo": { + "type": "github", + "repo": "containernetworking/cni" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/geonetwork" + }, + "category": "CNCF", + "subcategory": "Container Runtime", + "homepage": "https://www.cni.dev/", + "source_releases": [ + "v1.3.0", + "v1.2.3", + "v1.2.2", + "v1.2.1", + "v1.2.0" + ], + "image_tags": [ + "3.12.12-postgres", + "3.12.12", + "3.12-postgres", + "3.12", + "4.4.9" + ], + "binary": "-h", + "alternate_binaries": [] + }, + { + "name": "containerd", + "description": "Containerd is an industry-standard container runtime with an emphasis on simplicity, robustness, and portability.", + "source_repo": { + "type": "github", + "repo": "containerd/containerd" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/rancher/containerd" + }, + "category": "CNCF", + "subcategory": "Container Runtime", + "homepage": "https://containerd.io/", + "source_releases": [ + "v2.2.0", + "v2.1.5", + "v2.0.7", + "v1.7.29", + "api/v1.10.0" + ], + "image_tags": [ + "v1.3.6-k3s2" + ], + "binary": "ctr", + "alternate_binaries": [] + }, + { + "name": "ContainerSSH", + "description": "ContainerSSH launches a new container for each SSH connection in Kubernetes, Podman or Docker.", + "source_repo": { + "type": "github", + "repo": "ContainerSSH/ContainerSSH" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/containerssh/containerssh" + }, + "category": "CNCF", + "subcategory": "Provisioning", + "homepage": "https://containerssh.io", + "source_releases": [ + "v0.5.2", + "v0.5.1", + "v0.5.0", + "v0.5.0-alpha.1", + "v0.4.1" + ], + "image_tags": [ + "0.3-20250119", + "0.3", + "0.3.1-20250119", + "0.3.1", + "0.4.0-20250119" + ], + "binary": "--help", + "alternate_binaries": [] + }, + { + "name": "Contour", + "description": "Contour is a Kubernetes ingress controller using Envoy proxy.", + "source_repo": { + "type": "github", + "repo": "projectcontour/contour" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/projectcontour/contour" + }, + "category": "CNCF", + "subcategory": "Management", + "homepage": "https://projectcontour.io", + "source_releases": [ + "v1.33.0", + "v1.32.1", + "v1.31.2", + "v1.30.5", + "v1.32.0" + ], + "image_tags": [ + "v1.20.2", + "v1.20.1", + "v1.20.0", + "v1.20.0-beta.1", + "v1.18.3" + ], + "binary": "contour", + "alternate_binaries": [] + }, + { + "name": "Copa", + "description": "🧵 CLI tool for directly patching container images!.", + "source_repo": { + "type": "github", + "repo": "project-copacetic/copacetic" + }, + "image_repo": { + "type": "quay", + "image": "quay.io/lib/alpine" + }, + "category": "CNCF", + "subcategory": "Provisioning", + "homepage": "https://github.com/project-copacetic/copacetic", + "source_releases": [ + "v0.12.0", + "v0.12.0-rc.3", + "v0.12.0-rc.2", + "v0.12.0-rc.1", + "v0.11.1" + ], + "image_tags": [ + "3", + "3.19", + "3.19.8", + "3.20", + "3.20.7" + ], + "binary": "", + "alternate_binaries": [] + }, + { + "name": "CoreDNS", + "description": "Fast and flexible DNS server written in Go that chains plugins - serves as the default DNS server in Kubernetes clusters.", + "source_repo": { + "type": "github", + "repo": "coredns/coredns" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/coredns/coredns" + }, + "category": "CNCF", + "subcategory": "Management", + "homepage": "https://coredns.io/", + "source_releases": [ + "v1.13.1", + "v1.13.0", + "v1.12.4", + "v1.12.3", + "v1.12.2" + ], + "image_tags": [ + "1.13.1", + "1.13.0", + "1.12.4", + "latest", + "riscv64-1.13.1" + ], + "binary": "coredns", + "alternate_binaries": [] + }, + { + "name": "Cortex", + "description": "A horizontally scalable, highly available, multi-tenant, long term Prometheus.", + "source_repo": { + "type": "github", + "repo": "cortexproject/cortex" + }, + "image_repo": { + "type": "quay", + "image": "quay.io/cortexproject/cortex" + }, + "category": "CNCF", + "subcategory": "Observability", + "homepage": "https://cortexmetrics.io/", + "source_releases": [ + "v1.20.1", + "v1.20.0", + "v1.20.0-rc.1", + "v1.20.0-rc.0", + "v1.19.1" + ], + "image_tags": [ + "master-394ec36", + "master-55dd382", + "v1.20.1", + "master-1b658c0", + "master-5140eed" + ], + "binary": "--help", + "alternate_binaries": [] + }, + { + "name": "Cosign", + "description": "Container image signing and verification tool.", + "source_repo": { + "type": "github", + "repo": "sigstore/cosign" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/bitnami/cosign" + }, + "category": "Security", + "subcategory": "Signing", + "homepage": "https://www.sigstore.dev/", + "source_releases": [ + "v3.0.2", + "v3.0.1", + "v2.6.1", + "v2.6.0", + "v2.5.3" + ], + "image_tags": [ + "latest", + "sha256-d12ccd9b72d3fc03bcffbb3f0eba118b6de63934d46320451d4750014a49e760", + "sha256-d12ccd9b72d3fc03bcffbb3f0eba118b6de63934d46320451d4750014a49e760.sig", + "sha256-9a991ccf580bbcbc0cf142eaa88b88e61b23e879b62d09980eb5738130a69257.att", + "sha256-09b40be07073e7b206a7d6f080da45d515a889bf65a11550385567215531cee9" + ], + "binary": "cosign", + "alternate_binaries": [] + }, + { + "name": "Couchdb", + "description": "Multi-master sync NoSQL database with HTTP/JSON API for reliability and ease of use.", + "source_repo": { + "type": "github", + "repo": "apache/couchdb" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/apache/couchdb" + }, + "category": "Apache", + "subcategory": "Database", + "homepage": "https://couchdb.apache.org/", + "source_releases": [ + "nouveau-0.1", + "fauxton", + "3.5.1", + "3.5.1-RC1", + "3.5.0" + ], + "image_tags": [ + "3.5-nouveau", + "3.5", + "3.5.1-nouveau", + "3.5.1", + "3.5.0-nouveau" + ], + "binary": "", + "alternate_binaries": [] + }, + { + "name": "Cozystack", + "description": "Cozystack is a free PaaS platform and framework for building private clouds and providing users/customers with managed Kubernetes, KubeVirt-based VMs, databases as a service, NATS,.", + "source_repo": { + "type": "github", + "repo": "cozystack/cozystack" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/kklinch0/cozystack" + }, + "category": "CNCF", + "subcategory": "Platform", + "homepage": "https://cozystack.io", + "source_releases": [ + "v0.38.3", + "v0.38.2", + "v0.38.1", + "v0.37.9", + "v0.38.0" + ], + "image_tags": [ + "0.26.1.4", + "0.26.1.3", + "0.26.1.2", + "0.26.1.1", + "0.26.1.0" + ], + "binary": "cozystack-assets-server", + "alternate_binaries": [] + }, + { + "name": "Crane", + "description": "Tool for interacting with remote container registries.", + "source_repo": { + "type": "github", + "repo": "google/go-containerregistry" + }, + "image_repo": { + "type": "gcr", + "image": "gcr.io/go-containerregistry/crane" + }, + "category": "Container Tools", + "subcategory": "Image Tools", + "homepage": "https://github.com/google/go-containerregistry", + "source_releases": [ + "v0.20.7", + "v0.20.6", + "v0.20.5", + "v0.20.4", + "v0.20.3" + ], + "image_tags": [ + "098045d5e61ff426a61a0eecc19ad0c433cd35a9", + "c195f151efe3369874c72662cd69ad43ee485128", + "debug", + "deprecated-public-image-0c618fd72928b2c07bf6b6fcb090de90630f7fd5d4f8ac29cb7b92c0208d578d", + "deprecated-public-image-5dabde6e1bfc2060157b2fa439ba44531ad48a743de7dccd44dd8fb24ca97c0d" + ], + "binary": "crane", + "alternate_binaries": [], + "notes": "Using GCR image instead of GHCR due to access restrictions" + }, + { + "name": "CRI-O", + "description": "Open Container Initiative-based implementation of Kubernetes Container Runtime Interface.", + "source_repo": { + "type": "github", + "repo": "cri-o/cri-o" + }, + "image_repo": { + "type": "quay", + "image": "quay.io/saschagrunert/cri-o" + }, + "category": "CNCF", + "subcategory": "Container Runtime", + "homepage": "https://cri-o.io/", + "source_releases": [ + "v1.34.3", + "v1.33.7", + "v1.32.11", + "v1.34.2", + "v1.33.6" + ], + "image_tags": [ + "sha256-9555cdb4d5e1723b027f5c8f5e03a2360d315f34d996c75a42f41c32d9d65839", + "592e805f2423ba55054a16d3a7cc66499e2c0dac-arm64", + "sha256-a14b5e36692943f5ff2e5b41de8ee179e50269c001014cb28134740b93f0ab37", + "592e805f2423ba55054a16d3a7cc66499e2c0dac-amd64", + "sha256-f044f5950d2fec3a3ce079806ae691f607c73b244253c4972c83c9095c8d14ae" + ], + "binary": "crio", + "alternate_binaries": [] + }, + { + "name": "Crossplane", + "description": "Crossplane is the cloud native control plane framework that allows you to build control planes without needing to write code.", + "source_repo": { + "type": "github", + "repo": "crossplane/crossplane" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/crossplane/crossplane" + }, + "category": "CNCF", + "subcategory": "Management", + "homepage": "https://crossplane.io/", + "source_releases": [ + "v2.1.3", + "v2.0.6", + "v2.1.2", + "v2.0.5", + "v1.20.4" + ], + "image_tags": [ + "v2.2.0-rc.0.55.g771f62084", + "v2.2.0-rc.0.53.gbaa51c02c", + "v2.2.0-rc.0.49.g32b0e99b6", + "v2.1.3-stable", + "v2.0.6-stable" + ], + "binary": "--help", + "alternate_binaries": [] + }, + { + "name": "CubeFS", + "description": "| Community Meeting| |------------------| | The CubeFS Project holds bi-weekly community online meeting.", + "source_repo": { + "type": "github", + "repo": "cubefs/cubefs" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/cubefs/cubefs" + }, + "category": "CNCF", + "subcategory": "Container Runtime", + "homepage": "https://cubefs.io/", + "source_releases": [ + "v3.5.2", + "v3.5.1", + "v3.5.0", + "v3.4.0-beta_rdma", + "v3.4.0" + ], + "image_tags": [ + "blobstore-v3.2.0" + ], + "binary": "", + "alternate_binaries": [] + }, + { + "name": "curl", + "description": "Command-line tool for transferring data with URLs - supports HTTP, HTTPS, FTP, and many other protocols for data transfer.", + "source_repo": { + "type": "github", + "repo": "curl/curl" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/curlimages/curl" + }, + "category": "System Utility", + "subcategory": "HTTP Client", + "homepage": "https://curl.se/", + "source_releases": [ + "curl-8_17_0", + "curl-8_16_0", + "curl-8_15_0", + "curl-8_14_1", + "curl-8_14_0" + ], + "image_tags": [ + "8.17.0", + "8.16.0", + "8.15.0", + "8.14.1", + "8.13.0" + ], + "binary": "curl", + "alternate_binaries": [] + }, + { + "name": "Curve", + "description": "Curve is a distributed storage system designed and developed independently by NetEase, featured with high performance, high availability, high reliability and well expansibility,.", + "source_repo": { + "type": "github", + "repo": "opencurve/curve" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/openeuler/curve" + }, + "category": "CNCF", + "subcategory": "Storage", + "homepage": "http://www.opencurve.io/", + "source_releases": [ + "v1.2.7-rc6", + "v1.2.7-rc5", + "v1.2.7-rc4", + "v2.8.0-beta", + "v1.2.7-rc3" + ], + "image_tags": [ + "1.0.0-oe2403sp1", + "latest" + ], + "binary": "pre-commit.sample", + "alternate_binaries": [] + }, + { + "name": "Dapr", + "description": "Dapr is a portable runtime for building distributed applications across cloud and edge, combining event-driven architecture with workflow orchestration.", + "source_repo": { + "type": "github", + "repo": "dapr/dapr" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/daprio/dapr" + }, + "category": "CNCF", + "subcategory": "Application Development", + "homepage": "https://dapr.io", + "source_releases": [ + "v1.16.4", + "v1.16.3", + "v1.16.2", + "v1.15.13", + "v1.16.2-rc.2" + ], + "image_tags": [ + "1.16.4-mariner", + "1.16.4", + "1.16.4-stablecomponents-mariner", + "1.16.4-stablecomponents", + "latest" + ], + "binary": "dapr", + "alternate_binaries": [] + }, + { + "name": "Dasel", + "description": "Query and update data structures using selector syntax (JSON, YAML, TOML, XML).", + "source_repo": { + "type": "github", + "repo": "TomWright/dasel" + }, + "image_repo": { + "type": "ghcr", + "image": "ghcr.io/tomwright/dasel" + }, + "category": "System Utility", + "subcategory": "Data Processing", + "homepage": "https://daseldocs.tomwright.me/", + "source_releases": [ + "v2.8.1", + "v2.8.0", + "v2.7.0", + "v2.6.0", + "v2.5.0" + ], + "image_tags": [ + "v1.2.0", + "v1.3.0", + "v1.4.0", + "v1.4.1", + "v1.5.0" + ], + "binary": "dasel", + "alternate_binaries": [] + }, + { + "name": "Devfile", + "description": "Kube-native API for cloud development workspaces specification.", + "source_repo": { + "type": "github", + "repo": "devfile/api" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/slevin017/devfile" + }, + "category": "CNCF", + "subcategory": "Application Development", + "homepage": "https://devfile.io", + "source_releases": [ + "v2.3.0", + "v2.2.2", + "v2.2.1", + "v2.2.1-alpha", + "v2.2.0" + ], + "image_tags": [ + "v0.0.6", + "v0.0.5", + "v0.0.4", + "v0.0.3", + "v0.0.2" + ], + "binary": "unlink", + "alternate_binaries": [] + }, + { + "name": "DevSpace", + "description": "DevSpace - The Fastest Developer Tool for Kubernetes ⚡ Automate your deployment workflow with DevSpace and develop software directly inside Kubernetes.", + "source_repo": { + "type": "github", + "repo": "devspace-sh/devspace" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/devspacesh/devspace" + }, + "category": "CNCF", + "subcategory": "Application Development", + "homepage": "https://devspace.sh", + "source_releases": [ + "v6.3.18", + "v6.3.18-alpha.0", + "v6.3.17", + "v6.3.17-alpha.0", + "v6.3.16" + ], + "image_tags": [ + "6.3.18", + "6.3", + "6.3.18-alpha.0", + "6.3-alpha.0", + "6.3.17" + ], + "binary": "devspace", + "alternate_binaries": [] + }, + { + "name": "DevStream", + "description": "DevStream: the open-source DevOps toolchain manager (DTM).", + "source_repo": { + "type": "github", + "repo": "devstream-io/devstream" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/pruthiraj/devstream" + }, + "category": "CNCF", + "subcategory": "Provisioning", + "homepage": "https://www.devstream.io/", + "source_releases": [ + "v0.13.3", + "v0.13.2", + "v0.13.1", + "v0.13.0", + "v0.12.0" + ], + "image_tags": [ + "latest" + ], + "binary": "", + "alternate_binaries": [] + }, + { + "name": "Dex", + "description": "OpenID Connect (OIDC) identity and OAuth 2.0 provider with pluggable connectors for federated authentication.", + "source_repo": { + "type": "github", + "repo": "dexidp/dex" + }, + "image_repo": { + "type": "quay", + "image": "quay.io/dexidp/dex" + }, + "category": "CNCF", + "subcategory": "Provisioning", + "homepage": "https://dexidp.io/", + "source_releases": [ + "v2.44.0", + "v2.43.1", + "v2.43.0", + "v2.42.1", + "v2.42.0" + ], + "image_tags": [ + "latest", + "master", + "dependabot_go_modules_github.com_go-ldap_ldap_v3-3.3.0", + "dependabot_docker_golang-1.16.3-alpine3.13", + "dependabot_go_modules_github.com_go-sql-driver_mysql-1.6.0" + ], + "binary": "", + "alternate_binaries": [] + }, + { + "name": "DigitalOcean CLI", + "description": "Official command-line interface for DigitalOcean API - manages Droplets, Kubernetes clusters, databases, and cloud infrastructure.", + "source_repo": { + "type": "github", + "repo": "digitalocean/doctl" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/digitalocean/doctl" + }, + "category": "Cloud Provider CLI", + "subcategory": "DigitalOcean", + "homepage": "https://docs.digitalocean.com/reference/doctl/", + "source_releases": [ + "v1.147.0", + "v1.146.0", + "v1.145.0", + "v1.144.0-beta", + "v1.143.0" + ], + "image_tags": [ + "1.147.0", + "1.146.0", + "1.146.0-beta", + "1.145.0", + "1.144.0-beta" + ], + "binary": "doctl", + "alternate_binaries": [] + }, + { + "name": "Distribution", + "description": "The toolkit to pack, ship, store, and deliver container content.", + "source_repo": { + "type": "github", + "repo": "distribution/distribution" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/distribution/distribution" + }, + "category": "CNCF", + "subcategory": "Provisioning", + "homepage": "https://github.com/distribution/distribution", + "source_releases": [ + "v3.0.0", + "v3.0.0-rc.4", + "v3.0.0-rc.3", + "v3.0.0-rc.2", + "v3.0.0-rc.1" + ], + "image_tags": [ + "3.0", + "3.0.0", + "3.0.0-rc.4", + "3.0.0-rc.3", + "3.0.0-rc.2" + ], + "binary": "--help", + "alternate_binaries": [] + }, + { + "name": "Dive", + "description": "Tool for exploring Docker image layers and analyzing layer contents.", + "source_repo": { + "type": "github", + "repo": "wagoodman/dive" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/wagoodman/dive" + }, + "category": "Container Tools", + "subcategory": "Image Tools", + "homepage": "https://github.com/wagoodman/dive", + "source_releases": [ + "v0.13.1", + "v0.13.0", + "v0.12.0", + "v0.11.0", + "v0.10.0" + ], + "image_tags": [ + "v0.13.1", + "v0.13", + "0.13.0", + "v0.12", + "v0.12.0" + ], + "binary": "dive", + "alternate_binaries": [] + }, + { + "name": "DolphinScheduler", + "description": "Modern data orchestration platform for agile, low-code development of high-performance workflows.", + "source_repo": { + "type": "github", + "repo": "apache/dolphinscheduler" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/apache/dolphinscheduler" + }, + "category": "Apache", + "subcategory": "Workflow & Orchestration", + "homepage": "https://dolphinscheduler.apache.org/", + "source_releases": [ + "3.3.2", + "3.3.1", + "3.3.0-alpha", + "3.2.2", + "3.2.1" + ], + "image_tags": [ + "2.0.7", + "2.0.6", + "2.0.4", + "2.0.5", + "2.0.3" + ], + "binary": "", + "alternate_binaries": [] + }, + { + "name": "Doris", + "description": "Easy-to-use, high-performance real-time analytical database based on MPP architecture.", + "source_repo": { + "type": "github", + "repo": "apache/doris" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/apache/doris" + }, + "category": "Apache", + "subcategory": "Database", + "homepage": "https://doris.apache.org/", + "source_releases": [ + "3.1.3-rc02", + "4.0.1-rc02", + "3.1.2-rc01", + "4.0.0-rc02", + "3.1.1-rc01" + ], + "image_tags": [ + "broker-3.0.7-rc01-1204", + "ms-3.0.7-rc01-1204", + "be-3.0.7-rc01-1204", + "fe-3.0.7-rc01-1204", + "build-env-ldb-toolchain-no-avx2-latest" + ], + "binary": "", + "alternate_binaries": [], + "notes": "Multiple images: fe (Frontend), be (Backend), ms (Meta Service), broker" + }, + { + "name": "Dragonfly", + "description": "Dragonfly is an open source P2P-based file distribution and image acceleration system.", + "source_repo": { + "type": "github", + "repo": "dragonflyoss/dragonfly" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/dragonflydb/dragonfly" + }, + "category": "CNCF", + "subcategory": "Provisioning", + "homepage": "https://d7y.io/", + "source_releases": [ + "v2.3.5-beta.0", + "v2.3.4", + "v2.3.4-rc.2", + "v2.3.4-rc.1", + "v2.3.4-rc.0" + ], + "image_tags": [ + "v1.27.1" + ], + "binary": "--help", + "alternate_binaries": [] + }, + { + "name": "Drill", + "description": "Distributed MPP query layer supporting SQL and alternative query languages against NoSQL and Hadoop systems.", + "source_repo": { + "type": "github", + "repo": "apache/drill" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/apache/drill" + }, + "category": "Apache", + "subcategory": "Query & Analytics", + "homepage": "https://drill.apache.org/", + "source_releases": [ + "drill-1.22.0", + "drill-1.21.2", + "drill-1.21.1", + "drill-1.21.0", + "drill-1.20.3" + ], + "image_tags": [ + "1.22.0-openjdk-17", + "1.22.0-openjdk-11", + "1.22.0", + "latest", + "master-openjdk-17" + ], + "binary": "", + "alternate_binaries": [] + }, + { + "name": "Druid", + "description": "High-performance real-time analytics database for fast aggregations and queries.", + "source_repo": { + "type": "github", + "repo": "apache/druid" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/apache/druid" + }, + "category": "Apache", + "subcategory": "Database", + "homepage": "https://druid.apache.org/", + "source_releases": [ + "druid-35.0.0", + "druid-34.0.0", + "druid-33.0.0", + "druid-32.0.1", + "druid-31.0.2" + ], + "image_tags": [ + "35.0.1-rc2", + "35.0.1-rc1", + "35.0.0", + "35.0.0-rc1", + "34.0.0" + ], + "binary": "run-druid", + "alternate_binaries": [] + }, + { + "name": "Dubbo-Admin", + "description": "Administration console for Apache Dubbo microservice framework.", + "source_repo": { + "type": "github", + "repo": "apache/dubbo-admin" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/apache/dubbo-admin" + }, + "category": "Apache", + "subcategory": "Other", + "homepage": "https://dubbo.apache.org/", + "source_releases": [ + "0.6.0", + "0.5.0", + "0.4.0", + "0.3.0", + "0.2.0" + ], + "image_tags": [ + "0.6.0", + "0.5.0-SNAPSHOT", + "0.5.0", + "0.4.0", + "0.3.0" + ], + "binary": "", + "alternate_binaries": [] + }, + { + "name": "Easegress", + "description": "Cloud native traffic orchestration system for API gateway, service mesh sidecar, and traffic management with high performance.", + "source_repo": { + "type": "github", + "repo": "easegress-io/easegress" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/megaease/easegress" + }, + "category": "CNCF", + "subcategory": "Service Mesh", + "homepage": "https://megaease.com/easegress", + "source_releases": [ + "v2.10.1", + "v2.9.4", + "v2.9.3", + "v2.8.0", + "v2.7.5" + ], + "image_tags": [ + "v2.10.1", + "v2.9.4", + "v2.9.3", + "v2.8.0", + "v2.7.5" + ], + "binary": "egbuilder", + "alternate_binaries": [] + }, + { + "name": "Elasticsearch", + "description": "Distributed search and analytics engine for full-text search.", + "source_repo": { + "type": "github", + "repo": "elastic/elasticsearch" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/elastic/elasticsearch" + }, + "category": "Database", + "subcategory": "Database", + "homepage": "https://www.elastic.co/elasticsearch/", + "source_releases": [ + "v9.2.2", + "v9.1.8", + "v8.19.8", + "v9.2.1", + "v9.1.7" + ], + "image_tags": [ + "9.1.8", + "8.19.8", + "sha256-4e6c6f5572b464507302d446171fcab61301e7eb5c703e834a24d23f7b713e5f", + "sha256-f599555d4c16809255bb7471ddd1314bbdbaaecae4d81fa75f09c2e08b5227de", + "sha256-06eb3a00771f6505b03c94d5105240fcaa0cd4b720a98a742473765801dc19b1" + ], + "binary": "elasticsearch", + "alternate_binaries": [] + }, + { + "name": "Emissary-Ingress", + "description": "Open source Kubernetes-native API gateway for microservices built on the Envoy Proxy.", + "source_repo": { + "type": "github", + "repo": "emissary-ingress/emissary" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/dwflynn/emissary-ingress" + }, + "category": "CNCF", + "subcategory": "API Gateway", + "homepage": "https://emissary-ingress.dev/", + "source_releases": [ + "v4.0.0-rc.1", + "v3.10.0", + "v3.9.1", + "chart/v8.9.1", + "v3.9.0" + ], + "image_tags": [ + "3.10.0", + "3.10.0-rc.3", + "3.10.0-rc.1a", + "3.10.0-rc.1", + "3.10.0-rc.0" + ], + "binary": "", + "alternate_binaries": [] + }, + { + "name": "Envoy", + "description": "Cloud-native high-performance edge/middle/service proxy.", + "source_repo": { + "type": "github", + "repo": "envoyproxy/envoy" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/envoyproxy/envoy" + }, + "category": "CNCF", + "subcategory": "Management", + "homepage": "https://www.envoyproxy.io", + "source_releases": [ + "v1.36.3", + "v1.35.7", + "v1.34.11", + "v1.33.13", + "v1.36.2" + ], + "image_tags": [ + "tools-dev-8147fa3a6b6fd1f42da8aa7a1f294719297303d2", + "tools-dev", + "google-vrp-dev-8147fa3a6b6fd1f42da8aa7a1f294719297303d2", + "google-vrp-dev", + "distroless-dev-8147fa3a6b6fd1f42da8aa7a1f294719297303d2" + ], + "binary": "envoy", + "alternate_binaries": [] + }, + { + "name": "Eraser", + "description": "Eraser uses vulnerability data to remove non-running images from all Kubernetes nodes in a cluster.", + "source_repo": { + "type": "github", + "repo": "eraser-dev/eraser" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/sozercan/eraser" + }, + "category": "CNCF", + "subcategory": "Management", + "homepage": "https://eraser-dev.github.io/eraser/", + "source_releases": [ + "v1.4.1", + "v1.5.0-beta.0", + "v1.4.0", + "v1.3.1", + "v1.4.0-beta.0" + ], + "image_tags": [ + "latest", + "master", + "420", + "430", + "dev" + ], + "binary": "--help", + "alternate_binaries": [] + }, + { + "name": "Erigon", + "description": "Ethereum execution client focused on performance and disk space efficiency.", + "source_repo": { + "type": "github", + "repo": "erigontech/erigon" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/erigontech/erigon" + }, + "category": "Blockchain", + "subcategory": "Ethereum Client", + "homepage": "https://erigon.tech/", + "source_releases": [ + "v3.3.1", + "v3.3.0", + "v3.2.3" + ], + "image_tags": [ + "latest", + "main-latest", + "main-61d4310", + "main-79b75cf", + "main-8669ec6" + ], + "binary": "erigon", + "alternate_binaries": [] + }, + { + "name": "Etcd", + "description": "Distributed, reliable key-value store for distributed systems configuration.", + "source_repo": { + "type": "github", + "repo": "etcd-io/etcd" + }, + "image_repo": { + "type": "quay", + "image": "quay.io/coreos/etcd" + }, + "category": "Database", + "subcategory": "etcd", + "homepage": "https://etcd.io/", + "source_releases": [ + "v3.6.6", + "v3.5.25", + "v3.4.39", + "v3.5.24", + "v3.4.38" + ], + "image_tags": [ + "v3.6.6-s390x", + "v3.6.6-ppc64le", + "v3.6.6-arm64", + "v3.6.6-amd64", + "v3.6.6" + ], + "binary": "etcdctl", + "alternate_binaries": [] + }, + { + "name": "etcd", + "description": "Distributed reliable key-value store for the most critical data of a distributed system.", + "source_repo": { + "type": "github", + "repo": "etcd-io/etcd" + }, + "image_repo": { + "type": "quay", + "image": "quay.io/coreos/etcd" + }, + "category": "CNCF", + "subcategory": "Management", + "homepage": "https://etcd.io/", + "source_releases": [ + "v3.6.6", + "v3.5.25", + "v3.4.39", + "v3.5.24", + "v3.4.38" + ], + "image_tags": [ + "v3.6.6-s390x", + "v3.6.6-ppc64le", + "v3.6.6-arm64", + "v3.6.6-amd64", + "v3.6.6" + ], + "binary": "etcdctl", + "alternate_binaries": [] + }, + { + "name": "EventMesh", + "description": "Serverless event middleware for building distributed event-driven applications.", + "source_repo": { + "type": "github", + "repo": "apache/eventmesh" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/apache/eventmesh" + }, + "category": "Apache", + "subcategory": "Streaming & Messaging", + "homepage": "https://eventmesh.apache.org/", + "source_releases": [ + "v1.11.0", + "v1.10.0", + "v1.9.0", + "v1.8.0", + "v1.7.0" + ], + "image_tags": [ + "v1.11.0", + "v1.9.0", + "v1.10.0", + "latest" + ], + "binary": "", + "alternate_binaries": [] + }, + { + "name": "external-secrets", + "description": "External Secrets Operator reads information from a third-party service like AWS Secrets Manager and automatically injects the values as Kubernetes Secrets.", + "source_repo": { + "type": "github", + "repo": "external-secrets/external-secrets" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/cleanstart/external-secrets" + }, + "category": "CNCF", + "subcategory": "Provisioning", + "homepage": "https://external-secrets.io/", + "source_releases": [ + "v1.1.1", + "helm-chart-1.1.1", + "v1.1.0", + "helm-chart-1.1.0", + "v1.0.0" + ], + "image_tags": [ + "1.1", + "1.1.0", + "latest", + "sha256-bbca1179a7c363fc4ee8e7d6a073ef73c5bbce300807924cbeb6b5ec88276c03.sig", + "sha256-aee71ccdbab459cbcc73df8880a8d45c9e58b5d5c6d7156f48376622c62cab19.sig" + ], + "binary": "--help", + "alternate_binaries": [] + }, + { + "name": "FabEdge", + "description": "Secure Edge Networking Solution Based On Kubernetes.", + "source_repo": { + "type": "github", + "repo": "FabEdge/fabedge" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/fabedge/strongswan" + }, + "category": "CNCF", + "subcategory": "Networking", + "homepage": "https://github.com/FabEdge/", + "source_releases": [ + "v0.8.1", + "v0.8.0", + "v0.7.0", + "v0.6.0", + "v0.5.0" + ], + "image_tags": [ + "5.9.9", + "5.9.1", + "latest" + ], + "binary": "--help", + "alternate_binaries": [] + }, + { + "name": "Falco", + "description": "Falco is a cloud native runtime security tool for Linux operating systems.", + "source_repo": { + "type": "github", + "repo": "falcosecurity/falco" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/falcosecurity/falco" + }, + "category": "CNCF", + "subcategory": "Provisioning", + "homepage": "https://falco.org/", + "source_releases": [ + "0.42.1", + "0.42.0", + "0.42.0-rc4", + "0.42.0-rc3", + "0.42.0-rc2" + ], + "image_tags": [ + "0.42.1-debian", + "0.42.1", + "latest", + "sha256-767c2ee00f8dd2d3ea1e85761a0ae2bbfc5ee944e601db2747b99ea022922354.sig", + "sha256-0ad5a831845a94eb3be7cf3b86844c390dce0fa33676751127ded122855712a6.sig" + ], + "binary": "falcoctl", + "alternate_binaries": [] + }, + { + "name": "Flatcar Container Linux", + "description": "A community Linux distribution designed for container workloads, with high security and low maintenance.", + "source_repo": { + "type": "github", + "repo": "flatcar/Flatcar" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/archlinux" + }, + "category": "CNCF", + "subcategory": "Platform", + "homepage": "https://www.flatcar.org/", + "source_releases": [], + "image_tags": [ + "latest", + "multilib-devel-20251019.0.436919", + "multilib-devel", + "base-devel-20251019.0.436919", + "base-devel" + ], + "binary": "bash", + "alternate_binaries": [] + }, + { + "name": "Flink", + "description": "Apache Flink is an open source stream processing framework with powerful stream- and batch-processing capabilities.", + "source_repo": { + "type": "github", + "repo": "apache/flink" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/apache/flink" + }, + "category": "Apache", + "subcategory": "Data Processing", + "homepage": "https://flink.apache.org/", + "source_releases": [ + "v0.4-rc1", + "release-2.2.0", + "release-2.2.0-rc2", + "release-2.2.0-rc1", + "release-2.1.1" + ], + "image_tags": [ + "2.2-java21", + "2.2.0-java21", + "2.2-scala_2.12-java21", + "2.2.0-scala_2.12-java21", + "2.2" + ], + "binary": "flink", + "alternate_binaries": [] + }, + { + "name": "Fluentd", + "description": "Fluentd: Unified Logging Layer (project under CNCF).", + "source_repo": { + "type": "github", + "repo": "fluent/fluentd" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/fluentd" + }, + "category": "CNCF", + "subcategory": "Logging", + "homepage": "https://www.fluentd.org/", + "source_releases": [ + "v1.19.1", + "v1.16.10", + "v1.19.0", + "v1.16.9", + "v1.16.8" + ], + "image_tags": [ + "v1.16.10-debian-1.0", + "v1.16-debian-1", + "v1.19.1-debian-1.0", + "v1.19.0-1.0", + "v1.19-debian-1" + ], + "binary": "--help", + "alternate_binaries": [] + }, + { + "name": "Fluid", + "description": "Fluid is an orchestration platform for elastic data abstraction and acceleration in cloud native environment.", + "source_repo": { + "type": "github", + "repo": "fluid-cloudnative/fluid" + }, + "image_repo": { + "type": "quay", + "image": "quay.io/giantswarm/upbound-provider-azure-fluidrelay" + }, + "category": "CNCF", + "subcategory": "Management", + "homepage": "https://fluid-cloudnative.github.io/", + "source_releases": [ + "v1.0.8", + "v1.0.7", + "v1.0.6", + "v1.0.5", + "v1.0.4" + ], + "image_tags": [ + "v2.2.0", + "v2.1.0", + "v2.0.1", + "v1.13.2", + "v2" + ], + "binary": "--help", + "alternate_binaries": [] + }, + { + "name": "Flux", + "description": "Open and extensible continuous delivery solution for Kubernetes.", + "source_repo": { + "type": "github", + "repo": "fluxcd/flux2" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/bitnamicharts/flux" + }, + "category": "CNCF", + "subcategory": "Application Development", + "homepage": "https://fluxcd.io/", + "source_releases": [ + "v2.7.5", + "v2.7.4", + "v2.7.3", + "v2.7.2", + "v2.7.1" + ], + "image_tags": [ + "2.4.36", + "2.4.35", + "2.4.34", + "2.4.33", + "2.4.32" + ], + "binary": "flux", + "alternate_binaries": [] + }, + { + "name": "Fonio", + "description": "Data first monitoring agent using (e)BPF, built on RedBPF.", + "source_repo": { + "type": "github", + "repo": "foniod/foniod" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/scpomedialab/fonio" + }, + "category": "CNCF", + "subcategory": "Monitoring", + "homepage": "https://ingraind.org/", + "source_releases": [ + "v1.1", + "v1.0.0" + ], + "image_tags": [ + "prod", + "staging", + "dev" + ], + "binary": "sh", + "alternate_binaries": [] + }, + { + "name": "Foundry", + "description": "Fast, portable Ethereum development toolkit written in Rust.", + "source_repo": { + "type": "github", + "repo": "foundry-rs/foundry" + }, + "image_repo": { + "type": "ghcr", + "image": "ghcr.io/foundry-rs/foundry" + }, + "category": "Blockchain", + "subcategory": "Development Tool", + "homepage": "https://getfoundry.sh/", + "source_releases": [ + "nightly-97fba0a51e335a174442b19d92b64df9d2ab72ab", + "nightly", + "nightly-d296f9eda0646f7e70e83db8815b4ea996954475", + "nightly-efdf0ff81807fa8dc426cbf1316503945aa5544e", + "nightly-9047369c4db5cd720ff942bac4a7cef10622fae4" + ], + "image_tags": [ + "master", + "latest", + "nightly", + "nightly-307576dfb9e94536177e940c2710045ada69d8d7", + "nightly-fb1f0aa3d6dcb285cc6132cde8d885a20eee2174" + ], + "binary": "forge", + "alternate_binaries": [ + "cast", + "anvil", + "chisel" + ] + }, + { + "name": "Ganache", + "description": "Personal Ethereum blockchain for development and testing.", + "source_repo": { + "type": "github", + "repo": "trufflesuite/ganache" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/trufflesuite/ganache" + }, + "category": "Blockchain", + "subcategory": "Development Tool", + "homepage": "https://trufflesuite.com/ganache/", + "source_releases": [ + "v7.9.0", + "v7.8.0", + "v7.7.7", + "v7.7.6", + "v7.7.5" + ], + "image_tags": [ + "v7.9.2", + "v7.9.1", + "v7.9.0", + "v7.8.0", + "v7.7.7" + ], + "binary": "cli.js", + "alternate_binaries": [] + }, + { + "name": "Geth (go-ethereum)", + "description": "Official Go implementation of the Ethereum protocol execution client.", + "source_repo": { + "type": "github", + "repo": "ethereum/go-ethereum" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/ethereum/client-go" + }, + "category": "Blockchain", + "subcategory": "Ethereum Execution Client", + "homepage": "https://geth.ethereum.org/", + "source_releases": [ + "v1.16.7", + "v1.16.6", + "v1.16.5", + "v1.16.4", + "v1.16.3" + ], + "image_tags": [ + "v1.16.7", + "v1.16.6", + "latest", + "alltools-latest", + "alltools-v1.16.7" + ], + "binary": "geth", + "alternate_binaries": [] + }, + { + "name": "Git", + "description": "Distributed version control system for tracking changes in source code.", + "source_repo": { + "type": "github", + "repo": "git/git" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/alpine/git" + }, + "category": "Version Control", + "subcategory": "Git", + "homepage": "https://git-scm.com/", + "source_releases": [ + "v2.52.0", + "v2.52.0-rc2", + "v2.52.0-rc1", + "v2.52.0-rc0", + "v2.51.2" + ], + "image_tags": [ + "v2.49.1", + "2.49.1", + "v2.49.0", + "2.49.0", + "v2.47.2" + ], + "binary": "git", + "alternate_binaries": [ + "git-lfs", + "git-shell" + ] + }, + { + "name": "GitHub CLI", + "description": "Gh is GitHub on the command line It brings pull requests, issues, and other GitHub concepts to the terminal next to where you are already working with git and your code.", + "source_repo": { + "type": "github", + "repo": "cli/cli" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/maniator/gh" + }, + "category": "Version Control", + "subcategory": "Git", + "homepage": "https://cli.github.com/", + "source_releases": [ + "v2.83.1", + "v2.83.0", + "v2.82.1", + "v2.82.0", + "v2.81.0" + ], + "image_tags": [ + "v2.83.1", + "v2.83.0", + "v2.82.1", + "v2.82.0", + "v2.81.0" + ], + "binary": "gh", + "alternate_binaries": [] + }, + { + "name": "GitLab CLI", + "description": "GitLab CLI tool for working with GitLab from the command line.", + "source_repo": { + "type": "github", + "repo": "profclems/glab" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/gitlab/glab" + }, + "category": "Version Control", + "subcategory": "Git", + "homepage": "https://gitlab.com/gitlab-org/cli", + "source_releases": [ + "v1.22.0", + "v1.21.1", + "v1.21.0", + "v1.20.0", + "v1.20.0-pre1" + ], + "image_tags": [ + "v1.79.0", + "v1.78.3", + "v1.78.2", + "v1.78.1", + "v1.78.0" + ], + "binary": "glab", + "alternate_binaries": [] + }, + { + "name": "GitLab Runner", + "description": "Run your CI/CD jobs and send the results back to GitLab.", + "source_repo": { + "type": "", + "repo": "" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/gitlab/gitlab-runner" + }, + "category": "CI/CD", + "subcategory": "GitLab", + "homepage": "https://docs.gitlab.com/runner/", + "source_releases": [], + "image_tags": [ + "latest", + "alpine-bleeding", + "bleeding", + "alpine-beb1a740", + "ubuntu-bleeding" + ], + "binary": "gitlab-runner", + "alternate_binaries": [] + }, + { + "name": "Go", + "description": "Statically typed, compiled programming language designed for simplicity and efficiency.", + "source_repo": { + "type": "github", + "repo": "golang/go" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/golang" + }, + "category": "Language Runtime", + "subcategory": "Go", + "homepage": "https://golang.org/", + "source_releases": [ + "weekly.2012-03-27", + "weekly.2012-03-22", + "weekly.2012-03-13", + "weekly.2012-03-04", + "weekly.2012-02-22" + ], + "image_tags": [ + "tip-trixie", + "tip-bookworm", + "tip-alpine3.23", + "tip-alpine3.22", + "tip-alpine" + ], + "binary": "go", + "alternate_binaries": [] + }, + { + "name": "Gomplate", + "description": "Template processor with support for multiple data sources.", + "source_repo": { + "type": "github", + "repo": "hairyhenderson/gomplate" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/hairyhenderson/gomplate" + }, + "category": "System Utility", + "subcategory": "Data Processing", + "homepage": "https://gomplate.ca/", + "source_releases": [ + "v4.3.3", + "v4.3.2", + "v4.3.1", + "v4.3.0", + "v4.2.0" + ], + "image_tags": [ + "v4.3-alpine", + "v4.3", + "v4.3.3-alpine", + "v4.3.3", + "v4.3.2-alpine" + ], + "binary": "gomplate", + "alternate_binaries": [] + }, + { + "name": "Google Cloud SDK", + "description": "Command-line interface for Google Cloud Platform services.", + "source_repo": { + "type": "github", + "repo": "GoogleCloudPlatform/cloud-sdk-docker" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/google/cloud-sdk" + }, + "category": "Cloud Provider CLI", + "subcategory": "Google Cloud", + "homepage": "https://cloud.google.com/sdk", + "source_releases": [ + "list", + "help", + "427.0.0", + "426.0.0", + "425.0.0" + ], + "image_tags": [ + "548.0.0", + "548.0.0-slim", + "548.0.0-emulators", + "548.0.0-debian_component_based", + "548.0.0-stable" + ], + "binary": "gcloud", + "alternate_binaries": [] + }, + { + "name": "Gradle", + "description": "Build automation tool with flexibility and performance for Java, Kotlin, Groovy, Scala, C/C++, and more.", + "source_repo": { + "type": "github", + "repo": "gradle/gradle" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/gradle" + }, + "category": "Apache", + "subcategory": "Build Automation", + "homepage": "https://gradle.org/", + "source_releases": [ + "v9.3.0-RC1", + "v9.2.1", + "v9.2.0", + "v9.2.0-RC3", + "v9.2.0-RC2" + ], + "image_tags": [ + "9.2.1-jdk21-ubi9", + "9.2.1-jdk17-ubi9", + "9.2-jdk21-ubi9", + "ubi9", + "jdk8-ubi9" + ], + "binary": "gradle", + "alternate_binaries": [] + }, + { + "name": "Grafana", + "description": "Analytics and monitoring platform with customizable dashboards.", + "source_repo": { + "type": "github", + "repo": "grafana/grafana" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/grafana/grafana" + }, + "category": "Observability", + "subcategory": "Visualization", + "homepage": "https://grafana.com/", + "source_releases": [ + "v12.3.0", + "v12.2.2", + "v12.2.1+security-01", + "v12.1.4", + "v12.1.3+security-01" + ], + "image_tags": [ + "12.4.0-20012734117-ubuntu", + "12.4.0-20012734117", + "12.4.0-19913286788-ubuntu", + "12.4.0-19913286788", + "12.4.0-19877932531-ubuntu" + ], + "binary": "grafana-server", + "alternate_binaries": [] + }, + { + "name": "gRPC", + "description": "C++ based gRPC (C++, Python, Ruby, Objective-C, PHP, C#).", + "source_repo": { + "type": "github", + "repo": "grpc/grpc" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/grpc/java-example-hostname" + }, + "category": "CNCF", + "subcategory": "Management", + "homepage": "https://grpc.io/", + "source_releases": [ + "v1.76.0", + "v1.76.0-pre1", + "v1.75.1", + "v1.75.0", + "v1.75.0-pre1" + ], + "image_tags": [ + "1.76.2", + "1.77.0", + "1.76.1", + "1.76.0", + "1.75.0" + ], + "binary": "--help", + "alternate_binaries": [] + }, + { + "name": "Grype", + "description": "Vulnerability scanner for container images and filesystems.", + "source_repo": { + "type": "github", + "repo": "anchore/grype" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/anchore/grype" + }, + "category": "Security", + "subcategory": "Security Scanner", + "homepage": "https://github.com/anchore/grype", + "source_releases": [ + "v0.104.1", + "v0.104.0", + "v0.103.0", + "v0.102.0", + "v0.101.1" + ], + "image_tags": [ + "v0.104.1-debug", + "v0.104.1-nonroot", + "v0.104.1", + "v0.104.1-debug-s390x", + "v0.104.1-debug-ppc64le" + ], + "binary": "", + "alternate_binaries": [], + "notes": "Docker image has OCI runtime compatibility issues on some systems" + }, + { + "name": "Hadolint", + "description": "A smarter Dockerfile linter that helps you build best practice Docker images.", + "source_repo": { + "type": "github", + "repo": "hadolint/hadolint" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/hadolint/hadolint" + }, + "category": "Container Tools", + "subcategory": "Image Tools", + "homepage": "https://github.com/hadolint/hadolint", + "source_releases": [ + "v2.14.0", + "v2.13.1", + "v2.12.1-beta", + "v2.12.0", + "v2.11.0" + ], + "image_tags": [ + "v2.14.0-debian", + "v2.14.0-alpine", + "v2.14.0", + "v2.13.1-debian", + "v2.13.1-alpine" + ], + "binary": "hadolint", + "alternate_binaries": [] + }, + { + "name": "Hadoop", + "description": "Distributed computing framework for processing large datasets across clusters using MapReduce and HDFS.", + "source_repo": { + "type": "github", + "repo": "apache/hadoop" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/apache/hadoop" + }, + "category": "Apache", + "subcategory": "Distributed Storage", + "homepage": "https://hadoop.apache.org/", + "source_releases": [ + "submarine-0.2.0-RC0", + "remove-ozone", + "release-3.4.2-RC3", + "release-3.4.2-RC2", + "release-3.4.2-RC1" + ], + "image_tags": [ + "3.4.1", + "3.4", + "3.4.0", + "2.10.2", + "2.10" + ], + "binary": "hadoop", + "alternate_binaries": [], + "notes": "Large image (~1GB compressed). Help command works but may timeout during initial image download." + }, + { + "name": "hami", + "description": "Heterogeneous AI Computing Virtualization Middleware.", + "source_repo": { + "type": "github", + "repo": "Project-HAMi/HAMi" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/projecthami/hami" + }, + "category": "CNCF", + "subcategory": "Management", + "homepage": "https://project-hami.github.io/HAMi/", + "source_releases": [ + "v2.7.1", + "v2.7.0", + "v2.5.3", + "v2.6.1", + "v2.6.0" + ], + "image_tags": [ + "latest", + "a5411ab", + "ffedfef", + "e54a605", + "b0b8913" + ], + "binary": "bash", + "alternate_binaries": [] + }, + { + "name": "HAProxy", + "description": "Reliable, high-performance TCP/HTTP load balancer - widely used for distributing traffic across multiple servers.", + "source_repo": { + "type": "github", + "repo": "haproxy/haproxy" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/haproxy" + }, + "category": "Proxy", + "subcategory": "HAProxy", + "homepage": "https://www.haproxy.org/", + "source_releases": [ + "v3.4-dev0", + "v3.3.0", + "v3.3-dev14", + "v3.3-dev13", + "v3.3-dev12" + ], + "image_tags": [ + "3.0.12-alpine3.23", + "3.0.12-alpine", + "3.0-alpine3.23", + "3.0-alpine", + "2.8.16-alpine3.23" + ], + "binary": "haproxy", + "alternate_binaries": [] + }, + { + "name": "Harbor", + "description": "An open source trusted cloud native registry project that stores, signs, and scans content.", + "source_repo": { + "type": "github", + "repo": "goharbor/harbor" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/bitnamicharts/harbor" + }, + "category": "CNCF", + "subcategory": "Provisioning", + "homepage": "https://goharbor.io/", + "source_releases": [ + "v2.14.1", + "v2.14.1-rc2", + "v2.13.3", + "v2.13.3-rc2", + "v2.14.1-rc1" + ], + "image_tags": [ + "27.0.3", + "27.0.2", + "27.0.1", + "27.0.0", + "26.8.5" + ], + "binary": "harbor", + "alternate_binaries": [] + }, + { + "name": "Hardhat", + "description": "Ethereum development environment for compiling, deploying, testing, and debugging smart contracts.", + "source_repo": { + "type": "github", + "repo": "NomicFoundation/hardhat" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/ethereumoptimism/hardhat" + }, + "category": "Blockchain", + "subcategory": "Development Tool", + "homepage": "https://hardhat.org/", + "source_releases": [ + "hardhat@3.0.16", + "hardhat@2.27.1", + "@nomicfoundation/hardhat-errors@3.0.6", + "hardhat@3.0.14", + "@nomicfoundation/hardhat-verify@3.0.7" + ], + "image_tags": [ + "latest" + ], + "binary": "hardhat", + "alternate_binaries": [], + "notes": "No official Docker image - typically used as npm package", + "deprecated": false + }, + { + "name": "HBase", + "description": "NoSQL distributed database built on Hadoop for random, real-time read/write access to big data.", + "source_repo": { + "type": "github", + "repo": "apache/hbase" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/harisekhon/hbase" + }, + "category": "Apache", + "subcategory": "Distributed Storage", + "homepage": "https://hbase.apache.org/", + "source_releases": [ + "rel/2.6.4", + "rel/2.5.13", + "rel/2.5.12", + "rel/2.6.3", + "rel/2.5.11" + ], + "image_tags": [ + "0.92", + "0.94", + "1.3", + "1.4", + "0.96" + ], + "binary": "hbase", + "alternate_binaries": [], + "notes": "Using community-maintained image (official Apache image not available on Docker Hub)" + }, + { + "name": "Headlamp", + "description": "Extensible open source multi-cluster Kubernetes user interface.", + "source_repo": { + "type": "github", + "repo": "kubernetes-sigs/headlamp" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/headlamp/headlamp-docker-extension" + }, + "category": "CNCF", + "subcategory": "Observability", + "homepage": "https://headlamp.dev", + "source_releases": [ + "headlamp-plugin-0.13.0", + "v0.38.0", + "headlamp-helm-0.38.0", + "headlamp-helm-0.37.0", + "v0.37.0" + ], + "image_tags": [ + "0.35.0", + "0.33.0", + "0.25.1", + "0.24.0", + "0.23.1" + ], + "binary": "", + "alternate_binaries": [] + }, + { + "name": "Helm", + "description": "Package manager for Kubernetes applications.", + "source_repo": { + "type": "github", + "repo": "helm/helm" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/alpine/helm" + }, + "category": "Kubernetes", + "subcategory": "Package Manager", + "homepage": "https://helm.sh/", + "source_releases": [ + "v4.0.1", + "v4.0.0", + "v3.19.2", + "v3.19.1", + "v4.0.0-rc.1" + ], + "image_tags": [ + "4.0", + "4.0.1", + "4.0.0", + "3.19", + "latest" + ], + "binary": "helm", + "alternate_binaries": [] + }, + { + "name": "Helm", + "description": "Package manager for Kubernetes applications.", + "source_repo": { + "type": "github", + "repo": "helm/helm" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/alpine/helm" + }, + "category": "CNCF", + "subcategory": "Package Management", + "homepage": "https://helm.sh/", + "source_releases": [ + "v4.0.1", + "v4.0.0", + "v3.19.2", + "v3.19.1", + "v4.0.0-rc.1" + ], + "image_tags": [ + "4.0", + "4.0.1", + "4.0.0", + "3.19", + "latest" + ], + "binary": "helm", + "alternate_binaries": [] + }, + { + "name": "Hexa", + "description": "Hexa Policy Orchestrator enables you to manage all of your access policies consistently across software providers.", + "source_repo": { + "type": "github", + "repo": "hexa-org/policy-orchestrator" + }, + "image_repo": { + "type": "quay", + "image": "quay.io/ngrauss_openshift/mwhexample" + }, + "category": "CNCF", + "subcategory": "Provisioning", + "homepage": "https://hexaorchestration.org/", + "source_releases": [ + "v0.5.0", + "v0.1.9", + "v0.1.8", + "v0.1.7" + ], + "image_tags": [ + "oa8", + "oa7", + "oa6", + "oa5", + "oa4" + ], + "binary": "", + "alternate_binaries": [] + }, + { + "name": "Hive", + "description": "Data warehouse software that facilitates reading, writing, and managing large datasets in distributed storage using SQL.", + "source_repo": { + "type": "github", + "repo": "apache/hive" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/apache/hive" + }, + "category": "Apache", + "subcategory": "Query & Analytics", + "homepage": "https://hive.apache.org/", + "source_releases": [ + "storage-release-2.8.1-rc2", + "storage-release-2.8.1-rc1", + "storage-release-2.8.1-rc0", + "storage-release-2.8.0-rc0", + "storage-release-2.7.3-rc2" + ], + "image_tags": [ + "4.2.0", + "4.1.0", + "4.0.1", + "4.0.0", + "4.0.0-beta-2-SNAPSHOT" + ], + "binary": "", + "alternate_binaries": [] + }, + { + "name": "Httpd", + "description": "Open-source web server providing secure, efficient, and extensible HTTP services.", + "source_repo": { + "type": "github", + "repo": "apache/httpd" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/httpd" + }, + "category": "Apache", + "subcategory": "Web Server", + "homepage": "https://httpd.apache.org/", + "source_releases": [ + "pre_ajp_proxy", + "post_ajp_proxy", + "mpm-merge-2", + "mpm-merge-1", + "mpm-3" + ], + "image_tags": [ + "2.4.66-trixie", + "2.4.66-alpine3.23", + "2.4.66-alpine", + "2.4.66", + "2.4-trixie" + ], + "binary": "httpd", + "alternate_binaries": [] + }, + { + "name": "HwameiStor", + "description": "Hwameistor is an HA local storage system for cloud-native stateful workloads.", + "source_repo": { + "type": "github", + "repo": "hwameistor/hwameistor" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/hwameistor/builder" + }, + "category": "CNCF", + "subcategory": "Storage", + "homepage": "https://hwameistor.io/", + "source_releases": [ + "v1.0.1", + "v1.0.0", + "v1.0.0-rc2", + "v1.0.0-rc1", + "v0.16.5" + ], + "image_tags": [ + "latest" + ], + "binary": "", + "alternate_binaries": [] + }, + { + "name": "Hyperlight", + "description": "A lightweight, secure container runtime solution designed for modern cloud-native workloads.", + "source_repo": { + "type": "github", + "repo": "hyperlight-dev/hyperlight" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/hyperlightorg/hyperscale" + }, + "category": "CNCF", + "subcategory": "Container Runtime", + "homepage": "https://github.com/hyperlight-dev/hyperlight", + "source_releases": [ + "dev-latest" + ], + "image_tags": [ + "latest" + ], + "binary": "", + "alternate_binaries": [] + }, + { + "name": "in-toto", + "description": "In-toto is a framework to protect supply chain integrity.", + "source_repo": { + "type": "github", + "repo": "in-toto/in-toto" + }, + "image_repo": { + "type": "quay", + "image": "quay.io/opsmxpublic/in-toto-echo" + }, + "category": "CNCF", + "subcategory": "Provisioning", + "homepage": "https://in-toto.io", + "source_releases": [ + "v3.0.0", + "v2.3.0", + "v2.2.0", + "v2.1.1", + "v2.1.0" + ], + "image_tags": [ + "v2", + "v1" + ], + "binary": "--help", + "alternate_binaries": [] + }, + { + "name": "Inclavare Containers", + "description": "A novel container runtime, aka confidential container, for cloud-native confidential computing and enclave runtime ecosystem.", + "source_repo": { + "type": "github", + "repo": "inclavare-containers/inclavare-containers" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/testcontainers/ryuk" + }, + "category": "CNCF", + "subcategory": "Container Runtime", + "homepage": "https://github.com/inclavare-containers/", + "source_releases": [ + "v0.6.4", + "v0.6.3", + "v0.6.2", + "v0.6.1", + "v0.6.0" + ], + "image_tags": [ + "0.14.0", + "0.14.0-linux", + "0.13.0", + "0.13.0-linux", + "sha-7c9b3b731329b44aa9ad66137acf38f008d40251" + ], + "binary": "", + "alternate_binaries": [] + }, + { + "name": "Infracost", + "description": "Cost estimates for Terraform projects.", + "source_repo": { + "type": "github", + "repo": "infracost/infracost" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/infracost/infracost" + }, + "category": "Infrastructure as Code", + "subcategory": "IaC", + "homepage": "https://www.infracost.io/", + "source_releases": [ + "v0.10.43", + "preview", + "v0.10.42", + "v0.10.41", + "v0.10.40" + ], + "image_tags": [ + "0.10", + "0.10.43", + "latest", + "ci-latest", + "ci-0.10" + ], + "binary": "infracost", + "alternate_binaries": [] + }, + { + "name": "Inspektor Gadget", + "description": "Open source eBPF debugging and data collection tool for Kubernetes and Linux.", + "source_repo": { + "type": "github", + "repo": "inspektor-gadget/inspektor-gadget" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/mcp/inspektor-gadget" + }, + "category": "CNCF", + "subcategory": "Observability", + "homepage": "https://inspektor-gadget.io/", + "source_releases": [ + "v0.47.0", + "v0.46.0", + "v0.41.1", + "v0.45.0", + "v0.44.1" + ], + "image_tags": [ + "latest" + ], + "binary": "", + "alternate_binaries": [] + }, + { + "name": "IoTDB", + "description": "Time-series database for IoT with high-throughput data collection, storage, and analysis.", + "source_repo": { + "type": "github", + "repo": "apache/iotdb" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/apache/iotdb" + }, + "category": "Apache", + "subcategory": "Database", + "homepage": "https://iotdb.apache.org/", + "source_releases": [ + "v1.3.5", + "v2.0.5", + "v2.0.4", + "v2.0.3", + "v2.0.2-1" + ], + "image_tags": [ + "2.0.5-standalone", + "2.0.5-ainode", + "2.0.5-datanode", + "2.0.5-confignode", + "2.0.4-standalone" + ], + "binary": "", + "alternate_binaries": [] + }, + { + "name": "IoTDB-Web-Workbench", + "description": "Web-based workbench for Apache IoTDB with data visualization and query management.", + "source_repo": { + "type": "github", + "repo": "apache/iotdb-web-workbench" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/apache/iotdb-web-workbench" + }, + "category": "Apache", + "subcategory": "Database", + "homepage": "https://iotdb.apache.org/", + "source_releases": [ + "v0.13.3" + ], + "image_tags": [ + "0.13.0-frontend", + "0.13.0-backend" + ], + "binary": "", + "alternate_binaries": [], + "notes": "Separate frontend and backend images available" + }, + { + "name": "IPFS", + "description": "Peer-to-peer hypermedia protocol for content-addressed, distributed file system.", + "source_repo": { + "type": "github", + "repo": "ipfs/kubo" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/ipfs/kubo" + }, + "category": "Blockchain", + "subcategory": "Decentralized Storage", + "homepage": "https://ipfs.tech/", + "source_releases": [ + "v0.39.0", + "v0.39.0-rc1", + "v0.38.2", + "v0.38.1", + "v0.38.0" + ], + "image_tags": [ + "latest", + "buildcache", + "master-latest", + "master-2025-12-03-d29c0b9", + "master-2025-11-28-c1e1cfe" + ], + "binary": "ipfs", + "alternate_binaries": [] + }, + { + "name": "Istio", + "description": "Simplify observability, traffic management, security, and policy with the Istio service mesh.", + "source_repo": { + "type": "github", + "repo": "istio/istio" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/istio/proxyv2" + }, + "category": "CNCF", + "subcategory": "Service Mesh", + "homepage": "https://istio.io/", + "source_releases": [ + "1.28.1", + "1.27.4", + "1.26.7", + "1.28.0", + "1.28.0-rc.1" + ], + "image_tags": [ + "sha256-a1a5bd5035c759e3eba012ed59bcd064f88416d83b9a5fc1295d365b73af8297.sig", + "sha256-f67591c610c87aa9e7a549d977c30ead3e6563ecb12c975cf422472c990c5d69.sig", + "sha256-073839e98330a7e1700fca91e2f05c5584f8f2138fdf24e516d6bf4d1f063398.sig", + "sha256-49048b63504dd5717ff9186486b997a14623208123a073ce953748bb8f296f15.sig", + "sha256-0ecbd50748591edb9389725a5fcc4ff799e8b37eb02ea3c435cf8fc509bac3b2.sig" + ], + "binary": "--help", + "alternate_binaries": [] + }, + { + "name": "Jaeger", + "description": "Open-source distributed tracing platform for monitoring and troubleshooting microservices-based architectures.", + "source_repo": { + "type": "github", + "repo": "jaegertracing/jaeger" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/bitnamicharts/jaeger" + }, + "category": "CNCF", + "subcategory": "Monitoring", + "homepage": "https://www.jaegertracing.io/", + "source_releases": [ + "v1.76.0", + "v1.75.0", + "v1.74.0", + "v1.73.0", + "v1.72.0" + ], + "image_tags": [ + "6.0.5", + "6.0.4", + "6.0.3", + "6.0.2", + "6.0.1" + ], + "binary": "jaeger", + "alternate_binaries": [] + }, + { + "name": "Java (OpenJDK)", + "description": "Open-source implementation of the Java Platform, Standard Edition - provides JDK for developing and running Java applications.", + "source_repo": { + "type": "github", + "repo": "openjdk/jdk" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/openjdk" + }, + "category": "Language Runtime", + "subcategory": "Java", + "homepage": "https://openjdk.org/", + "source_releases": [ + "jdk-27+1", + "jdk-27+0", + "jdk-26+27", + "jdk-26+26", + "jdk-26+25" + ], + "image_tags": [ + "27-ea-nanoserver-ltsc2025", + "27-ea-nanoserver-ltsc2022", + "27-ea-nanoserver", + "27-ea-jdk-nanoserver-ltsc2025", + "27-ea-jdk-nanoserver-ltsc2022" + ], + "binary": "java", + "alternate_binaries": [] + }, + { + "name": "Jenkins", + "description": "Automation server for continuous integration and continuous delivery pipelines.", + "source_repo": { + "type": "github", + "repo": "jenkinsci/jenkins" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/jenkins/jenkins" + }, + "category": "CI/CD", + "subcategory": "Jenkins", + "homepage": "https://www.jenkins.io/", + "source_releases": [ + "jenkins-2.540", + "jenkins-2.528.3-rc", + "jenkins-2.539", + "jenkins-2.538", + "jenkins-2.537" + ], + "image_tags": [ + "2.540-jdk21", + "2.540", + "2.540-jdk17", + "latest", + "jdk21" + ], + "binary": "jenkins.war", + "alternate_binaries": [] + }, + { + "name": "jq", + "description": "Lightweight and flexible command-line JSON processor.", + "source_repo": { + "type": "github", + "repo": "jqlang/jq" + }, + "image_repo": { + "type": "ghcr", + "image": "ghcr.io/jqlang/jq" + }, + "category": "System Utility", + "subcategory": "Data Processing", + "homepage": "https://jqlang.github.io/jq/", + "source_releases": [ + "jq-1.8.1", + "jq-1.8.0", + "jq-1.7.1", + "jq-1.7", + "jq-1.7rc2" + ], + "image_tags": [ + "latest", + "1.7rc1", + "1.7rc2", + "1.7", + "1.7.1" + ], + "binary": "jq", + "alternate_binaries": [] + }, + { + "name": "k0s", + "description": "!GitHub Repo stars !GitHub release (latest by date) !GitHub release (latest SemVer including pre-releases) !GitHub commits since latest release (by date) !k0s-logo-dark !k0s-logo-light k0s is an open source, all-inclusive Kubernetes distribution,.", + "source_repo": { + "type": "github", + "repo": "k0sproject/k0s" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/k0sproject/k0s" + }, + "category": "CNCF", + "subcategory": "Management", + "homepage": "https://k0sproject.io/", + "source_releases": [ + "v1.34.2+k0s.0", + "v1.33.6+k0s.0", + "v1.32.10+k0s.0", + "v1.31.14+k0s.0", + "v1.34.1+k0s.1" + ], + "image_tags": [ + "v1.34.2-k0s.0", + "v1.32.10-k0s.0", + "v1.33.6-k0s.0", + "v1.31.14-k0s.0", + "v1.33.6-rc.0-k0s.0" + ], + "binary": "k0s", + "alternate_binaries": [] + }, + { + "name": "k3s", + "description": "K3s is a fully conformant production-ready Kubernetes distribution with the following changes: 1.", + "source_repo": { + "type": "github", + "repo": "k3s-io/k3s" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/rancher/k3s" + }, + "category": "CNCF", + "subcategory": "Kubernetes Distribution", + "homepage": "https://k3s.io", + "source_releases": [ + "v1.34.2+k3s1", + "v1.34.2-rc2+k3s1", + "v1.34.2-rc1+k3s1", + "v1.33.6+k3s1", + "v1.33.6-rc2+k3s1" + ], + "image_tags": [ + "v1.32.10-k3s1", + "v1.31.14-k3s1", + "v1.33.6-k3s1", + "v1.34.2-k3s1", + "v1.34.2-rc2-k3s1" + ], + "binary": "--help", + "alternate_binaries": [] + }, + { + "name": "k8gb", + "description": "Kubernetes Global Balancer - provides global load balancing and disaster recovery for Kubernetes workloads across multiple clusters.", + "source_repo": { + "type": "github", + "repo": "k8gb-io/k8gb" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/absaoss/k8gb" + }, + "category": "CNCF", + "subcategory": "Management", + "homepage": "https://www.k8gb.io", + "source_releases": [ + "v0.16.0", + "v0.15.0", + "v0.15.0-rc3", + "v0.15.0-rc2", + "v0.15.0-rc1" + ], + "image_tags": [ + "v0.16.0", + "sha256-6efa50f467b539bae56748cd37c0b25c51c0a6ad54957918c6b39e5dc26fc90d.att", + "sha256-edc6dea2c1f007b6f3a5a5f7315d6638b75656d41e63bd287491694814218cc3.att", + "sha256-b9ac6c3e38552ca422fd32e4d09d0745e25367874ddbd9083b2825a4121216f8.sig", + "sha256-edc6dea2c1f007b6f3a5a5f7315d6638b75656d41e63bd287491694814218cc3.sig" + ], + "binary": "--help", + "alternate_binaries": [] + }, + { + "name": "K8up", + "description": "Kubernetes backup operator based on Restic - provides scheduled backups, restores, and pruning for persistent volumes.", + "source_repo": { + "type": "github", + "repo": "k8up-io/k8up" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/vshn/k8up" + }, + "category": "CNCF", + "subcategory": "Container Runtime", + "homepage": "https://www.k8up.io/", + "source_releases": [ + "v2.13.1", + "k8up-4.8.6", + "k8up-4.8.5", + "v2.13.0", + "v2.13.0-dev-signed" + ], + "image_tags": [ + "v1.99.99", + "v1.2.0", + "v1.1.0", + "v1.0.5", + "v1.0.4" + ], + "binary": "--help", + "alternate_binaries": [] + }, + { + "name": "K9s", + "description": "Terminal-based UI for managing Kubernetes clusters.", + "source_repo": { + "type": "github", + "repo": "derailed/k9s" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/derailed/k9s" + }, + "category": "Kubernetes", + "subcategory": "TUI", + "homepage": "https://k9scli.io/", + "source_releases": [ + "v0.50.16", + "v0.50.15", + "v0.50.14", + "v0.50.13", + "v0.50.12" + ], + "image_tags": [ + "v0.50.16", + "v0.50.15", + "v0.50.14", + "v0.50.13", + "v0.50.12" + ], + "binary": "k9s", + "alternate_binaries": [] + }, + { + "name": "Kafka", + "description": "Distributed event streaming platform for high-performance data pipelines and real-time applications.", + "source_repo": { + "type": "github", + "repo": "apache/kafka" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/apache/kafka" + }, + "category": "Apache", + "subcategory": "Streaming & Messaging", + "homepage": "https://kafka.apache.org/", + "source_releases": [ + "show", + "kafka-0.7.2-incubating-candidate-5", + "kafka-0.7.2-incubating-candidate-4", + "kafka-0.7.2-incubating-candidate-3", + "kafka-0.7.2-incubating-candidate-2" + ], + "image_tags": [ + "4.1.1", + "4.1.1-rc2", + "4.1.1-rc1", + "4.1.1-rc0", + "4.0.1" + ], + "binary": "kafka-broker-api-versions.sh", + "alternate_binaries": [] + }, + { + "name": "kagent", + "description": "Kagent is an open source programming framework designed for DevOps and platform engineers to run AI agents in Kubernetes.", + "source_repo": { + "type": "github", + "repo": "kagent-dev/kagent" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/txn2/kagent" + }, + "category": "CNCF", + "subcategory": "Provisioning", + "homepage": "https://kagent.dev/", + "source_releases": [ + "v0.7.5", + "v0.7.4", + "v0.7.3", + "v0.7.2", + "v0.7.1" + ], + "image_tags": [ + "v1.0.0", + "latest" + ], + "binary": "", + "alternate_binaries": [] + }, + { + "name": "Kairos", + "description": "The immutable Linux meta-distribution for edge Kubernetes.", + "source_repo": { + "type": "github", + "repo": "kairos-io/kairos" + }, + "image_repo": { + "type": "quay", + "image": "quay.io/kairos/kairos-init" + }, + "category": "CNCF", + "subcategory": "Provisioning", + "homepage": "https://kairos.io", + "source_releases": [ + "v3.5.10", + "v3.5.9", + "v3.5.8", + "v3.6.0", + "v3.6.0-rc5" + ], + "image_tags": [ + "latest", + "v0.7.0", + "main", + "v0.5.29", + "v0.5.28" + ], + "binary": "--help", + "alternate_binaries": [] + }, + { + "name": "KAITO", + "description": "Kubernetes AI Toolchain Operator (KAITO) simplifies LLM inference, tuning, and RAG workloads on Kubernetes.", + "source_repo": { + "type": "github", + "repo": "kaito-project/kaito" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/sozercan/kaito" + }, + "category": "CNCF", + "subcategory": "AI/ML Infrastructure", + "homepage": "https://kaito-project.netlify.app/", + "source_releases": [ + "v0.8.0-rc.0", + "v0.7.2", + "v0.7.1", + "v0.7.0", + "v0.6.2" + ], + "image_tags": [ + "test" + ], + "binary": "", + "alternate_binaries": [] + }, + { + "name": "Kanister", + "description": "An extensible framework for application-level data management on Kubernetes, Kanister is a Cloud Native Computing Foundation sandbox project and was originally created by the Veeam Kasten team.", + "source_repo": { + "type": "github", + "repo": "kanisterio/kanister" + }, + "image_repo": { + "type": "quay", + "image": "quay.io/isim/kanister-controller" + }, + "category": "CNCF", + "subcategory": "Container Runtime", + "homepage": "https://kanister.io", + "source_releases": [ + "0.116.0", + "0.115.0", + "0.114.0", + "0.113.0", + "0.112.0" + ], + "image_tags": [ + "gh1470", + "latest", + "cncf-webinar", + "0.76.0-13-ga706b73c", + "0.75.0-11-g4a5d9c5d" + ], + "binary": "", + "alternate_binaries": [] + }, + { + "name": "Karmada", + "description": "Open, Multi-Cloud, Multi-Cluster Kubernetes Orchestration.", + "source_repo": { + "type": "github", + "repo": "karmada-io/karmada" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/karmada/karmada" + }, + "category": "CNCF", + "subcategory": "Management", + "homepage": "https://karmada.io/", + "source_releases": [ + "v1.16.0", + "v1.15.3", + "v1.14.7", + "v1.13.10", + "v1.16.0-rc.0" + ], + "image_tags": [ + "0.0.0", + "v1.16.0", + "v1.15.3", + "v1.14.7", + "v1.13.10" + ], + "binary": "karmadactl", + "alternate_binaries": [] + }, + { + "name": "KCL", + "description": "A constraint-based record & functional language mainly used in configuration and policy scenarios.", + "source_repo": { + "type": "github", + "repo": "kcl-lang/kcl" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/kcllang/kcl" + }, + "category": "CNCF", + "subcategory": "Provisioning", + "homepage": "https://kcl-lang.io/", + "source_releases": [ + "v0.11.2", + "v0.11.1", + "v0.11.0", + "v0.11.0-alpha.1", + "v0.10.8" + ], + "image_tags": [ + "v0.12.2-rc.1", + "v0.12.1", + "v0.12.0", + "v0.11.4", + "v0.11.3" + ], + "binary": "kcl", + "alternate_binaries": [] + }, + { + "name": "kcp", + "description": "Kubernetes-like control planes for form-factors and use-cases beyond Kubernetes and container workloads.", + "source_repo": { + "type": "github", + "repo": "kcp-dev/kcp" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/arminmacx/kcp" + }, + "category": "CNCF", + "subcategory": "Management", + "homepage": "https://kcp.io", + "source_releases": [ + "v0.29.0", + "v0.28.3", + "v0.28.1", + "v0.28.0", + "v0.27.1" + ], + "image_tags": [ + "1.2", + "latest" + ], + "binary": "--help", + "alternate_binaries": [] + }, + { + "name": "KEDA", + "description": "KEDA is a Kubernetes-based Event Driven Autoscaling component.", + "source_repo": { + "type": "github", + "repo": "kedacore/keda" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/selenium/keda" + }, + "category": "CNCF", + "subcategory": "Management", + "homepage": "https://keda.sh/", + "source_releases": [ + "v2.18.2", + "v2.18.1", + "v2.18.0", + "v2.17.2", + "v2.17.1" + ], + "image_tags": [ + "2.18.0-selenium-grid-20251101", + "2.18.0-selenium-grid-20251025", + "2.18.0-selenium-grid-20251020", + "2.17.2-selenium-grid-20251001", + "2.17.2-selenium-grid-20250909" + ], + "binary": "--help", + "alternate_binaries": [] + }, + { + "name": "Keptn", + "description": "Cloud-native application life-cycle orchestration Keptn automates your SLO-driven multi-stage delivery and operations & remediation of your applications.", + "source_repo": { + "type": "github", + "repo": "keptn/lifecycle-toolkit" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/keptn/distributor" + }, + "category": "CNCF", + "subcategory": "Application Development", + "homepage": "https://www.keptn.sh", + "source_releases": [ + "metrics-operator-v2.1.0", + "keptn-v2.5.0", + "python-runtime-v1.0.8", + "metrics-operator-v2.0.0", + "lifecycle-operator-v2.0.0" + ], + "image_tags": [ + "1.2.0", + "1.1.0", + "1.0.0", + "0.20.0-next.0", + "0.19.3" + ], + "binary": "", + "alternate_binaries": [] + }, + { + "name": "Keycloak", + "description": "Keycloak is an open-source identity and access management solution for modern applications and services, built on top of industry security standard protocols.", + "source_repo": { + "type": "github", + "repo": "keycloak/keycloak" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/keycloak/keycloak" + }, + "category": "CNCF", + "subcategory": "Provisioning", + "homepage": "https://www.keycloak.org/", + "source_releases": [ + "nightly", + "26.4.7", + "26.4.6", + "26.4.5", + "26.4.4" + ], + "image_tags": [ + "26.4", + "26.4.7-0", + "26.4.7", + "26.4.6-0", + "26.4.6" + ], + "binary": "--help", + "alternate_binaries": [] + }, + { + "name": "Keylime", + "description": "Bootstrap & Maintain Trust on the Edge / Cloud and IoT.", + "source_repo": { + "type": "github", + "repo": "keylime/keylime" + }, + "image_repo": { + "type": "quay", + "image": "quay.io/keylime/keylime_agent" + }, + "category": "CNCF", + "subcategory": "Provisioning", + "homepage": "https://keylime.dev/", + "source_releases": [ + "v7.13.0", + "v7.12.1", + "v7.12.0", + "v7.11.0", + "v7.10.0" + ], + "image_tags": [ + "sha-243536e", + "master", + "sha-d89668d", + "sha-230051e", + "sha-b77f8ec" + ], + "binary": "--help", + "alternate_binaries": [] + }, + { + "name": "Kgateway", + "description": "An Envoy-powered, Kubernetes-native API Gateway that integrates Kubernetes Gateway API with a control plane for API connectivity in any cloud environment.", + "source_repo": { + "type": "github", + "repo": "kgateway-dev/kgateway" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/howardjohn/kgateway" + }, + "category": "CNCF", + "subcategory": "API Gateway", + "homepage": "https://kgateway.dev/", + "source_releases": [ + "v2.1.2", + "v2.2.0-beta.1", + "v2.2.0-alpha.1", + "v2.1.1", + "v2.1.0" + ], + "image_tags": [ + "1756338834", + "1756156487", + "1756155789", + "1756151878" + ], + "binary": "--help", + "alternate_binaries": [] + }, + { + "name": "Kibana", + "description": "Data visualization and exploration platform for Elasticsearch.", + "source_repo": { + "type": "github", + "repo": "elastic/kibana" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/elastic/kibana" + }, + "category": "Observability", + "subcategory": "Elastic Stack", + "homepage": "https://www.elastic.co/kibana/", + "source_releases": [ + "v9.2.2", + "v9.1.8", + "v8.19.8", + "v8.19.7", + "v9.2.1" + ], + "image_tags": [ + "9.1.8", + "8.19.8", + "sha256-c6e488412a93e183afc77862384aa26f0c541124df9df374acb627f0d960ba26", + "sha256-073936a71db05ad9ed5aa5b77cfbefb81725310656b7a8984bebcbe86375ad23", + "sha256-688739d771035aa0013b27f48b315caa519297edd0d9cf15ef2a58f318271fdd" + ], + "binary": "kibana", + "alternate_binaries": [] + }, + { + "name": "KitOps", + "description": "An open standard for packaging, managing, and deploying ML models and artifacts across different systems.", + "source_repo": { + "type": "github", + "repo": "kitops-ml/kitops" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/300481/kitops" + }, + "category": "CNCF", + "subcategory": "Provisioning", + "homepage": "https://kitops.org/", + "source_releases": [ + "v1.10.0", + "v1.9.0", + "v1.8.0", + "v1.7.0", + "v1.6.1" + ], + "image_tags": [ + "0.5.5", + "0.5.4", + "0.5.3", + "0.5.2", + "0.5.1" + ], + "binary": "kitops", + "alternate_binaries": [] + }, + { + "name": "Kmesh", + "description": "Kmesh is a high-performance and low overhead service mesh data plane based on eBPF and programmable kernel.", + "source_repo": { + "type": "github", + "repo": "kmesh-net/kmesh" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/zzuo1991/kmesh" + }, + "category": "CNCF", + "subcategory": "Service Mesh", + "homepage": "https://kmesh.net", + "source_releases": [ + "v1.2.0-rc.0", + "v1.1.0", + "v1.1.0-alpha", + "v1.0.0" + ], + "image_tags": [ + "v0.5.0-zgq", + "v0.5.0", + "latest" + ], + "binary": "", + "alternate_binaries": [] + }, + { + "name": "Knative", + "description": "Knative is a developer-focused serverless application layer which is a great complement to the existing Kubernetes application constructs.", + "source_repo": { + "type": "github", + "repo": "knative/serving" + }, + "image_repo": { + "type": "quay", + "image": "quay.io/openshift-knative/knative-eventing-sources-event-display" + }, + "category": "CNCF", + "subcategory": "Management", + "homepage": "https://knative.dev", + "source_releases": [ + "knative-v1.20.0", + "knative-v1.19.7", + "knative-v1.18.2", + "knative-v1.19.6", + "knative-v1.19.5" + ], + "image_tags": [ + "v0.18.0", + "v0.17.1", + "v0.16.0", + "v0.15.0", + "v0.14.1" + ], + "binary": "kn", + "alternate_binaries": [] + }, + { + "name": "ko", + "description": "Simple, fast container image builder for Go applications that doesn't require Docker.", + "source_repo": { + "type": "github", + "repo": "ko-build/ko" + }, + "image_repo": { + "type": "quay", + "image": "quay.io/cloudhut/kowl" + }, + "category": "CNCF", + "subcategory": "Application Development", + "homepage": "https://ko.build/", + "source_releases": [ + "v0.18.0", + "v0.17.1", + "v0.17.0", + "v0.16.0", + "v0.15.4" + ], + "image_tags": [ + "master-59f68da", + "master", + "master-eab5595", + "master-4afd177", + "master-351976b" + ], + "binary": "--help", + "alternate_binaries": [] + }, + { + "name": "Konveyor", + "description": "Konveyor is an open-source project that gives developers and platform teams visibility, analysis, and transformation tools to predictably re-platform.", + "source_repo": { + "type": "github", + "repo": "konveyor/operator" + }, + "image_repo": { + "type": "quay", + "image": "quay.io/operatorhubio/konveyor-operator" + }, + "category": "CNCF", + "subcategory": "Application Development", + "homepage": "https://www.konveyor.io/", + "source_releases": [ + "v0.8.1-beta.2", + "v0.9.0-alpha.1", + "v0.8.1-beta.1", + "v0.8.1-alpha.5", + "v0.8.1-alpha.4" + ], + "image_tags": [ + "v0.9.0-alpha.1--20251118T014733", + "v0.9.0-alpha.1", + "v0.8.1-beta.1--20251117T230303", + "v0.8.1-beta.1", + "v0.8.1-alpha.5--20251113T015128" + ], + "binary": "", + "alternate_binaries": [] + }, + { + "name": "Koordinator", + "description": "QoS based scheduling system for hybrid orchestration workloads on Kubernetes, bringing workloads the best layout and status.", + "source_repo": { + "type": "github", + "repo": "koordinator-sh/koordinator" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/hitfaker/koordinator" + }, + "category": "CNCF", + "subcategory": "Management", + "homepage": "https://koordinator.sh", + "source_releases": [ + "v1.7.0", + "v1.6.1", + "v1.6.0", + "v1.5.0", + "v1.4.1" + ], + "image_tags": [ + "redis", + "audit-f", + "runtimehook", + "main" + ], + "binary": "", + "alternate_binaries": [] + }, + { + "name": "kpt", + "description": "Package-centric toolchain for Kubernetes configuration - enables CRUD operations on configuration as data using Git and OCI.", + "source_repo": { + "type": "github", + "repo": "kptdev/kpt" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/gongpu/kpt" + }, + "category": "CNCF", + "subcategory": "Provisioning", + "homepage": "https://kpt.dev", + "source_releases": [ + "v1.0.0-beta.59", + "v1.0.0-beta.58", + "v1.0.0-beta.57", + "v1.0.0-beta.56", + "v1.0.0-beta.55" + ], + "image_tags": [ + "v0.30.1", + "v0.0.1", + "v0.27.0", + "latest", + "docker-cli" + ], + "binary": "--help", + "alternate_binaries": [] + }, + { + "name": "Krator", + "description": ":construction::construction: This project is highly experimental.", + "source_repo": { + "type": "github", + "repo": "krator-rs/krator" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/krator/python3-django-gunicorn" + }, + "category": "CNCF", + "subcategory": "Operator Framework", + "homepage": "https://docs.rs/crate/krator/latest", + "source_releases": [ + "v0.6.0", + "v0.5.0", + "v0.4.0", + "v0.3.0" + ], + "image_tags": [ + "latest" + ], + "binary": "", + "alternate_binaries": [] + }, + { + "name": "Krkn", + "description": "Chaos testing tool for Kubernetes to identify bottlenecks and improve resilience and performance under failure conditions.", + "source_repo": { + "type": "github", + "repo": "krkn-chaos/krkn" + }, + "image_repo": { + "type": "quay", + "image": "quay.io/redhat-chaos/krkn" + }, + "category": "CNCF", + "subcategory": "Observability", + "homepage": "https://krkn-chaos.github.io/krkn", + "source_releases": [ + "v4.0.15", + "v4.0.14", + "v4.0.13", + "v4.0.12", + "v4.0.11" + ], + "image_tags": [ + "v4.0.15", + "latest", + "v4.0.14", + "v4.0.13", + "v4.0.12" + ], + "binary": "--help", + "alternate_binaries": [] + }, + { + "name": "Krustlet", + "description": "⚠️ This project is currently not actively maintained.", + "source_repo": { + "type": "github", + "repo": "krustlet/krustlet" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/bloodorangeio/krustlet-wascc" + }, + "category": "CNCF", + "subcategory": "Container Runtime", + "homepage": "https://krustlet.dev", + "source_releases": [ + "v1.0.0-alpha.1", + "v0.7.0", + "v0.6.0", + "v0.5.0", + "v0.4.0" + ], + "image_tags": [ + "v0.4.0" + ], + "binary": "--help", + "alternate_binaries": [] + }, + { + "name": "KServe", + "description": "Standardized Distributed Generative and Predictive AI Inference Platform for Scalable, Multi-Framework Deployment on Kubernetes.", + "source_repo": { + "type": "github", + "repo": "kserve/kserve" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/kserve/kserve-controller" + }, + "category": "CNCF", + "subcategory": "AI/ML Infrastructure", + "homepage": "https://kserve.github.io/website/", + "source_releases": [ + "v0.16.0", + "v0.16.0-rc1", + "v0.16.0-rc0", + "v0.15.2", + "v0.15.1" + ], + "image_tags": [ + "v0.16.0", + "v0.16.0-rc1", + "v0.16.0-rc0", + "v0.15.2", + "v0.15.1" + ], + "binary": "--help", + "alternate_binaries": [] + }, + { + "name": "Kuadrant", + "description": "Kuadrant combines Gateway API and Istio-based gateway controllers to enhance application connectivity.", + "source_repo": { + "type": "github", + "repo": "Kuadrant/kuadrant-operator" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/kuadrant/authorino" + }, + "category": "CNCF", + "subcategory": "Management", + "homepage": "https://kuadrant.io", + "source_releases": [ + "v1.3.1", + "v1.3.0", + "v1.3.0-rc2", + "v1.3.0-rc1", + "v1.3.0-alpha2" + ], + "image_tags": [ + "v0.12.0", + "v0.11.0", + "v0.10.0", + "v0.9.1", + "v0.9.0" + ], + "binary": "--help", + "alternate_binaries": [] + }, + { + "name": "Kuasar", + "description": "A multi-sandbox container runtime that provides cloud-native, all-scenario multiple sandbox container solutions.", + "source_repo": { + "type": "github", + "repo": "kuasar-io/kuasar" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/kuasar/homegarden-api" + }, + "category": "CNCF", + "subcategory": "Container Runtime", + "homepage": "https://kuasar.io/", + "source_releases": [ + "v1.0.1-alpha1", + "v1.0.1", + "v1.0.0-alpha1", + "v1.0.0", + "v1.0.0-beta.1" + ], + "image_tags": [ + "latest" + ], + "binary": "", + "alternate_binaries": [] + }, + { + "name": "Kube-burner", + "description": "Kubernetes performance and scale test orchestration framework written in golang.", + "source_repo": { + "type": "github", + "repo": "kube-burner/kube-burner" + }, + "image_repo": { + "type": "quay", + "image": "quay.io/cloud-bulldozer/kube-burner" + }, + "category": "CNCF", + "subcategory": "Application Development", + "homepage": "https://kube-burner.github.io/kube-burner/", + "source_releases": [ + "v2.0.0", + "v1.18.1", + "v1.17.7" + ], + "image_tags": [ + "v1.8.1", + "v1.8.1-arm64", + "v1.8.1-ppc64le", + "v1.8.1-s390x", + "v1.8.1-amd64" + ], + "binary": "--help", + "alternate_binaries": [] + }, + { + "name": "Kube-OVN", + "description": "A Bridge between SDN and Cloud Native (Project under CNCF).", + "source_repo": { + "type": "github", + "repo": "kubeovn/kube-ovn" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/kubeovn/kube-ovn" + }, + "category": "CNCF", + "subcategory": "Container Runtime", + "homepage": "https://kube-ovn.io", + "source_releases": [ + "v1.14.18", + "v1.14.17", + "v1.14.16" + ], + "image_tags": [ + "v1.15.0-debug", + "v1.15.0", + "v1.15.0-dpdk-x86", + "v1.15.0-debug-x86", + "v1.15.0-x86" + ], + "binary": "", + "alternate_binaries": [] + }, + { + "name": "kube-rs", + "description": "Kube-rs is the core Rust ecosystem for building applications against Kubernetes.", + "source_repo": { + "type": "github", + "repo": "kube-rs/kube" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/kubeovn/kube-ovn" + }, + "category": "CNCF", + "subcategory": "Management", + "homepage": "https://kube.rs", + "source_releases": [ + "2.0.1", + "2.0.0", + "1.1.0", + "1.0.0", + "0.99.0" + ], + "image_tags": [ + "v1.15.0-debug", + "v1.15.0", + "v1.15.0-dpdk-x86", + "v1.15.0-debug-x86", + "v1.15.0-x86" + ], + "binary": "", + "alternate_binaries": [] + }, + { + "name": "kube-vip", + "description": "Kubernetes Virtual IP and Load-Balancer for both control plane and Kubernetes services.", + "source_repo": { + "type": "github", + "repo": "kube-vip/kube-vip" + }, + "image_repo": { + "type": "quay", + "image": "quay.io/rtheobald/kube-vip" + }, + "category": "CNCF", + "subcategory": "Container Runtime", + "homepage": "https://kube-vip.io", + "source_releases": [ + "v1.0.2", + "v1.0.1", + "v1.0.0", + "v0.9.2", + "v0.9.1" + ], + "image_tags": [ + "main2", + "main", + "v1.0.0" + ], + "binary": "--help", + "alternate_binaries": [] + }, + { + "name": "Kubean", + "description": "Product ready cluster lifecycle management toolchains based on kubespray and other cluster LCM engine.", + "source_repo": { + "type": "github", + "repo": "kubean-io/kubean" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/labring/kubean" + }, + "category": "CNCF", + "subcategory": "Cluster Management", + "homepage": "https://kubean-io.github.io/kubean/", + "source_releases": [ + "v0.30.2", + "v0.30.1", + "v0.30.0", + "v0.29.1", + "v0.29.0" + ], + "image_tags": [ + "v0.13.3" + ], + "binary": "", + "alternate_binaries": [] + }, + { + "name": "KubeArmor", + "description": "Runtime protection for Kubernetes & other cloud Workloads.", + "source_repo": { + "type": "github", + "repo": "kubearmor/KubeArmor" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/kubearmor/kubearmor" + }, + "category": "CNCF", + "subcategory": "Provisioning", + "homepage": "https://kubearmor.io/", + "source_releases": [ + "v1.6.5", + "v1.6.4", + "v1.6.3", + "v1.6.2", + "v1.6.1" + ], + "image_tags": [ + "latest", + "sandgarden-docs-2025-12-05-1yVHuAc4dS", + "sandgarden-2025-12-05-FWXOM3XlWG", + "sandgarden-2025-12-03-Y7nPRafi5m", + "sandgarden-docs-2025-12-03-Q61zMuu2AL" + ], + "binary": "-h", + "alternate_binaries": [] + }, + { + "name": "KubeClipper", + "description": "Manage kubernetes in the most light and convenient way.", + "source_repo": { + "type": "github", + "repo": "kubeclipper/kubeclipper" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/kubeclipper/kubectl" + }, + "category": "CNCF", + "subcategory": "Platform", + "homepage": "https://www.kubeclipper.io/", + "source_releases": [ + "v1.4.1", + "v1.4.0", + "v1.3.4", + "v1.3.3", + "v1.3.2" + ], + "image_tags": [ + "latest" + ], + "binary": "", + "alternate_binaries": [] + }, + { + "name": "kubectl", + "description": "Command-line tool for controlling Kubernetes clusters.", + "source_repo": { + "type": "github", + "repo": "kubernetes/kubernetes" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/bitnami/kubectl" + }, + "category": "Kubernetes", + "subcategory": "CLI Tools", + "homepage": "https://kubernetes.io/docs/reference/kubectl/", + "source_releases": [ + "v1.35.0-rc.0", + "v1.35.0-beta.0", + "v1.34.2", + "v1.33.6", + "v1.32.10" + ], + "image_tags": [ + "latest", + "sha256-ef47927035351ffa5f15f8c0f8231ae20cd0094eaa1c0c526093a1a9ad1477c5", + "sha256-ef47927035351ffa5f15f8c0f8231ae20cd0094eaa1c0c526093a1a9ad1477c5.sig", + "sha256-3bcc3efefff77a4dd3ec1886e612c249dc6a313fada8348e42ec2ebe9168126f.att", + "sha256-fcef3476785fbf6174d36e6567410b6608da5fce2841e69896fbe3f3d8faa6c5" + ], + "binary": "kubectl", + "alternate_binaries": [] + }, + { + "name": "KubeDL", + "description": "Run your deep learning workloads on Kubernetes more easily and efficiently.", + "source_repo": { + "type": "github", + "repo": "kubedl-io/kubedl" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/kubedl/kubedl" + }, + "category": "CNCF", + "subcategory": "Provisioning", + "homepage": "https://kubedl.io", + "source_releases": [ + "v0.5.0", + "v0.4.3", + "v0.4.2", + "v0.4.1", + "v0.4.0" + ], + "image_tags": [ + "v0.5.0", + "v0.4.3", + "v0.4.2-faulttolerance", + "v0.4.2-easyscale-faulttolerance", + "0.4.2" + ], + "binary": "", + "alternate_binaries": [] + }, + { + "name": "KubeEdge", + "description": "Kubernetes Native Edge Computing Framework (project under CNCF).", + "source_repo": { + "type": "github", + "repo": "kubeedge/kubeedge" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/kubeedge/cloudcore" + }, + "category": "CNCF", + "subcategory": "Provisioning", + "homepage": "https://kubeedge.io/en/", + "source_releases": [ + "v1.22.0", + "v1.21.0", + "v1.20.0", + "v1.19.2", + "v1.18.3" + ], + "image_tags": [ + "v1.22.0", + "v1.21.0", + "v1.20.0", + "sha256-426615d0df32cfddc78e5f3f05e09696c33eece9ead1dee3c429368440ad61a1.att", + "sha256-9d098133e92516525b7d722c2e0ca2ad287246c3477eed3ac991461f92d44ab5.att" + ], + "binary": "--help", + "alternate_binaries": [] + }, + { + "name": "Kubeflow", + "description": "Kubeflow is the foundation of tools for AI Platforms on Kubernetes.", + "source_repo": { + "type": "github", + "repo": "kubeflow/kubeflow" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/kubeflow/mxnet-operator" + }, + "category": "CNCF", + "subcategory": "Management", + "homepage": "https://kubeflow.org", + "source_releases": [ + "v1.10.0", + "v1.9.2", + "v1.9.1", + "v1.9.0", + "v1.8.0" + ], + "image_tags": [ + "v1.1.0", + "v1.0.0-20200625" + ], + "binary": "mxnet-operator.v1", + "alternate_binaries": [] + }, + { + "name": "Kuberhealthy", + "description": "A Kubernetes operator for running synthetic checks as pods.", + "source_repo": { + "type": "github", + "repo": "kuberhealthy/kuberhealthy" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/kuberhealthy/kuberhealthy" + }, + "category": "CNCF", + "subcategory": "Observability", + "homepage": "https://github.com/kuberhealthy/kuberhealthy", + "source_releases": [ + "v2.8.0-rc2", + "v2.8.0-rc1", + "v2.7.1", + "v2.7.0", + "v2.6.0" + ], + "image_tags": [ + "v2.8.0-rc2", + "v2.8.0-rc1", + "v2.7.1", + "v2.7.1-rc1", + "v2.7.0" + ], + "binary": "", + "alternate_binaries": [] + }, + { + "name": "Kubernetes", + "description": "Kubernetes is an open-source system for automating deployment, scaling, and management of containerized applications.", + "source_repo": { + "type": "github", + "repo": "kubernetes/kubernetes" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/kindest/node" + }, + "category": "CNCF", + "subcategory": "Management", + "homepage": "https://kubernetes.io/", + "source_releases": [ + "v1.35.0-rc.0", + "v1.35.0-beta.0", + "v1.34.2", + "v1.33.6", + "v1.32.10" + ], + "image_tags": [ + "v1.34.0", + "v1.33.4", + "v1.32.8", + "v1.31.12", + "v1.33.2" + ], + "binary": "kubectl", + "alternate_binaries": [] + }, + { + "name": "Kubescape", + "description": "Kubescape is an open source security and compliance platform that scans clusters, Kubernetes manifest files (YAML files, and Helm charts), code repositories, container registries and images.", + "source_repo": { + "type": "github", + "repo": "kubescape/kubescape" + }, + "image_repo": { + "type": "quay", + "image": "quay.io/kubescape/kubescape" + }, + "category": "CNCF", + "subcategory": "Cluster Management", + "homepage": "https://kubescape.io/", + "source_releases": [ + "v3.0.46", + "v3.0.45", + "v3.0.44", + "v3.0.43" + ], + "image_tags": [ + "latest", + "v3.0.46", + "sha256-cb7b5217003eb61af5caf6db896b437e8a0fd689463e884dc8bf607870f49295.sig", + "v3.0.46-prerelease", + "v3.0.45" + ], + "binary": "kubescape", + "alternate_binaries": [] + }, + { + "name": "KubeSlice", + "description": "Multi-Cloud, Multi-Cluster Service Connectivity with Application Slices.", + "source_repo": { + "type": "github", + "repo": "kubeslice/kubeslice" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/sumon124816/kubeslice" + }, + "category": "CNCF", + "subcategory": "Management", + "homepage": "https://kubeslice.io", + "source_releases": [ + "kubeslice-worker-1.4.0", + "kubeslice-controller-1.4.0", + "kubeslice-worker-1.3.1", + "kubeslice-controller-1.3.1", + "kubeslice-worker-1.3.0" + ], + "image_tags": [ + "webhook-sidecar", + "nsc-sidecar", + "nsc-grpc-client-3", + "worker-sidecar", + "nsc-grpc-client-2" + ], + "binary": "", + "alternate_binaries": [] + }, + { + "name": "KubeStellar", + "description": "KubeStellar - a flexible solution for multi-cluster configuration management for edge, multi-cloud, and hybrid cloud.", + "source_repo": { + "type": "github", + "repo": "kubestellar/kubestellar" + }, + "image_repo": { + "type": "quay", + "image": "quay.io/kubestellar/kubestellar" + }, + "category": "CNCF", + "subcategory": "Management", + "homepage": "https://kubestellar.io", + "source_releases": [ + "v0.29.0", + "v0.29.0-rc.1", + "v0.29.0-alpha.1", + "v0.28.0", + "v0.28.0-rc.1" + ], + "image_tags": [ + "release-0.15.2", + "git-1f17a7b3d-dirty", + "b24-01-09-22-28-26", + "release-0.15.1", + "git-3bb58d4f-dirty" + ], + "binary": "kubestellar-make-kcp-server-cert", + "alternate_binaries": [] + }, + { + "name": "KubeVela", + "description": "KubeVela is a modern application delivery platform that makes deploying and operating applications across today's hybrid, multi-cloud environments easier, faster and more reliable.", + "source_repo": { + "type": "github", + "repo": "kubevela/kubevela" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/labring/kubevela" + }, + "category": "CNCF", + "subcategory": "Application Development", + "homepage": "https://kubevela.io", + "source_releases": [ + "v1.10.6", + "v1.10.5", + "v1.10.4", + "v1.10.3" + ], + "image_tags": [ + "v1.9.6", + "v1.7.7", + "v1.8.2", + "v1.6.2", + "v1.6.3" + ], + "binary": "vela", + "alternate_binaries": [] + }, + { + "name": "KubeVirt", + "description": "Kubernetes Virtualization API and runtime in order to define and manage virtual machines.", + "source_repo": { + "type": "github", + "repo": "kubevirt/kubevirt" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/kubevirt/cirros-registry-disk-demo" + }, + "category": "CNCF", + "subcategory": "Application Development", + "homepage": "https://kubevirt.io/", + "source_releases": [ + "v1.7.0", + "v1.7.0-rc.1", + "v1.7.0-rc.0", + "v1.6.3", + "v1.7.0-beta.0" + ], + "image_tags": [ + "v0.9.6", + "v0.10.0", + "v0.9.5", + "v0.9.4", + "v0.9.3" + ], + "binary": "cfdisk", + "alternate_binaries": [] + }, + { + "name": "Kubewarden", + "description": "Kubewarden is a Policy Engine powered by WebAssembly policies.", + "source_repo": { + "type": "github", + "repo": "kubewarden/kubewarden-controller" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/jordonleach/kubewarden" + }, + "category": "CNCF", + "subcategory": "Provisioning", + "homepage": "https://www.kubewarden.io", + "source_releases": [ + "v1.31.0", + "v1.31.0-rc1", + "v1.30.0", + "v1.30.0-rc2", + "v1.30.0-rc1" + ], + "image_tags": [ + "latest" + ], + "binary": "", + "alternate_binaries": [] + }, + { + "name": "KUDO", + "description": "Kubernetes Universal Declarative Operator - toolkit for building production-grade operators covering the entire application lifecycle.", + "source_repo": { + "type": "github", + "repo": "kudobuilder/kudo" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/kudo/ubuntu-nonroot" + }, + "category": "CNCF", + "subcategory": "Operator Framework", + "homepage": "https://kudo.dev/", + "source_releases": [ + "v0.19.0", + "v0.18.2", + "v0.17.4", + "v0.18.1", + "v0.17.3" + ], + "image_tags": [ + "20.04", + "18.04", + "latest" + ], + "binary": "", + "alternate_binaries": [] + }, + { + "name": "Kudu", + "description": "Columnar storage manager for structured data with fast analytics on rapidly changing data.", + "source_repo": { + "type": "github", + "repo": "apache/kudu" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/apache/kudu" + }, + "category": "Apache", + "subcategory": "Storage Engine", + "homepage": "https://kudu.apache.org/", + "source_releases": [ + "1.17.1", + "1.17.0", + "1.16.0", + "1.15.0", + "1.14.0" + ], + "image_tags": [ + "1.18-ubuntu", + "1.18.0-ubuntu", + "1.17-ubuntu", + "latest", + "latest-ubuntu" + ], + "binary": "", + "alternate_binaries": [] + }, + { + "name": "Kuma", + "description": "🐻 The multi-zone service mesh for containers, Kubernetes and VMs.", + "source_repo": { + "type": "github", + "repo": "kumahq/kuma" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/yfdyh000/kuma" + }, + "category": "CNCF", + "subcategory": "Service Mesh", + "homepage": "https://kuma.io", + "source_releases": [ + "v2.12.5", + "v2.7.20", + "v2.10.9", + "v2.11.8", + "v2.12.4" + ], + "image_tags": [ + "try2" + ], + "binary": "", + "alternate_binaries": [] + }, + { + "name": "Kured", + "description": "Kured (KUbernetes REboot Daemon) is a Kubernetes daemonset that performs safe automatic node reboots when the need to do so is indicated by the package management system of the underlying OS.", + "source_repo": { + "type": "github", + "repo": "kubereboot/kured" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/weaveworks/kured" + }, + "category": "CNCF", + "subcategory": "Management", + "homepage": "https://kured.dev", + "source_releases": [ + "1.20.0", + "1.19.0", + "1.17.1", + "1.17.0", + "1.16.2" + ], + "image_tags": [ + "1.10.2", + "main-796014a", + "main-8343ddd", + "main-92db607", + "main-5fd42b0" + ], + "binary": "--help", + "alternate_binaries": [] + }, + { + "name": "KusionStack", + "description": "Declarative Intent Driven Platform Orchestrator for Internal Developer Platform (IDP).", + "source_repo": { + "type": "github", + "repo": "KusionStack/kusion" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/kusionstack/karpor" + }, + "category": "CNCF", + "subcategory": "Provisioning", + "homepage": "https://kusionstack.io/", + "source_releases": [ + "v0.15.0", + "v0.14.1-rc.0", + "v0.14.0", + "v0.14.0-rc.1", + "v0.13.0" + ], + "image_tags": [ + "v0.6.4", + "v0.6.3-alpha.4", + "v0.6.3-alpha.3", + "v0.6.3-alpha.2", + "v0.6.3-alpha.1" + ], + "binary": "--help", + "alternate_binaries": [] + }, + { + "name": "Kustomize", + "description": "Kubernetes configuration customization tool using declarative specifications.", + "source_repo": { + "type": "github", + "repo": "kubernetes-sigs/kustomize" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/line/kubectl-kustomize" + }, + "category": "Kubernetes", + "subcategory": "Configuration", + "homepage": "https://kustomize.io/", + "source_releases": [ + "kyaml/v0.21.0", + "kustomize/v5.8.0", + "cmd/config/v0.21.0", + "api/v0.21.0", + "kyaml/v0.20.1" + ], + "image_tags": [ + "1.34.2-5.8.0", + "1.34.1-5.8.0", + "1.34.1-5.7.1", + "1.31.0-5.7.1", + "1.31.0-5.7.0" + ], + "binary": "kustomize", + "alternate_binaries": [] + }, + { + "name": "Kylin", + "description": "Distributed analytics engine providing SQL interface and OLAP analysis on Hadoop for large datasets.", + "source_repo": { + "type": "github", + "repo": "apache/kylin" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/apachekylin/apache-kylin-standalone" + }, + "category": "Apache", + "subcategory": "Database", + "homepage": "https://kylin.apache.org/", + "source_releases": [ + "kylin-5.0.2", + "kylin-5.0.0" + ], + "image_tags": [ + "5.0.2-GA", + "5.0.0-GA", + "5.0-beta", + "4.0.0", + "3.1.0" + ], + "binary": "", + "alternate_binaries": [] + }, + { + "name": "Kyuubi", + "description": "Distributed and multi-tenant gateway for serverless SQL on data warehouses and lakehouses.", + "source_repo": { + "type": "github", + "repo": "apache/kyuubi" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/apache/kyuubi" + }, + "category": "Apache", + "subcategory": "Query & Analytics", + "homepage": "https://kyuubi.apache.org/", + "source_releases": [ + "v1.10.2", + "v1.9.4", + "v1.10.1", + "v1.9.3", + "v1.8.3" + ], + "image_tags": [ + "1.10.2-flink", + "1.10.2-all", + "1.10.2-spark", + "1.10.2", + "1.10.1-all" + ], + "binary": "", + "alternate_binaries": [] + }, + { + "name": "Kyverno", + "description": "Cloud-native policy management engine for Kubernetes with declarative validation, mutation, and generation of configurations.", + "source_repo": { + "type": "github", + "repo": "kyverno/kyverno" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/nirmata/kyverno" + }, + "category": "CNCF", + "subcategory": "Provisioning", + "homepage": "https://kyverno.io/", + "source_releases": [ + "v1.16.1", + "v1.16.1-rc.2", + "v1.16.1-rc.1", + "v1.16.0", + "v1.16.0-rc.2" + ], + "image_tags": [ + "v1.3.0-rc4-12-ge868dbfe", + "v1.3.0-rc4-11-g7ee346b0", + "v1.3.0-rc4-10-gb7b2eca3", + "v1.3.0-rc4-3-g63c6e521", + "v1.3.0-rc4" + ], + "binary": "--help", + "alternate_binaries": [] + }, + { + "name": "lazydocker", + "description": "Terminal UI for managing Docker containers, images, and volumes.", + "source_repo": { + "type": "github", + "repo": "jesseduffield/lazydocker" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/lazyteam/lazydocker" + }, + "category": "Container Tools", + "subcategory": "Docker", + "homepage": "https://github.com/jesseduffield/lazydocker", + "source_releases": [ + "v0.24.2", + "v0.24.1", + "v0.24.0", + "v0.23.3", + "v0.23.1" + ], + "image_tags": [ + "latest", + "version-0.12", + "version-0.11", + "version-0.10", + "version-0.9.1" + ], + "binary": "lazydocker", + "alternate_binaries": [] + }, + { + "name": "Lighthouse", + "description": "Ethereum consensus client implementation in Rust focused on security and performance.", + "source_repo": { + "type": "github", + "repo": "sigp/lighthouse" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/sigp/lighthouse" + }, + "category": "Blockchain", + "subcategory": "Ethereum Consensus Client", + "homepage": "https://lighthouse.sigmaprime.io/", + "source_releases": [ + "v8.0.1", + "v8.0.0", + "v8.0.0-rc.2", + "v8.0.0-rc.1", + "v8.0.0-rc.0" + ], + "image_tags": [ + "v8.0.1", + "v8.0.0", + "v8.0.0-rc.2", + "v8.0.0-rc.1", + "v8.0.0-rc.0" + ], + "binary": "lighthouse", + "alternate_binaries": [] + }, + { + "name": "Lima", + "description": "Linux virtual machines, typically on macOS, for running containerd.", + "source_repo": { + "type": "github", + "repo": "lima-vm/lima" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/staphb/lima" + }, + "category": "CNCF", + "subcategory": "Container Runtime", + "homepage": "https://github.com/lima-vm/lima", + "source_releases": [ + "v2.0.2", + "v2.0.1", + "v2.0.0", + "v1.2.2", + "v2.0.0-rc.1" + ], + "image_tags": [ + "2.13.0-Rscripts", + "2.13.0", + "2.12.0-Rscripts", + "2.12.0", + "2.9.0-Rscripts" + ], + "binary": "lima", + "alternate_binaries": [] + }, + { + "name": "Linkerd", + "description": "Ultra light, ultra simple, ultra powerful Linkerd adds security, observability, and reliability to Kubernetes, without the complexity.", + "source_repo": { + "type": "github", + "repo": "linkerd/linkerd2" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/linkerd/namerctl" + }, + "category": "CNCF", + "subcategory": "Service Mesh", + "homepage": "https://linkerd.io/", + "source_releases": [ + "edge-25.12.1", + "edge-25.11.3", + "edge-25.11.2", + "edge-25.11.1", + "edge-25.10.7" + ], + "image_tags": [ + "0.8.6", + "latest" + ], + "binary": "linkerd", + "alternate_binaries": [] + }, + { + "name": "Litmus", + "description": "Litmus helps SREs and developers practice chaos engineering in a Cloud-native way.", + "source_repo": { + "type": "github", + "repo": "litmuschaos/litmus" + }, + "image_repo": { + "type": "quay", + "image": "quay.io/ankitks/litmusportal-subscriber" + }, + "category": "CNCF", + "subcategory": "Observability", + "homepage": "https://litmuschaos.io/", + "source_releases": [ + "3.23.0", + "3.22.0", + "3.21.0", + "3.20.0", + "3.19.0" + ], + "image_tags": [ + "3.16.0" + ], + "binary": "", + "alternate_binaries": [] + }, + { + "name": "Logging Operator (Kube Logging)", + "description": "The Logging operator is now a CNCF Sandbox project.", + "source_repo": { + "type": "github", + "repo": "kube-logging/logging-operator" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/rancher/mirrored-kube-logging-logging-operator" + }, + "category": "CNCF", + "subcategory": "Logging", + "homepage": "https://kube-logging.dev/", + "source_releases": [ + "6.2.1", + "6.2.0", + "6.1.0", + "6.0.3", + "6.0.2" + ], + "image_tags": [ + "4.11.4", + "4.10.0", + "4.9.1", + "4.8.0", + "4.4.0" + ], + "binary": "--help", + "alternate_binaries": [] + }, + { + "name": "Logstash", + "description": "Server-side data processing pipeline for ingesting, transforming, and sending data.", + "source_repo": { + "type": "github", + "repo": "elastic/logstash" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/elastic/logstash" + }, + "category": "Observability", + "subcategory": "Elastic Stack", + "homepage": "https://www.elastic.co/logstash/", + "source_releases": [ + "v9.2.2", + "v9.1.8", + "v8.19.8", + "v9.2.1", + "v9.1.7" + ], + "image_tags": [ + "9.1.8", + "8.19.8", + "sha256-e8c34e91d50656fc1dac2c442117cc215487bbea180db2b22939a42c5b018969", + "sha256-6dce303b8da2b215a01cd2dd06f18705b1ecc0d392885421c07fb3cae82829d0", + "sha256-6414de701ca8f88a544be6e221769ed7a62e14fc99a8b6fd4b3e1ac0b3bd599e" + ], + "binary": "logstash", + "alternate_binaries": [] + }, + { + "name": "Loki", + "description": "Horizontally-scalable log aggregation system.", + "source_repo": { + "type": "github", + "repo": "grafana/loki" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/grafana/loki" + }, + "category": "Observability", + "subcategory": "Logging", + "homepage": "https://grafana.com/oss/loki/", + "source_releases": [ + "operator/v0.9.0", + "v3.6.2", + "v3.6.1", + "v3.6.0", + "v2.9.17" + ], + "image_tags": [ + "main-d7c1e1d", + "main-ea31e73", + "main-495ad98", + "main-23948c4", + "k284-aab9e46" + ], + "binary": "loki", + "alternate_binaries": [] + }, + { + "name": "Longhorn", + "description": "Cloud native distributed block storage system for Kubernetes - provides persistent storage with snapshots, backups, and disaster recovery.", + "source_repo": { + "type": "github", + "repo": "longhorn/longhorn" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/longhornio/longhorn-manager" + }, + "category": "CNCF", + "subcategory": "Storage", + "homepage": "https://longhorn.io/", + "source_releases": [ + "v1.10.1", + "v1.10.1-rc1", + "v1.10.0", + "v1.9.2", + "v1.10.0-rc4" + ], + "image_tags": [ + "v1.10.x-head", + "v1.9.x-head", + "v1.9.3-dev-20251116", + "v1.11.0-dev-20251116", + "v1.11.0-dev-20251130" + ], + "binary": "launch-manager", + "alternate_binaries": [] + }, + { + "name": "LoxiLB", + "description": "EBPF based cloud-native load-balancer Powering Kubernetes|Edge|5G|IoT|XaaS Apps.", + "source_repo": { + "type": "github", + "repo": "loxilb-io/loxilb" + }, + "image_repo": { + "type": "quay", + "image": "quay.io/operatorhubio/kube-loxilb-operator" + }, + "category": "CNCF", + "subcategory": "Management", + "homepage": "https://loxilb.io", + "source_releases": [ + "v0.9.8.4", + "v0.9.8.3", + "v0.9.8.2", + "v0.9.8.1", + "v0.9.8" + ], + "image_tags": [ + "v0.8.3--20230418T164314", + "v0.8.3", + "v0.8.3--20230418T160546" + ], + "binary": "", + "alternate_binaries": [] + }, + { + "name": "MariaDB", + "description": "Open-source relational database forked from MySQL with enhanced features.", + "source_repo": { + "type": "github", + "repo": "MariaDB/server" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/mariadb" + }, + "category": "Database", + "subcategory": "MySQL", + "homepage": "https://mariadb.org/", + "source_releases": [ + "mariadb-12.2.1", + "mariadb-12.1.2", + "mariadb-11.8.5", + "mariadb-11.8.4", + "mariadb-11.4.9" + ], + "image_tags": [ + "11.8.5-ubi9", + "11.8.5-ubi", + "11.8-ubi9", + "11.8-ubi", + "11.4.9-ubi9" + ], + "binary": "mariadb", + "alternate_binaries": [] + }, + { + "name": "Maven", + "description": "Software project management and comprehension tool for Java applications.", + "source_repo": { + "type": "github", + "repo": "apache/maven" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/maven" + }, + "category": "Apache", + "subcategory": "Build Automation", + "homepage": "https://maven.apache.org/", + "source_releases": [ + "maven-4.0.0-rc-5", + "maven-3.9.11", + "maven-4.0.0-rc-4", + "maven-3.9.10", + "maven-4.0.0-rc-3" + ], + "image_tags": [ + "4.0.0-rc-5-amazoncorretto-25-al2023", + "4.0.0-rc-5-amazoncorretto-25", + "4.0.0-rc-5-amazoncorretto-21-al2023", + "4.0.0-rc-5-amazoncorretto-21", + "4.0.0-rc-5-amazoncorretto-17-al2023" + ], + "binary": "mvn", + "alternate_binaries": [] + }, + { + "name": "Memcached", + "description": "High-performance, distributed memory object caching system.", + "source_repo": { + "type": "github", + "repo": "memcached/memcached" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/memcached" + }, + "category": "Cache", + "subcategory": "Caching", + "homepage": "https://memcached.org/", + "source_releases": [ + "flash-with-wbuf-stack", + "1.6.39", + "1.6.38", + "1.6.37", + "1.6.36" + ], + "image_tags": [ + "1.6.39-alpine3.23", + "1.6.39-alpine", + "1.6-alpine3.23", + "1.6-alpine", + "latest" + ], + "binary": "memcached", + "alternate_binaries": [] + }, + { + "name": "Merbridge", + "description": "Use eBPF to speed up your Service Mesh like crossing an Einstein-Rosen Bridge.", + "source_repo": { + "type": "github", + "repo": "merbridge/merbridge" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/merbridge/merbridge" + }, + "category": "CNCF", + "subcategory": "Service Mesh", + "homepage": "https://merbridge.io/", + "source_releases": [ + "0.8.1", + "0.8.0", + "0.7.3", + "0.7.2", + "0.7.1" + ], + "image_tags": [ + "0.8.1", + "0.8.0", + "0.7.3", + "0.7.2", + "0.7.1" + ], + "binary": "mbctl", + "alternate_binaries": [] + }, + { + "name": "Meshery", + "description": "MESHERY IS A CLOUD NATIVE COMPUTING FOUNDATION PROJECT A self-service engineering platform, Meshery, is the open source, cloud native manager that enables the design and management of all Kubernetes-based infrastructure and applications (multi-cloud).", + "source_repo": { + "type": "github", + "repo": "meshery/meshery" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/meshery/meshery" + }, + "category": "CNCF", + "subcategory": "Provisioning", + "homepage": "https://meshery.io", + "source_releases": [ + "v0.8.178", + "v0.8.177", + "v0.8.176", + "v0.8.175", + "v0.8.174" + ], + "image_tags": [ + "edge-v0.8.178", + "edge-c86e4a32", + "edge-latest", + "edge-7839c64d", + "edge-49d198ef" + ], + "binary": "", + "alternate_binaries": [] + }, + { + "name": "Meshery (Wasm)", + "description": "MESHERY IS A CLOUD NATIVE COMPUTING FOUNDATION PROJECT A self-service engineering platform, Meshery, is the open source, cloud native manager that enables the design and management of all Kubernetes-based infrastructure and applications (multi-cloud).", + "source_repo": { + "type": "github", + "repo": "meshery/meshery" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/openpolicyagent/opa-wasm-builder" + }, + "category": "CNCF", + "subcategory": "WebAssembly Runtime", + "homepage": "https://meshery.io", + "source_releases": [ + "v0.8.178", + "v0.8.177", + "v0.8.176", + "v0.8.175", + "v0.8.174" + ], + "image_tags": [ + "1.6", + "1.5", + "1.4", + "1.3", + "1.2" + ], + "binary": "wasm-dis", + "alternate_binaries": [] + }, + { + "name": "MetalLB", + "description": "A network load-balancer implementation for Kubernetes using standard routing protocols.", + "source_repo": { + "type": "github", + "repo": "metallb/metallb" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/bitnamicharts/metallb" + }, + "category": "CNCF", + "subcategory": "Management", + "homepage": "https://metallb.universe.tf", + "source_releases": [ + "v0.15.3", + "metallb-chart-0.15.3", + "v0.15.2", + "metallb-chart-0.15.2", + "metallb-chart-0.15.1" + ], + "image_tags": [ + "6.4.22", + "6.4.21", + "6.4.20", + "6.4.19", + "6.4.18" + ], + "binary": "", + "alternate_binaries": [] + }, + { + "name": "Metal³", + "description": "Bare metal host provisioning integration for Kubernetes.", + "source_repo": { + "type": "github", + "repo": "metal3-io/baremetal-operator" + }, + "image_repo": { + "type": "quay", + "image": "quay.io/metal3-io/baremetal-operator" + }, + "category": "CNCF", + "subcategory": "Provisioning", + "homepage": "https://metal3.io/", + "source_releases": [ + "v0.12.0-beta.0", + "v0.11.2", + "v0.10.5", + "v0.11.1", + "v0.10.4" + ], + "image_tags": [ + "latest", + "main_2025-12-08_84748c6d86b796515698515a8555c1fa97a5a237", + "main", + "main_2025-12-08_95e1d079511f991c472eb1bfdc60aaab677eeb5a", + "main_2025-12-08_98bcf92dd473535b071a2f39e4707ab76d52a9a2" + ], + "binary": "", + "alternate_binaries": [], + "notes": "Changed to correct Metal3 repository on Quay.io" + }, + { + "name": "Microcks", + "description": "The open source, cloud native tool for API Mocking and Testing.", + "source_repo": { + "type": "github", + "repo": "microcks/microcks" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/microcks/microcks" + }, + "category": "CNCF", + "subcategory": "Application Development", + "homepage": "https://microcks.io", + "source_releases": [ + "1.13.1", + "1.13.0", + "1.12.1", + "1.12.0", + "1.11.2" + ], + "image_tags": [ + "1.13.1", + "latest", + "sha256-1eead6458b44667dc571e72d9915ffdbe84e27fb92383cae9296317bcf48852b.sig", + "nightly", + "sha256-6ae25410bc802c8dbfaea626c929e60f3a94d988e68049d27699cab7a3f42aed.sig" + ], + "binary": "", + "alternate_binaries": [] + }, + { + "name": "Minio", + "description": "High-performance object storage with S3-compatible API.", + "source_repo": { + "type": "github", + "repo": "minio/minio" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/minio/minio" + }, + "category": "Storage", + "subcategory": "Object Storage", + "homepage": "https://min.io/", + "source_releases": [ + "RELEASE.2025-10-15T17-29-55Z", + "RELEASE.2025-09-07T16-13-09Z", + "RELEASE.2025-07-23T15-54-02Z", + "RELEASE.2025-07-18T21-56-31Z", + "RELEASE.2025-06-13T11-33-47Z" + ], + "image_tags": [ + "latest", + "RELEASE.2025-09-07T16-13-09Z-cpuv1", + "RELEASE.2025-09-07T16-13-09Z", + "latest-cicd", + "RELEASE.2025-07-23T15-54-02Z-cpuv1" + ], + "binary": "minio", + "alternate_binaries": [] + }, + { + "name": "ModelPack", + "description": "The project establishes open standards for packaging, distributing and running AI artifacts in the cloud-native environment.", + "source_repo": { + "type": "github", + "repo": "modelpack/model-spec" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/deepview/modelpack" + }, + "category": "CNCF", + "subcategory": "Application Development", + "homepage": "https://github.com/modelpack/model-spec", + "source_releases": [ + "v0.0.7", + "v0.0.6", + "v0.0.5", + "v0.0.4", + "v0.0.3" + ], + "image_tags": [ + "3.0.62", + "3.0.61", + "3.0.60", + "3.0.59", + "3.0.58" + ], + "binary": "", + "alternate_binaries": [] + }, + { + "name": "MongoDB", + "description": "Document-oriented NoSQL database with flexible schema.", + "source_repo": { + "type": "github", + "repo": "mongodb/mongo" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/mongo" + }, + "category": "Database", + "subcategory": "MongoDB", + "homepage": "https://www.mongodb.com/", + "source_releases": [ + "show", + "release-1.0", + "r8.3.0-alpha0", + "r8.2.3-alpha0", + "r8.2.2" + ], + "image_tags": [ + "8.0.16-nanoserver-ltsc2022", + "8.0.16-nanoserver", + "8.0-nanoserver-ltsc2022", + "8.0-nanoserver", + "7.0.26-nanoserver-ltsc2022" + ], + "binary": "mongosh", + "alternate_binaries": [] + }, + { + "name": "MySQL", + "description": "Open-source relational database management system.", + "source_repo": { + "type": "github", + "repo": "mysql/mysql-server" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/mysql" + }, + "category": "Database", + "subcategory": "MySQL", + "homepage": "https://www.mysql.com/", + "source_releases": [ + "mysql-cluster-9.5.0", + "mysql-cluster-9.4.0", + "mysql-cluster-9.3.0", + "mysql-cluster-9.2.0", + "mysql-cluster-9.1.0" + ], + "image_tags": [ + "9.5.0-oraclelinux9", + "latest", + "oraclelinux9", + "oracle", + "lts-oraclelinux9" + ], + "binary": "mysql", + "alternate_binaries": [] + }, + { + "name": "Mythril", + "description": "Security analysis tool for Ethereum smart contracts.", + "source_repo": { + "type": "github", + "repo": "Consensys/mythril" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/mythril/myth" + }, + "category": "Blockchain", + "subcategory": "Security Analysis", + "homepage": "https://mythril-classic.readthedocs.io/", + "source_releases": [ + "v0.24.8", + "v0.24.7", + "v0.24.6", + "v0.24.5", + "v0.24.4" + ], + "image_tags": [ + "0.24.8", + "0.24.7", + "0.24.5", + "0.24.3", + "0.24.2" + ], + "binary": "myth", + "alternate_binaries": [] + }, + { + "name": "NATS", + "description": "Connective technology for distributed systems providing messaging, streaming, and key-value storage for cloud, edge, and hybrid deployments.", + "source_repo": { + "type": "github", + "repo": "nats-io/nats-server" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/nats" + }, + "category": "CNCF", + "subcategory": "Application Development", + "homepage": "https://nats.io/", + "source_releases": [ + "v2.12.3-RC.2", + "v2.12.3-RC.1", + "v2.12.2", + "v2.11.11", + "v2.12.2-RC.4" + ], + "image_tags": [ + "2.12.2-scratch", + "2.12.2-nanoserver-ltsc2022", + "2.12.2-nanoserver", + "latest", + "scratch" + ], + "binary": "--help", + "alternate_binaries": [] + }, + { + "name": "Near Protocol", + "description": "Sharded, proof-of-stake Layer 1 blockchain designed for usability and scalability.", + "source_repo": { + "type": "github", + "repo": "near/nearcore" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/nearprotocol/nearcore" + }, + "category": "Blockchain", + "subcategory": "Blockchain Client", + "homepage": "https://near.org/", + "source_releases": [ + "2.10.1", + "2.10.0", + "2.10.0-rc.5", + "2.10.0-rc.4" + ], + "image_tags": [ + "latest", + "master-2bcfd651f7d62a27942a9f5e796a094768da401e", + "master", + "master-fb6d743b0e5d62d3072015e9d0abaa6ac5fbfcbc", + "master-d599c869ef052c113f5e1ba5d0462105cf4365e0" + ], + "binary": "nearcore", + "alternate_binaries": [] + }, + { + "name": "Nethermind", + "description": ".NET Ethereum execution client for enterprise and institutional use.", + "source_repo": { + "type": "github", + "repo": "NethermindEth/nethermind" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/nethermind/nethermind" + }, + "category": "Blockchain", + "subcategory": "Ethereum Execution Client", + "homepage": "https://nethermind.io/", + "source_releases": [ + "1.35.3", + "1.35.2", + "1.35.1", + "1.35.0", + "1.34.1" + ], + "image_tags": [ + "1.35.3-chiseled", + "1.35.3", + "1.35.2-chiseled", + "1.35.2", + "1.35.1-chiseled" + ], + "binary": "nethermind", + "alternate_binaries": [] + }, + { + "name": "Network Service Mesh", + "description": "CNCF is an open source software foundation that hosts and nurtures projects like Kubernetes and Prometheus.", + "source_repo": { + "type": "github", + "repo": "networkservicemesh/api" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/geonetwork" + }, + "category": "CNCF", + "subcategory": "Container Runtime", + "homepage": "https://networkservicemesh.io/", + "source_releases": [ + "v1.16.0", + "v1.15.0-rc.2", + "v1.15.0", + "v1.15.0-rc.1", + "v1.14.5-rc.3" + ], + "image_tags": [ + "3.12.12-postgres", + "3.12.12", + "3.12-postgres", + "3.12", + "4.4.9" + ], + "binary": "-h", + "alternate_binaries": [] + }, + { + "name": "Nginx", + "description": "High-performance web server, reverse proxy, and load balancer.", + "source_repo": { + "type": "github", + "repo": "nginx/nginx" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/nginx" + }, + "category": "Web Server", + "subcategory": "Nginx", + "homepage": "https://nginx.org/", + "source_releases": [ + "release-1.29.3", + "release-1.29.2", + "release-1.29.1", + "release-1.29.0", + "release-1.28.0" + ], + "image_tags": [ + "1.29.3-trixie-perl", + "1.29.3-perl", + "1.29-trixie-perl", + "1.29-perl", + "latest" + ], + "binary": "nginx", + "alternate_binaries": [] + }, + { + "name": "NiFi", + "description": "Easy-to-use, powerful, and reliable system for processing and distributing data.", + "source_repo": { + "type": "github", + "repo": "apache/nifi" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/apache/nifi" + }, + "category": "Apache", + "subcategory": "Workflow & Orchestration", + "homepage": "https://nifi.apache.org/", + "source_releases": [ + "support/nifi-1.11.1", + "rel/nifi-2.6.0", + "rel/nifi-2.5.0", + "rel/nifi-2.4.0", + "rel/nifi-2.3.0" + ], + "image_tags": [ + "2.6.0", + "2.5.0", + "2.4.0", + "2.3.0", + "2.2.0" + ], + "binary": "", + "alternate_binaries": [] + }, + { + "name": "Nimbus", + "description": "Lightweight Ethereum consensus client optimized for resource-restricted devices.", + "source_repo": { + "type": "github", + "repo": "status-im/nimbus-eth2" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/statusim/nimbus-eth2" + }, + "category": "Blockchain", + "subcategory": "Ethereum Consensus Client", + "homepage": "https://nimbus.team/", + "source_releases": [ + "nightly" + ], + "image_tags": [ + "multiarch-latest", + "multiarch-v25.11.1", + "multiarch-v25.11.0", + "multiarch-v25.10.0", + "multiarch-v25.9.2" + ], + "binary": "nimbus_beacon_node", + "alternate_binaries": [ + "nimbus_signing_process" + ] + }, + { + "name": "Nmap", + "description": "Network discovery and security auditing tool.", + "source_repo": { + "type": "github", + "repo": "nmap/nmap" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/instrumentisto/nmap" + }, + "category": "Security", + "subcategory": "Security Scanner", + "homepage": "https://nmap.org/", + "source_releases": [], + "image_tags": [ + "7.95", + "7.95-r12", + "7.95-r12-linux-s390x", + "7.95-r12-linux-ppc64le", + "7.95-r12-linux-i386" + ], + "binary": "nmap", + "alternate_binaries": [] + }, + { + "name": "Nocalhost", + "description": "Cloud native development environment for Kubernetes - enables developers to code, debug, and test directly in Kubernetes clusters.", + "source_repo": { + "type": "github", + "repo": "nocalhost/nocalhost" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/go2sheep/nocalhost" + }, + "category": "CNCF", + "subcategory": "Application Development", + "homepage": "https://nocalhost.dev", + "source_releases": [ + "v0.6.34", + "v0.6.33", + "v0.6.32", + "v0.6.31", + "v0.6.29" + ], + "image_tags": [ + "golang-1.25.3", + "golang-1.23.8", + "golang-1.23", + "golang-1.22", + "golang-1.21" + ], + "binary": "--help", + "alternate_binaries": [] + }, + { + "name": "Node.js", + "description": "JavaScript runtime built on Chrome's V8 engine for server-side applications.", + "source_repo": { + "type": "github", + "repo": "nodejs/node" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/node" + }, + "category": "Language Runtime", + "subcategory": "Node.Js", + "homepage": "https://nodejs.org/", + "source_releases": [ + "v20.19.6", + "v25.2.1", + "v25.2.0", + "v24.11.1", + "v25.1.0" + ], + "image_tags": [ + "lts-alpine3.23", + "lts-alpine", + "krypton-alpine3.23", + "krypton-alpine", + "jod-alpine3.23" + ], + "binary": "node", + "alternate_binaries": [ + "npm", + "npx" + ] + }, + { + "name": "Notary Project", + "description": "Notation is a CLI project to add signatures as standard items in the OCI registry ecosystem, and to build a set of simple tooling for signing and verifying these signatures.", + "source_repo": { + "type": "github", + "repo": "notaryproject/notation" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/notary" + }, + "category": "CNCF", + "subcategory": "Provisioning", + "homepage": "https://notaryproject.dev/", + "source_releases": [ + "v1.3.2", + "v2.0.0-alpha.1", + "v1.3.1", + "v1.3.0", + "v1.3.0-rc.2" + ], + "image_tags": [ + "signer-0.7.0", + "signer", + "server-0.7.0", + "server", + "signer-0.6.1-2" + ], + "binary": "--help", + "alternate_binaries": [] + }, + { + "name": "Nuclei", + "description": "Fast vulnerability scanner based on templates.", + "source_repo": { + "type": "github", + "repo": "projectdiscovery/nuclei" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/projectdiscovery/nuclei" + }, + "category": "Security", + "subcategory": "Security Scanner", + "homepage": "https://nuclei.projectdiscovery.io/", + "source_releases": [ + "v3.6.0", + "v3.5.1", + "v3.5.0", + "v3.4.10", + "v3.4.9" + ], + "image_tags": [ + "v3.6", + "v3.6.0", + "v3.5", + "v3.5.1", + "v3.5.0" + ], + "binary": "nuclei", + "alternate_binaries": [] + }, + { + "name": "Open Cluster Management", + "description": "Core components in the OCM project Report here if you found any issues in OCM.", + "source_repo": { + "type": "github", + "repo": "open-cluster-management-io/ocm" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/openjdk" + }, + "category": "CNCF", + "subcategory": "Management", + "homepage": "https://open-cluster-management.io/", + "source_releases": [ + "v1.1.1", + "v1.1.0", + "v1.0.0", + "v0.16.1", + "v0.16.0" + ], + "image_tags": [ + "27-ea-nanoserver-ltsc2025", + "27-ea-nanoserver-ltsc2022", + "27-ea-nanoserver", + "27-ea-jdk-nanoserver-ltsc2025", + "27-ea-jdk-nanoserver-ltsc2022" + ], + "binary": "", + "alternate_binaries": [] + }, + { + "name": "Open Policy Agent (OPA)", + "description": "Open Policy Agent (OPA) is an open source, general-purpose policy engine.", + "source_repo": { + "type": "github", + "repo": "open-policy-agent/opa" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/openpolicyagent/gatekeeper" + }, + "category": "CNCF", + "subcategory": "Provisioning", + "homepage": "https://www.openpolicyagent.org/", + "source_releases": [ + "v1.11.0", + "v1.10.1", + "v1.10.0", + "v1.9.0", + "v1.8.0" + ], + "image_tags": [ + "v3.21.0", + "dev", + "0fa7cae", + "62eed69", + "27cc6da" + ], + "binary": "--help", + "alternate_binaries": [] + }, + { + "name": "Open Policy Containers", + "description": "A docker-inspired CLI for building, tagging, pushing, pulling, and signing OPA policies to and from OCI-compliant registries.", + "source_repo": { + "type": "github", + "repo": "opcr-io/policy" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/openjdk" + }, + "category": "CNCF", + "subcategory": "Provisioning", + "homepage": "https://openpolicycontainers.com", + "source_releases": [ + "v0.3.2", + "v0.3.1", + "v0.3.0", + "v0.3.0-rc3", + "v0.2.22" + ], + "image_tags": [ + "27-ea-nanoserver-ltsc2025", + "27-ea-nanoserver-ltsc2022", + "27-ea-nanoserver", + "27-ea-jdk-nanoserver-ltsc2025", + "27-ea-jdk-nanoserver-ltsc2022" + ], + "binary": "", + "alternate_binaries": [] + }, + { + "name": "Open Service Mesh", + "description": "Open Service Mesh (OSM) is a lightweight, extensible, cloud native service mesh that allows users to uniformly manage, secure,.", + "source_repo": { + "type": "github", + "repo": "openservicemesh/osm" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/openjdk" + }, + "category": "CNCF", + "subcategory": "Service Mesh", + "homepage": "https://openservicemesh.io/", + "source_releases": [ + "v1.2.4", + "v1.1.4", + "v1.2.3", + "v1.2.2", + "v1.1.3" + ], + "image_tags": [ + "27-ea-nanoserver-ltsc2025", + "27-ea-nanoserver-ltsc2022", + "27-ea-nanoserver", + "27-ea-jdk-nanoserver-ltsc2025", + "27-ea-jdk-nanoserver-ltsc2022" + ], + "binary": "", + "alternate_binaries": [] + }, + { + "name": "OpenCost", + "description": "OpenCost provides visibility into current and historical Kubernetes spend and resource allocation.", + "source_repo": { + "type": "github", + "repo": "opencost/opencost" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/randoli/opencost" + }, + "category": "CNCF", + "subcategory": "Observability", + "homepage": "https://www.opencost.io/", + "source_releases": [ + "v1.118.0", + "v1.117.6", + "v1.117.5", + "v1.117.4", + "v1.117.3" + ], + "image_tags": [ + "1.115.3", + "1.115.3-bkp", + "1.115.4", + "1.115.3-2", + "1.115.2" + ], + "binary": "opencost", + "alternate_binaries": [] + }, + { + "name": "OpenEBS", + "description": "A popular & widely deployed Open Source Container Native Storage platform for Stateful Persistent Applications on Kubernetes.", + "source_repo": { + "type": "github", + "repo": "openebs/openebs" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/openebs/provisioner-localpv" + }, + "category": "CNCF", + "subcategory": "Container Runtime", + "homepage": "https://www.openebs.io/", + "source_releases": [ + "v4.4.0", + "v4.4.0-rc.0", + "v4.3.3", + "v4.3.2" + ], + "image_tags": [ + "4.5.0-develop", + "4.4.1-prerelease", + "4.4.0", + "4.4.0-rc.1", + "4.4.0-rc.0" + ], + "binary": "--help", + "alternate_binaries": [] + }, + { + "name": "OpenELB", + "description": "Load Balancer Implementation for Kubernetes in Bare-Metal, Edge, and Virtualization.", + "source_repo": { + "type": "github", + "repo": "openelb/openelb" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/kubesphere/openelb" + }, + "category": "CNCF", + "subcategory": "Management", + "homepage": "https://openelb.github.io", + "source_releases": [ + "v0.6.0", + "v0.5.1", + "v0.5.0", + "v0.4.4", + "v0.4.3" + ], + "image_tags": [ + "sha-d684cfc2", + "master", + "sha-bdd6549f", + "sha-1f9c7bd2", + "sha-b5fffdd7" + ], + "binary": "openelb-manager", + "alternate_binaries": [] + }, + { + "name": "OpenFeature", + "description": "CNCF standard for feature flagging - provides vendor-agnostic API and SDK for feature flag management across languages.", + "source_repo": { + "type": "github", + "repo": "open-feature/spec" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/chihhuiw/openfeature" + }, + "category": "CNCF", + "subcategory": "Observability", + "homepage": "https://openfeature.dev/", + "source_releases": [ + "v0.8.0", + "v0.7.0", + "v0.6.0", + "v0.5.2", + "v0.5.1" + ], + "image_tags": [ + "lab02" + ], + "binary": "", + "alternate_binaries": [] + }, + { + "name": "OpenFGA", + "description": "OpenFGA is a high performance and flexible authorization/permission system built for developers and inspired by Google Zanzibar.", + "source_repo": { + "type": "github", + "repo": "openfga/openfga" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/openfga/openfga" + }, + "category": "CNCF", + "subcategory": "Provisioning", + "homepage": "https://openfga.dev", + "source_releases": [ + "v1.11.2", + "v1.11.1", + "v1.11.0", + "v1.10.5", + "v1.10.4" + ], + "image_tags": [ + "v1.11.2", + "v1.11", + "v1.11.1", + "latest", + "sha256-e5891e4676e5a8b4659c010c50aabf487397844b18f66ef7510e5ad00935949f.att" + ], + "binary": "--help", + "alternate_binaries": [] + }, + { + "name": "OpenFunction", + "description": "Cloud Native Function-as-a-Service Platform (CNCF Sandbox Project).", + "source_repo": { + "type": "github", + "repo": "OpenFunction/OpenFunction" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/openfunction/openfunction" + }, + "category": "CNCF", + "subcategory": "Management", + "homepage": "https://openfunction.dev", + "source_releases": [ + "v1.2.0", + "v1.1.1", + "v1.1.0", + "v1.0.0", + "v1.0.0-rc.0" + ], + "image_tags": [ + "v1.2.0", + "v1.1.1", + "v1.1.0", + "v1.0.0", + "v1.0.0-rc.0" + ], + "binary": "--help", + "alternate_binaries": [] + }, + { + "name": "openGemini", + "description": "OpenGemini is an open source distributed time series DBMS with high concurrency, high performance, and high scalability, focusing on the storage and analysis of massive observability data.", + "source_repo": { + "type": "github", + "repo": "openGemini/openGemini" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/ttbb/opengemini" + }, + "category": "CNCF", + "subcategory": "Application Development", + "homepage": "https://www.opengemini.org", + "source_releases": [ + "v1.4.3", + "v1.4.1", + "v1.4.0", + "v1.3.1", + "v1.3.0" + ], + "image_tags": [ + "mate", + "nake", + "compiler" + ], + "binary": "dumb-init", + "alternate_binaries": [] + }, + { + "name": "OpenKruise", + "description": "Automated management of large-scale applications on Kubernetes (incubating project under CNCF).", + "source_repo": { + "type": "github", + "repo": "openkruise/kruise" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/openkruise/kruise-manager" + }, + "category": "CNCF", + "subcategory": "Application Development", + "homepage": "https://openkruise.io/", + "source_releases": [ + "v1.8.2", + "v1.8.1", + "v1.7.4", + "v1.8.0", + "v1.7.3" + ], + "image_tags": [ + "v1.8.2", + "v1.8.1", + "v1.7.4", + "v1.8.0", + "v1.7.3" + ], + "binary": "--help", + "alternate_binaries": [] + }, + { + "name": "OpenMetrics", + "description": "Evolving the Prometheus exposition format into a standard.", + "source_repo": { + "type": "github", + "repo": "prometheus/OpenMetrics" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/lesterthomas/openmetrics" + }, + "category": "CNCF", + "subcategory": "Observability", + "homepage": "https://openmetrics.io/", + "source_releases": [ + "v1.0.0" + ], + "image_tags": [ + "1.1", + "1.0" + ], + "binary": "--help", + "alternate_binaries": [] + }, + { + "name": "OpenTelemetry", + "description": "Table of Contents Get Involved Governing Bodies Areas of Interest Communication Mailing Lists Logos and Brand Guide Special Interest Groups Specification SIGs Implementation SIGs Related groups.", + "source_repo": { + "type": "github", + "repo": "open-telemetry/community" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/paketobuildpacks/opentelemetry" + }, + "category": "CNCF", + "subcategory": "Observability", + "homepage": "https://opentelemetry.io/", + "source_releases": [], + "image_tags": [ + "2.18", + "2.18.0", + "2.17", + "2.17.0", + "2.16" + ], + "binary": "", + "alternate_binaries": [] + }, + { + "name": "OpenTofu", + "description": "OpenTofu is an open source infrastructure as code tool that enables users to safely and predictably provision and manage cloud and on-prem infrastructure.", + "source_repo": { + "type": "github", + "repo": "opentofu/opentofu" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/oowy/opentofu" + }, + "category": "CNCF", + "subcategory": "Provisioning", + "homepage": "https://opentofu.org/", + "source_releases": [ + "v1.10.8", + "v1.11.0-rc4", + "v1.11.0-rc3", + "v1.11.0-rc2", + "v1.10.7" + ], + "image_tags": [ + "1.10.6-alpine3.20", + "1.10.5-alpine3.20", + "1.10.4-alpine3.20", + "1.10.3-alpine3.20", + "1.10.2-alpine3.20" + ], + "binary": "tofu", + "alternate_binaries": [] + }, + { + "name": "OpenTracing", + "description": "Vendor-neutral APIs and instrumentation for distributed tracing (deprecated, superseded by OpenTelemetry).", + "source_repo": { + "type": "github", + "repo": "opentracing/opentracing-go" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/opentracing/nginx-opentracing" + }, + "category": "CNCF", + "subcategory": "Distributed Tracing", + "homepage": "https://opentracing.io/", + "source_releases": [ + "v1.2.0", + "v1.1.0", + "v1.0.2", + "v1.0.0", + "v0.10.0" + ], + "image_tags": [ + "0.41.0", + "0.41.0-alpine", + "0.40.0", + "latest", + "edge" + ], + "binary": "nginx-debug", + "alternate_binaries": [] + }, + { + "name": "OpenYurt", + "description": "An open platform that extending your native Kubernetes to edge.", + "source_repo": { + "type": "github", + "repo": "openyurtio/openyurt" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/openyurt/yurthub" + }, + "category": "CNCF", + "subcategory": "Provisioning", + "homepage": "https://openyurt.io/", + "source_releases": [ + "v1.6.1", + "v1.6.0", + "v1.5.1", + "v1.5.0", + "v1.4.4" + ], + "image_tags": [ + "v1.6.1", + "v1.6.0", + "v1.5.1", + "v1.5.0", + "v1.4.4" + ], + "binary": "--help", + "alternate_binaries": [] + }, + { + "name": "Operator Framework", + "description": "SDK for building Kubernetes applications Provides high level APIs, useful abstractions, and project scaffolding.", + "source_repo": { + "type": "github", + "repo": "operator-framework/operator-sdk" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/cclose/operator-framework" + }, + "category": "CNCF", + "subcategory": "Application Development", + "homepage": "https://operatorframework.io/", + "source_releases": [ + "v1.42.0", + "v1.41.1", + "v1.41.0", + "v1.40.0", + "v1.39.2" + ], + "image_tags": [ + "v1.34.1-bookworm", + "v1.34.1", + "v1.34", + "latest", + "v1" + ], + "binary": "operator-sdk", + "alternate_binaries": [] + }, + { + "name": "Optimism", + "description": "Ethereum Layer 2 scaling solution using optimistic rollups.", + "source_repo": { + "type": "github", + "repo": "ethereum-optimism/optimism" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/ethereumoptimism/op-node" + }, + "category": "Blockchain", + "subcategory": "Ethereum Client", + "homepage": "https://optimism.io/", + "source_releases": [ + "op-deployer/v0.5.1", + "op-deployer/v0.5.0", + "op-node/v1.16.3", + "op-safe-contracts/v1.1.0" + ], + "image_tags": [ + "develop" + ], + "binary": "op-node", + "alternate_binaries": [] + }, + { + "name": "ORAS", + "description": "OCI registry client - managing content like artifacts, images, packages.", + "source_repo": { + "type": "github", + "repo": "oras-project/oras" + }, + "image_repo": { + "type": "quay", + "image": "quay.io/konflux-ci/oras" + }, + "category": "CNCF", + "subcategory": "Container Runtime", + "homepage": "https://oras.land/", + "source_releases": [ + "v1.3.0", + "v1.3.0-rc.2", + "v1.3.0-rc.1", + "v1.3.0-beta.4", + "v1.2.3" + ], + "image_tags": [ + "4542f5a2a046ca36653749a8985e46744a5d2d36ee10ca14409be718ce15129e", + "184df7d26645f83e378168c4331fdcd39d95894d", + "latest", + "sha256-4542f5a2a046ca36653749a8985e46744a5d2d36ee10ca14409be718ce15129e", + "184df7d" + ], + "binary": "--help", + "alternate_binaries": [] + }, + { + "name": "OSCAL-COMPASS", + "description": "The OSCAL COMPASS project is set of tools that enable the creation, validation, and governance of documentation artifacts for compliance needs.", + "source_repo": { + "type": "github", + "repo": "oscal-compass/compliance-trestle" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/rancher/rio-autoscaler" + }, + "category": "CNCF", + "subcategory": "Provisioning", + "homepage": "https://github.com/oscal-compass/community", + "source_releases": [ + "v3.10.4", + "v3.10.3", + "v3.10.2", + "v3.10.1", + "v3.10.0" + ], + "image_tags": [ + "v0.1.6", + "v0.1.5", + "v0.1.4", + "v0.1.3", + "v0.1.2" + ], + "binary": "rio-autoscaler", + "alternate_binaries": [] + }, + { + "name": "OVN-Kubernetes", + "description": "Kubernetes networking solution based on Open Virtual Network (OVN) providing network virtualization and security.", + "source_repo": { + "type": "github", + "repo": "ovn-kubernetes/ovn-kubernetes" + }, + "image_repo": { + "type": "quay", + "image": "quay.io/openshift/origin-ovn-kubernetes" + }, + "category": "CNCF", + "subcategory": "Container Runtime", + "homepage": "https://ovn-kubernetes.io/", + "source_releases": [ + "v1.1.0", + "v1.1.0-beta", + "v1.1.0-alpha", + "v1.0.0", + "v1.0.0-beta" + ], + "image_tags": [ + "latest", + "4.21.0", + "4.21", + "4.20.0", + "4.20" + ], + "binary": "--help", + "alternate_binaries": [] + }, + { + "name": "Ozone", + "description": "Scalable, redundant, and distributed object store for Hadoop and cloud-native environments.", + "source_repo": { + "type": "github", + "repo": "apache/ozone" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/apache/ozone" + }, + "category": "Apache", + "subcategory": "Distributed Storage", + "homepage": "https://ozone.apache.org/", + "source_releases": [ + "ozone-2.0.0", + "ozone-1.4.1" + ], + "image_tags": [ + "2.0.0-rocky", + "2.0.0", + "1.4.0-rocky", + "1.4.1", + "1.4.1-rocky" + ], + "binary": "ozone", + "alternate_binaries": [] + }, + { + "name": "Packer", + "description": "Tool for creating identical machine images for multiple platforms.", + "source_repo": { + "type": "github", + "repo": "hashicorp/packer" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/hashicorp/packer" + }, + "category": "Infrastructure as Code", + "subcategory": "IaC", + "homepage": "https://www.packer.io/", + "source_releases": [ + "nightly", + "v1.14.3", + "v1.14.2", + "v1.14.1", + "v1.14.0" + ], + "image_tags": [ + "1.14", + "1.14.3", + "1.14.2", + "latest", + "full" + ], + "binary": "packer -help", + "alternate_binaries": [] + }, + { + "name": "Paralus", + "description": "Paralus is a free, open source tool that enables controlled, audited access to Kubernetes infrastructure and Zero trust Kubernetes with zero friction.", + "source_repo": { + "type": "github", + "repo": "paralus/paralus" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/paralusio/paralus" + }, + "category": "CNCF", + "subcategory": "Provisioning", + "homepage": "https://www.paralus.io/", + "source_releases": [ + "v0.2.9", + "v0.2.8", + "v0.2.7", + "v0.2.6", + "v0.2.5" + ], + "image_tags": [ + "v0.2.9", + "v0.2.8", + "v0.2.7", + "v0.2.6", + "latest" + ], + "binary": "sh", + "alternate_binaries": [] + }, + { + "name": "Parsec", + "description": "Platform AbstRaction for SECurity - provides common API to hardware security and cryptographic services across diverse platforms.", + "source_repo": { + "type": "github", + "repo": "parallaxsecond/parsec" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/anakli/parsec" + }, + "category": "CNCF", + "subcategory": "Provisioning", + "homepage": "https://parsec.community/", + "source_releases": [ + "1.4.0", + "1.3.0", + "1.2.0", + "1.1.0", + "1.0.0" + ], + "image_tags": [ + "simlarge", + "splash2x-fft-native-reduced", + "canneal-native-reduced", + "freqmine-native-reduced", + "ferret-native-reduced" + ], + "binary": "", + "alternate_binaries": [] + }, + { + "name": "Perses", + "description": "Perses is a dashboard tool to visualize observability data from Prometheus/Thanos/Jaeger.", + "source_repo": { + "type": "github", + "repo": "perses/perses" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/choderalab/perses" + }, + "category": "CNCF", + "subcategory": "Observability", + "homepage": "https://perses.dev", + "source_releases": [ + "v0.53.0-beta.3", + "v0.53.0-beta.2", + "v0.53.0-beta.1", + "v0.53.0-beta.0", + "v0.52.0" + ], + "image_tags": [ + "0.10.1-dev", + "0.10.0-cuda-11.6.0", + "0.9.3-cuda-11.6.0", + "latest", + "dev-cuda-11.0-openmm8-beta" + ], + "binary": "perses-cli", + "alternate_binaries": [] + }, + { + "name": "PHP", + "description": "PHP is a popular general-purpose scripting language that is especially suited to web development.", + "source_repo": { + "type": "github", + "repo": "php/php-src" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/php" + }, + "category": "Language Runtime", + "subcategory": "Php", + "homepage": "https://www.php.net/", + "source_releases": [ + "php-8.5.0", + "php-8.4.15", + "php-8.3.28", + "php-8.4.14", + "php-8.3.27" + ], + "image_tags": [ + "8.3.29RC1-fpm-alpine3.22", + "8.3-rc-fpm-alpine3.22", + "8.5.1RC1-zts-trixie", + "8.5.1RC1-zts", + "8.5.1RC1-fpm-alpine3.22" + ], + "binary": "php", + "alternate_binaries": [] + }, + { + "name": "Pinot", + "description": "Real-time distributed OLAP datastore for scalable analytics with low latency.", + "source_repo": { + "type": "github", + "repo": "apache/pinot" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/apachepinot/pinot" + }, + "category": "Apache", + "subcategory": "Database", + "homepage": "https://pinot.apache.org/", + "source_releases": [ + "release-1.4.0", + "release-1.3.0", + "release-1.2.0", + "release-1.1.0", + "release-1.0.0" + ], + "image_tags": [ + "1.5.0-SNAPSHOT-57364b11e8-20251207", + "1.5.0-SNAPSHOT-57364b11e8-20251207-17-amazoncorretto", + "1.5.0-SNAPSHOT-57364b11e8-20251207-17-ms-openjdk", + "1.5.0-SNAPSHOT-57364b11e8-20251207-11-amazoncorretto", + "latest" + ], + "binary": "pinot-admin.sh", + "alternate_binaries": [] + }, + { + "name": "PipeCD", + "description": "GitOps style continuous delivery platform that provides consistent deployment and operations experience for any applications.", + "source_repo": { + "type": "github", + "repo": "pipe-cd/pipecd" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/funera1/pipecd" + }, + "category": "CNCF", + "subcategory": "Application Development", + "homepage": "https://pipecd.dev/", + "source_releases": [ + "v0.55.1-rc1", + "v0.55.1-rc0", + "pipedv1/exp/v1.0.0-alpha1", + "pkg/app/pipedv1/plugin/wait/v0.1.1", + "pkg/app/pipedv1/plugin/terraform/v0.2.1" + ], + "image_tags": [ + "v0.42.0-33-ge4c3457-1679051170", + "v0.42.0-33-ge4c3457-1679050889", + "v0.42.0-32-ga8fc6a5-1679045846", + "v0.42.0-31-g4e75740-1679045576", + "v0.42.0-31-g4e75740-1679045209" + ], + "binary": "--help", + "alternate_binaries": [] + }, + { + "name": "Piraeus Datastore", + "description": "The Piraeus Operator manages LINSTOR clusters in Kubernetes.", + "source_repo": { + "type": "github", + "repo": "piraeusdatastore/piraeus-operator" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/piraeusdatastore/piraeus-server" + }, + "category": "CNCF", + "subcategory": "Container Runtime", + "homepage": "https://piraeus.io/", + "source_releases": [ + "v2.10.2", + "v2.10.1", + "v2.10.0", + "v2.9.1", + "v2.9.0" + ], + "image_tags": [ + "v1.32.3-1-ga52b29ad77fdff06581b6f2f89b585651dcfa810", + "v1.32.3", + "v1.32.3-1", + "v1.32.3-1-g995b715aa8b8c418d7d9479b95728689c75c78e2", + "v1.32.3-1-g64423381164a0ca98f14e9b5899d4e0960f3677a" + ], + "binary": "--help", + "alternate_binaries": [] + }, + { + "name": "Pixie", + "description": "Open source Kubernetes observability for developers.", + "source_repo": { + "type": "github", + "repo": "pixie-io/pixie" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/evanljp/pixie" + }, + "category": "CNCF", + "subcategory": "Observability", + "homepage": "https://px.dev/", + "source_releases": [ + "release/vizier/v0.14.16-pre-v0.0", + "release/vizier/v0.14.16-pre-main.0", + "release/vizier/v0.14.15", + "release/cloud/v0.1.9", + "release/vizier/v0.14.15-pre-main.0" + ], + "image_tags": [ + "operator-bundle-0.0.16", + "operator-bundle_index-0.0.1", + "pixie-prod-artifacts-curl-1.0", + "proxy_server_image", + "artifact_tracker_server_image" + ], + "binary": "", + "alternate_binaries": [] + }, + { + "name": "Podman Container Tools", + "description": "A set of tools providing full management of container lifecycle, including Podman, Buildah, and Skopeo, which manage containers and images without requiring a daemon or root privileges.", + "source_repo": { + "type": "github", + "repo": "containers/podman" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/rancher/rke-tools" + }, + "category": "CNCF", + "subcategory": "Container Runtime", + "homepage": "https://podman.io/", + "source_releases": [ + "v5.7.0", + "v5.7.0-rc3", + "v5.7.0-rc2", + "v5.6.2", + "v5.6.1" + ], + "image_tags": [ + "v0.1.114", + "v0.1.113", + "v0.1.112", + "v0.1.111", + "v0.1.110" + ], + "binary": "-h", + "alternate_binaries": [] + }, + { + "name": "Podman Desktop", + "description": "An open-source tool for developers to work with containers and Kubernetes with an intuitive and user-friendly interface to effortlessly build, manage,.", + "source_repo": { + "type": "github", + "repo": "podman-desktop/podman-desktop" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/kasmweb/desktop" + }, + "category": "CNCF", + "subcategory": "Application Development", + "homepage": "https://podman-desktop.io/", + "source_releases": [ + "v1.24.0", + "v1.23.1", + "v1.23.0", + "v1.22.1", + "v1.22.0" + ], + "image_tags": [ + "1.18.0-rolling-daily", + "1.8.0-edge", + "1.18.0-rolling-weekly", + "1.17.0-rolling-weekly", + "1.16.1-rolling-weekly" + ], + "binary": "kasm_default_profile.sh", + "alternate_binaries": [] + }, + { + "name": "Polkadot", + "description": "Heterogeneous multi-chain protocol enabling cross-chain transfers and interoperability.", + "source_repo": { + "type": "github", + "repo": "paritytech/polkadot-sdk" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/parity/polkadot" + }, + "category": "Blockchain", + "subcategory": "Blockchain Client", + "homepage": "https://polkadot.network/", + "source_releases": [ + "polkadot-stable2506-6", + "polkadot-stable2512-rc1", + "polkadot-stable2509-2", + "polkadot-stable2506-5", + "polkadot-stable2503-11" + ], + "image_tags": [ + "v1.21.0-rc1", + "v1.20.2", + "1.20.1-weekly2025w43-rc1", + "v1.20.1", + "latest" + ], + "binary": "polkadot", + "alternate_binaries": [] + }, + { + "name": "Polygon", + "description": "Ethereum scaling and infrastructure development platform.", + "source_repo": { + "type": "github", + "repo": "maticnetwork/bor" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/maticnetwork/bor" + }, + "category": "Blockchain", + "subcategory": "Ethereum Client", + "homepage": "https://polygon.technology/", + "source_releases": [ + "v2.5.3", + "v2.5.3-beta", + "v2.5.2", + "v2.5.2-beta2" + ], + "image_tags": [ + "v0.2.17", + "v0.2.16", + "v0.2.16-beta2", + "v0.2.16-beta1", + "v0.2.14-tmp-span-hotfix" + ], + "binary": "geth", + "alternate_binaries": [] + }, + { + "name": "Porter", + "description": "Porter enables you to package your application artifact, client tools, configuration and deployment logic together as an installer that you can distribute, and install with a single command.", + "source_repo": { + "type": "github", + "repo": "getporter/porter" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/kubespheredev/porter" + }, + "category": "CNCF", + "subcategory": "Application Development", + "homepage": "https://porter.sh/", + "source_releases": [ + "v1.4.0", + "latest", + "canary" + ], + "image_tags": [ + "v0.4.1", + "v0.4.2", + "v0.4", + "v0.3-dev", + "abaaa388" + ], + "binary": "", + "alternate_binaries": [] + }, + { + "name": "PostgreSQL", + "description": "Advanced open-source relational database with strong standards compliance.", + "source_repo": { + "type": "github", + "repo": "postgres/postgres" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/postgres" + }, + "category": "Database", + "subcategory": "PostgreSQL", + "homepage": "https://www.postgresql.org/", + "source_releases": [ + "release-6-3", + "Release_2_0_0", + "Release_2_0", + "Release_1_0_2", + "REL_18_1" + ], + "image_tags": [ + "16.11-alpine3.23", + "16.11-alpine", + "15.15-alpine3.23", + "15.15-alpine", + "14.20-alpine3.23" + ], + "binary": "psql", + "alternate_binaries": [] + }, + { + "name": "Pravega", + "description": "Pravega - Streaming as a new software defined storage primitive.", + "source_repo": { + "type": "github", + "repo": "pravega/pravega" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/pravega/pravega" + }, + "category": "CNCF", + "subcategory": "Application Development", + "homepage": "https://cncf.pravega.io", + "source_releases": [ + "v0.13.0", + "v0.13.0-rc2", + "v0.13.0-rc1", + "v0.13.0-rc0", + "v0.12.0" + ], + "image_tags": [ + "0.13.0", + "0.13.0-rc2", + "0.13.0-rc1", + "0.13.0-rc0", + "0.12.0" + ], + "binary": "", + "alternate_binaries": [] + }, + { + "name": "Prometheus", + "description": "Monitoring system and time series database for metrics collection.", + "source_repo": { + "type": "github", + "repo": "prometheus/prometheus" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/prom/prometheus" + }, + "category": "CNCF", + "subcategory": "Monitoring", + "homepage": "https://prometheus.io/", + "source_releases": [ + "v3.8.0", + "v3.8.0-rc.1", + "v3.8.0-rc.0", + "v3.7.3", + "v3.7.2" + ], + "image_tags": [ + "v3.8.0", + "v3.8.0-rc.1", + "v3.8.0-rc.0", + "v3.7.3", + "v3.7.2" + ], + "binary": "--help", + "alternate_binaries": [] + }, + { + "name": "Promtail", + "description": "Agent for shipping logs to Loki.", + "source_repo": { + "type": "github", + "repo": "grafana/loki" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/grafana/promtail" + }, + "category": "Observability", + "subcategory": "Logging", + "homepage": "https://grafana.com/docs/loki/latest/send-data/promtail/", + "source_releases": [ + "operator/v0.9.0", + "v3.6.2", + "v3.6.1", + "v3.6.0", + "v2.9.17" + ], + "image_tags": [ + "main-d7c1e1d", + "main-ea31e73", + "main-495ad98", + "main-23948c4", + "k284-aab9e46" + ], + "binary": "promtail", + "alternate_binaries": [] + }, + { + "name": "Prysm", + "description": "Go implementation of the Ethereum consensus protocol with focus on usability and security.", + "source_repo": { + "type": "github", + "repo": "prysmaticlabs/prysm" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/prysmaticlabs/prysm-beacon-chain" + }, + "category": "Blockchain", + "subcategory": "Ethereum Consensus Client", + "homepage": "https://prysmaticlabs.com/", + "source_releases": [ + "v7.0.1", + "v7.0.0", + "v6.1.4", + "v6.1.3", + "v6.1.2" + ], + "image_tags": [ + "v7.0.1", + "v7.0.0", + "v6.1.4", + "v6.1.3", + "v6.1.2" + ], + "binary": "beacon-chain", + "alternate_binaries": [] + }, + { + "name": "Pulsar", + "description": "Distributed pub-sub messaging platform with flexible messaging model and intuitive client API.", + "source_repo": { + "type": "github", + "repo": "apache/pulsar" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/apachepulsar/pulsar" + }, + "category": "Apache", + "subcategory": "Streaming & Messaging", + "homepage": "https://pulsar.apache.org/", + "source_releases": [ + "v4.1.2", + "v4.0.8", + "v3.0.15", + "v4.1.1", + "v4.0.7" + ], + "image_tags": [ + "4.1.2", + "4.0.8", + "3.0.15", + "4.1.1", + "4.0.7" + ], + "binary": "pulsar-admin", + "alternate_binaries": [] + }, + { + "name": "Pulumi", + "description": "Infrastructure as code platform using familiar programming languages.", + "source_repo": { + "type": "github", + "repo": "pulumi/pulumi" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/pulumi/pulumi" + }, + "category": "Infrastructure as Code", + "subcategory": "Pulumi", + "homepage": "https://www.pulumi.com/", + "source_releases": [ + "v3.210.0", + "v3.209.0", + "v3.208.0", + "v3.207.0", + "v3.206.0" + ], + "image_tags": [ + "3.209.0-nonroot", + "3.209.0", + "3.208.0-nonroot", + "3.208.0", + "3.207.0-nonroot" + ], + "binary": "pulumi", + "alternate_binaries": [], + "notes": "Large image - first download may take longer than typical timeout" + }, + { + "name": "Python", + "description": "High-level, interpreted programming language with dynamic typing and automatic memory management.", + "source_repo": { + "type": "github", + "repo": "python/cpython" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/python" + }, + "category": "Language Runtime", + "subcategory": "Python", + "homepage": "https://www.python.org/", + "source_releases": [ + "v3.15.0a2", + "v3.15.0a1", + "v3.14.2", + "v3.14.1", + "v3.14.0" + ], + "image_tags": [ + "3.14.2-trixie", + "latest", + "trixie", + "slim-trixie", + "slim-bookworm" + ], + "binary": "python", + "alternate_binaries": [] + }, + { + "name": "RabbitMQ", + "description": "Message broker implementing AMQP for reliable messaging between applications.", + "source_repo": { + "type": "github", + "repo": "rabbitmq/rabbitmq-server" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/rabbitmq" + }, + "category": "Message Queue", + "subcategory": "Message Broker", + "homepage": "https://www.rabbitmq.com/", + "source_releases": [ + "v4.2.1", + "v4.1.6", + "v4.2.0", + "v4.1.5", + "v4.2.0-rc.1" + ], + "image_tags": [ + "4.1.6-management-alpine", + "4.1.6-management", + "4.1-management-alpine", + "4.1-management", + "4.0.9-management-alpine" + ], + "binary": "rabbitmqctl", + "alternate_binaries": [] + }, + { + "name": "Radius", + "description": "Radius is a cloud-native application platform that enables developers and the platform engineers that support them to collaborate on delivering.", + "source_repo": { + "type": "github", + "repo": "radius-project/radius" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/kanidm/radius" + }, + "category": "CNCF", + "subcategory": "Application Development", + "homepage": "https://radapp.io/", + "source_releases": [ + "v0.54.0-rc2", + "v0.54.0-rc1", + "v0.53.0", + "v0.53.0-rc1" + ], + "image_tags": [ + "1.8.3", + "1.8.2", + "1.9.0-dev", + "1.8.1", + "1.8.0" + ], + "binary": "", + "alternate_binaries": [] + }, + { + "name": "Ranger", + "description": "Framework for enabling, monitoring and managing comprehensive data security across Hadoop platform.", + "source_repo": { + "type": "github", + "repo": "apache/ranger" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/apache/ranger" + }, + "category": "Apache", + "subcategory": "Security", + "homepage": "https://ranger.apache.org/", + "source_releases": [ + "release-ranger-2.7.0", + "release-ranger-2.6.0", + "release-ranger-2.5.0", + "release-ranger-2.4.0", + "release-ranger-2.3.0" + ], + "image_tags": [ + "2.7.0", + "2.6.0", + "2.5.0", + "2.4.0", + "2.4.1" + ], + "binary": "", + "alternate_binaries": [] + }, + { + "name": "Ratify", + "description": "A verification engine on Kubernetes which enables verification of artifact security metadata and admits for deployment only those that comply with policies you create.", + "source_repo": { + "type": "github", + "repo": "notaryproject/ratify" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/daystram/ratify" + }, + "category": "CNCF", + "subcategory": "Provisioning", + "homepage": "https://ratify.dev/", + "source_releases": [ + "v2.0.0-alpha.1", + "v1.4.0", + "v1.3.2", + "v1.2.3", + "v1.4.0-rc.1" + ], + "image_tags": [ + "fe-v1.1.3", + "fe", + "be-v1.1.3", + "be", + "fe-dev" + ], + "binary": "", + "alternate_binaries": [] + }, + { + "name": "Rclone", + "description": "Command-line program for syncing files and directories to cloud storage.", + "source_repo": { + "type": "github", + "repo": "rclone/rclone" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/rclone/rclone" + }, + "category": "Storage", + "subcategory": "Backup", + "homepage": "https://rclone.org/", + "source_releases": [ + "v1.72.0", + "v1.71.2", + "v1.71.1", + "v1.71.0", + "v1.70.3" + ], + "image_tags": [ + "latest", + "sha-233fef5", + "beta", + "master", + "sha-b9586c3" + ], + "binary": "rclone", + "alternate_binaries": [] + }, + { + "name": "Redis", + "description": "In-memory data structure store used as database, cache, and message broker.", + "source_repo": { + "type": "github", + "repo": "redis/redis" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/redis" + }, + "category": "Database", + "subcategory": "Redis", + "homepage": "https://redis.io/", + "source_releases": [ + "8.4.0", + "8.4-rc1", + "8.2.3", + "8.0.5", + "7.4.7" + ], + "image_tags": [ + "8.4.0-alpine3.22", + "8.4.0-alpine", + "8.4-alpine3.22", + "8.4-alpine", + "latest" + ], + "binary": "redis-cli", + "alternate_binaries": [] + }, + { + "name": "Remix IDE", + "description": "Browser-based IDE for Solidity smart contract development.", + "source_repo": { + "type": "github", + "repo": "ethereum/remix-project" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/remixproject/remix-ide" + }, + "category": "Blockchain", + "subcategory": "Smart Contract Language", + "homepage": "https://remix.ethereum.org/", + "source_releases": [ + "v1.3.0", + "v1.2.0", + "v1.1.3", + "v1.1.2", + "v1.1.1" + ], + "image_tags": [ + "latest", + "yann300-patch-36", + "vertical-icons-panel-react", + "bunsenstraat-patch-5", + "remix_live" + ], + "binary": "", + "alternate_binaries": [] + }, + { + "name": "Restic", + "description": "Fast, secure, efficient backup program with encryption and deduplication.", + "source_repo": { + "type": "github", + "repo": "restic/restic" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/restic/restic" + }, + "category": "Backup", + "subcategory": "Backup Tool", + "homepage": "https://restic.net/", + "source_releases": [ + "v0.18.1", + "v0.18.0", + "v0.17.3", + "v0.17.2", + "v0.17.1" + ], + "image_tags": [ + "0.18.1", + "0.18.0", + "0.17.3", + "0.17.2", + "0.17.1" + ], + "binary": "restic", + "alternate_binaries": [] + }, + { + "name": "Reth", + "description": "Modular, contributor-friendly Ethereum execution client written in Rust.", + "source_repo": { + "type": "github", + "repo": "paradigmxyz/reth" + }, + "image_repo": { + "type": "ghcr", + "image": "ghcr.io/paradigmxyz/reth" + }, + "category": "Blockchain", + "subcategory": "Ethereum Execution Client", + "homepage": "https://paradigmxyz.github.io/reth/", + "source_releases": [ + "v1.9.3", + "v1.9.2", + "v1.9.1", + "v1.9.0", + "v1.8.4" + ], + "image_tags": [ + "v0.1.0-alpha.1", + "latest", + "v0.1.0-alpha.2", + "v0.1.0-alpha.3", + "v0.1.0-alpha.4" + ], + "binary": "reth", + "alternate_binaries": [] + }, + { + "name": "rkt", + "description": "[Project ended] rkt is a pod-native container engine for Linux.", + "source_repo": { + "type": "github", + "repo": "rkt/rkt" + }, + "image_repo": { + "type": "quay", + "image": "quay.io/ibmresilient/fn_darktrace" + }, + "category": "CNCF", + "subcategory": "Container Runtime", + "homepage": "https://github.com/rkt/rkt", + "source_releases": [ + "v1.30.0", + "v1.29.0", + "v1.28.1", + "v1.28.0", + "v1.27.0" + ], + "image_tags": [ + "1.0.0" + ], + "binary": "", + "alternate_binaries": [] + }, + { + "name": "Rocketmq", + "description": "Distributed messaging and streaming platform with low latency and high performance.", + "source_repo": { + "type": "github", + "repo": "apache/rocketmq" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/apache/rocketmq" + }, + "category": "Apache", + "subcategory": "Streaming & Messaging", + "homepage": "https://rocketmq.apache.org/", + "source_releases": [ + "rocketmq-all-5.3.4", + "rocketmq-all-5.3.3", + "rocketmq-all-5.3.2", + "rocketmq-all-5.3.1", + "rocketmq-all-5.3.0" + ], + "image_tags": [ + "5.3.4", + "5.3.3", + "5.3.2", + "5.3.1", + "0.0.1" + ], + "binary": "", + "alternate_binaries": [] + }, + { + "name": "RocketMQ-Dashboard", + "description": "Web-based administration console for Apache RocketMQ message queuing system.", + "source_repo": { + "type": "github", + "repo": "apache/rocketmq-dashboard" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/apacherocketmq/rocketmq-dashboard" + }, + "category": "Apache", + "subcategory": "Streaming & Messaging", + "homepage": "https://rocketmq.apache.org/", + "source_releases": [ + "rocketmq-dashboard-2.1.0", + "rocketmq-dashboard-2.0.0", + "rocketmq-dashboard-1.0.0" + ], + "image_tags": [ + "2.1.0", + "2.0.1", + "2.0.0", + "1.0.0", + "latest" + ], + "binary": "", + "alternate_binaries": [] + }, + { + "name": "Rook", + "description": "Rook is an open source cloud-native storage orchestrator for Kubernetes, providing the platform, framework, and support for Ceph storage to natively integrate with Kubernetes.", + "source_repo": { + "type": "github", + "repo": "rook/rook" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/rook/rook" + }, + "category": "CNCF", + "subcategory": "Storage", + "homepage": "https://rook.io/", + "source_releases": [ + "v1.18.8", + "v1.18.7", + "v1.17.9", + "v1.18.6", + "v1.18.5" + ], + "image_tags": [ + "v0.7.1-4.g4233e03", + "v0.7.0-136.gd13bc83", + "v0.7.0-134.g9b5c092", + "v0.7.0-131.ga81dfe7", + "v0.7.0-128.g2311453" + ], + "binary": "rook", + "alternate_binaries": [] + }, + { + "name": "Ruby", + "description": "Dynamic, interpreted programming language with focus on simplicity and productivity.", + "source_repo": { + "type": "github", + "repo": "ruby/ruby" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/ruby" + }, + "category": "Language Runtime", + "subcategory": "Ruby", + "homepage": "https://www.ruby-lang.org/", + "source_releases": [ + "v4_0_0_preview2", + "v3_3_10", + "v3_4_7", + "v3_4_6", + "v3_3_9" + ], + "image_tags": [ + "3.2.9-alpine3.23", + "3.2.9-alpine", + "3.2-alpine3.23", + "3.2-alpine", + "3.4.7-alpine3.23" + ], + "binary": "ruby", + "alternate_binaries": [] + }, + { + "name": "Runme Notebooks", + "description": "A toolchain that turns Markdown into interactive, cloud-native, runnable Notebook experiences for DevOps.", + "source_repo": { + "type": "github", + "repo": "runmedev/runme" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/statefulhq/runme" + }, + "category": "CNCF", + "subcategory": "Provisioning", + "homepage": "https://runme.dev/", + "source_releases": [ + "v3.16.4", + "v3.16.3", + "v3.16.2", + "v3.16.2-rc.3", + "v3.16.2-rc.2" + ], + "image_tags": [ + "3.16.4-ubuntu", + "3.16.4-alpine", + "3.16.4", + "3.16.3-ubuntu", + "3.16.3-alpine" + ], + "binary": "", + "alternate_binaries": [] + }, + { + "name": "Rust", + "description": "Systems programming language focused on safety, speed, and concurrency.", + "source_repo": { + "type": "github", + "repo": "rust-lang/rust" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/rust" + }, + "category": "Language Runtime", + "subcategory": "Rust", + "homepage": "https://www.rust-lang.org/", + "source_releases": [ + "1.91.1", + "1.91.0", + "1.90.0", + "1.89.0", + "1.88.0" + ], + "image_tags": [ + "1.91.1-alpine3.22", + "1.91.1-alpine3.21", + "1.91.1-alpine3.20", + "1.91.1-alpine", + "1.91-alpine3.22" + ], + "binary": "rustc", + "alternate_binaries": [] + }, + { + "name": "SchemaHero", + "description": "A Kubernetes operator for declarative database schema management (gitops for database schemas).", + "source_repo": { + "type": "github", + "repo": "schemahero/schemahero" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/schemahero/schemahero" + }, + "category": "CNCF", + "subcategory": "Operator Framework", + "homepage": "https://schemahero.io", + "source_releases": [ + "v0.23.0-beta.2", + "v0.23.0-beta.1", + "v0.23.0-alpha.13", + "v0.23.0-alpha.12", + "v0.23.0-alpha.9" + ], + "image_tags": [ + "0.23.0-beta.2", + "0.23.0-beta.1", + "0.23.0-alpha.13", + "0.23.0-alpha.12", + "0.23.0-alpha.11" + ], + "binary": "--help", + "alternate_binaries": [] + }, + { + "name": "Score", + "description": "Score is an open-source workload specification designed to simplify development for cloud-native developers.", + "source_repo": { + "type": "github", + "repo": "score-spec/spec" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/nmtwizard/score" + }, + "category": "CNCF", + "subcategory": "Application Development", + "homepage": "https://score.dev/", + "source_releases": [ + "0.3.0", + "0.2.0", + "0.1.0" + ], + "image_tags": [ + "2.2.5", + "2.2.4", + "2.2.3-beta1", + "2.2.2", + "2.2.2-beta1" + ], + "binary": "", + "alternate_binaries": [] + }, + { + "name": "sealer", + "description": "Build, Share and Run Both Your Kubernetes Cluster and Distributed Applications (Project under CNCF).", + "source_repo": { + "type": "github", + "repo": "sealerio/sealer" + }, + "image_repo": { + "type": "quay", + "image": "quay.io/jetstack/vault-unsealer" + }, + "category": "CNCF", + "subcategory": "Application Development", + "homepage": "http://sealer.cool/", + "source_releases": [ + "v0.11.0", + "v0.10.0", + "v0.9.3", + "v0.9.2", + "v0.9.1" + ], + "image_tags": [ + "latest", + "0.3.1", + "canary", + "master-7244", + "0.3.1-alpha1" + ], + "binary": "", + "alternate_binaries": [] + }, + { + "name": "SeaTunnel", + "description": "High-performance distributed data integration platform for synchronization and transformation.", + "source_repo": { + "type": "github", + "repo": "apache/seatunnel" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/apache/seatunnel" + }, + "category": "Apache", + "subcategory": "Data Integration", + "homepage": "https://seatunnel.apache.org/", + "source_releases": [ + "2.3.12", + "2.3.11", + "2.3.10", + "2.3.9", + "2.3.8" + ], + "image_tags": [ + "2.3.12", + "2.3.11", + "2.3.10", + "2.3.9", + "2.3.8" + ], + "binary": "", + "alternate_binaries": [] + }, + { + "name": "Sermant", + "description": "Sermant a proxyless service mesh solution based on Javaagent.", + "source_repo": { + "type": "github", + "repo": "sermant-io/Sermant" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/sermant/docker101tutorial" + }, + "category": "CNCF", + "subcategory": "Service Mesh", + "homepage": "https://sermant.io/", + "source_releases": [ + "v2.3.0", + "v2.2.2", + "v2.2.1", + "v2.2.0", + "v2.1.2" + ], + "image_tags": [ + "latest" + ], + "binary": "", + "alternate_binaries": [] + }, + { + "name": "Serverless Devs", + "description": ":fire: Serverless Devs: Serverless developer tool ( Serverless Devs: Serverless 开发者工具 ).", + "source_repo": { + "type": "github", + "repo": "Serverless-Devs/Serverless-Devs" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/tencentcom/serverless-devs" + }, + "category": "CNCF", + "subcategory": "Management", + "homepage": "https://www.serverless-devs.com/", + "source_releases": [ + "v3.1.10", + "v3.1.9", + "v3.1.8", + "v3.1.7", + "v3.1.6" + ], + "image_tags": [ + "latest", + "dev" + ], + "binary": "", + "alternate_binaries": [] + }, + { + "name": "Serverless Workflow", + "description": "Contains the official specification for the Serverless Workflow Domain Specific Language.", + "source_repo": { + "type": "github", + "repo": "serverlessworkflow/specification" + }, + "image_repo": { + "type": "quay", + "image": "quay.io/orchestrator/serverless-workflow-greeting" + }, + "category": "CNCF", + "subcategory": "Application Development", + "homepage": "https://serverlessworkflow.io", + "source_releases": [ + "v1.0.0", + "v1.0.0-alpha5", + "v1.0.0-alpha4", + "v1.0.0-alpha3", + "v1.0.0-alpha2" + ], + "image_tags": [ + "3197a62072297e2eca0229c336b32fa78a03d22c", + "latest", + "aed62dee57d8b9f52caa01fd1283e161c3c89614", + "973e6588", + "test" + ], + "binary": "", + "alternate_binaries": [] + }, + { + "name": "Service Mesh Interface (SMI)", + "description": "The Service Mesh Interface (SMI) is a specification for service meshes, with a focus on those that run on Kubernetes.", + "source_repo": { + "type": "github", + "repo": "servicemeshinterface/smi-spec" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/atlassian/bitbucket-mesh" + }, + "category": "CNCF", + "subcategory": "Service Mesh", + "homepage": "https://smi-spec.io", + "source_releases": [ + "v0.6.0", + "v0.5.0", + "v0.4.0" + ], + "image_tags": [ + "3.1-ubuntu-jdk-17", + "3.1-jdk17", + "3.1.1-jdk17", + "3.1.1-ubuntu-jdk-17", + "2.5.2-ubuntu-jdk-17" + ], + "binary": "service", + "alternate_binaries": [] + }, + { + "name": "Service Mesh Performance", + "description": "Standard for measuring and characterizing service mesh performance, providing objective metrics and benchmarks.", + "source_repo": { + "type": "github", + "repo": "service-mesh-performance/service-mesh-performance" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/atlassian/bitbucket-mesh" + }, + "category": "CNCF", + "subcategory": "Service Mesh", + "homepage": "https://smp-spec.io/", + "source_releases": [ + "v0.6.1", + "v0.6.0", + "v0.3.4", + "v0.3.3", + "v0.3.2" + ], + "image_tags": [ + "3.1-ubuntu-jdk-17", + "3.1-jdk17", + "3.1.1-jdk17", + "3.1.1-ubuntu-jdk-17", + "2.5.2-ubuntu-jdk-17" + ], + "binary": "service", + "alternate_binaries": [] + }, + { + "name": "ShardingSphere", + "description": "Distributed SQL transaction and query engine for data sharding, scaling, and encryption.", + "source_repo": { + "type": "github", + "repo": "apache/shardingsphere" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/apache/shardingsphere-proxy" + }, + "category": "Apache", + "subcategory": "Database Middleware", + "homepage": "https://shardingsphere.apache.org/", + "source_releases": [ + "5.5.2", + "5.5.1", + "5.5.0", + "5.4.1", + "5.4.0" + ], + "image_tags": [ + "5.5.2", + "5.5.1", + "5.5.0", + "5.4.1", + "5.4.0" + ], + "binary": "", + "alternate_binaries": [] + }, + { + "name": "ShenYu", + "description": "High-performance API Gateway for microservices with plugin-based architecture.", + "source_repo": { + "type": "github", + "repo": "apache/shenyu" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/apache/shenyu-bootstrap" + }, + "category": "Apache", + "subcategory": "API Gateway", + "homepage": "https://shenyu.apache.org/", + "source_releases": [ + "v2.7.0.3", + "v2.7.0.2", + "v2.7.0.1", + "v2.7.0", + "v2.6.1" + ], + "image_tags": [ + "2.7.0.2", + "2.7.0.1", + "2.7.0", + "2.6.1", + "2.6.0" + ], + "binary": "", + "alternate_binaries": [], + "notes": "Also available: apache/shenyu-admin for admin console" + }, + { + "name": "Shipwright", + "description": "Shipwright - a framework for building container images on Kubernetes.", + "source_repo": { + "type": "github", + "repo": "shipwright-io/build" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/grafana/shipwright" + }, + "category": "CNCF", + "subcategory": "Application Development", + "homepage": "https://shipwright.io", + "source_releases": [ + "v0.18.1", + "v0.18.0", + "v0.17.4", + "v0.17.3", + "v0.17.2" + ], + "image_tags": [ + "v0.9.20-10-g251886d-dirty", + "docker-v0.9.20-10-g251886d-dirty", + "node-v0.9.20-10-g251886d-dirty", + "go-v0.9.20-10-g251886d-dirty", + "git-v0.9.20-10-g251886d-dirty" + ], + "binary": "sh", + "alternate_binaries": [] + }, + { + "name": "Skooner", + "description": "Simple Kubernetes real-time dashboard and management.", + "source_repo": { + "type": "github", + "repo": "skooner-k8s/skooner" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/mozillareality/skooner" + }, + "category": "CNCF", + "subcategory": "Observability", + "homepage": "https://skooner.io/", + "source_releases": [ + "alpha0.0.1" + ], + "image_tags": [ + "beta", + "dev", + "stable" + ], + "binary": "", + "alternate_binaries": [] + }, + { + "name": "Skopeo", + "description": "Command line utility for various operations on container images and image repositories.", + "source_repo": { + "type": "github", + "repo": "containers/skopeo" + }, + "image_repo": { + "type": "quay", + "image": "quay.io/skopeo/stable" + }, + "category": "Container Tools", + "subcategory": "Build Tools", + "homepage": "https://github.com/containers/skopeo", + "source_releases": [ + "v1.21.0", + "v1.20.0", + "v1.19.0", + "v1.18.0", + "v1.17.0" + ], + "image_tags": [ + "v1.20.0", + "v1.20", + "v1", + "latest", + "v1.20-immutable" + ], + "binary": "skopeo", + "alternate_binaries": [] + }, + { + "name": "SkyWalking", + "description": "APM system for monitoring, tracing and diagnosing distributed systems in cloud-native architectures.", + "source_repo": { + "type": "github", + "repo": "apache/skywalking" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/apache/skywalking-oap-server" + }, + "category": "Apache", + "subcategory": "Observability", + "homepage": "https://skywalking.apache.org/", + "source_releases": [ + "v10.3.0", + "v10.2.0", + "v10.1.0", + "v10.0.1", + "v10.0.0" + ], + "image_tags": [ + "10.3.0", + "10.3.0-java21", + "10.3.0-java17", + "10.2.0", + "10.2.0-java21" + ], + "binary": "", + "alternate_binaries": [] + }, + { + "name": "SlimFaaS", + "description": "Lightweight, fast Function as a Service platform for running serverless functions on Kubernetes with minimal overhead.", + "source_repo": { + "type": "github", + "repo": "SlimPlanet/SlimFaas" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/axaguildev/slimfaas" + }, + "category": "CNCF", + "subcategory": "Function Runtime", + "homepage": "https://github.com/SlimPlanet/SlimFaas", + "source_releases": [ + "0.54.0", + "0.53.0", + "0.52.0", + "0.51.0", + "0.50.1" + ], + "image_tags": [ + "0.54.0", + "0.54.0-pr.201294", + "0.54.0-pr.201293", + "0.53.0", + "0.53.0-pr.200291" + ], + "binary": "", + "alternate_binaries": [] + }, + { + "name": "Slither", + "description": "Static analysis framework for Solidity smart contracts.", + "source_repo": { + "type": "github", + "repo": "crytic/slither" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/trailofbits/eth-security-toolbox" + }, + "category": "Blockchain", + "subcategory": "Smart Contract Language", + "homepage": "https://github.com/crytic/slither", + "source_releases": [ + "0.11.3", + "0.11.2", + "0.11.1", + "0.11.0", + "0.10.4" + ], + "image_tags": [ + "latest", + "testing-master", + "edge", + "nightly-20251208", + "nightly" + ], + "binary": "slither", + "alternate_binaries": [ + "geth", + "puppeth" + ] + }, + { + "name": "Solana", + "description": "Web-scale blockchain for fast, secure, scalable, decentralized apps and marketplaces.", + "source_repo": { + "type": "github", + "repo": "solana-labs/solana" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/solanalabs/solana" + }, + "category": "Blockchain", + "subcategory": "Solana Client", + "homepage": "https://solana.com/", + "source_releases": [ + "v1.18.26", + "v1.18.25", + "v1.18.23", + "v1.18.22", + "v1.18.21" + ], + "image_tags": [ + "v1.18.26", + "v1.18.25", + "v1.18.23", + "v1.18.22", + "v1.18.21" + ], + "binary": "solana", + "alternate_binaries": [] + }, + { + "name": "Solidity", + "description": "Object-oriented programming language for writing smart contracts on Ethereum.", + "source_repo": { + "type": "github", + "repo": "ethereum/solidity" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/ethereum/solc" + }, + "category": "Blockchain", + "subcategory": "Smart Contract Language", + "homepage": "https://soliditylang.org/", + "source_releases": [ + "v0.8.31", + "v0.8.31-pre.1", + "v0.8.30", + "v0.8.29", + "v0.8.28" + ], + "image_tags": [ + "0.8.30-alpine", + "0.8.30", + "0.8.29-alpine", + "0.8.29", + "0.8.28-alpine" + ], + "binary": "solc", + "alternate_binaries": [ + "solidity" + ] + }, + { + "name": "Solr", + "description": "Blazing-fast, open-source, multi-modal search platform built on Apache Lucene.", + "source_repo": { + "type": "github", + "repo": "apache/solr" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/solr" + }, + "category": "Apache", + "subcategory": "Search Engine", + "homepage": "https://solr.apache.org/", + "source_releases": [ + "releases/solr/9.10.0", + "releases/solr/9.9.0", + "releases/solr/9.8.1", + "releases/solr/9.8.0", + "releases/solr/9.7.0" + ], + "image_tags": [ + "9.9.0-slim", + "9.9-slim", + "9.10.0-slim", + "9.10-slim", + "9.9.0" + ], + "binary": "solr", + "alternate_binaries": [] + }, + { + "name": "SOPS", + "description": "Sops is an editor of encrypted files that supports YAML, JSON, ENV, INI and BINARY formats and encrypts with AWS KMS, GCP KMS, Azure Key Vault, age, and PGP.", + "source_repo": { + "type": "github", + "repo": "getsops/sops" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/stagex/sops" + }, + "category": "CNCF", + "subcategory": "Provisioning", + "homepage": "https://github.com/getsops", + "source_releases": [ + "v3.11.0", + "v3.10.2", + "v3.10.1", + "v3.10.0", + "v3.9.4" + ], + "image_tags": [ + "3.8.1", + "latest", + "sx2024.11.0", + "sx2024.09.0", + "sx" + ], + "binary": "", + "alternate_binaries": [] + }, + { + "name": "Spark", + "description": "Spark is a unified analytics engine for large-scale data processing.", + "source_repo": { + "type": "github", + "repo": "apache/spark" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/apache/spark" + }, + "category": "Apache", + "subcategory": "Data Processing", + "homepage": "https://spark.apache.org/", + "source_releases": [ + "v4.1.0-rc2", + "v4.1.0-rc1", + "v4.1.0-preview4", + "v4.1.0-preview4-rc1", + "v4.1.0-preview3" + ], + "image_tags": [ + "4.1.0-preview4-scala2.13-java21-python3-r-ubuntu", + "4.1.0-preview4-java21-r", + "4.1.0-preview4-scala2.13-java21-r-ubuntu", + "4.1.0-preview4", + "4.1.0-preview4-python3" + ], + "binary": "", + "alternate_binaries": [] + }, + { + "name": "Spiderpool", + "description": "Spiderpool is the underlay and RDMA network solution of the Kubernetes, for bare metal, VM and public cloud.", + "source_repo": { + "type": "github", + "repo": "spidernet-io/spiderpool" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/apecloud/spiderpool-agent" + }, + "category": "CNCF", + "subcategory": "Networking", + "homepage": "https://spidernet-io.github.io/spiderpool/", + "source_releases": [ + "v1.1.0", + "v1.1.0-rc1", + "v1.0.5", + "v1.0.4", + "v0.9.13" + ], + "image_tags": [ + "v0.9.3", + "53a00dcca484c05ab380f126be77e660201f6f6c", + "07195d2997e9839b586c0f95a32c23cf8dc96f1e", + "a536020876a1c8af8910cf9a9bfeaef9621b1d4f", + "e1510a6a0e52949b8a2dbbe2621b840318510ad4" + ], + "binary": "", + "alternate_binaries": [] + }, + { + "name": "SPIFFE", + "description": "SPIFFE is a graduated project of the Cloud Native Computing Foundation (CNCF).", + "source_repo": { + "type": "github", + "repo": "spiffe/spiffe" + }, + "image_repo": { + "type": "quay", + "image": "quay.io/jetstack/cert-manager-csi-driver-spiffe" + }, + "category": "CNCF", + "subcategory": "Provisioning", + "homepage": "https://spiffe.io/", + "source_releases": [], + "image_tags": [ + "sha256-b6099b8e086b01d8ad048247ceef65ac0c851b3952473c0250bf4bb7e52b6896.sig", + "v0.10.1", + "sha256-56392a6ab42c229ce5bba37a8fef000e8bc3bd9b16136140efef88fb5eafb064.sig", + "v0.10.0", + "sha256-d71cc046f0e66f06eec880f9f201328f8b13172b0a1a2d7f91543734d3a2f2e6.sig" + ], + "binary": "--help", + "alternate_binaries": [] + }, + { + "name": "Spin", + "description": "Spin is a framework for building and deploying serverless applications in WebAssembly.", + "source_repo": { + "type": "github", + "repo": "spinframework/spin" + }, + "image_repo": { + "type": "quay", + "image": "quay.io/starek2040/wheelspin-image" + }, + "category": "CNCF", + "subcategory": "WebAssembly Runtime", + "homepage": "https://spinframework.dev", + "source_releases": [ + "canary", + "v3.5.1" + ], + "image_tags": [ + "1.1.0", + "2.0.0", + "1.0.9", + "1.0.8", + "1.0.7" + ], + "binary": "standalone.sh", + "alternate_binaries": [] + }, + { + "name": "SpinKube", + "description": "Open source platform for efficiently running (containerless) Spin-based WebAssembly (Wasm) applications on Kubernetes.", + "source_repo": { + "type": "github", + "repo": "spinframework/spin-operator" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/dmajrekar/spinkube" + }, + "category": "CNCF", + "subcategory": "WebAssembly Runtime", + "homepage": "https://www.spinkube.dev/", + "source_releases": [ + "v0.6.1", + "v0.6.0", + "v0.5.0", + "v0.4.0", + "v0.3.0" + ], + "image_tags": [ + "v0.13.0" + ], + "binary": "", + "alternate_binaries": [] + }, + { + "name": "SPIRE", + "description": "SPIRE (the SPIFFE Runtime Environment) is a toolchain of APIs for establishing trust between software systems across a wide variety of hosting platforms.", + "source_repo": { + "type": "github", + "repo": "spiffe/spire" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/accuknox/spire" + }, + "category": "CNCF", + "subcategory": "Provisioning", + "homepage": "https://spiffe.io/spire/", + "source_releases": [ + "v1.13.3", + "v1.13.2", + "v1.12.6", + "v1.13.1", + "v1.12.5" + ], + "image_tags": [ + "k8s-sat" + ], + "binary": "spire-server", + "alternate_binaries": [] + }, + { + "name": "Stacker", + "description": "Stacker is a tool for building OCI images and related artifacts such as SBOMs natively via a declarative yaml format.", + "source_repo": { + "type": "github", + "repo": "project-stacker/stacker" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/remind101/stacker" + }, + "category": "CNCF", + "subcategory": "Application Development", + "homepage": "https://stackerbuild.io", + "source_releases": [ + "v1.1.3", + "v1.1.2", + "v1.1.1", + "v1.1.0", + "v1.1.0-rc3" + ], + "image_tags": [ + "latest", + "stable-1.2", + "c1aad4f8713c64c90abc02e6c10ad2eda1a18c8e", + "master", + "release-1.2.0" + ], + "binary": "", + "alternate_binaries": [] + }, + { + "name": "Starknet", + "description": "Decentralized validity rollup (ZK-rollup) for Ethereum scalability.", + "source_repo": { + "type": "github", + "repo": "starkware-libs/cairo" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/starknet/cairo" + }, + "category": "Blockchain", + "subcategory": "Blockchain Client", + "homepage": "https://starknet.io/", + "source_releases": [ + "v2.14.1-dev.0", + "v2.14.0", + "v2.14.0-rc.0", + "v2.13.1", + "v2.13.0" + ], + "image_tags": [ + "2.8.5", + "2.8.4", + "2.8.2", + "2.8.0", + "2.7.1" + ], + "binary": "cairo-compile", + "alternate_binaries": [], + "notes": "Starknet Cairo toolchain Docker image" + }, + { + "name": "Strimzi", + "description": "Strimzi provides a way to run an [Apache Kafka®][kafka] cluster on [Kubernetes][k8s] or [OpenShift][os] in various deployment configurations.", + "source_repo": { + "type": "github", + "repo": "strimzi/strimzi-kafka-operator" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/strimzi/kafka" + }, + "category": "CNCF", + "subcategory": "Application Development", + "homepage": "https://strimzi.io/", + "source_releases": [ + "0.49.1", + "0.49.1-rc1", + "0.49.0", + "0.49.0-rc2", + "0.49.0-rc1" + ], + "image_tags": [ + "0.20.1-kafka-2.5.0", + "0.20.1-kafka-2.5.1", + "0.20.1-kafka-2.6.0", + "0.20.1-rc1-kafka-2.5.0", + "0.20.1-rc1-kafka-2.5.1" + ], + "binary": "", + "alternate_binaries": [] + }, + { + "name": "Subfinder", + "description": "Subdomain discovery tool for penetration testing and bug bounty.", + "source_repo": { + "type": "github", + "repo": "projectdiscovery/subfinder" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/projectdiscovery/subfinder" + }, + "category": "Security", + "subcategory": "Security", + "homepage": "https://github.com/projectdiscovery/subfinder", + "source_releases": [ + "v2.10.1", + "v2.10.0", + "v2.9.0", + "v2.8.0", + "v2.7.1" + ], + "image_tags": [ + "v2.10.1", + "v2.10.0", + "v2.9.0", + "v2.8.0", + "v2.7.0" + ], + "binary": "subfinder", + "alternate_binaries": [] + }, + { + "name": "Submariner", + "description": "Submariner enables direct networking between Pods and Services in different Kubernetes clusters, either on-premises or in the cloud.", + "source_repo": { + "type": "github", + "repo": "submariner-io/submariner" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/rancher/submariner" + }, + "category": "CNCF", + "subcategory": "Networking", + "homepage": "https://submariner.io", + "source_releases": [ + "v0.22.0", + "v0.22.0-rc1", + "v0.22.0-rc0", + "v0.21.2", + "v0.21.1" + ], + "image_tags": [ + "v0.0.1" + ], + "binary": "submariner-engine", + "alternate_binaries": [] + }, + { + "name": "Sui", + "description": "Layer 1 blockchain with object-centric data model and Move programming language.", + "source_repo": { + "type": "github", + "repo": "MystenLabs/sui" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/mysten/sui-node" + }, + "category": "Blockchain", + "subcategory": "Blockchain Client", + "homepage": "https://sui.io/", + "source_releases": [ + "devnet-v1.62.0", + "testnet-v1.61.2", + "mainnet-v1.61.2", + "testnet-v1.61.1", + "devnet-v1.61.0" + ], + "image_tags": [ + "testnet", + "ee4b2efea70b9dedfdc866d591a746c36838008b", + "890e4b9377be064abd6c8f8bbfecb9a56c87928d", + "ci", + "78cbbea2f09a8ed64dbdf0296d2a41814c8bba8a" + ], + "binary": "sui-node", + "alternate_binaries": [] + }, + { + "name": "SuperEdge", + "description": "An edge-native container management system for edge computing.", + "source_repo": { + "type": "github", + "repo": "superedge/superedge" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/superedge/tunnel" + }, + "category": "CNCF", + "subcategory": "Provisioning", + "homepage": "https://superedge.io/", + "source_releases": [ + "v0.8.0", + "v0.7.0", + "v0.6.0", + "v0.5.0", + "v0.5.0-beta.0" + ], + "image_tags": [ + "v0.5.0-beta.0", + "v0.4.0", + "v0.4.0-beta.0", + "v0.3.0", + "v0.3.0-beta.0" + ], + "binary": "", + "alternate_binaries": [] + }, + { + "name": "Superset", + "description": "Modern data exploration and visualization platform for enterprise business intelligence.", + "source_repo": { + "type": "github", + "repo": "apache/superset" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/apache/superset" + }, + "category": "Apache", + "subcategory": "Data Visualization", + "homepage": "https://superset.apache.org/", + "source_releases": [ + "6.0.0rc4", + "6.0.0rc3", + "superset-helm-chart-0.15.1", + "6.0.0rc2", + "4.1.4" + ], + "image_tags": [ + "GHA-dev-20045228399", + "GHA-20045228399", + "440cbc4-dev", + "440cbc4c1fbaa3b226dd59dbf25372f35409c1cb-dev", + "GHA-py311-20045228399" + ], + "binary": "", + "alternate_binaries": [] + }, + { + "name": "Syft", + "description": "Tool for generating Software Bill of Materials (SBOM) from container images.", + "source_repo": { + "type": "github", + "repo": "anchore/syft" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/anchore/syft" + }, + "category": "Security", + "subcategory": "Security", + "homepage": "https://github.com/anchore/syft", + "source_releases": [ + "v1.38.0", + "v1.37.0", + "v1.36.0", + "v1.34.2", + "v1.34.1" + ], + "image_tags": [ + "v1.38.0-debug", + "v1.38.0-nonroot", + "v1.38.0", + "v1.38.0-debug-s390x", + "v1.38.0-debug-ppc64le" + ], + "binary": "syft", + "alternate_binaries": [] + }, + { + "name": "Teku", + "description": "Enterprise-grade Ethereum consensus client written in Java.", + "source_repo": { + "type": "github", + "repo": "Consensys/teku" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/consensys/teku" + }, + "category": "Blockchain", + "subcategory": "Ethereum Consensus Client", + "homepage": "https://consensys.io/teku", + "source_releases": [ + "25.11.1", + "25.11.0", + "25.10.0", + "25.9.3", + "25.9.2" + ], + "image_tags": [ + "25.11-jdk25", + "25.11.1-jdk25", + "25.11", + "25.11.1", + "25.11-jdk21" + ], + "binary": "teku", + "alternate_binaries": [] + }, + { + "name": "Telepresence", + "description": "Local development against a remote Kubernetes or OpenShift cluster.", + "source_repo": { + "type": "github", + "repo": "telepresenceio/telepresence" + }, + "image_repo": { + "type": "quay", + "image": "quay.io/datawire/demo-telepresence" + }, + "category": "CNCF", + "subcategory": "Application Development", + "homepage": "https://www.telepresence.io/", + "source_releases": [ + "v2.25.1" + ], + "image_tags": [ + "latest", + "426551d2971d70316b037513a177adbeb7705260", + "67a09105b92ddb3e0e6ae5e93f979c20b3be23df", + "60604fbfa467ab19f55181911065968523b363cf", + "8335aa9e7695babc6daa8eedc5de4a7bd2ca8fbf" + ], + "binary": "", + "alternate_binaries": [] + }, + { + "name": "Teller", + "description": "Cloud native secrets management for developers - never leave your command line for secrets.", + "source_repo": { + "type": "github", + "repo": "tellerops/teller" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/ginco/teller" + }, + "category": "CNCF", + "subcategory": "Provisioning", + "homepage": "https://tlr.dev", + "source_releases": [ + "v2.0.7", + "v2.0.6", + "v2.0.5", + "v2.0.4", + "v2.0.3" + ], + "image_tags": [ + "v2.76.4", + "v2.76.3", + "v2.76.2", + "v2.76.1", + "v2.76.0" + ], + "binary": "", + "alternate_binaries": [] + }, + { + "name": "Terraform", + "description": "Infrastructure as code tool for building, changing, and versioning cloud infrastructure.", + "source_repo": { + "type": "github", + "repo": "hashicorp/terraform" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/hashicorp/terraform" + }, + "category": "Infrastructure as Code", + "subcategory": "Terraform Ecosystem", + "homepage": "https://www.terraform.io/", + "source_releases": [ + "v1.15.0-alpha20251203", + "v1.14.1", + "v1.15.0-alpha20251119", + "v1.14.0", + "v1.14.0-rc2" + ], + "image_tags": [ + "1.15.0-alpha20251203", + "1.14", + "1.14.1", + "1.15.0-alpha20251119", + "1.14.0" + ], + "binary": "terraform", + "alternate_binaries": [] + }, + { + "name": "Terraform-docs", + "description": "Tool for generating documentation from Terraform modules.", + "source_repo": { + "type": "github", + "repo": "terraform-docs/terraform-docs" + }, + "image_repo": { + "type": "quay", + "image": "quay.io/terraform-docs/terraform-docs" + }, + "category": "Infrastructure as Code", + "subcategory": "Terraform Ecosystem", + "homepage": "https://terraform-docs.io/", + "source_releases": [ + "v0.20.0", + "v0.19.0", + "v0.18.0", + "v0.17.0", + "v0.16.0" + ], + "image_tags": [ + "edge", + "latest", + "0.20.0", + "0.19.0", + "0.18.0" + ], + "binary": "terraform-docs", + "alternate_binaries": [] + }, + { + "name": "Terragrunt", + "description": "Thin wrapper for Terraform providing extra tools for keeping configurations DRY.", + "source_repo": { + "type": "github", + "repo": "gruntwork-io/terragrunt" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/alpine/terragrunt" + }, + "category": "Infrastructure as Code", + "subcategory": "IaC", + "homepage": "https://terragrunt.gruntwork.io/", + "source_releases": [ + "v0.94.0", + "v0.93.13", + "v0.93.12", + "v0.93.11", + "v0.93.10" + ], + "image_tags": [ + "1.14.1", + "1.14.0", + "1.13.5", + "1.13.4", + "latest" + ], + "binary": "terragrunt", + "alternate_binaries": [] + }, + { + "name": "Tetragon", + "description": "EBPF-based Security Observability and Runtime Enforcement.", + "source_repo": { + "type": "github", + "repo": "cilium/tetragon" + }, + "image_repo": { + "type": "quay", + "image": "quay.io/cilium/tetragon" + }, + "category": "CNCF", + "subcategory": "Provisioning", + "homepage": "https://github.com/cilium/tetragon", + "source_releases": [ + "v1.6.0", + "v1.6.0-rc.1", + "v1.5.0", + "v1.4.1", + "v1.4.0" + ], + "image_tags": [ + "sha256-d8bc608056db0ad91507bdeca5ae1b44bb992aff026bdeabb96af836b7ca430d.sig", + "sha256-96caa160af4dd3867a39cb21f943db053ee25a6f965e8b895c614e6e8313db14.sbom", + "sha256-96caa160af4dd3867a39cb21f943db053ee25a6f965e8b895c614e6e8313db14.sig", + "v1.7.0-pre.0", + "sha256-1108359beedb3dfed94bb66a21ea92c6217abb7cb1e11469759d80d70f52538a.sig" + ], + "binary": "--help", + "alternate_binaries": [] + }, + { + "name": "Tflint", + "description": "Linter for Terraform configurations focused on errors and best practices.", + "source_repo": { + "type": "github", + "repo": "terraform-linters/tflint" + }, + "image_repo": { + "type": "ghcr", + "image": "ghcr.io/terraform-linters/tflint" + }, + "category": "Infrastructure as Code", + "subcategory": "IaC", + "homepage": "https://github.com/terraform-linters/tflint", + "source_releases": [ + "v0.60.0", + "v0.59.1", + "v0.58.1", + "v0.58.0", + "v0.57.0" + ], + "image_tags": [ + "v0.30.0", + "v0.31.0", + "v0.32.0", + "v0.32.1", + "v0.33.0" + ], + "binary": "tflint", + "alternate_binaries": [] + }, + { + "name": "Tfsec", + "description": "Security scanner for Terraform code.", + "source_repo": { + "type": "github", + "repo": "aquasecurity/tfsec" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/aquasec/tfsec" + }, + "category": "Security", + "subcategory": "Security Scanner", + "homepage": "https://aquasecurity.github.io/tfsec/", + "source_releases": [ + "v1.28.14", + "v1.28.13", + "v1.28.12", + "v1.28.11", + "v1.28.10" + ], + "image_tags": [ + "v1.28", + "v1.28.14", + "v1.28.13", + "v1.28.12", + "v1.28.11" + ], + "binary": "tfsec", + "alternate_binaries": [] + }, + { + "name": "Thanos", + "description": "Highly available Prometheus setup with long term storage capabilities.", + "source_repo": { + "type": "github", + "repo": "thanos-io/thanos" + }, + "image_repo": { + "type": "quay", + "image": "quay.io/thanos/thanos" + }, + "category": "CNCF", + "subcategory": "Monitoring", + "homepage": "https://thanos.io/", + "source_releases": [ + "v0.40.1", + "v0.40.0", + "v0.40.0-rc.0", + "v0.39.2", + "v0.39.1" + ], + "image_tags": [ + "main-2025-12-08-65be251", + "main-2025-12-08-ae6e322", + "main-2025-12-03-229c9d3", + "main-2025-12-03-9431fbb", + "main-2025-12-02-5f1c519" + ], + "binary": "--help", + "alternate_binaries": [] + }, + { + "name": "The Graph", + "description": "Indexing protocol for querying blockchain data with GraphQL.", + "source_repo": { + "type": "github", + "repo": "graphprotocol/graph-node" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/graphprotocol/graph-node" + }, + "category": "Blockchain", + "subcategory": "Indexing", + "homepage": "https://thegraph.com/", + "source_releases": [ + "v0.41.1", + "v0.41.0", + "v0.41.0-rc.0", + "v0.40.1", + "v0.40.0" + ], + "image_tags": [ + "canary-159553a", + "159553a", + "canary-6ac6a35", + "6ac6a35", + "canary-01beacd" + ], + "binary": "graph-node", + "alternate_binaries": [] + }, + { + "name": "The Update Framework (TUF)", + "description": "Python reference implementation of The Update Framework (TUF).", + "source_repo": { + "type": "github", + "repo": "theupdateframework/python-tuf" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/rancher/etc-host-updater" + }, + "category": "CNCF", + "subcategory": "Provisioning", + "homepage": "https://theupdateframework.github.io/", + "source_releases": [ + "v6.0.0", + "v5.1.0", + "v5.0.0", + "v4.0.0", + "v3.1.1" + ], + "image_tags": [ + "v0.0.3", + "v0.0.2", + "v0.0.1" + ], + "binary": "--help", + "alternate_binaries": [] + }, + { + "name": "Thrift", + "description": "Lightweight, language-independent software stack for point-to-point RPC implementation.", + "source_repo": { + "type": "github", + "repo": "apache/thrift" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/apache/thrift" + }, + "category": "Apache", + "subcategory": "Data Formats", + "homepage": "https://thrift.apache.org/", + "source_releases": [ + "v0.22.0", + "v0.21.0", + "v0.20.0", + "v0.19.0", + "v0.18.1" + ], + "image_tags": [ + "latest", + "ubuntu" + ], + "binary": "thrift", + "alternate_binaries": [] + }, + { + "name": "TiKV", + "description": "A distributed transactional key-value database Based on the design of Google Spanner and HBase, but simpler to manage and without dependencies on any distributed filesystem.", + "source_repo": { + "type": "github", + "repo": "tikv/tikv" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/tikv/tikv" + }, + "category": "CNCF", + "subcategory": "Application Development", + "homepage": "https://tikv.org", + "source_releases": [ + "v8.5.4", + "v7.5.7", + "v8.5.3", + "v8.5.2", + "v9.0.0-beta.1" + ], + "image_tags": [ + "latest", + "f78c164d28bcee0a1c7d87c668aa7a54635ce3dd" + ], + "binary": "help", + "alternate_binaries": [] + }, + { + "name": "Tinkerbell", + "description": "Bare metal provisioning engine, supporting network and ISO booting, BMC interactions, metadata service, and workflow engine.", + "source_repo": { + "type": "github", + "repo": "tinkerbell/tinkerbell" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/diarhussein437/tinkerbell" + }, + "category": "CNCF", + "subcategory": "Provisioning", + "homepage": "https://tinkerbell.org/", + "source_releases": [ + "v0.22.0", + "v0.21.0", + "v0.20.1", + "v0.20.0", + "v0.19.3" + ], + "image_tags": [ + "max_provisioning.sh-v4", + "max_provisioning.sh-v3", + "max_provisioning.sh-v2", + "max_provisioning.sh-v1", + "combined_provisioning.sh-v52" + ], + "binary": "", + "alternate_binaries": [] + }, + { + "name": "Tomcat", + "description": "Implementation of Jakarta Servlet, Server Pages, Expression Language and WebSocket technologies.", + "source_repo": { + "type": "github", + "repo": "apache/tomcat" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/tomcat" + }, + "category": "Apache", + "subcategory": "Web Server", + "homepage": "https://tomcat.apache.org/", + "source_releases": [ + "11.0.15", + "11.0.14", + "11.0.13", + "11.0.12", + "11.0.11" + ], + "image_tags": [ + "latest", + "jre25-temurin-noble", + "jre25-temurin-jammy", + "jre25-temurin", + "jre25" + ], + "binary": "catalina.sh", + "alternate_binaries": [] + }, + { + "name": "Traefik", + "description": "Modern HTTP reverse proxy and load balancer for microservices.", + "source_repo": { + "type": "github", + "repo": "traefik/traefik" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/traefik" + }, + "category": "Proxy", + "subcategory": "Traefik", + "homepage": "https://traefik.io/", + "source_releases": [ + "v3.6.4", + "v2.11.32", + "v3.6.2", + "v3.6.1", + "v2.11.31" + ], + "image_tags": [ + "v3.6.4", + "v3.6", + "3.6.4", + "3.6", + "v3.6.4-nanoserver-ltsc2022" + ], + "binary": "traefik", + "alternate_binaries": [] + }, + { + "name": "Traefik Mesh", + "description": "Traefik Mesh is a simple, yet full-featured service mesh.", + "source_repo": { + "type": "github", + "repo": "traefik/mesh" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/roshan96sunaina/traefik-mesh" + }, + "category": "CNCF", + "subcategory": "Service Mesh", + "homepage": "https://traefik.io/traefik-mesh", + "source_releases": [ + "v1.4.8", + "v1.4.7", + "v1.4.6", + "v1.4.5", + "v1.4.4" + ], + "image_tags": [ + "v1.1.1.2", + "v1.1.1.1" + ], + "binary": "", + "alternate_binaries": [] + }, + { + "name": "Tremor", + "description": "In short, Tremor is an event- or stream-processing system.", + "source_repo": { + "type": "github", + "repo": "tremor-rs/tremor-runtime" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/tremorproject/tremor" + }, + "category": "CNCF", + "subcategory": "Operator Framework", + "homepage": "https://www.tremor.rs/", + "source_releases": [ + "v0.13.0-rc.33", + "v0.13.0-rc.32", + "v0.13.0-rc.31", + "v0.13.0-rc.30", + "v0.13.0-rc.29" + ], + "image_tags": [ + "0.13.0-rc.33", + "0.13.0-rc.32", + "0.13.0-rc.31", + "0.13.0-rc.30", + "0.13.0-rc.29" + ], + "binary": "", + "alternate_binaries": [] + }, + { + "name": "Trickster", + "description": "Open Source HTTP Reverse Proxy Cache and Time Series Dashboard Accelerator.", + "source_repo": { + "type": "github", + "repo": "trickstercache/trickster" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/tricksterio/trickster" + }, + "category": "CNCF", + "subcategory": "Observability", + "homepage": "https://trickstercache.org", + "source_releases": [ + "v2.0.0-beta3", + "v2.0.0-beta2", + "v1.1.5", + "v1.1.4", + "v1.1.3" + ], + "image_tags": [ + "2.0.0-beta2", + "2.0.0-beta1", + "1.1", + "1.1.5", + "1.1.4" + ], + "binary": "", + "alternate_binaries": [] + }, + { + "name": "Trivy", + "description": "Comprehensive security scanner for vulnerabilities in containers and filesystems.", + "source_repo": { + "type": "github", + "repo": "aquasecurity/trivy" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/aquasec/trivy" + }, + "category": "Security", + "subcategory": "Security Scanner", + "homepage": "https://trivy.dev/", + "source_releases": [ + "v0.68.1", + "v0.67.2", + "v0.67.1", + "v0.67.0", + "v0.66.0" + ], + "image_tags": [ + "0.68.1", + "0.68.1-s390x", + "0.68.1-ppc64le", + "0.67.2", + "0.67.2-s390x" + ], + "binary": "trivy", + "alternate_binaries": [] + }, + { + "name": "urunc", + "description": "A CRI-compatible runtime for running unikernels and application kernels as containers.", + "source_repo": { + "type": "github", + "repo": "urunc-dev/urunc" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/michaelbeaumont/urunc" + }, + "category": "CNCF", + "subcategory": "Container Runtime", + "homepage": "https://urunc.io/", + "source_releases": [ + "v0.6.0", + "v0.5.0", + "v0.4.0", + "v0.3.0", + "v0.2.0" + ], + "image_tags": [ + "0.5.0" + ], + "binary": "", + "alternate_binaries": [] + }, + { + "name": "Vault", + "description": "Tool for managing secrets and protecting sensitive data.", + "source_repo": { + "type": "github", + "repo": "hashicorp/vault" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/hashicorp/vault" + }, + "category": "Security", + "subcategory": "Secrets Management", + "homepage": "https://www.vaultproject.io/", + "source_releases": [ + "v1.21.1", + "v1.21.0", + "v1.21.0-rc1", + "v1.20.4", + "v1.20.3" + ], + "image_tags": [ + "1.21", + "1.21.1", + "1.21.0", + "1.21.0-rc1", + "1.20" + ], + "binary": "vault -help", + "alternate_binaries": [] + }, + { + "name": "Vineyard", + "description": "Vineyard (v6d) is an in-memory immutable data manager.", + "source_repo": { + "type": "github", + "repo": "v6d-io/v6d" + }, + "image_repo": { + "type": "quay", + "image": "quay.io/libvineyard/vineyardd" + }, + "category": "CNCF", + "subcategory": "Container Runtime", + "homepage": "https://v6d.io", + "source_releases": [ + "v0.24.4", + "v0.24.3", + "v0.24.2", + "v0.24.1", + "v0.24.0" + ], + "image_tags": [ + "latest", + "v0.5.2", + "v0.5.0", + "v0.4.1", + "v0.4.2" + ], + "binary": "vineyardd", + "alternate_binaries": [] + }, + { + "name": "Virtual Kubelet", + "description": "Virtual Kubelet is an open source Kubernetes kubelet implementation.", + "source_repo": { + "type": "github", + "repo": "virtual-kubelet/virtual-kubelet" + }, + "image_repo": { + "type": "quay", + "image": "quay.io/powerhouse/ph-virtual-kubelet" + }, + "category": "CNCF", + "subcategory": "Container Runtime", + "homepage": "https://virtual-kubelet.io/", + "source_releases": [ + "v1.11.0", + "v1.10.0", + "v1.9.0", + "v1.8.0", + "v1.7.0" + ], + "image_tags": [ + "v0.0.3", + "v0.0.2" + ], + "binary": "--help", + "alternate_binaries": [] + }, + { + "name": "Visual Studio Code Kubernetes Tools", + "description": "The extension for developers building applications to run in Kubernetes clusters and for DevOps staff troubleshooting Kubernetes applications.", + "source_repo": { + "type": "github", + "repo": "vscode-kubernetes-tools/vscode-kubernetes-tools" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/rancher/rke-tools" + }, + "category": "CNCF", + "subcategory": "Application Development", + "homepage": "https://marketplace.visualstudio.com/items?itemName=ms-kubernetes-tools.vscode-kubernetes-tools", + "source_releases": [ + "1.3.27", + "1.3.26", + "1.3.25", + "1.3.24", + "1.3.23" + ], + "image_tags": [ + "v0.1.114", + "v0.1.113", + "v0.1.112", + "v0.1.111", + "v0.1.110" + ], + "binary": "-h", + "alternate_binaries": [] + }, + { + "name": "Vitess", + "description": "MySQL-compatible, horizontally scalable, cloud-native database solution.", + "source_repo": { + "type": "github", + "repo": "vitessio/vitess" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/vitess/lite" + }, + "category": "CNCF", + "subcategory": "Application Development", + "homepage": "https://vitess.io/", + "source_releases": [ + "v22.0.2", + "v21.0.6", + "v23.0.0", + "v23.0.0-rc2", + "v23.0.0-rc1" + ], + "image_tags": [ + "v22.0.2", + "v22.0.2-percona80", + "v22.0.2-mysql84", + "v21.0.6-percona80", + "v21.0.6" + ], + "binary": "vtctl", + "alternate_binaries": [] + }, + { + "name": "Volcano", + "description": "Cloud native batch computing system for Kubernetes - manages high-performance workloads like AI/ML, big data, and HPC jobs.", + "source_repo": { + "type": "github", + "repo": "volcano-sh/volcano" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/account0123/volcano" + }, + "category": "CNCF", + "subcategory": "Management", + "homepage": "https://volcano.sh/", + "source_releases": [ + "v1.13.0", + "v1.12.2", + "v1.12.1", + "v1.12.0", + "v1.11.2" + ], + "image_tags": [ + "0.4.2", + "0.4.1", + "0.4.0", + "0.3.8", + "0.3.7" + ], + "binary": "vcctl", + "alternate_binaries": [] + }, + { + "name": "Vyper", + "description": "Pythonic smart contract language with security and auditability focus.", + "source_repo": { + "type": "github", + "repo": "vyperlang/vyper" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/vyperlang/vyper" + }, + "category": "Blockchain", + "subcategory": "Smart Contract Language", + "homepage": "https://vyper.readthedocs.io/", + "source_releases": [ + "v0.4.3", + "v0.4.3rc1", + "v0.4.2", + "v0.4.2rc1", + "v0.4.1" + ], + "image_tags": [ + "0.4.3", + "0.4.3rc1", + "0.4.2", + "0.4.2rc1", + "0.4.1" + ], + "binary": "vyper", + "alternate_binaries": [ + "vyper-serve", + "vyper-lll", + "vyper-bin" + ] + }, + { + "name": "wasmCloud", + "description": "WasmCloud is an open source Cloud Native Computing Foundation (CNCF) project that enables teams to build, manage, and scale polyglot apps across any cloud, K8s, or edge.", + "source_repo": { + "type": "github", + "repo": "wasmCloud/wasmCloud" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/wasmcloud/wasmcloud" + }, + "category": "CNCF", + "subcategory": "Management", + "homepage": "https://wasmcloud.com", + "source_releases": [ + "v1.9.0", + "wash-v0.42.0", + "v1.8.0", + "v1.7.1", + "wit-wasmcloud-identity-v0.0.1" + ], + "image_tags": [ + "1.9.1", + "1.9.0", + "1.9.0-beta.1-wolfi", + "1.9.0-beta.1-debian", + "1.9.0-beta.1" + ], + "binary": "help", + "alternate_binaries": [] + }, + { + "name": "WasmEdge Runtime", + "description": "WasmEdge is a lightweight, high-performance, and extensible WebAssembly runtime for cloud native, edge, and decentralized applications.", + "source_repo": { + "type": "github", + "repo": "WasmEdge/WasmEdge" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/ibm-semeru-runtimes" + }, + "category": "CNCF", + "subcategory": "Container Runtime", + "homepage": "https://wasmedge.org/", + "source_releases": [ + "0.15.0", + "0.15.0-rc.1", + "0.15.0-alpha.4", + "0.15.0-alpha.3", + "0.15.0-alpha.2" + ], + "image_tags": [ + "open-17-jdk", + "open-11.0.29_7-jdk-jammy", + "open-11-jre-jammy", + "open-11-jre", + "open-11-jdk-noble" + ], + "binary": "", + "alternate_binaries": [] + }, + { + "name": "werf", + "description": "Werf is a solution for implementing efficient and consistent software delivery to Kubernetes.", + "source_repo": { + "type": "github", + "repo": "werf/werf" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/tokend/werf" + }, + "category": "CNCF", + "subcategory": "CI/CD", + "homepage": "https://werf.io/", + "source_releases": [ + "v2.55.6", + "v2.55.4", + "v2.55.3", + "v2.55.2", + "v2.55.1" + ], + "image_tags": [ + "0.0.16", + "0.0.15", + "0.0.14", + "0.0.13", + "0.0.12" + ], + "binary": "", + "alternate_binaries": [] + }, + { + "name": "wget", + "description": "Network utility for non-interactive download of files from the web - supports HTTP, HTTPS, and FTP with resume capability.", + "source_repo": { + "type": "github", + "repo": "mirror/wget" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/alpine" + }, + "category": "System Utility", + "subcategory": "HTTP Client", + "homepage": "https://www.gnu.org/software/wget/", + "source_releases": [ + "v1.24.5", + "v1.21.4", + "v1.21.3", + "v1.21.2", + "v1.21.1" + ], + "image_tags": [ + "3.23.0", + "3.23", + "3.22.2", + "3.22", + "3.21.5" + ], + "binary": "wget", + "alternate_binaries": [], + "notes": "Using Alpine Linux which includes wget via BusyBox" + }, + { + "name": "Xline", + "description": "Xline is a high-performance geo-distributed metadata management system, which is compatible with the ETCD interface.", + "source_repo": { + "type": "github", + "repo": "xline-kv/Xline" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/datenlord/xline" + }, + "category": "CNCF", + "subcategory": "Management", + "homepage": "https://www.xline.cloud", + "source_releases": [ + "v0.7.0", + "v0.6.1", + "v0.6.0", + "v0.5.0", + "v0.4.1" + ], + "image_tags": [ + "v0.5.0", + "v0.5.1", + "v0.4.1", + "latest", + "5068a2b" + ], + "binary": "", + "alternate_binaries": [] + }, + { + "name": "xRegistry", + "description": "The xRegistry project defines an abstract model for managing metadata about resources and provides a REST-based interface to discover, create, modify and delete those resources.", + "source_repo": { + "type": "github", + "repo": "xregistry/server" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/izeki/nginxregistry" + }, + "category": "CNCF", + "subcategory": "Application Development", + "homepage": "https://xregistry.io", + "source_releases": [ + "dev" + ], + "image_tags": [ + "latest" + ], + "binary": "", + "alternate_binaries": [] + }, + { + "name": "youki", + "description": "Youki is an implementation of the OCI runtime-spec in Rust, similar to runc.", + "source_repo": { + "type": "github", + "repo": "youki-dev/youki" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/youkims/ds-moe" + }, + "category": "CNCF", + "subcategory": "Container Runtime", + "homepage": "https://youki-dev.github.io/youki/", + "source_releases": [ + "v0.5.7", + "v0.5.6", + "v0.5.5", + "v0.5.4", + "v0.5.3" + ], + "image_tags": [ + "0.3", + "0.2", + "latest", + "top2" + ], + "binary": "", + "alternate_binaries": [] + }, + { + "name": "yq", + "description": "Portable command-line YAML, JSON, and XML processor using jq-like syntax for parsing and manipulating structured data.", + "source_repo": { + "type": "github", + "repo": "mikefarah/yq" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/mikefarah/yq" + }, + "category": "System Utility", + "subcategory": "Data Processing", + "homepage": "https://mikefarah.gitbook.io/yq/", + "source_releases": [ + "v4.49.2", + "v4.49.1", + "v4.48.2", + "v4.48.1", + "v4.47.2" + ], + "image_tags": [ + "4.49.2-githubaction", + "4.49.2", + "4.49.1-githubaction", + "4.49.1", + "4.48.2-githubaction" + ], + "binary": "yq", + "alternate_binaries": [] + }, + { + "name": "Zeppelin", + "description": "Web-based notebook for interactive data analytics with multi-language support and visualization.", + "source_repo": { + "type": "github", + "repo": "apache/zeppelin" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/apache/zeppelin" + }, + "category": "Apache", + "subcategory": "Data Visualization", + "homepage": "https://zeppelin.apache.org/", + "source_releases": [ + "v0.12.0", + "v0.12.0-rc1", + "v0.11.2", + "v0.11.2-rc4", + "v0.11.2-rc3" + ], + "image_tags": [ + "0.12.0", + "0.11.2", + "0.11.1", + "0.11.0", + "0.10.1" + ], + "binary": "", + "alternate_binaries": [] + }, + { + "name": "zkSync", + "description": "Ethereum Layer 2 protocol using zero-knowledge rollups.", + "source_repo": { + "type": "github", + "repo": "matter-labs/zksync-era" + }, + "image_repo": { + "type": "ghcr", + "image": "ghcr.io/matter-labs/server-v2" + }, + "category": "Blockchain", + "subcategory": "Ethereum Client", + "homepage": "https://zksync.io/", + "source_releases": [ + "core-v29.6.0", + "zkos-0.29.11", + "prover-v23.1.0", + "prover-v23.0.0" + ], + "image_tags": [ + "7a8cb27-1736345733454-linux-amd64", + "ecccdda-1736352787485-linux-amd64", + "7adb612-1736413599630-linux-amd64", + "64d861d-1736422246437-linux-amd64", + "5a8818d-1736513228239-linux-amd64" + ], + "binary": "zksync_server", + "alternate_binaries": [] + }, + { + "name": "Zookeeper", + "description": "Centralized service for configuration, naming, distributed synchronization, and group services.", + "source_repo": { + "type": "github", + "repo": "apache/zookeeper" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/zookeeper" + }, + "category": "Apache", + "subcategory": "Coordination Service", + "homepage": "https://zookeeper.apache.org/", + "source_releases": [ + "zookeeper-", + "release-3.9.4", + "release-3.9.4-2", + "release-3.9.4-1", + "release-3.9.4-0" + ], + "image_tags": [ + "3.9.4-jre-17", + "3.9.4", + "3.9-jre-17", + "3.9", + "3.8.4-jre-17" + ], + "binary": "", + "alternate_binaries": [] + }, + { + "name": "zot", + "description": "Zot is an OCI-native container registry for distributing container images and OCI artifacts.", + "source_repo": { + "type": "github", + "repo": "project-zot/zot" + }, + "image_repo": { + "type": "dockerhub", + "image": "docker.io/labring/zot" + }, + "category": "CNCF", + "subcategory": "Provisioning", + "homepage": "https://zotregistry.dev/", + "source_releases": [ + "v2.1.11", + "v2.1.10", + "v2.1.9", + "v2.1.8", + "v2.1.7" + ], + "image_tags": [ + "v2.0.0-rc7", + "v1.4.3", + "v2.0.0-rc4" + ], + "binary": "", + "alternate_binaries": [] + } + ] +} \ No newline at end of file diff --git a/data/configs/cncf_cli_tools.json b/data/configs/cncf_cli_tools.json deleted file mode 100644 index 34a54db..0000000 --- a/data/configs/cncf_cli_tools.json +++ /dev/null @@ -1,7738 +0,0 @@ -{ - "metadata": { - "schema_version": "2.0", - "generated_at": "2025-10-11", - "description": "Official CNCF projects (graduated, incubating, and sandbox)", - "source": "CNCF Landscape CSV export", - "total_projects": 235, - "properties": { - "github_release_url": "GitHub releases page URL", - "docker_tags_url": "Docker Hub or registry tags URL (requires manual curation)", - "readme": "Main README documentation URL", - "homepage": "Project homepage URL", - "category": "CNCF category classification", - "subcategory": "CNCF subcategory classification" - }, - "notes": [ - "docker_tags_url field is empty and requires manual curation as this data is not in the CNCF CSV", - "All projects are open source with active GitHub repositories", - "Only includes official CNCF projects: graduated (32), incubating (39), and sandbox (164)" - ], - "docker_discovery": { - "auto_discovered": 230, - "not_found": 5, - "success_rate": "97.9%", - "discovery_date": "2025-10-11", - "sources": [ - "DockerHub API v2", - "Quay.io API v1" - ] - }, - "last_description_update": "2025-10-16" - }, - "cncf_cli_tools": [ - { - "name": "Aeraki Mesh", - "description": "Aeraki Mesh allows you to manage any layer-7 traffic in a service mesh.", - "github_release_url": "https://api.github.com/repos/aeraki-mesh/aeraki/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/atlassian/bitbucket-mesh/tags/?page=1&page_size=100", - "readme": "https://github.com/aeraki-mesh/aeraki/blob/master/README.md", - "category": "Orchestration & Management", - "homepage": "https://www.aeraki.net/", - "github_releases": [ - "1.4.1", - "1.4.0", - "1.3.0", - "1.2.1", - "1.2.0", - "1.1.3", - "1.1.2", - "1.1.1", - "1.1.0", - "1.0.5" - ], - "image_tags": [ - "2.5.4-ubuntu-jdk-17", - "2.5.4-jdk17", - "2.5.8-jdk17", - "2.5.8-ubuntu-jdk-17", - "3.0.1-jdk17", - "3.0-jdk17", - "3.0.1-ubuntu-jdk-17", - "3.0-ubuntu-jdk-17", - "2.5.17-jdk17", - "2.5.17-ubuntu-jdk-17" - ], - "image_name": "docker.io/atlassian/bitbucket-mesh", - "subcategory": "Service Mesh" - }, - { - "name": "Akri", - "description": "Kubernetes Resource Interface for the Edge - discovers and utilizes leaf devices (sensors, controllers, MCUs) across heterogeneous edge clusters.", - "github_release_url": "https://api.github.com/repos/project-akri/akri/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/nitin992vij/akri/tags/?page=1&page_size=100", - "readme": "https://github.com/project-akri/akri/blob/main/README.md", - "category": "Provisioning", - "homepage": "https://docs.akri.sh", - "github_releases": [ - "v0.13.8", - "v0.12.20", - "v0.12.9", - "v0.10.4", - "v0.8.23", - "v0.8.4", - "v0.7.0", - "v0.6.19", - "v0.6.5", - "v0.1.5" - ], - "image_tags": [ - "v1" - ], - "image_name": "docker.io/nitin992vij/akri", - "subcategory": "Cluster Management" - }, - { - "name": "Antrea", - "description": "Kubernetes networking solution based on Open vSwitch, providing network connectivity and security for pod workloads with native support for NetworkPolicy.", - "github_release_url": "https://api.github.com/repos/antrea-io/antrea/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/antrea/antrea-windows/tags/?page=1&page_size=100", - "readme": "https://github.com/antrea-io/antrea/blob/main/README.md", - "category": "Runtime", - "homepage": "https://antrea.io/", - "github_releases": [ - "v2.4.3", - "v2.3.2", - "v2.2.2", - "v2.4.2", - "v2.4.1", - "v2.1.2", - "v2.4.0", - "v2.3.1", - "v2.2.1", - "v2.3.0" - ], - "image_tags": [ - "latest", - "v2.4.3", - "v2.3.2", - "v2.2.2", - "v2.4.2", - "v2.1.2", - "v2.4.1", - "v2.1.1", - "v2.4.0", - "v2.3.1" - ], - "image_name": "docker.io/antrea/antrea-windows", - "subcategory": "Networking" - }, - { - "name": "Argo", - "description": "Kubernetes-native tools to run workflows, manage clusters, and do GitOps right.", - "github_release_url": "https://api.github.com/repos/argoproj/argo-cd/releases?per_page=100&page=1", - "docker_tags_url": "https://quay.io/api/v1/repository/argoproj/argocd/tag/?page=1&limit=100", - "readme": "https://github.com/argoproj/argo-cd/blob/master/README.md", - "category": "App Definition and Development", - "homepage": "https://argoproj.github.io/", - "github_releases": [ - "v3.2.0-rc4", - "v3.1.9", - "v3.0.20", - "v3.2.0-rc3", - "v3.2.0-rc2", - "v3.1.8", - "v3.0.19", - "v2.14.20", - "v3.1.7", - "v3.0.18" - ], - "image_tags": [ - "latest", - "latest", - "latest", - "latest", - "latest", - "latest", - "sha256-f7bff03ad6ae059e80eb420922f20444a55071b220f8a86dd94b4bce358ba643.sig", - "latest", - "sha256-fdc4b8ca914c9d59be59688f7b9ba5bfa6faa395f2a78a71a956b62d915b6a8f.sig", - "latest" - ], - "image_name": "quay.io/argoproj/argocd", - "docker_help_command": "/usr/local/bin/argocd --help", - "subcategory": "Application Development" - }, - { - "name": "Armada", - "description": "A multi-cluster batch queuing system for high-throughput workloads on Kubernetes.", - "github_release_url": "https://api.github.com/repos/armadaproject/armada/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/diamanti/armada/tags/?page=1&page_size=100", - "readme": "https://github.com/armadaproject/armada/blob/master/README.md", - "category": "Orchestration & Management", - "homepage": "https://armadaproject.io/", - "github_releases": [ - "v0.20.12", - "v0.20.11", - "v0.20.10", - "v0.20.9", - "v0.20.8", - "v0.20.7", - "v0.20.6", - "v0.20.5", - "v0.20.4", - "v0.20.3" - ], - "image_tags": [ - "v3.5.0-495", - "v3.5.0-494", - "v3.5.0-493", - "v3.4.0-151", - "v3.3.1-208", - "v3.5.0-783", - "v3.5.0-782", - "v3.5.0-781", - "v3.5.0-780", - "v3.5.0-779" - ], - "image_name": "docker.io/diamanti/armada", - "docker_help_command": "/usr/bin/armada --help", - "subcategory": "Management" - }, - { - "name": "Artifact Hub", - "description": "CNCF hub for discovering, installing, and publishing cloud native packages and configurations including Helm charts, operators, and plugins.", - "github_release_url": "https://api.github.com/repos/artifacthub/hub/releases?per_page=100&page=1", - "docker_tags_url": "https://quay.io/api/v1/repository/vijaysriraman/artifact-hub/tag/?page=1&limit=100", - "readme": "https://github.com/artifacthub/hub/blob/master/README.md", - "category": "App Definition and Development", - "homepage": "https://artifacthub.io", - "github_releases": [ - "v1.22.0", - "v1.21.0", - "v1.20.0", - "v1.19.0", - "v1.18.0", - "v1.17.0", - "v1.16.0", - "v1.15.0", - "v1.14.0", - "v1.13.0" - ], - "image_tags": [ - "hashicorp", - "dbmigrator", - "trivy", - "kubectl", - "artifacthubhub", - "artifacthubtracker", - "artifacthubscanner", - "minideb", - "postgres12" - ], - "image_name": "quay.io/vijaysriraman/artifact-hub", - "docker_help_command": "--help", - "subcategory": "Operator Framework" - }, - { - "name": "Athenz", - "description": "Open-source platform for X.509 certificate-based service authentication and fine-grained access control in dynamic infrastructures.", - "github_release_url": "https://api.github.com/repos/AthenZ/athenz/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/athenz/athenz/tags/?page=1&page_size=100", - "readme": "https://github.com/AthenZ/athenz/blob/master/README.md", - "category": "Provisioning", - "homepage": "https://www.athenz.io", - "github_releases": [ - "v1.12.27", - "v1.12.26", - "v1.12.25", - "v1.12.24", - "v1.12.23", - "v1.12.22", - "v1.12.21", - "v1.12.20", - "v1.12.19", - "v1.12.18" - ], - "image_tags": [ - "v1.7.29", - "latest", - "v1.7.27", - "v1.7.25", - "v1.7.24", - "v1.7.23", - "v1.7.21", - "v1.7.20", - "v1.7.12", - "v1.7.11" - ], - "image_name": "docker.io/athenz/athenz", - "docker_help_command": "/opt/athenz/athenz-zts-1.7.29/bin/zts --help", - "subcategory": "Provisioning" - }, - { - "name": "Atlantis", - "description": "Terraform Pull Request Automation - enables GitOps for Terraform by running plan/apply directly from pull requests with approval workflows.", - "github_release_url": "https://api.github.com/repos/runatlantis/atlantis/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/runatlantis/atlantis/tags/?page=1&page_size=100", - "readme": "https://github.com/runatlantis/atlantis/blob/main/README.md", - "category": "Provisioning", - "homepage": "https://www.runatlantis.io/", - "github_releases": [ - "v0.36.0", - "v0.35.1", - "v0.35.0", - "v0.34.0", - "v0.33.0", - "v0.32.0", - "v0.31.0", - "v0.30.0", - "v0.29.0", - "v0.28.5" - ], - "image_tags": [ - "v0.18.4", - "v0.18.3", - "v0.18.2", - "v0.18.1", - "v0.18.0", - "v0.17.6", - "v0.17.5", - "v0.17.4", - "v0.17.3", - "v0.17.2" - ], - "image_name": "docker.io/runatlantis/atlantis", - "docker_help_command": "/usr/local/bin/atlantis --help", - "subcategory": "Automation" - }, - { - "name": "Backstage", - "description": "Backstage is an open framework for building developer portals.", - "github_release_url": "https://api.github.com/repos/backstage/backstage/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/giantswarm/backstage/tags/?page=1&page_size=100", - "readme": "https://github.com/backstage/backstage/blob/master/README.md", - "category": "App Definition and Development", - "homepage": "https://backstage.io/", - "github_releases": [ - "v1.44.2", - "v1.45.0-next.0", - "v1.44.1", - "v1.44.0", - "v1.44.0-next.2", - "v1.44.0-next.1", - "v1.43.3", - "v1.44.0-next.0", - "v1.43.2", - "v1.43.1" - ], - "image_tags": [ - "0.87.0-cf1239250fab68cdc964b0dc3c9a3e3888087a88", - "0.87.0-907d2f6492e70826330a5d9b203b70016bdc783d", - "0.87.1", - "0.87.1-69c59e340203cdd63d403618773d833efede673d", - "0.87.0-f740242bc63c7f0590795b1af418624528028eb3", - "0.87.0-f200d56748c98c174844e9702aaf3d93c5c703e8", - "0.87.0-f77b6541fbaa5953b9adf722001e3d8685bde697", - "0.87.0-bd9bbc9d1ff346ed6b987b5ee9f7f84bd1d9641d", - "0.87.0-160e90f33a589799476f87d9b672c7d21f9fe795", - "0.87.0-6142d11dca3498e6996fd15118f26516166c88cb" - ], - "image_name": "docker.io/giantswarm/backstage", - "docker_help_command": "--help", - "subcategory": "Application Development" - }, - { - "name": "Bank-Vaults", - "description": "Bank-Vaults is a Vault swiss-army knife: a K8s operator, Go client with automatic token renewal, automatic configuration, multiple unseal options and more.", - "github_release_url": "https://api.github.com/repos/bank-vaults/bank-vaults/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/banzaicloud/bank-vaults/tags/?page=1&page_size=100", - "readme": "https://github.com/bank-vaults/bank-vaults/blob/main/README.md", - "category": "Provisioning", - "homepage": "https://bank-vaults.dev/", - "github_releases": [ - "v1.32.0", - "v1.31.4", - "v1.31.3", - "v1.31.2", - "v1.31.1", - "v1.31.0", - "v1.30.0", - "1.20.4", - "1.20.3", - "1.20.2" - ], - "image_tags": [ - "1.20.0-dev.1", - "1.19.0", - "latest", - "1.18.0", - "1.17.0", - "1.16.0", - "1.15.3", - "1.15.2", - "1.15.1", - "1.15.0" - ], - "image_name": "docker.io/banzaicloud/bank-vaults", - "docker_help_command": "/usr/local/bin/bank-vaults -h", - "subcategory": "Provisioning" - }, - { - "name": "BFE", - "description": "Open-source layer 7 load balancer derived from proprietary Baidu FrontEnd.", - "github_release_url": "https://api.github.com/repos/bfenetworks/bfe/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/bfenetworks/bfe/tags/?page=1&page_size=100", - "readme": "https://github.com/bfenetworks/bfe/blob/master/README.md", - "category": "Orchestration & Management", - "homepage": "https://www.bfe-networks.net", - "github_releases": [ - "v1.8.0", - "v1.7.0", - "v1.6.0", - "v1.5.0", - "v1.4.0", - "v1.3.0", - "v1.2.0", - "v1.1.0", - "v1.0.0", - "v0.12.0" - ], - "image_tags": [ - "latest", - "v-1.6.0", - "v-1.5.0", - "v-1.3.0", - "v-1.2.0", - "v-1.1.0", - "v-1.0.0", - "v-0.12.0" - ], - "image_name": "docker.io/bfenetworks/bfe", - "docker_help_command": "--help", - "subcategory": "Management" - }, - { - "name": "bootc", - "description": "The bootc provides transactional, in-place operating system images and updates using OCI/Docker container images.", - "github_release_url": "https://api.github.com/repos/bootc-dev/bootc/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/bootc/oxidized/tags/?page=1&page_size=100", - "readme": "https://github.com/bootc-dev/bootc/blob/main/README.md", - "category": "Runtime", - "homepage": "https://github.com/containers/bootc", - "github_releases": [ - "v1.9.0", - "v1.8.0", - "v1.7.1", - "v1.7.0", - "v1.6.0", - "v1.5.1", - "v1.5.0", - "v1.4.0", - "v1.3.0", - "v1.2.0" - ], - "image_tags": [ - "latest", - "0.34.3", - "6535d234", - "latest-arm64", - "0.34.3-arm64", - "6535d234-arm64", - "latest-amd64", - "0.34.3-amd64", - "6535d234-amd64", - "renovate-debian-trixie-slim" - ], - "image_name": "docker.io/bootc/oxidized", - "subcategory": "Container Runtime" - }, - { - "name": "bpfman", - "description": "EBPF manager for Linux and Kubernetes - simplifies loading, unloading, and managing eBPF programs on nodes and container workloads.", - "github_release_url": "https://api.github.com/repos/bpfman/bpfman/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/wrongerror/bpfman/tags/?page=1&page_size=100", - "readme": "https://github.com/bpfman/bpfman/blob/main/README.md", - "category": "Provisioning", - "homepage": "https://bpfman.io/", - "github_releases": [ - "v0.5.6", - "v0.5.5", - "v0.5.4", - "v0.5.3", - "v0.5.2", - "v0.5.1", - "v0.5.0", - "v0.5.0-rc1", - "v0.4.2", - "v0.4.1" - ], - "image_tags": [ - "10202011", - "09261600", - "08261509", - "08221736", - "6.18.1100", - "v0.5.5", - "5.5.1030", - "4.30.1129", - "4.30.1126", - "4.30.1028" - ], - "image_name": "docker.io/wrongerror/bpfman", - "docker_help_command": "/opt/bpfman/btf/tcp-stats-go --help", - "subcategory": "Provisioning" - }, - { - "name": "Brigade", - "description": "Brigade is a full-featured, event-driven scripting platform built on top of Kubernetes.", - "github_release_url": "https://api.github.com/repos/brigadecore/brigade/releases?per_page=100&page=1", - "docker_tags_url": "https://quay.io/api/v1/repository/vdice/brigade-worker/tag/?page=1&limit=100", - "readme": "https://github.com/brigadecore/brigade/blob/main/README.md", - "category": "App Definition and Development", - "homepage": "https://brigade.sh/", - "github_releases": [ - "v2.6.0", - "v2.6.0-rc.2", - "v2.6.0-rc.1", - "v2.5.0", - "v2.5.0-rc.2", - "v2.5.0-rc.1", - "v2.4.0", - "v2.4.0-rc.3", - "v2.4.0-rc.2", - "v2.4.0-rc.1" - ], - "image_tags": [ - "v0.18.0-52-g61e67c8", - "b67e7f9", - "608a44b-dirty", - "v0.19.0-29-gb6e9ee5", - "14972d9-dirty", - "v1.0.0-31-g87f45d5", - "e2ac402-dirty", - "697a29a", - "8d8af75-dirty", - "8d8af75" - ], - "image_name": "quay.io/vdice/brigade-worker", - "subcategory": "Application Development" - }, - { - "name": "Buildpacks", - "description": "CLI for building apps using Cloud Native Buildpacks.", - "github_release_url": "https://api.github.com/repos/buildpacks/pack/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/codefresh/buildpacks/tags/?page=1&page_size=100", - "readme": "https://github.com/buildpacks/pack/blob/main/README.md", - "category": "App Definition and Development", - "homepage": "https://buildpacks.io/", - "github_releases": [ - "v0.38.2", - "v0.38.1", - "v0.38.0", - "v0.38.0-rc1", - "v0.37.0", - "v0.37.0-rc1", - "v0.36.4", - "v0.36.3", - "v0.36.2", - "v0.36.1" - ], - "image_tags": [ - "all", - "essential-5", - "nodejs-5", - "all-5", - "essential", - "scala-2.11.7", - "java8-jdk", - "typesafe-activator-1.3.7", - "java8jdk", - "java7-jdk" - ], - "image_name": "docker.io/codefresh/buildpacks", - "docker_help_command": "pack --help", - "subcategory": "Application Development" - }, - { - "name": "Cadence Workflow", - "description": "Cadence is a distributed, scalable, durable, and highly available fault-oblivious stateful code platform.", - "github_release_url": "https://api.github.com/repos/cadence-workflow/cadence/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/ubercadence/server/tags/?page=1&page_size=100", - "readme": "https://github.com/cadence-workflow/cadence/blob/master/README.md", - "category": "Provisioning", - "homepage": "https://cadenceworkflow.io/", - "github_releases": [ - "v1.3.6", - "v1.3.5", - "v1.3.4", - "v1.3.4-prerelease09", - "v1.3.3", - "v1.3.2", - "v1.3.1", - "v1.3.0", - "v1.2.19-prerelease08", - "v1.2.19-prerelease07" - ], - "image_tags": [ - "master-auto-setup", - "master", - "v1.3.6-auto-setup", - "v1.3.6", - "v1.3.5-auto-setup", - "v1.3.5", - "v1.3.4-auto-setup", - "v1.3.4", - "v1.3.3-auto-setup", - "v1.3.3" - ], - "image_name": "docker.io/ubercadence/server", - "notes": "Changed to correct Uber Cadence repository", - "subcategory": "Provisioning" - }, - { - "name": "Capsule", - "description": "Capsule implements a multi-tenant and policy-based environment in your Kubernetes cluster.", - "github_release_url": "https://api.github.com/repos/projectcapsule/capsule/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/clastix/capsule/tags/?page=1&page_size=100", - "readme": "https://github.com/projectcapsule/capsule/blob/main/README.md", - "category": "Orchestration & Management", - "homepage": "https://capsule.clastix.io", - "github_releases": [ - "v0.11.0", - "v0.10.9", - "v0.10.8", - "v0.10.7", - "v0.10.6", - "v0.10.5", - "v0.10.4", - "v0.10.3", - "v0.10.2", - "v0.10.1" - ], - "image_tags": [ - "latest", - "jjlakis", - "v0.3.3", - "v0.3.2", - "v0.3.1", - "v0.3.0", - "v0.2.2", - "v0.2.1", - "v0.2.0", - "v0.1.3" - ], - "image_name": "docker.io/clastix/capsule", - "docker_help_command": "/manager --help", - "subcategory": "Policy Management" - }, - { - "name": "Carina", - "description": "Carina: an high performance and ops-free local storage for kubernetes.", - "github_release_url": "https://api.github.com/repos/carina-io/carina/releases?per_page=100&page=1", - "docker_tags_url": "https://quay.io/api/v1/repository/opsmxpublic/carina-instance/tag/?page=1&limit=100", - "readme": "https://github.com/carina-io/carina/blob/main/README.md", - "category": "Runtime", - "homepage": "https://carina-io.github.io/", - "github_releases": [ - "v0.14.0", - "v0.13.0", - "v0.12.0", - "v0.11.1", - "v0.11.0", - "v0.10.0", - "v0.9.1", - "v0.9.0" - ], - "image_tags": [ - "v1.14.1", - "v1.9.2", - "v1.11.6", - "v1.10.2", - "v1.15.7-rc3", - "v1.15.7-rc2", - "v1.15.5-OP-22464-3", - "v1.15.5-OP-22464-wdh", - "v1.15.5-rc1", - "v1.9.6" - ], - "image_name": "quay.io/opsmxpublic/carina-instance", - "docker_help_command": "help", - "subcategory": "Storage" - }, - { - "name": "Cartography", - "description": "Cartography is a Python tool that consolidates infrastructure assets and the relationships between them in an intuitive graph view.", - "github_release_url": "https://api.github.com/repos/cartography-cncf/cartography/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/williamjackson/cartography/tags/?page=1&page_size=100", - "readme": "https://github.com/cartography-cncf/cartography/blob/master/README.md", - "category": "Provisioning", - "homepage": "https://cartography.dev", - "github_releases": [ - "0.118.0", - "0.117.0", - "0.116.1", - "0.116.0", - "0.115.0", - "0.114.0", - "0.113.0", - "0.112.0", - "0.111.0", - "0.111.0rc1" - ], - "image_tags": [ - "0.61.0", - "latest", - "0.60.0", - "0.59.0", - "0.57.0", - "0.56.0", - "0.55.0", - "0.54.0", - "0.53.0", - "0.52.0" - ], - "image_name": "docker.io/williamjackson/cartography", - "docker_help_command": "--help", - "subcategory": "Provisioning" - }, - { - "name": "Carvel", - "description": "Carvel provides a set of reliable, single-purpose, composable tools that aid in your application building, configuration, and deployment to Kubernetes.", - "github_release_url": "https://api.github.com/repos/carvel-dev/ytt/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/luwang8494/carvel/tags/?page=1&page_size=100", - "readme": "https://github.com/carvel-dev/ytt/blob/master/README.md", - "category": "App Definition and Development", - "homepage": "https://carvel.dev", - "github_releases": [ - "v0.52.1", - "v0.52.0", - "v0.51.2", - "v0.51.1", - "v0.51.0", - "v0.50.0", - "v0.49.1", - "v0.46.6", - "v0.49.0", - "v0.46.5" - ], - "image_tags": [ - "sha256-a9ae3513be8b8fa5c66ce76dc5cb72ece3bf937e151e950e6186565d844d4b57.imgpkg", - "build-1726626553", - "build-1726622582", - "sha256-76eb96ab971a0c71faa234aaa35c21c34c4d83a0e7d7a91369d441f9a96a0367.imgpkg", - "build-1726207783", - "sha256-83c1c12848b308fe0e320269a5af4fb875011f89f33f76c5c739494b395c8f2d.imgpkg", - "sha256-76eb96ab971a0c71faa234aaa35c21c34c4d83a0e7d7a91369d441f9a96a0367.image-locations.imgpkg", - "sha256-b914032ef9adfd1c498715dfb6c150508344a4b175ddd9d489e9a57fd0f26a06.imgpkg", - "sha256-a61c7022abcfa53e2c9c402e03c674c06ada59d19c3790d0640c903f7af5e900.imgpkg", - "sha256-cfd03da61658004f1615e5401ba8bde3cc4ba3f87afff0ed8875c5d1b0b09e4a.imgpkg" - ], - "image_name": "docker.io/luwang8494/carvel", - "subcategory": "Application Development" - }, - { - "name": "CDK for Kubernetes (CDK8s)", - "description": "CDK8s lets you define Kubernetes apps and components using familiar programming languages and object-oriented APIs.", - "github_release_url": "https://api.github.com/repos/cdk8s-team/cdk8s/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/newrelic/nri-kubernetes/tags/?page=1&page_size=100", - "readme": "https://github.com/cdk8s-team/cdk8s/blob/master/README.md", - "category": "Provisioning", - "homepage": "https://cdk8s.io/", - "github_releases": [ - "redirect", - "v1.0.0-beta.10", - "v1.0.0-beta.9", - "v1.0.0-beta.8", - "v1.0.0-beta.7", - "v1.0.0-beta.6", - "v1.0.0-beta.5", - "v1.0.0-beta.4", - "v1.0.0-beta.3", - "v1.0.0-beta.2" - ], - "image_tags": [ - "nightly", - "main", - "3.47.0", - "3.47.0-windows-ltsc2019", - "3.47.0-windows-ltsc2022", - "latest", - "3.46.0", - "3.46.0-windows-ltsc2019", - "3.46.0-windows-ltsc2022", - "3.45.4" - ], - "image_name": "docker.io/newrelic/nri-kubernetes", - "subcategory": "Provisioning" - }, - { - "name": "cert-manager", - "description": "Automatically provision and manage TLS certificates in Kubernetes.", - "github_release_url": "https://api.github.com/repos/cert-manager/cert-manager/releases?per_page=100&page=1", - "docker_tags_url": "https://quay.io/api/v1/repository/jetstack/cert-manager-controller/tag/?page=1&limit=100", - "readme": "https://github.com/cert-manager/cert-manager/blob/master/README.md", - "category": "Provisioning", - "homepage": "https://cert-manager.io/", - "github_releases": [ - "v1.19.1", - "v1.18.3", - "v1.19.0", - "v1.19.0-alpha.0", - "v1.18.2", - "v1.17.4", - "v1.18.1", - "v1.17.3", - "v1.18.0", - "v1.18.0-beta.0" - ], - "image_tags": [ - "sha256-504858a037202f58475dac3636a8982a121a5a052d17e49a547188fb883cc98d.sig", - "v1.17.0-beta.0", - "sha256-057ace5734b53ebdec20b3a0d182c37c9ef0014e9f6364f9b99018e76936e984.sig", - "v1.15.1", - "sha256-d758f7bac833ee277765766cc5398fc0af6d1b37c30c2986e3ded2751ef94362.sig", - "v1.16.0-alpha.0", - "sha256-5e5aefe8a2a25b19e0f369f507362b1b26db70955ea2c5374f9c683401cb3ac5.sig", - "v1.15.2-alpha.1", - "sha256-0eec9c89554011c9aa16eea88ab89a91b32dc8d6eb96307b7fc2dcd6bbbc7fcf.sig", - "v1.16.2" - ], - "image_name": "quay.io/jetstack/cert-manager-controller", - "docker_help_command": "/app/cmd/controller/controller --help", - "subcategory": "Provisioning" - }, - { - "name": "Chaos Mesh", - "description": "Cloud native chaos engineering platform for Kubernetes - injects failures and tests resilience of distributed systems.", - "github_release_url": "https://api.github.com/repos/chaos-mesh/chaos-mesh/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/pingcap/chaos-mesh/tags/?page=1&page_size=100", - "readme": "https://github.com/chaos-mesh/chaos-mesh/blob/master/README.md", - "category": "Observability and Analysis", - "homepage": "https://chaos-mesh.org/", - "github_releases": [ - "v2.8.0", - "v2.7.3", - "v2.7.2", - "v2.6.7", - "v2.7.1", - "v2.6.6", - "v2.7.0", - "v2.6.5", - "v2.6.4", - "v2.6.3" - ], - "image_tags": [ - "v2.0.7", - "v2.0.6", - "v2.0.5", - "v1.2.4", - "latest", - "v2.0.4", - "v2.0.3", - "v2.0.2", - "v2.0.1", - "v1.2.3" - ], - "image_name": "docker.io/pingcap/chaos-mesh", - "docker_help_command": "/bin/sh --help", - "subcategory": "Observability" - }, - { - "name": "Chaosblade", - "description": "Easy-to-use and powerful chaos engineering experiment toolkit for testing system resilience and reliability.", - "github_release_url": "https://api.github.com/repos/chaosblade-io/chaosblade/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/brodydocker/chaosblade/tags/?page=1&page_size=100", - "readme": "https://github.com/chaosblade-io/chaosblade/blob/master/README.md", - "category": "Observability and Analysis", - "homepage": "https://chaosblade.io/", - "github_releases": [ - "v1.8.0", - "v1.7.5", - "v1.7.4", - "v1.7.3", - "v1.7.2", - "v1.7.1", - "v1.7.0", - "v1.6.1", - "v1.6.0", - "v1.5.0" - ], - "image_tags": [ - "0.1.0" - ], - "image_name": "docker.io/brodydocker/chaosblade", - "docker_help_command": "/usr/local/chaosblade/blade --help", - "subcategory": "Observability" - }, - { - "name": "Cilium", - "description": "EBPF-based Networking, Security, and Observability.", - "github_release_url": "https://api.github.com/repos/cilium/cilium/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/cilium/cilium/tags/?page=1&page_size=100", - "readme": "https://github.com/cilium/cilium/blob/main/README.rst", - "category": "Runtime", - "homepage": "https://cilium.io/", - "github_releases": [ - "v1.18.3", - "v1.17.9", - "v1.16.16", - "v1.19.0-pre.1", - "v1.17.8", - "v1.16.15", - "v1.18.2", - "v1.19.0-pre.0", - "v1.18.1", - "v1.17.7" - ], - "image_tags": [ - "stable", - "v1.18.3", - "v1.17.9", - "sha256-201acb2c6ab85221f067b1867fa727676b7acdbdfd641f5b1db12cf246d65668.sbom", - "v1.16.16", - "sha256-202e41af73c0b8b772d1847c67b4d3f7d13f075fae16fa4ad9f6edd553d4f6f4.att", - "sha256-202e41af73c0b8b772d1847c67b4d3f7d13f075fae16fa4ad9f6edd553d4f6f4.sig", - "v1.19.0-pre.1", - "sha256-da1d782d53969c5ccf34112a11c65b07a5728da6533c1361bc25621e32cde9ef.sig", - "sha256-c0fa87d70a7ba624fbe581d40a7b7e9e8773a6efd4bb17d0bd14ff854039ec75.sbom" - ], - "image_name": "docker.io/cilium/cilium", - "docker_help_command": "/usr/local/bin/cilium --help", - "subcategory": "Networking" - }, - { - "name": "Cloud Custodian", - "description": "Rules engine for cloud security, cost optimization, and governance, DSL in yaml for policies to query, filter, and take actions on resources.", - "github_release_url": "https://api.github.com/repos/cloud-custodian/cloud-custodian/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/drillinginfo/cloud-custodian/tags/?page=1&page_size=100", - "readme": "https://github.com/cloud-custodian/cloud-custodian/blob/main/README.md", - "category": "Provisioning", - "homepage": "https://cloudcustodian.io/", - "github_releases": [ - "0.9.47.0", - "0.9.46.0", - "0.9.45.0", - "0.9.44.0", - "0.9.43.0", - "0.9.42.0", - "0.9.41.0", - "0.9.40.0", - "0.9.39.0", - "0.9.38.0" - ], - "image_tags": [ - "latest", - "0.8.42.1", - "0.8.41.0", - "0.8.40.0", - "0.8.33.0", - "0.8.32.0", - "0.8.31.2", - "0.8.31.1", - "0.8.31.0", - "0.8.30.0" - ], - "image_name": "docker.io/drillinginfo/cloud-custodian", - "docker_help_command": "/usr/local/bin/custodian --help", - "subcategory": "Provisioning" - }, - { - "name": "CloudEvents", - "description": "Standardizing common eventing metadata and their location to help with event identification and routing.", - "github_release_url": "https://api.github.com/repos/cloudevents/spec/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/andrewvwebber/cloudevents/tags/?page=1&page_size=100", - "readme": "https://github.com/cloudevents/spec/blob/main/README.md", - "category": "App Definition and Development", - "homepage": "https://cloudevents.io/", - "github_releases": [ - "ce@v1.0.2", - "ce@v1.0.1", - "ce@v1.0", - "cesql@v1.0.0", - "v1.0-rc1", - "v0.3", - "v0.2", - "v0.1" - ], - "image_tags": [ - "ed9a401d", - "7fedb3c7", - "357e53ee", - "934c0f8c", - "c5141523" - ], - "image_name": "docker.io/andrewvwebber/cloudevents", - "docker_help_command": "cloudevents --help", - "subcategory": "Application Development" - }, - { - "name": "CloudNativePG", - "description": "CloudNativePG is a comprehensive platform designed to seamlessly manage PostgreSQL databases within Kubernetes environments,.", - "github_release_url": "https://api.github.com/repos/cloudnative-pg/cloudnative-pg/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/betonnecmi/cloudnativepg/tags/?page=1&page_size=100", - "readme": "https://github.com/cloudnative-pg/cloudnative-pg/blob/main/README.md", - "category": "App Definition and Development", - "homepage": "https://www.cloudnative-pg.io/", - "github_releases": [ - "v1.27.1", - "v1.26.2", - "v1.25.4", - "v1.27.0", - "v1.27.0-rc1", - "v1.26.1", - "v1.25.3", - "v1.26.0", - "v1.25.2", - "v1.24.4" - ], - "image_tags": [ - "17.3.12", - "17.3.11", - "17.3.10", - "17.3.9", - "17.3.8", - "17.3.7", - "17.3.6", - "17.3.5", - "17.3.4", - "17.3.3" - ], - "image_name": "docker.io/betonnecmi/cloudnativepg", - "docker_help_command": "--help", - "subcategory": "Application Development" - }, - { - "name": "Clusternet", - "description": "Managing your Kubernetes clusters (including public, private, edge, etc.) as easily as visiting the Internet.", - "github_release_url": "https://api.github.com/repos/clusternet/clusternet/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/clusternet/clusternet-agent/tags/?page=1&page_size=100", - "readme": "https://github.com/clusternet/clusternet/blob/main/README.md", - "category": "Orchestration & Management", - "homepage": "https://clusternet.io", - "github_releases": [ - "v0.18.1", - "v0.17.4", - "v0.17.3", - "v0.16.1", - "v0.18.0", - "v0.18.0.alpha", - "v0.17.2", - "v0.17.1", - "v0.17.0", - "v0.16.0" - ], - "image_tags": [ - "v0.18.1", - "v0.17.4", - "v0.18.0", - "v0.16.1", - "v0.17.3", - "v0.18.0.alpha.1", - "v0.18.0.alpha", - "v0.17.2", - "v0.17.1", - "v0.17.0" - ], - "image_name": "docker.io/clusternet/clusternet-agent", - "docker_help_command": "/usr/local/bin/clusternet-agent --help", - "subcategory": "Management" - }, - { - "name": "Clusterpedia", - "description": "Clusterpedia is used for complex resources search across multiple clusters, support simultaneous search of a single kind of resource or multiple kinds of resources existing in multiple clusters.", - "github_release_url": "https://api.github.com/repos/clusterpedia-io/clusterpedia/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/deeplythink/clusterpedia-apiserver/tags/?page=1&page_size=100", - "readme": "https://github.com/clusterpedia-io/clusterpedia/blob/main/README.md", - "category": "Orchestration & Management", - "homepage": "https://clusterpedia.io", - "github_releases": [ - "v0.9.0", - "v0.9.0-beta.3", - "v0.9.0-beta.2", - "v0.9.0-beta.1", - "v0.9.0-beta.0", - "v0.9.0-alpha.2", - "v0.9.0-alpha.1", - "v0.8.1", - "v0.7.2", - "v0.7.2-rc.0" - ], - "image_tags": [ - "latest", - "v0.3.0" - ], - "image_name": "docker.io/deeplythink/clusterpedia-apiserver", - "docker_help_command": "/usr/local/bin/apiserver --help", - "subcategory": "Management" - }, - { - "name": "CNI-Genie", - "description": "CNI-Genie for choosing pod network of your choice during deployment time.", - "github_release_url": "https://api.github.com/repos/cni-genie/CNI-Genie/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/airbyte/source-opsgenie/tags/?page=1&page_size=100", - "readme": "https://github.com/cni-genie/CNI-Genie/blob/master/README.md", - "category": "Runtime", - "homepage": "https://cnigenie.netlify.app", - "github_releases": [ - "v3.0", - "v2.0", - "v1.0", - "v1.0-beta.1" - ], - "image_tags": [ - "latest", - "0.5.12", - "0.5.11", - "0.5.10", - "0.5.9", - "0.5.8", - "0.5.7", - "0.5.6", - "0.5.5", - "0.5.4" - ], - "image_name": "docker.io/airbyte/source-opsgenie", - "docker_help_command": "--help", - "subcategory": "Networking" - }, - { - "name": "composefs", - "description": "A project that combines Linux kernel features to provide read-only mountable filesystem trees stacking on top of an underlying \"lower\" Linux filesystem,.", - "github_release_url": "https://api.github.com/repos/composefs/composefs/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/orimanabu/myhttpd-composefs/tags/?page=1&page_size=100", - "readme": "https://github.com/composefs/composefs/blob/main/README.md", - "category": "Runtime", - "homepage": "https://github.com/containers/composefs", - "github_releases": [ - "v1.0.8", - "v1.0.7", - "v1.0.6", - "v1.0.5", - "v1.0.4", - "v1.0.3", - "v1.0.2", - "v1.0.1", - "v1.0.0", - "v0.1.4" - ], - "image_tags": [ - "latest" - ], - "image_name": "docker.io/orimanabu/myhttpd-composefs", - "subcategory": "Container Runtime" - }, - { - "name": "Confidential Containers", - "description": "Confidential Containers is an open source community working to enable cloud native confidential computing by leveraging Trusted Execution Environments to protect containers and data.", - "github_release_url": "https://api.github.com/repos/confidential-containers/confidential-containers/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/elementgreen/confidential-containers/tags/?page=1&page_size=100", - "readme": "https://github.com/confidential-containers/confidential-containers/blob/main/README.md", - "category": "Provisioning", - "homepage": "https://confidentialcontainers.org/", - "github_releases": [ - "v0.16.0", - "v0.15.0", - "v0.14.0", - "v0.13.0", - "v0.12.0", - "v0.11.0", - "v0.10.0", - "v0.9.0", - "v0.9.0-alpha1", - "v0.9.0-alpha0" - ], - "image_tags": [ - "osc-cloud-api-adaptor-rhel9-fix" - ], - "image_name": "docker.io/elementgreen/confidential-containers", - "docker_help_command": "--help", - "subcategory": "Provisioning" - }, - { - "name": "Connect RPC", - "description": "Connect is a family of libraries for building browser and gRPC-compatible HTTP APIs.", - "github_release_url": "https://api.github.com/repos/connectrpc/connect-go/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/google/apigee-connect-agent/tags/?page=1&page_size=100", - "readme": "https://github.com/connectrpc/connect-go/blob/main/README.md", - "category": "Orchestration & Management", - "homepage": "https://connectrpc.com/", - "github_releases": [ - "v1.19.1", - "v1.19.0", - "v1.18.1", - "v1.18.0", - "v1.17.0", - "v1.16.2", - "v1.16.1", - "v1.16.0", - "v1.15.0", - "v1.14.0" - ], - "image_tags": [ - "1.8.1", - "1.7.4", - "1.8.0", - "1.7.3", - "1.6.9", - "1.7.2", - "1.7.1", - "1.6.8", - "1.6.7", - "1.5.10" - ], - "image_name": "docker.io/google/apigee-connect-agent", - "docker_help_command": "--help", - "subcategory": "Management" - }, - { - "name": "Container Network Interface (CNI)", - "description": "Container Network Interface - networking for Linux containers.", - "github_release_url": "https://api.github.com/repos/containernetworking/cni/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/library/geonetwork/tags/?page=1&page_size=100", - "readme": "https://github.com/containernetworking/cni/blob/main/README.md", - "category": "Runtime", - "homepage": "https://www.cni.dev/", - "github_releases": [ - "v1.3.0", - "v1.2.3", - "v1.2.2", - "v1.2.1", - "v1.2.0", - "v1.1.2", - "v1.1.1", - "v1.1.0", - "v1.0.1", - "v0.8.1" - ], - "image_tags": [ - "3.12.12-postgres", - "3.12.12", - "3.12-postgres", - "3.12", - "3-postgres", - "3", - "latest", - "4.4.9", - "4.4", - "4.2.14" - ], - "image_name": "docker.io/geonetwork", - "docker_help_command": "-h", - "subcategory": "Container Runtime" - }, - { - "name": "container2wasm", - "description": "A tool to run containers on Wasm-enabled environments.", - "github_release_url": "https://api.github.com/repos/container2wasm/container2wasm/releases?per_page=100&page=1", - "docker_tags_url": "", - "readme": "https://github.com/container2wasm/container2wasm/blob/main/README.md", - "category": "Wasm", - "homepage": "https://github.com/container2wasm/container2wasm", - "github_releases": [ - "v0.8.3", - "v0.8.2", - "v0.8.1", - "v0.8.0", - "v0.7.1", - "v0.7.0", - "v0.6.5", - "v0.6.4", - "v0.6.3", - "v0.6.2" - ], - "deprecated": true, - "subcategory": "WebAssembly Runtime" - }, - { - "name": "containerd", - "description": "Containerd is an industry-standard container runtime with an emphasis on simplicity, robustness, and portability.", - "github_release_url": "https://api.github.com/repos/containerd/containerd/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/rancher/containerd/tags/?page=1&page_size=100", - "readme": "https://github.com/containerd/containerd/blob/main/README.md", - "category": "Runtime", - "homepage": "https://containerd.io/", - "github_releases": [ - "api/v1.10.0-rc.0", - "v2.2.0-beta.2", - "v2.2.0-beta.1", - "api/v1.10.0-beta.1", - "v2.2.0-beta.0", - "v2.1.4", - "v2.0.6", - "v1.7.28", - "v1.6.39", - "v2.1.3" - ], - "image_tags": [ - "v1.3.6-k3s2", - "v1.3.6-k3s2-amd64" - ], - "image_name": "docker.io/rancher/containerd", - "docker_help_command": "/usr/local/bin/ctr --help", - "subcategory": "Container Runtime" - }, - { - "name": "ContainerSSH", - "description": "ContainerSSH launches a new container for each SSH connection in Kubernetes, Podman or Docker.", - "github_release_url": "https://api.github.com/repos/ContainerSSH/ContainerSSH/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/containerssh/containerssh/tags/?page=1&page_size=100", - "readme": "https://github.com/ContainerSSH/ContainerSSH/blob/main/README.md", - "category": "Provisioning", - "homepage": "https://containerssh.io", - "github_releases": [ - "v0.5.2", - "v0.5.1", - "v0.5.0", - "v0.5.0-alpha.1", - "v0.4.1", - "v0.4.1-alpha.2", - "v0.4.1-alpha.1", - "v0.4.0", - "0.3.1", - "0.3.0" - ], - "image_tags": [ - "0.3-20250119", - "0.3", - "0.3.1-20250119", - "0.3.1", - "0.4.0-20250119", - "0.4.0", - "0.4-20250119", - "0.4", - "0.4.1-20250119", - "0.4.1" - ], - "image_name": "docker.io/containerssh/containerssh", - "docker_help_command": "--help", - "subcategory": "Provisioning" - }, - { - "name": "Contour", - "description": "Contour is a Kubernetes ingress controller using Envoy proxy.", - "github_release_url": "https://api.github.com/repos/projectcontour/contour/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/projectcontour/contour/tags/?page=1&page_size=100", - "readme": "https://github.com/projectcontour/contour/blob/main/README.md", - "category": "Orchestration & Management", - "homepage": "https://projectcontour.io", - "github_releases": [ - "v1.33.0", - "v1.32.1", - "v1.31.2", - "v1.30.5", - "v1.32.0", - "v1.31.1", - "v1.30.4", - "v1.31.0", - "v1.30.3", - "v1.29.5" - ], - "image_tags": [ - "v1.20.2", - "latest", - "v1.20.1", - "main", - "v1.20.0", - "v1.20.0-beta.1", - "v1.18.3", - "v1.19.1", - "v1.19.0", - "v1.18.2" - ], - "image_name": "docker.io/projectcontour/contour", - "docker_help_command": "contour --help", - "subcategory": "Management" - }, - { - "name": "Copa", - "description": "\ud83e\uddf5 CLI tool for directly patching container images!.", - "github_release_url": "https://api.github.com/repos/project-copacetic/copacetic/releases?per_page=100&page=1", - "docker_tags_url": "https://quay.io/api/v1/repository/lib/alpine/tag/?page=1&limit=100", - "readme": "https://github.com/project-copacetic/copacetic/blob/main/README.md", - "category": "Provisioning", - "homepage": "https://github.com/project-copacetic/copacetic", - "github_releases": [ - "v0.12.0-rc.2", - "v0.12.0-rc.1", - "v0.11.1", - "v0.11.0", - "v0.10.0", - "v0.9.0", - "v0.8.0", - "v0.7.0", - "v0.6.2", - "v0.6.1" - ], - "image_tags": [ - "3", - "3.19", - "3.19.8", - "3.20", - "3.20.7", - "3.21", - "3.21.4", - "3.22", - "3.22.1", - "latest" - ], - "image_name": "quay.io/lib/alpine", - "subcategory": "Provisioning" - }, - { - "name": "CoreDNS", - "description": "Fast and flexible DNS server written in Go that chains plugins - serves as the default DNS server in Kubernetes clusters.", - "github_release_url": "https://api.github.com/repos/coredns/coredns/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/coredns/coredns/tags/?page=1&page_size=100", - "readme": "https://github.com/coredns/coredns/blob/master/README.md", - "category": "Orchestration & Management", - "homepage": "https://coredns.io/", - "github_releases": [ - "v1.13.1", - "v1.13.0", - "v1.12.4", - "v1.12.3", - "v1.12.2", - "v1.12.1", - "v1.12.0", - "v1.11.4", - "v1.11.3", - "v1.11.1" - ], - "image_tags": [ - "latest", - "1.13.1", - "riscv64-1.13.1", - "s390x-1.13.1", - "ppc64le-1.13.1", - "arm64-1.13.1", - "arm-1.13.1", - "amd64-1.13.1", - "1.13.0", - "riscv64-1.13.0" - ], - "image_name": "docker.io/coredns/coredns", - "docker_help_command": "/usr/local/bin/coredns --help", - "subcategory": "Management" - }, - { - "name": "Cortex", - "description": "A horizontally scalable, highly available, multi-tenant, long term Prometheus.", - "github_release_url": "https://api.github.com/repos/cortexproject/cortex/releases?per_page=100&page=1", - "docker_tags_url": "https://quay.io/api/v1/repository/cortexproject/cortex/tag/?page=1&limit=100", - "readme": "https://github.com/cortexproject/cortex/blob/master/README.md", - "category": "Observability and Analysis", - "homepage": "https://cortexmetrics.io/", - "github_releases": [ - "v1.19.1", - "v1.19.0", - "v1.19.0-rc.2", - "v1.17.2", - "v1.19.0-rc.1", - "v1.19.0-rc.0", - "v1.18.1", - "v1.18.0", - "v1.18.0-rc.0", - "v1.17.1" - ], - "image_tags": [ - "master-c4303a3", - "master-9fdd762", - "master-672b995", - "master-37213a1", - "master-0d2fb34", - "master-42b35fa", - "master-294740a", - "master-a8d1fbf", - "master-cc96eac", - "master-0e9721f" - ], - "image_name": "quay.io/cortexproject/cortex", - "docker_help_command": "--help", - "subcategory": "Observability" - }, - { - "name": "Cozystack", - "description": "Cozystack is a free PaaS platform and framework for building private clouds and providing users/customers with managed Kubernetes, KubeVirt-based VMs, databases as a service, NATS,.", - "github_release_url": "https://api.github.com/repos/cozystack/cozystack/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/kklinch0/cozystack/tags/?page=1&page_size=100", - "readme": "https://github.com/cozystack/cozystack/blob/main/README.md", - "category": "Platform", - "homepage": "https://cozystack.io", - "github_releases": [ - "v0.37.2", - "v0.37.1", - "v0.37.0", - "v0.37.0-beta.2", - "v0.37.0-beta.1", - "v0.37.0-alpha.2", - "v0.37.0-alpha.1", - "v0.36.2", - "v0.36.1", - "v0.36.0" - ], - "image_tags": [ - "0.26.1.4", - "0.26.1.3", - "0.26.1.2", - "0.26.1.1", - "0.26.1.0", - "0.26.810", - "0.26.809", - "0.26.808", - "0.26.807", - "0.26.806" - ], - "image_name": "docker.io/kklinch0/cozystack", - "docker_help_command": "/usr/bin/cozystack-assets-server --help", - "subcategory": "Platform" - }, - { - "name": "CRI-O", - "description": "Open Container Initiative-based implementation of Kubernetes Container Runtime Interface.", - "github_release_url": "https://api.github.com/repos/cri-o/cri-o/releases?per_page=100&page=1", - "docker_tags_url": "https://quay.io/api/v1/repository/saschagrunert/cri-o/tag/?page=1&limit=100", - "readme": "https://github.com/cri-o/cri-o/blob/main/README.md", - "category": "Runtime", - "homepage": "https://cri-o.io/", - "github_releases": [ - "v1.34.1", - "v1.33.5", - "v1.32.9", - "v1.31.13", - "v1.34.0", - "v1.33.4", - "v1.32.8", - "v1.31.12", - "v1.33.3", - "v1.32.7" - ], - "image_tags": [ - "sha256-9555cdb4d5e1723b027f5c8f5e03a2360d315f34d996c75a42f41c32d9d65839", - "592e805f2423ba55054a16d3a7cc66499e2c0dac-arm64", - "sha256-a14b5e36692943f5ff2e5b41de8ee179e50269c001014cb28134740b93f0ab37", - "592e805f2423ba55054a16d3a7cc66499e2c0dac-amd64", - "sha256-f044f5950d2fec3a3ce079806ae691f607c73b244253c4972c83c9095c8d14ae", - "sha256-a3c97cb878cfbae7ae21d5c5c63f1bc5a7fe8beebaf81672c72a8e502cde4fe9" - ], - "image_name": "quay.io/saschagrunert/cri-o", - "docker_help_command": "crio --help", - "subcategory": "Container Runtime" - }, - { - "name": "Crossplane", - "description": "Crossplane is the cloud native control plane framework that allows you to build control planes without needing to write code.", - "github_release_url": "https://api.github.com/repos/crossplane/crossplane/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/crossplane/crossplane/tags/?page=1&page_size=100", - "readme": "https://github.com/crossplane/crossplane/blob/main/README.md", - "category": "Orchestration & Management", - "homepage": "https://crossplane.io/", - "github_releases": [ - "v2.0.2", - "v2.0.1", - "v2.0.0", - "v1.20.1", - "v1.19.3", - "v2.0.0-rc.1", - "v1.20.0", - "v1.19.2", - "v1.18.5", - "v1.20.0-rc.1" - ], - "image_tags": [ - "main", - "v2.1.0-rc.0.134.g178aa84cc", - "v2.1.0-rc.0.131.g098ee8e6a", - "v2.1.0-rc.0.129.gbc62c6ea2", - "v2.1.0-rc.0.125.g1739d27db", - "v2.1.0-rc.0.123.gad37ed939", - "v2.1.0-rc.0.127.gcdf03f46b", - "v2.1.0-rc.0.120.g2f3bdfb8f", - "v2.1.0-rc.0.118.ge880f8888", - "v2.1.0-rc.0.116.g1b29873eb" - ], - "image_name": "docker.io/crossplane/crossplane", - "docker_help_command": "--help", - "subcategory": "Management" - }, - { - "name": "CubeFS", - "description": "| Community Meeting| |------------------| | The CubeFS Project holds bi-weekly community online meeting.", - "github_release_url": "https://api.github.com/repos/cubefs/cubefs/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/cubefs/cubefs/tags/?page=1&page_size=100", - "readme": "https://github.com/cubefs/cubefs/blob/master/README.md", - "category": "Runtime", - "homepage": "https://cubefs.io/", - "github_releases": [ - "v3.5.2", - "v3.5.1", - "v3.5.0", - "v3.4.0-beta_rdma", - "v3.4.0", - "v3.3.2", - "v3.3.1", - "v3.3.0", - "v3.2.1", - "v3.2.0" - ], - "image_tags": [ - "blobstore-v3.2.0" - ], - "image_name": "docker.io/cubefs/cubefs", - "subcategory": "Container Runtime" - }, - { - "name": "Curve", - "description": "Curve is a distributed storage system designed and developed independently by NetEase, featured with high performance, high availability, high reliability and well expansibility,.", - "github_release_url": "https://api.github.com/repos/opencurve/curve/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/openeuler/curve/tags/?page=1&page_size=100", - "readme": "https://github.com/opencurve/curve/blob/master/README.md", - "category": "Runtime", - "homepage": "http://www.opencurve.io/", - "github_releases": [ - "v1.2.7-rc6", - "v1.2.7-rc5", - "v1.2.7-rc4", - "v2.8.0-beta", - "v1.2.7-rc3", - "v1.5.0-rc0", - "v1.2.7-rc2", - "v2.7.0-rc2", - "v2.7.0-rc1", - "v2.7.0-beta2" - ], - "image_tags": [ - "latest", - "1.0.0-oe2403sp1" - ], - "image_name": "docker.io/openeuler/curve", - "docker_help_command": "/opt/curve/.git/hooks/pre-commit.sample --help", - "subcategory": "Storage" - }, - { - "name": "Dapr", - "description": "Dapr is a portable runtime for building distributed applications across cloud and edge, combining event-driven architecture with workflow orchestration.", - "github_release_url": "https://api.github.com/repos/dapr/dapr/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/daprio/dapr/tags/?page=1&page_size=100", - "readme": "https://github.com/dapr/dapr/blob/master/README.md", - "category": "App Definition and Development", - "homepage": "https://dapr.io", - "github_releases": [ - "v1.16.2-rc.2", - "v1.16.2-rc.1", - "v1.16.1", - "v1.16.1-rc.3", - "v1.16.1-rc.2", - "v1.16.1-rc.1", - "v1.16.0", - "v1.15.12", - "v1.16.0-rc.9", - "v1.16.0-rc.8" - ], - "image_tags": [ - "edge-windows-amd64", - "edge-mariner", - "edge", - "edge-stablecomponents-mariner", - "edge-stablecomponents", - "edge-windows-1809-amd64", - "edge-windows-ltsc2022-amd64", - "edge-mariner-linux-amd64", - "edge-linux-amd64", - "edge-mariner-linux-arm64" - ], - "image_name": "docker.io/daprio/dapr", - "docker_help_command": "/usr/local/bin/dapr --help", - "subcategory": "Application Development" - }, - { - "name": "Devfile", - "description": "Kube-native API for cloud development workspaces specification.", - "github_release_url": "https://api.github.com/repos/devfile/api/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/slevin017/devfile/tags/?page=1&page_size=100", - "readme": "https://github.com/devfile/api/blob/main/README.md", - "category": "App Definition and Development", - "homepage": "https://devfile.io", - "github_releases": [ - "v2.3.0", - "v2.2.2", - "v2.2.1", - "v2.2.1-alpha", - "v2.2.0", - "v2.1.0", - "v2.0.0" - ], - "image_tags": [ - "v0.0.6", - "v0.0.5", - "v0.0.4", - "v0.0.3", - "v0.0.2", - "v0.0.1" - ], - "image_name": "docker.io/slevin017/devfile", - "docker_help_command": "/usr/bin/unlink --help", - "subcategory": "Application Development" - }, - { - "name": "DevSpace", - "description": "DevSpace - The Fastest Developer Tool for Kubernetes \u26a1 Automate your deployment workflow with DevSpace and develop software directly inside Kubernetes.", - "github_release_url": "https://api.github.com/repos/devspace-sh/devspace/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/devspacesh/devspace/tags/?page=1&page_size=100", - "readme": "https://github.com/devspace-sh/devspace/blob/main/README.md", - "category": "App Definition and Development", - "homepage": "https://devspace.sh", - "github_releases": [ - "v6.3.18", - "v6.3.18-alpha.0", - "v6.3.17", - "v6.3.17-alpha.0", - "v6.3.16", - "v6.3.16-rc.0", - "v6.3.15", - "v6.3.14", - "v6.3.13", - "v6.3.12" - ], - "image_tags": [ - "latest", - "6.3.18", - "6.3", - "6", - "6.3.18-alpha.0", - "6.3-alpha.0", - "6-alpha.0", - "next", - "6.3.17", - "6.3.17-alpha.0" - ], - "image_name": "docker.io/devspacesh/devspace", - "docker_help_command": "/bin/devspace --help", - "subcategory": "Application Development" - }, - { - "name": "DevStream", - "description": "DevStream: the open-source DevOps toolchain manager (DTM).", - "github_release_url": "https://api.github.com/repos/devstream-io/devstream/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/pruthiraj/devstream/tags/?page=1&page_size=100", - "readme": "https://github.com/devstream-io/devstream/blob/main/README.md", - "category": "Provisioning", - "homepage": "https://www.devstream.io/", - "github_releases": [ - "v0.13.3", - "v0.13.2", - "v0.13.1", - "v0.13.0", - "v0.12.0", - "v0.11.0", - "v0.10.3", - "v0.10.2", - "v0.10.1", - "v0.10.0" - ], - "image_tags": [ - "latest" - ], - "image_name": "docker.io/pruthiraj/devstream", - "subcategory": "Provisioning" - }, - { - "name": "Dex", - "description": "OpenID Connect (OIDC) identity and OAuth 2.0 provider with pluggable connectors for federated authentication.", - "github_release_url": "https://api.github.com/repos/dexidp/dex/releases?per_page=100&page=1", - "docker_tags_url": "https://quay.io/api/v1/repository/dexidp/dex/tag/?page=1&limit=100", - "readme": "https://github.com/dexidp/dex/blob/master/README.md", - "category": "Provisioning", - "homepage": "https://dexidp.io/", - "github_releases": [ - "v2.44.0", - "v2.43.1", - "v2.43.0", - "v2.42.1", - "v2.42.0", - "api/v2.2.0", - "v2.41.1", - "v2.41.0", - "v2.40.0", - "v2.39.1" - ], - "image_tags": [ - "sr_bump-all-deps", - "v2.20.0", - "preferred_username", - "v2.21.0", - "proto", - "dependabot_docker_golang-1.15.7-alpine3.12", - "githubci-mysql", - "v2.23.0", - "kubernetes-tests", - "fix-linters" - ], - "image_name": "quay.io/dexidp/dex", - "subcategory": "Provisioning" - }, - { - "name": "Distribution", - "description": "The toolkit to pack, ship, store, and deliver container content.", - "github_release_url": "https://api.github.com/repos/distribution/distribution/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/distribution/distribution/tags/?page=1&page_size=100", - "readme": "https://github.com/distribution/distribution/blob/main/README.md", - "category": "Provisioning", - "homepage": "https://github.com/distribution/distribution", - "github_releases": [ - "v3.0.0", - "v3.0.0-rc.4", - "v3.0.0-rc.3", - "v3.0.0-rc.2", - "v3.0.0-rc.1", - "v3.0.0-beta.1", - "v3.0.0-alpha.1", - "v2.8.3", - "v2.8.2", - "v2.8.2-beta.2" - ], - "image_tags": [ - "edge", - "latest", - "3", - "3.0", - "3.0.0", - "3.0.0-rc.4", - "3.0.0-rc.3", - "3.0.0-rc.2", - "3.0.0-rc.1", - "3.0.0-beta.1" - ], - "image_name": "docker.io/distribution/distribution", - "docker_help_command": "--help", - "subcategory": "Provisioning" - }, - { - "name": "Dragonfly", - "description": "Dragonfly is an open source P2P-based file distribution and image acceleration system.", - "github_release_url": "https://api.github.com/repos/dragonflyoss/dragonfly/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/dragonflydb/dragonfly/tags/?page=1&page_size=100", - "readme": "https://github.com/dragonflyoss/dragonfly/blob/main/README.md", - "category": "Provisioning", - "homepage": "https://d7y.io/", - "github_releases": [ - "v2.3.4-beta.0", - "v2.3.3", - "v2.3.3-rc.1", - "v2.3.3-rc.0", - "v2.3.2", - "v2.2.5", - "v2.3.1", - "v2.3.1-rc.4", - "v2.3.1-rc.3", - "v2.3.1-rc.2" - ], - "image_tags": [ - "v1.27.1" - ], - "image_name": "docker.io/dragonflydb/dragonfly", - "docker_help_command": "--help", - "subcategory": "Provisioning" - }, - { - "name": "Easegress", - "description": "Cloud native traffic orchestration system for API gateway, service mesh sidecar, and traffic management with high performance.", - "github_release_url": "https://api.github.com/repos/easegress-io/easegress/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/megaease/easegress/tags/?page=1&page_size=100", - "readme": "https://github.com/easegress-io/easegress/blob/main/README.md", - "category": "Orchestration & Management", - "homepage": "https://megaease.com/easegress", - "github_releases": [ - "v2.10.1", - "v2.9.4", - "v2.9.3", - "v2.8.0", - "v2.7.5", - "v2.7.4", - "v2.7.3", - "v2.7.2", - "v2.7.1", - "v2.7.0" - ], - "image_tags": [ - "server-sidecar", - "easemesh", - "v2.10.1", - "latest", - "v2.9.4", - "v2.9.3", - "v2.8.0", - "v2.7.5", - "v2.7.4", - "v2.7.3" - ], - "image_name": "docker.io/megaease/easegress", - "docker_help_command": "/opt/easegress/bin/egbuilder --help", - "subcategory": "Service Mesh" - }, - { - "name": "Emissary-Ingress", - "description": "Open source Kubernetes-native API gateway for microservices built on the Envoy Proxy.", - "github_release_url": "https://api.github.com/repos/emissary-ingress/emissary/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/dwflynn/emissary-ingress/tags/?page=1&page_size=100", - "readme": "https://github.com/emissary-ingress/emissary/blob/master/README.md", - "category": "Orchestration & Management", - "homepage": "https://emissary-ingress.dev/", - "github_releases": [ - "v3.10.0", - "v3.9.1", - "chart/v8.9.1", - "v3.9.0", - "chart/v8.9.0", - "v3.8.2", - "chart/v8.8.2", - "v3.8.1", - "chart/v8.8.1", - "v3.8.0" - ], - "image_tags": [ - "3.10.0", - "3.10.0-rc.3", - "3.10.0-rc.1a", - "3.10.0-rc.1", - "3.10.0-rc.0" - ], - "image_name": "docker.io/dwflynn/emissary-ingress", - "subcategory": "API Gateway" - }, - { - "name": "Envoy", - "description": "Cloud-native high-performance edge/middle/service proxy.", - "github_release_url": "https://api.github.com/repos/envoyproxy/envoy/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/envoyproxy/envoy/tags/?page=1&page_size=100", - "readme": "https://github.com/envoyproxy/envoy/blob/main/README.md", - "category": "Orchestration & Management", - "homepage": "https://www.envoyproxy.io", - "github_releases": [ - "v1.36.2", - "v1.35.6", - "v1.34.10", - "v1.33.12", - "v1.36.1", - "v1.35.5", - "v1.34.9", - "v1.33.11", - "v1.36.0", - "v1.35.4" - ], - "image_tags": [ - "tools-dev-505bda12e0e28f448f5c056e9cf6bb3a98fa6639", - "tools-dev", - "google-vrp-dev-505bda12e0e28f448f5c056e9cf6bb3a98fa6639", - "google-vrp-dev", - "distroless-dev-505bda12e0e28f448f5c056e9cf6bb3a98fa6639", - "distroless-dev", - "debug-dev-505bda12e0e28f448f5c056e9cf6bb3a98fa6639", - "debug-dev", - "contrib-debug-dev-505bda12e0e28f448f5c056e9cf6bb3a98fa6639", - "contrib-debug-dev" - ], - "image_name": "docker.io/envoyproxy/envoy", - "docker_help_command": "/usr/local/bin/envoy --help", - "subcategory": "Management" - }, - { - "name": "Eraser", - "description": "Eraser uses vulnerability data to remove non-running images from all Kubernetes nodes in a cluster.", - "github_release_url": "https://api.github.com/repos/eraser-dev/eraser/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/sozercan/eraser/tags/?page=1&page_size=100", - "readme": "https://github.com/eraser-dev/eraser/blob/main/README.md", - "category": "Orchestration & Management", - "homepage": "https://eraser-dev.github.io/eraser/", - "github_releases": [ - "v1.5.0-beta.0", - "v1.4.0", - "v1.3.1", - "v1.4.0-beta.0", - "v1.3.0", - "v1.2.3", - "v1.2.2", - "v1.3.0-beta.0", - "v1.2.1", - "v1.2.0" - ], - "image_tags": [ - "master", - "420", - "430", - "dev", - "339", - "latest" - ], - "image_name": "docker.io/sozercan/eraser", - "docker_help_command": "--help", - "subcategory": "Management" - }, - { - "name": "etcd", - "description": "Distributed reliable key-value store for the most critical data of a distributed system.", - "github_release_url": "https://api.github.com/repos/etcd-io/etcd/releases?per_page=100&page=1", - "docker_tags_url": "https://quay.io/api/v1/repository/coreos/etcd/tag/?page=1&limit=100", - "readme": "https://github.com/etcd-io/etcd/blob/main/README.md", - "category": "Orchestration & Management", - "homepage": "https://etcd.io/", - "github_releases": [ - "v3.5.24", - "v3.4.38", - "v3.6.5", - "v3.5.23", - "v3.6.4", - "v3.6.3", - "v3.5.22", - "v3.6.2", - "v3.6.1", - "v3.6.0" - ], - "image_tags": [ - "v3.5.19", - "v3.5.19-s390x", - "v3.5.19-ppc64le", - "v3.5.19-arm64", - "v3.5.19-amd64", - "v3.6.0-rc.2", - "v3.6.0-rc.2-s390x", - "v3.6.0-rc.2-ppc64le", - "v3.6.0-rc.2-arm64", - "v3.6.0-rc.2-amd64" - ], - "image_name": "quay.io/coreos/etcd", - "docker_help_command": "/usr/local/bin/etcdctl --help", - "subcategory": "Management" - }, - { - "name": "external-secrets", - "description": "External Secrets Operator reads information from a third-party service like AWS Secrets Manager and automatically injects the values as Kubernetes Secrets.", - "github_release_url": "https://api.github.com/repos/external-secrets/external-secrets/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/cleanstart/external-secrets/tags/?page=1&page_size=100", - "readme": "https://github.com/external-secrets/external-secrets/blob/main/README.md", - "category": "Provisioning", - "homepage": "https://external-secrets.io/", - "github_releases": [ - "v0.20.4", - "helm-chart-0.20.4", - "helm-chart-0.20.3", - "v0.20.3", - "v0.20.2", - "helm-chart-0.20.2", - "v0.20.1", - "v0.20.0", - "helm-chart-0.20.1", - "v0.19.2" - ], - "image_tags": [ - "0-amd64", - "0.19-amd64", - "0.19.2-amd64", - "latest-amd64", - "0-arm64", - "0.19-arm64", - "0.19.2-arm64", - "latest-arm64", - "sha256-8172ffa020b75cebd65ec9a44f3a9096d48e67c834ac5b5399feb15f28c74ff9.sig", - "sha256-60d8287b9e0796de4ba961a136a79693fdafbff6740be7b83ce53b1c41ef501a.sig" - ], - "image_name": "docker.io/cleanstart/external-secrets", - "docker_help_command": "--help", - "subcategory": "Provisioning" - }, - { - "name": "FabEdge", - "description": "Secure Edge Networking Solution Based On Kubernetes.", - "github_release_url": "https://api.github.com/repos/FabEdge/fabedge/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/fabedge/strongswan/tags/?page=1&page_size=100", - "readme": "https://github.com/FabEdge/fabedge/blob/main/README.md", - "category": "Runtime", - "homepage": "https://github.com/FabEdge/", - "github_releases": [ - "v0.8.1", - "v0.8.0", - "v0.7.0", - "v0.6.0", - "v0.5.0", - "v0.4.0", - "v0.3", - "v0.2", - "v0.1" - ], - "image_tags": [ - "latest", - "5.9.9", - "5.9.1" - ], - "image_name": "docker.io/fabedge/strongswan", - "docker_help_command": "--help", - "subcategory": "Networking" - }, - { - "name": "Falco", - "description": "Falco is a cloud native runtime security tool for Linux operating systems.", - "github_release_url": "https://api.github.com/repos/falcosecurity/falco/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/falcosecurity/falco/tags/?page=1&page_size=100", - "readme": "https://github.com/falcosecurity/falco/blob/master/README.md", - "category": "Provisioning", - "homepage": "https://falco.org/", - "github_releases": [ - "0.42.0", - "0.42.0-rc4", - "0.42.0-rc3", - "0.42.0-rc2", - "0.42.0-rc1", - "0.41.3", - "0.41.2", - "0.41.1", - "0.41.1-rc1", - "0.41.0" - ], - "image_tags": [ - "master-debian", - "master", - "x86_64-master-debian", - "aarch64-master-debian", - "x86_64-master", - "aarch64-master", - "sha256-0d8cedbdc22daebc0268acf081acab6d1a2cbbb5fc0d50184afa94566cdeb301.sig", - "sha256-09a232a1ae8da914c4446fba0e5d28f8f4d96a4fd57623f6d02a1971979e7f10.sig", - "latest-debian", - "latest" - ], - "image_name": "docker.io/falcosecurity/falco", - "docker_help_command": "/usr/local/bin/falcoctl --help", - "subcategory": "Provisioning" - }, - { - "name": "Flatcar Container Linux", - "description": "A community Linux distribution designed for container workloads, with high security and low maintenance.", - "github_release_url": "https://api.github.com/repos/flatcar/Flatcar/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/library/archlinux/tags/?page=1&page_size=100", - "readme": "https://github.com/flatcar/Flatcar/blob/main/README.md", - "category": "Platform", - "homepage": "https://www.flatcar.org/", - "github_releases": [], - "image_tags": [ - "multilib-devel-20251019.0.436919", - "multilib-devel", - "latest", - "base-devel-20251019.0.436919", - "base-devel", - "base-20251019.0.436919", - "base", - "multilib-devel-20251012.0.434149", - "base-devel-20251012.0.434149", - "base-20251012.0.434149" - ], - "image_name": "docker.io/archlinux", - "docker_help_command": "/usr/bin/bash --help", - "subcategory": "Platform" - }, - { - "name": "Fluentd", - "description": "Fluentd: Unified Logging Layer (project under CNCF).", - "github_release_url": "https://api.github.com/repos/fluent/fluentd/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/library/fluentd/tags/?page=1&page_size=100", - "readme": "https://github.com/fluent/fluentd/blob/master/README.md", - "category": "Observability and Analysis", - "homepage": "https://www.fluentd.org/", - "github_releases": [ - "v1.16.10", - "v1.19.0", - "v1.16.9", - "v1.16.8", - "v1.16.7", - "v1.18.0", - "v1.16.6", - "v1.17.1", - "v1.17.0", - "v1.16.5" - ], - "image_tags": [ - "v1.19.0-debian-1.0", - "v1.19.0-1.0", - "v1.19-debian-1", - "v1.19-1", - "v1.16.9-debian-1.0", - "v1.16-debian-1", - "latest", - "v1.16.9-1.0", - "v1.16-1", - "v1.18.0-debian-1.0" - ], - "image_name": "docker.io/fluentd", - "docker_help_command": "--help", - "subcategory": "Logging" - }, - { - "name": "Fluid", - "description": "Fluid is an orchestration platform for elastic data abstraction and acceleration in cloud native environment.", - "github_release_url": "https://api.github.com/repos/fluid-cloudnative/fluid/releases?per_page=100&page=1", - "docker_tags_url": "https://quay.io/api/v1/repository/giantswarm/upbound-provider-azure-fluidrelay/tag/?page=1&limit=100", - "readme": "https://github.com/fluid-cloudnative/fluid/blob/master/README.md", - "category": "Orchestration & Management", - "homepage": "https://fluid-cloudnative.github.io/", - "github_releases": [ - "v1.0.7", - "v1.0.6", - "v1.0.5", - "v1.0.4", - "v1.0.3", - "v1.0.2", - "v1.0.1", - "v1.0.0", - "v0.9.3", - "v0.9.2" - ], - "image_tags": [ - "v1.9.4", - "v1.8.4", - "v1.7.4", - "v1.6.5", - "v1.11.3", - "v1.10.4", - "v1.9.3", - "v1.8.3", - "v1.7.3", - "v1.11.1" - ], - "image_name": "quay.io/giantswarm/upbound-provider-azure-fluidrelay", - "docker_help_command": "--help", - "subcategory": "Management" - }, - { - "name": "Flux", - "description": "Open and extensible continuous delivery solution for Kubernetes.", - "github_release_url": "https://api.github.com/repos/fluxcd/flux2/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/bitnamicharts/flux/tags/?page=1&page_size=100", - "readme": "https://github.com/fluxcd/flux2/blob/main/README.md", - "category": "App Definition and Development", - "homepage": "https://fluxcd.io/", - "github_releases": [ - "v2.7.2", - "v2.7.1", - "v2.7.0", - "v2.6.4", - "v2.6.3", - "v2.6.2", - "v2.6.1", - "v2.6.0", - "v2.5.1", - "v2.5.0" - ], - "image_tags": [ - "sha256-7751be5cd5c11eed6c8880ac33ab8efd38a85b57c5844ef6739fd3ebf5b3f57a", - "2.4.36", - "sha256-44819d138fa35f696dae4e9714bba29f383f16d80f8b6cc441caafe79d43b8c6", - "2.4.35", - "sha256-6cee79b0465d6ecda13203f8eb2674199e26760ac2cb8d796db55fdbf75226f2", - "2.4.34", - "sha256-1a9f1720d1efa8200da7eb5867745d0b09f993fef95f8752d95ee217bdfb5009", - "2.4.33", - "sha256-c1e956c188657fdd2dcfe2384fa11b3d8169ce495953f42233f2dca4087a52f6", - "2.4.32" - ], - "image_name": "docker.io/bitnamicharts/flux", - "docker_help_command": "/usr/local/bin/flux --help", - "subcategory": "Application Development" - }, - { - "name": "Fonio", - "description": "Data first monitoring agent using (e)BPF, built on RedBPF.", - "github_release_url": "https://api.github.com/repos/foniod/foniod/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/scpomedialab/fonio/tags/?page=1&page_size=100", - "readme": "https://github.com/foniod/foniod/blob/main/README.md", - "category": "Observability and Analysis", - "homepage": "https://ingraind.org/", - "github_releases": [ - "v1.1", - "v1.0.0" - ], - "image_tags": [ - "prod", - "staging", - "dev" - ], - "image_name": "docker.io/scpomedialab/fonio", - "docker_help_command": "/bin/sh --help", - "subcategory": "Monitoring" - }, - { - "name": "gRPC", - "description": "C++ based gRPC (C++, Python, Ruby, Objective-C, PHP, C#).", - "github_release_url": "https://api.github.com/repos/grpc/grpc/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/grpc/java-example-hostname/tags/?page=1&page_size=100", - "readme": "https://github.com/grpc/grpc/blob/master/README.md", - "category": "Orchestration & Management", - "homepage": "https://grpc.io/", - "github_releases": [ - "v1.76.0", - "v1.76.0-pre1", - "v1.75.1", - "v1.75.0", - "v1.75.0-pre1", - "v1.74.1", - "v1.74.0", - "v1.74.0-pre2", - "v1.74.0-pre1", - "v1.72.2" - ], - "image_tags": [ - "latest", - "1.76.0", - "1.75.0", - "1.74.0", - "1.73.0", - "1.72.0", - "1.71.0", - "1.70.0", - "1.69.1", - "1.68.3" - ], - "image_name": "docker.io/grpc/java-example-hostname", - "docker_help_command": "--help", - "subcategory": "Management" - }, - { - "name": "hami", - "description": "Heterogeneous AI Computing Virtualization Middleware.", - "github_release_url": "https://api.github.com/repos/Project-HAMi/HAMi/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/projecthami/hami/tags/?page=1&page_size=100", - "readme": "https://github.com/Project-HAMi/HAMi/blob/master/README.md", - "category": "Orchestration & Management", - "homepage": "https://project-hami.github.io/HAMi/", - "github_releases": [ - "v2.7.0", - "v2.5.3", - "v2.6.1", - "v2.6.0", - "v2.5.2", - "v2.5.1", - "v2.5.0", - "v2.4.1", - "v2.4.0", - "hami-2.3" - ], - "image_tags": [ - "latest", - "b27a042", - "cfc37bb", - "dd553dd", - "78226e0", - "8fbec81", - "3849fe8", - "97ff486", - "03b8cb0", - "f0dd439" - ], - "image_name": "docker.io/projecthami/hami", - "docker_help_command": "/bin/bash --help", - "subcategory": "Management" - }, - { - "name": "Harbor", - "description": "An open source trusted cloud native registry project that stores, signs, and scans content.", - "github_release_url": "https://api.github.com/repos/goharbor/harbor/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/bitnamicharts/harbor/tags/?page=1&page_size=100", - "readme": "https://github.com/goharbor/harbor/blob/main/README.md", - "category": "Provisioning", - "homepage": "https://goharbor.io/", - "github_releases": [ - "v2.14.0", - "v2.14.0-rc2", - "v2.14.0-rc1", - "v2.13.2", - "v2.13.2-rc1", - "v2.13.1", - "v2.13.1-rc3", - "v2.12.4", - "v2.12.4-rc1", - "v2.13.1-rc2" - ], - "image_tags": [ - "sha256-e262907a6dae5c51d268fedf0e6d528029d5314bae92a61aed1657f04e6ee681", - "27.0.3", - "sha256-35620032487ae38373d75d9573adc35f9c9420dc95ce822a58c9cede88cd5ef2", - "27.0.2", - "sha256-94b278d9834be99dd70e1f374b42ade329ceba35cbfef6a4fbb49c0a97e8fed2", - "27.0.1", - "sha256-c2314a6ea0e774846026b2f395bf9d9656c792d316b3449870f5d6c44093b3f0", - "27.0.0", - "sha256-0d8174efed55e670bdd747d6fae2ce1e4e20e0f54252dd958ad72580748fcd84", - "26.8.5" - ], - "image_name": "docker.io/bitnamicharts/harbor", - "docker_help_command": "/usr/local/bin/harbor --help", - "subcategory": "Provisioning" - }, - { - "name": "Headlamp", - "description": "Extensible open source multi-cluster Kubernetes user interface.", - "github_release_url": "https://api.github.com/repos/kubernetes-sigs/headlamp/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/headlamp/headlamp-docker-extension/tags/?page=1&page_size=100", - "readme": "https://github.com/kubernetes-sigs/headlamp/blob/main/README.md", - "category": "Observability and Analysis", - "homepage": "https://headlamp.dev", - "github_releases": [ - "v0.36.0", - "headlamp-helm-0.36.0", - "headlamp-helm-0.35.0", - "v0.35.0", - "headlamp-helm-0.34.0", - "v0.34.0", - "headlamp-helm-0.33.0", - "v0.33.0", - "headlamp-helm-0.32.1", - "v0.32.0" - ], - "image_tags": [ - "latest", - "0.35.0", - "0.33.0", - "0.25.1", - "0.24.0", - "0.23.1", - "0.20.0", - "0.19.1", - "0.19.0", - "0.17.0" - ], - "image_name": "docker.io/headlamp/headlamp-docker-extension", - "subcategory": "Observability" - }, - { - "name": "Helm", - "description": "Package manager for Kubernetes applications.", - "github_release_url": "https://api.github.com/repos/helm/helm/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/alpine/helm/tags/?page=1&page_size=100", - "readme": "https://github.com/helm/helm/blob/main/README.md", - "category": "App Definition and Development", - "homepage": "https://helm.sh/", - "github_releases": [ - "v4.0.0-beta.1", - "v3.19.0", - "v3.19.0-rc.1", - "v4.0.0-alpha.1", - "v3.18.6", - "v3.18.5", - "v3.17.4", - "v3.18.4", - "v3.18.3", - "v3.18.2" - ], - "image_tags": [ - "3", - "3.19", - "3.19.0", - "latest", - "1819f21", - "3.18", - "3.18.6", - "3.18.5", - "3.18.4", - "b0f8b96" - ], - "image_name": "docker.io/alpine/helm", - "docker_help_command": "/usr/local/bin/helm --help", - "subcategory": "Package Management" - }, - { - "name": "Hexa", - "description": "Hexa Policy Orchestrator enables you to manage all of your access policies consistently across software providers.", - "github_release_url": "https://api.github.com/repos/hexa-org/policy-orchestrator/releases?per_page=100&page=1", - "docker_tags_url": "https://quay.io/api/v1/repository/ngrauss_openshift/mwhexample/tag/?page=1&limit=100", - "readme": "https://github.com/hexa-org/policy-orchestrator/blob/main/README.md", - "category": "Provisioning", - "homepage": "https://hexaorchestration.org/", - "github_releases": [ - "v0.5.0", - "v0.1.9", - "v0.1.8", - "v0.1.7" - ], - "image_tags": [ - "yolo4180", - "yolo414deg", - "yolo413", - "yolo", - "mgs10", - "mgs9", - "mgs8", - "mgs7", - "mgs3", - "mgs2" - ], - "image_name": "quay.io/ngrauss_openshift/mwhexample", - "subcategory": "Provisioning" - }, - { - "name": "HwameiStor", - "description": "Hwameistor is an HA local storage system for cloud-native stateful workloads.", - "github_release_url": "https://api.github.com/repos/hwameistor/hwameistor/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/hwameistor/builder/tags/?page=1&page_size=100", - "readme": "https://github.com/hwameistor/hwameistor/blob/main/README.md", - "category": "Runtime", - "homepage": "https://hwameistor.io/", - "github_releases": [ - "v1.0.1", - "v1.0.0", - "v1.0.0-rc2", - "v1.0.0-rc1", - "v0.16.5", - "v0.16.4", - "v0.16.3", - "v0.16.2", - "v0.16.1", - "v0.16.0" - ], - "image_tags": [ - "latest" - ], - "image_name": "docker.io/hwameistor/builder", - "subcategory": "Storage" - }, - { - "name": "Hyperlight", - "description": "A lightweight, secure container runtime solution designed for modern cloud-native workloads.", - "github_release_url": "https://api.github.com/repos/hyperlight-dev/hyperlight/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/hyperlightorg/hyperscale/tags/?page=1&page_size=100", - "readme": "https://github.com/hyperlight-dev/hyperlight/blob/main/README.md", - "category": "Runtime", - "homepage": "https://github.com/hyperlight-dev/hyperlight", - "github_releases": [ - "dev-latest", - "v0.10.0", - "v0.9.0", - "v0.8.0", - "v0.7.0", - "v0.6.1", - "v0.6.0", - "v0.5.1", - "v0.5.0", - "v0.4.0" - ], - "image_tags": [ - "latest" - ], - "image_name": "docker.io/hyperlightorg/hyperscale", - "subcategory": "Container Runtime" - }, - { - "name": "in-toto", - "description": "In-toto is a framework to protect supply chain integrity.", - "github_release_url": "https://api.github.com/repos/in-toto/in-toto/releases?per_page=100&page=1", - "docker_tags_url": "https://quay.io/api/v1/repository/opsmxpublic/in-toto-echo/tag/?page=1&limit=100", - "readme": "https://github.com/in-toto/in-toto/blob/master/README.md", - "category": "Provisioning", - "homepage": "https://in-toto.io", - "github_releases": [ - "v3.0.0", - "v2.3.0", - "v2.2.0", - "v2.1.1", - "v2.1.0", - "v2.0.0", - "v1.4.0", - "v1.3.2", - "v1.3.1", - "v1.3.0" - ], - "image_tags": [ - "v2", - "v1" - ], - "image_name": "quay.io/opsmxpublic/in-toto-echo", - "docker_help_command": "--help", - "subcategory": "Provisioning" - }, - { - "name": "Inclavare Containers", - "description": "A novel container runtime, aka confidential container, for cloud-native confidential computing and enclave runtime ecosystem.", - "github_release_url": "https://api.github.com/repos/inclavare-containers/inclavare-containers/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/testcontainers/ryuk/tags/?page=1&page_size=100", - "readme": "https://github.com/inclavare-containers/inclavare-containers/blob/master/README.md", - "category": "Runtime", - "homepage": "https://github.com/inclavare-containers/", - "github_releases": [ - "v0.6.4", - "v0.6.3", - "v0.6.2", - "v0.6.1", - "v0.6.0", - "v0.5.2", - "v0.5.1", - "v0.5.0", - "v0.4.1", - "v0.4.0" - ], - "image_tags": [ - "0.14.0", - "0.14.0-linux", - "0.14.0-windows.ltsc2022", - "0.14.0-windows.ltsc2019", - "sha-b3726afd6cc2c36628abcc08e9cabac43f587384", - "sha-b3726afd6cc2c36628abcc08e9cabac43f587384-linux", - "sha-b3726afd6cc2c36628abcc08e9cabac43f587384-windows.ltsc2022", - "sha-b3726afd6cc2c36628abcc08e9cabac43f587384-windows.ltsc2019", - "0.13.0", - "0.13.0-linux" - ], - "image_name": "docker.io/testcontainers/ryuk", - "subcategory": "Container Runtime" - }, - { - "name": "Inspektor Gadget", - "description": "Open source eBPF debugging and data collection tool for Kubernetes and Linux.", - "github_release_url": "https://api.github.com/repos/inspektor-gadget/inspektor-gadget/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/mcp/inspektor-gadget/tags/?page=1&page_size=100", - "readme": "https://github.com/inspektor-gadget/inspektor-gadget/blob/main/README.md", - "category": "Observability and Analysis", - "homepage": "https://inspektor-gadget.io/", - "github_releases": [ - "v0.45.0", - "v0.44.1", - "v0.44.0", - "v0.43.0", - "v0.42.0", - "v0.41.0", - "v0.40.0", - "v0.39.0", - "v0.38.1", - "v0.38.0" - ], - "image_tags": [ - "latest" - ], - "image_name": "docker.io/mcp/inspektor-gadget", - "subcategory": "Observability" - }, - { - "name": "Istio", - "description": "Simplify observability, traffic management, security, and policy with the Istio service mesh.", - "github_release_url": "https://api.github.com/repos/istio/istio/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/istio/proxyv2/tags/?page=1&page_size=100", - "readme": "https://github.com/istio/istio/blob/master/README.md", - "category": "Orchestration & Management", - "homepage": "https://istio.io/", - "github_releases": [ - "1.28.0-beta.1", - "1.28.0-beta.0", - "1.27.3", - "1.26.6", - "1.28.0-alpha.0", - "1.27.2", - "1.26.5", - "1.27.1", - "1.26.4", - "1.25.5" - ], - "image_tags": [ - "sha256-7b180e2eca4cc1e247a50e4eb5c64702bf05835c3b97595ace14427e1dc15d3f.sig", - "sha256-6123ac5413618bb09e9064aa53c7915b748b492681f112a9de7f4c30952b79ce.sig", - "sha256-ac5e307e90d7b2229a48e9771dc07bc16e8687faa212f7b29311c86b536d1719.sig", - "1.28.0-beta.1-debug", - "sha256-a9c0533efd8883c3d1c1c42c046c104bdc91cbfd511764e4e62c2b40643201d8.sig", - "sha256-98df2431a4b29a124314b39c25ccd94d4e4c4ddefdf8087f3830d317747e52c1.sig", - "sha256-e0e72461b014290644b3c17c7a566acf873f737096bcd8e6efcaf85be54eb1d2.sig", - "1.28.0-beta.1-distroless", - "1.28.0-beta.1", - "sha256-6d823f2665e125a90e63a112f92ad4579bd458718e1ed7a1ee35c06e79a42934.sig" - ], - "image_name": "docker.io/istio/proxyv2", - "docker_help_command": "--help", - "subcategory": "Service Mesh" - }, - { - "name": "Jaeger", - "description": "Open-source distributed tracing platform for monitoring and troubleshooting microservices-based architectures.", - "github_release_url": "https://api.github.com/repos/jaegertracing/jaeger/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/bitnamicharts/jaeger/tags/?page=1&page_size=100", - "readme": "https://github.com/jaegertracing/jaeger/blob/main/README.md", - "category": "Observability and Analysis", - "homepage": "https://www.jaegertracing.io/", - "github_releases": [ - "v1.74.0", - "v1.73.0", - "v1.72.0", - "v1.71.0", - "v1.70.0", - "v1.69.0", - "v1.68.0", - "v1.67.0", - "v1.66.0", - "v1.65.0" - ], - "image_tags": [ - "sha256-a0c4c44ca4b586eea82fef6bd6f6b26cb848fc633b358357c3ee5cff5f96f86c", - "6.0.5", - "sha256-51ac4c54d70ace008a68fa5c1a31670ab0acc715fc017cb27060890fdabbffdb", - "6.0.4", - "sha256-bcd963d8346b392b3ad046004abaff0caaabc968dd2d510b0a564639da289bee", - "6.0.3", - "sha256-433f8172baabb686854022a0dc55fe24c0011d18346563fe41cfcd900fdc220c", - "6.0.2", - "sha256-0b54f76988359d81944858a45957357464996c37d1799d445acac02cfff23fb8", - "6.0.1" - ], - "image_name": "docker.io/bitnamicharts/jaeger", - "docker_help_command": "/usr/local/bin/jaeger --help", - "subcategory": "Monitoring" - }, - { - "name": "k0s", - "description": "!GitHub Repo stars !GitHub release (latest by date) !GitHub release (latest SemVer including pre-releases) !GitHub commits since latest release (by date) !k0s-logo-dark !k0s-logo-light k0s is an open source, all-inclusive Kubernetes distribution,.", - "github_release_url": "https://api.github.com/repos/k0sproject/k0s/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/k0sproject/k0s/tags/?page=1&page_size=100", - "readme": "https://github.com/k0sproject/k0s/blob/main/README.md", - "category": "Orchestration & Management", - "homepage": "https://k0sproject.io/", - "github_releases": [ - "v1.34.1+k0s.0", - "v1.32.8+k0s.0", - "v1.33.4+k0s.0", - "v1.31.12+k0s.0", - "v1.34.0-beta.0+k0s.0", - "v1.33.3+k0s.0", - "v1.32.7+k0s.0", - "v1.31.11+k0s.0", - "v1.33.2+k0s.0", - "v1.32.6+k0s.0" - ], - "image_tags": [ - "v1.34.1-k0s.0", - "v1.34.1-rc.0-k0s.0", - "v1.32.8-k0s.0", - "v1.32.8-rc.2-k0s.0", - "v1.32.8-rc.1-k0s.0", - "v1.33.4-k0s.0", - "v1.31.12-k0s.0", - "v1.32.8-rc.0-k0s.0", - "v1.33.4-rc.0-k0s.0", - "v1.31.12-rc.0-k0s.0" - ], - "image_name": "docker.io/k0sproject/k0s", - "docker_help_command": "/usr/local/bin/k0s --help", - "subcategory": "Management" - }, - { - "name": "k3s", - "description": "K3s is a fully conformant production-ready Kubernetes distribution with the following changes: 1.", - "github_release_url": "https://api.github.com/repos/k3s-io/k3s/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/rancher/k3s/tags/?page=1&page_size=100", - "readme": "https://github.com/k3s-io/k3s/blob/main/README.md", - "category": "Platform", - "homepage": "https://k3s.io", - "github_releases": [ - "v1.30.14-rc3+k3s3", - "v1.30.14-rc2+k3s3", - "v1.30.14-rc1+k3s3", - "v1.34.1+k3s1", - "v1.34.1-rc1+k3s1", - "v1.33.5+k3s1", - "v1.33.5-rc1+k3s1", - "v1.32.9+k3s1", - "v1.32.9-rc1+k3s1", - "v1.31.13+k3s1" - ], - "image_tags": [ - "latest", - "v1.34.1-k3s1", - "v1.34.1-k3s1-amd64", - "v1.33.5-k3s1", - "v1.33.5-k3s1-amd64", - "v1.32.9-k3s1", - "v1.34.1-k3s1-arm", - "v1.34.1-k3s1-arm64", - "v1.32.9-k3s1-amd64", - "v1.33.5-k3s1-arm" - ], - "image_name": "docker.io/rancher/k3s", - "docker_help_command": "--help", - "subcategory": "Kubernetes Distribution" - }, - { - "name": "k8gb", - "description": "Kubernetes Global Balancer - provides global load balancing and disaster recovery for Kubernetes workloads across multiple clusters.", - "github_release_url": "https://api.github.com/repos/k8gb-io/k8gb/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/absaoss/k8gb/tags/?page=1&page_size=100", - "readme": "https://github.com/k8gb-io/k8gb/blob/master/README.md", - "category": "Orchestration & Management", - "homepage": "https://www.k8gb.io", - "github_releases": [ - "v0.16.0", - "v0.15.0", - "v0.15.0-rc3", - "v0.15.0-rc2", - "v0.15.0-rc1", - "v0.14.0", - "v0.13.0", - "v0.12.2", - "v0.11.5", - "v0.11.4" - ], - "image_tags": [ - "sha256-6efa50f467b539bae56748cd37c0b25c51c0a6ad54957918c6b39e5dc26fc90d.att", - "sha256-edc6dea2c1f007b6f3a5a5f7315d6638b75656d41e63bd287491694814218cc3.att", - "sha256-b9ac6c3e38552ca422fd32e4d09d0745e25367874ddbd9083b2825a4121216f8.sig", - "sha256-edc6dea2c1f007b6f3a5a5f7315d6638b75656d41e63bd287491694814218cc3.sig", - "sha256-6efa50f467b539bae56748cd37c0b25c51c0a6ad54957918c6b39e5dc26fc90d.sig", - "v0.16.0", - "v0.16.0-amd64", - "v0.16.0-arm64", - "sha256-32df44c1319ef0be309428f2504887d30d611139dcffb08a3bdbbdef9858a374.att", - "sha256-46452f16aec0dd44a39f84b4de2cf1cd5da9a5236857c82925c9f843209c8bbc.att" - ], - "image_name": "docker.io/absaoss/k8gb", - "docker_help_command": "--help", - "subcategory": "Management" - }, - { - "name": "K8sGPT", - "description": "Tool for scanning Kubernetes clusters and diagnosing issues in simple English using AI-powered analysis.", - "github_release_url": "https://api.github.com/repos/k8sgpt-ai/k8sgpt/releases?per_page=100&page=1", - "docker_tags_url": "https://quay.io/api/v1/repository/kubermatic-mirror/helm-charts/k8sgpt-operator/tag/?page=1&limit=100", - "readme": "https://github.com/k8sgpt-ai/k8sgpt/blob/main/README.md", - "category": "Observability and Analysis", - "homepage": "https://www.k8sgpt.ai", - "github_releases": [ - "v0.4.26", - "v0.4.25", - "v0.4.24", - "v0.4.23", - "v0.4.22", - "v0.4.21", - "v0.4.20", - "v0.4.19", - "v0.4.18", - "v0.4.17" - ], - "image_tags": [ - "0.2.17" - ], - "deprecated": true, - "subcategory": "Observability" - }, - { - "name": "K8up", - "description": "Kubernetes backup operator based on Restic - provides scheduled backups, restores, and pruning for persistent volumes.", - "github_release_url": "https://api.github.com/repos/k8up-io/k8up/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/vshn/k8up/tags/?page=1&page_size=100", - "readme": "https://github.com/k8up-io/k8up/blob/master/README.md", - "category": "Runtime", - "homepage": "https://www.k8up.io/", - "github_releases": [ - "v2.13.1", - "k8up-4.8.6", - "k8up-4.8.5", - "v2.13.0", - "v2.13.0-dev-signed", - "k8up-4.8.4", - "v2.12.0", - "v2.11.3", - "k8up-4.8.3", - "v2.11.2" - ], - "image_tags": [ - "v1.99.99", - "master", - "latest", - "v1", - "v1.2.0", - "v0", - "v1.1.0", - "v1.0.5", - "v1.0.4", - "v1.0.3" - ], - "image_name": "docker.io/vshn/k8up", - "docker_help_command": "--help", - "subcategory": "Container Runtime" - }, - { - "name": "kagent", - "description": "Kagent is an open source programming framework designed for DevOps and platform engineers to run AI agents in Kubernetes.", - "github_release_url": "https://api.github.com/repos/kagent-dev/kagent/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/txn2/kagent/tags/?page=1&page_size=100", - "readme": "https://github.com/kagent-dev/kagent/blob/main/README.md", - "category": "Provisioning", - "homepage": "https://kagent.dev/", - "github_releases": [ - "v0.6.21", - "v0.6.20", - "v0.6.19", - "v0.6.18", - "v0.6.17", - "v0.6.16", - "v0.6.15", - "v0.6.14", - "v0.6.12", - "v0.6.11" - ], - "image_tags": [ - "armhf-latest", - "armhf-v1.0.0", - "latest", - "v1.0.0" - ], - "image_name": "docker.io/txn2/kagent", - "subcategory": "Provisioning" - }, - { - "name": "Kairos", - "description": "The immutable Linux meta-distribution for edge Kubernetes.", - "github_release_url": "https://api.github.com/repos/kairos-io/kairos/releases?per_page=100&page=1", - "docker_tags_url": "https://quay.io/api/v1/repository/kairos/kairos-init/tag/?page=1&limit=100", - "readme": "https://github.com/kairos-io/kairos/blob/master/README.md", - "category": "Provisioning", - "homepage": "https://kairos.io", - "github_releases": [ - "v3.5.5", - "v3.5.5-rc1", - "v3.5.4", - "v3.5.4-rc1", - "v3.5.3", - "v3.1.4-rc4", - "v3.1.4-rc3", - "v3.1.4-rc2", - "v3.1.4-rc1", - "v3.5.2", - "v3.5.1", - "v3.5.1-rc1", - "v3.5.1-beta.3", - "v3.5.1-beta.2", - "v3.5.1-beta.1", - "v3.5.0", - "v3.5.0-rc2", - "v3.5.0-rc1", - "v3.4.2", - "v3.4.1", - "v3.4.0", - "v3.4.0-rc6", - "v3.4.0-rc5", - "v3.4.0-rc4", - "v3.4.0-rc3", - "v3.4.0-rc2", - "v3.4.0-rc1", - "v3.4.0-beta9", - "v3.3.6", - "v3.3.5", - "v3.4.0-beta8", - "v3.3.4", - "v3.4.0-beta7", - "v3.3.3", - "v3.4.0-beta6", - "v3.3.2", - "v3.3.2-rc3", - "v3.3.2-rc2", - "v3.3.2-rc1", - "v3.3.1", - "v3.3.0", - "v3.2.4", - "v3.2.3", - "v3.2.2", - "v3.2.1", - "v3.2.1-rc1", - "v3.2.0", - "v3.2.0-rc1", - "v3.1.3", - "v3.1.2" - ], - "image_tags": [ - "v0.5.17", - "v0.5.7", - "v0.5.6", - "v0.5.13", - "latest", - "v0.5.22", - "main", - "v0.5.12", - "v0.5.11", - "latest" - ], - "image_name": "quay.io/kairos/kairos-init", - "docker_help_command": "--help", - "subcategory": "Provisioning" - }, - { - "name": "KAITO", - "description": "Kubernetes AI Toolchain Operator (KAITO) simplifies LLM inference, tuning, and RAG workloads on Kubernetes.", - "github_release_url": "https://api.github.com/repos/kaito-project/kaito/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/sozercan/kaito/tags/?page=1&page_size=100", - "readme": "https://github.com/kaito-project/kaito/blob/main/README.md", - "category": "CNAI", - "homepage": "https://kaito-project.netlify.app/", - "github_releases": [ - "v0.7.1", - "v0.7.0", - "v0.6.2", - "v0.6.1", - "v0.6.0", - "v0.5.1", - "v0.5.0", - "v0.4.6", - "v0.4.5", - "v0.4.4" - ], - "image_tags": [ - "test" - ], - "image_name": "docker.io/sozercan/kaito", - "subcategory": "AI/ML Infrastructure" - }, - { - "name": "Kanister", - "description": "An extensible framework for application-level data management on Kubernetes, Kanister is a Cloud Native Computing Foundation sandbox project and was originally created by the Veeam Kasten team.", - "github_release_url": "https://api.github.com/repos/kanisterio/kanister/releases?per_page=100&page=1", - "docker_tags_url": "https://quay.io/api/v1/repository/isim/kanister-controller/tag/?page=1&limit=100", - "readme": "https://github.com/kanisterio/kanister/blob/master/README.md", - "category": "Runtime", - "homepage": "https://kanister.io", - "github_releases": [ - "0.116.0", - "0.115.0", - "0.114.0", - "0.113.0", - "0.112.0", - "0.111.0", - "0.110.0", - "0.109.0", - "0.108.0", - "0.107.0" - ], - "image_tags": [ - "0.75.0-8-g103e2050", - "0.72.0-6-g20ba6ce2", - "0.72.0-5-g91a55675-dirty", - "0.72.0-5-g91a55675", - "0.74.0-36-gecdc1743", - "0.75.0-11-g4a5d9c5d", - "0.75.0-11-g4a5d9c5d-dirty", - "cncf-webinar", - "0.75.0-16-g06cdbf3a", - "0.75.0-16-g06cdbf3a-dirty" - ], - "image_name": "quay.io/isim/kanister-controller", - "subcategory": "Container Runtime" - }, - { - "name": "Karmada", - "description": "Open, Multi-Cloud, Multi-Cluster Kubernetes Orchestration.", - "github_release_url": "https://api.github.com/repos/karmada-io/karmada/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/karmada/karmada/tags/?page=1&page_size=100", - "readme": "https://github.com/karmada-io/karmada/blob/master/README.md", - "category": "Orchestration & Management", - "homepage": "https://karmada.io/", - "github_releases": [ - "v1.16.0-alpha.2", - "v1.16.0-alpha.1", - "v1.15.1", - "v1.14.5", - "v1.13.8", - "v1.15.0", - "v1.14.4", - "v1.13.7", - "v1.12.10", - "v1.15.0-rc.0" - ], - "image_tags": [ - "0.0.0", - "v1.16.0-alpha.2", - "v1.15.1", - "v1.14.5", - "v1.13.8", - "v1.16.0-alpha.1", - "v1.15.0", - "v1.14.4", - "v1.13.7", - "v1.12.10" - ], - "image_name": "docker.io/karmada/karmada", - "docker_help_command": "karmadactl --help", - "subcategory": "Management" - }, - { - "name": "KCL", - "description": "A constraint-based record & functional language mainly used in configuration and policy scenarios.", - "github_release_url": "https://api.github.com/repos/kcl-lang/kcl/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/kcllang/kcl/tags/?page=1&page_size=100", - "readme": "https://github.com/kcl-lang/kcl/blob/main/README.md", - "category": "Provisioning", - "homepage": "https://kcl-lang.io/", - "github_releases": [ - "v0.11.2", - "v0.11.1", - "v0.11.0", - "v0.11.0-alpha.1", - "v0.10.8", - "v0.10.7", - "v0.10.6", - "v0.10.4", - "v0.10.3", - "v0.10.2" - ], - "image_tags": [ - "latest", - "v0.11.3", - "v0.11.2", - "v0.11.0", - "v0.11.0-alpha.1", - "v0.10.10", - "release-kcl-image-0.10.x", - "v0.10.9", - "v0.10.8", - "v0.10.7" - ], - "image_name": "docker.io/kcllang/kcl", - "docker_help_command": "/usr/local/bin/kcl --help", - "subcategory": "Provisioning" - }, - { - "name": "kcp", - "description": "Kubernetes-like control planes for form-factors and use-cases beyond Kubernetes and container workloads.", - "github_release_url": "https://api.github.com/repos/kcp-dev/kcp/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/arminmacx/kcp/tags/?page=1&page_size=100", - "readme": "https://github.com/kcp-dev/kcp/blob/main/README.md", - "category": "Orchestration & Management", - "homepage": "https://kcp.io", - "github_releases": [ - "v0.28.3", - "v0.28.1", - "v0.28.0", - "v0.27.1", - "v0.27.0", - "v0.26.3", - "v0.27.0-rc.1", - "v0.26.1", - "v0.26.0", - "v0.25.0" - ], - "image_tags": [ - "1.2", - "latest" - ], - "image_name": "docker.io/arminmacx/kcp", - "docker_help_command": "--help", - "subcategory": "Management" - }, - { - "name": "KEDA", - "description": "KEDA is a Kubernetes-based Event Driven Autoscaling component.", - "github_release_url": "https://api.github.com/repos/kedacore/keda/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/selenium/keda/tags/?page=1&page_size=100", - "readme": "https://github.com/kedacore/keda/blob/main/README.md", - "category": "Orchestration & Management", - "homepage": "https://keda.sh/", - "github_releases": [ - "v2.18.0", - "v2.17.2", - "v2.17.1", - "v2.17.0", - "v2.16.1", - "v2.16.0", - "v2.15.1", - "v2.15.0", - "v2.14.1", - "v2.14.0" - ], - "image_tags": [ - "2.18.0-selenium-grid-20251020", - "2.17.2-selenium-grid-20251001", - "2.17.2-selenium-grid-20250909", - "2.17.2-selenium-grid-20250828", - "2.17.2-selenium-grid-20250808", - "latest", - "2.17.2-selenium-grid-20250727", - "nightly", - "2.17.2-selenium-grid-20250717", - "2.17.2-selenium-grid-20250707" - ], - "image_name": "docker.io/selenium/keda", - "docker_help_command": "--help", - "subcategory": "Management" - }, - { - "name": "Keptn", - "description": "Cloud-native application life-cycle orchestration Keptn automates your SLO-driven multi-stage delivery and operations & remediation of your applications.", - "github_release_url": "https://api.github.com/repos/keptn/lifecycle-toolkit/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/keptn/distributor/tags/?page=1&page_size=100", - "readme": "https://github.com/keptn/lifecycle-toolkit/blob/main/README.md", - "category": "App Definition and Development", - "homepage": "https://www.keptn.sh", - "github_releases": [ - "metrics-operator-v2.1.0", - "keptn-v2.5.0", - "python-runtime-v1.0.8", - "metrics-operator-v2.0.0", - "lifecycle-operator-v2.0.0", - "keptn-v2.4.0", - "deno-runtime-v3.0.1", - "cert-manager-v3.0.0", - "python-runtime-v1.0.7", - "keptn-v2.3.0" - ], - "image_tags": [ - "sha256-2538e53a473e25e43d6cd9fb8079551864182100099c23caf13a6b500ba0be0f.sig", - "1.2.0", - "sha256-f9434903e3d1383c054222df3a4db60b09608b40bcac1b00ecc935d9c7be7041.sig", - "1.1.0", - "sha256-01feb9b10e604966eb898d601543055d5fd8e31ef2c9b2f7a63ecbaae319b056.sig", - "sha256-e2fc5d6c6f0ea9361a543e6d8f1d2245918df73102a1d104de73b7132a037e39.sig", - "1.0.0", - "sha256-fb26f0e0e9372207be18c6b0a10cd0bd68bb1f62d37770913706bd19a01b32bd.sig", - "0.20.0-next.0", - "0.19.3" - ], - "image_name": "docker.io/keptn/distributor", - "subcategory": "Application Development" - }, - { - "name": "Keycloak", - "description": "Keycloak is an open-source identity and access management solution for modern applications and services, built on top of industry security standard protocols.", - "github_release_url": "https://api.github.com/repos/keycloak/keycloak/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/keycloak/keycloak/tags/?page=1&page_size=100", - "readme": "https://github.com/keycloak/keycloak/blob/main/README.md", - "category": "Provisioning", - "homepage": "https://www.keycloak.org/", - "github_releases": [ - "26.4.2", - "nightly", - "26.4.1", - "26.4.0", - "26.3.5", - "26.3.4", - "26.3.3", - "26.3.2", - "26.3.1", - "26.3.0" - ], - "image_tags": [ - "nightly", - "latest", - "26.4", - "26.4.2-0", - "26.4.2", - "26.4.1-0", - "26.4.1", - "26.4.0-0", - "26.4.0", - "26.3" - ], - "image_name": "docker.io/keycloak/keycloak", - "docker_help_command": "--help", - "subcategory": "Provisioning" - }, - { - "name": "Keylime", - "description": "Bootstrap & Maintain Trust on the Edge / Cloud and IoT.", - "github_release_url": "https://api.github.com/repos/keylime/keylime/releases?per_page=100&page=1", - "docker_tags_url": "https://quay.io/api/v1/repository/keylime/keylime_agent/tag/?page=1&limit=100", - "readme": "https://github.com/keylime/keylime/blob/master/README.md", - "category": "Provisioning", - "homepage": "https://keylime.dev/", - "github_releases": [ - "v7.13.0", - "v7.12.1", - "v7.12.0", - "v7.11.0", - "v7.10.0", - "v7.9.0", - "v7.8.0", - "v7.7.0", - "v7.6.0", - "v7.5.0" - ], - "image_tags": [ - "sha-df8e56e", - "sha-a097536", - "sha-cbf60a7", - "sha-d9b9727", - "sha-f310fac", - "sha-2091359", - "sha-46b1901", - "sha-100167a", - "sha-390ea3d", - "sha-4bd5286" - ], - "image_name": "quay.io/keylime/keylime_agent", - "docker_help_command": "--help", - "subcategory": "Provisioning" - }, - { - "name": "Kgateway", - "description": "An Envoy-powered, Kubernetes-native API Gateway that integrates Kubernetes Gateway API with a control plane for API connectivity in any cloud environment.", - "github_release_url": "https://api.github.com/repos/kgateway-dev/kgateway/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/howardjohn/kgateway/tags/?page=1&page_size=100", - "readme": "https://github.com/kgateway-dev/kgateway/blob/main/README.md", - "category": "Orchestration & Management", - "homepage": "https://kgateway.dev/", - "github_releases": [ - "v2.1.1", - "v2.1.0", - "v2.1.0-rc.2", - "v2.0.5", - "v2.1.0-rc.1", - "v2.0.4", - "v2.0.3", - "v2.0.2", - "v2.0.1", - "v2.0.0" - ], - "image_tags": [ - "1756338834", - "1756156487", - "1756155789", - "1756151878" - ], - "image_name": "docker.io/howardjohn/kgateway", - "docker_help_command": "--help", - "subcategory": "API Gateway" - }, - { - "name": "KitOps", - "description": "An open standard for packaging, managing, and deploying ML models and artifacts across different systems.", - "github_release_url": "https://api.github.com/repos/kitops-ml/kitops/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/300481/kitops/tags/?page=1&page_size=100", - "readme": "https://github.com/kitops-ml/kitops/blob/main/README.md", - "category": "Provisioning", - "homepage": "https://kitops.org/", - "github_releases": [ - "v1.9.0", - "v1.8.0", - "v1.7.0", - "v1.6.1", - "v1.6.0", - "v1.5.1", - "v1.5.0", - "v1.4.0", - "v1.3.0", - "v1.2.2" - ], - "image_tags": [ - "0.5.5", - "0.5.4", - "0.5.3", - "0.5.2", - "0.5.1", - "0.5.0", - "0.4.0", - "0.3.1", - "0.3.0" - ], - "image_name": "docker.io/300481/kitops", - "docker_help_command": "/kitops --help", - "subcategory": "Provisioning" - }, - { - "name": "Kmesh", - "description": "Kmesh is a high-performance and low overhead service mesh data plane based on eBPF and programmable kernel.", - "github_release_url": "https://api.github.com/repos/kmesh-net/kmesh/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/zzuo1991/kmesh/tags/?page=1&page_size=100", - "readme": "https://github.com/kmesh-net/kmesh/blob/main/README.md", - "category": "Orchestration & Management", - "homepage": "https://kmesh.net", - "github_releases": [ - "v1.1.0", - "v1.1.0-alpha", - "v1.0.0", - "v1.0.0-rc.0", - "v1.0.0-alpha", - "v0.5.0", - "v0.5.0-rc.0", - "v0.4.1", - "v0.4.0", - "v0.3.1" - ], - "image_tags": [ - "latest", - "v0.5.0-zgq", - "v0.5.0" - ], - "image_name": "docker.io/zzuo1991/kmesh", - "subcategory": "Service Mesh" - }, - { - "name": "Knative", - "description": "Knative is a developer-focused serverless application layer which is a great complement to the existing Kubernetes application constructs.", - "github_release_url": "https://api.github.com/repos/knative/serving/releases?per_page=100&page=1", - "docker_tags_url": "https://quay.io/api/v1/repository/openshift-knative/knative-eventing-sources-event-display/tag/?page=1&limit=100", - "readme": "https://github.com/knative/serving/blob/main/README.md", - "category": "Orchestration & Management", - "homepage": "https://knative.dev", - "github_releases": [ - "knative-v1.19.7", - "knative-v1.18.2", - "knative-v1.19.6", - "knative-v1.19.5", - "knative-v1.19.4", - "knative-v1.19.3", - "knative-v1.19.2", - "knative-v1.19.1", - "knative-v1.19.0", - "knative-v1.18.1" - ], - "image_tags": [ - "v0.18.0", - "v0.17.1", - "v0.16.0", - "v0.15.0", - "v0.14.1", - "v0.13.2", - "v0.13.0", - "v0.12.1", - "v0.11.0", - "v0.11.2" - ], - "image_name": "quay.io/openshift-knative/knative-eventing-sources-event-display", - "docker_help_command": "kn --help", - "subcategory": "Management" - }, - { - "name": "ko", - "description": "Simple, fast container image builder for Go applications that doesn't require Docker.", - "github_release_url": "https://api.github.com/repos/ko-build/ko/releases?per_page=100&page=1", - "docker_tags_url": "https://quay.io/api/v1/repository/cloudhut/kowl/tag/?page=1&limit=100", - "readme": "https://github.com/ko-build/ko/blob/main/README.md", - "category": "App Definition and Development", - "homepage": "https://ko.build/", - "github_releases": [ - "v0.18.0", - "v0.17.1", - "v0.17.0", - "v0.16.0", - "v0.15.4", - "v0.15.3", - "v0.15.2", - "v0.15.1", - "v0.15.0", - "v0.14.1" - ], - "image_tags": [ - "master-ce13b2b", - "master-dbcaaef", - "master-ea8207c", - "master-6efdea2", - "master-e9a8a57", - "master-c8b4b33", - "master-e308ba2", - "master-ab6caaa", - "latest", - "master-598117c" - ], - "image_name": "quay.io/cloudhut/kowl", - "docker_help_command": "--help", - "subcategory": "Application Development" - }, - { - "name": "Konveyor", - "description": "Konveyor is an open-source project that gives developers and platform teams visibility, analysis, and transformation tools to predictably re-platform.", - "github_release_url": "https://api.github.com/repos/konveyor/operator/releases?per_page=100&page=1", - "docker_tags_url": "https://quay.io/api/v1/repository/operatorhubio/konveyor-operator/tag/?page=1&limit=100", - "readme": "https://github.com/konveyor/operator/blob/main/README.md", - "category": "App Definition and Development", - "homepage": "https://www.konveyor.io/", - "github_releases": [ - "v0.8.1-alpha.2", - "v0.8.1-alpha.1", - "v0.8.0", - "v0.8.0-rc.2", - "v0.8.0-rc.1", - "v0.8.0-beta.5", - "v0.8.0-beta.4", - "v0.8.0-beta.2", - "v0.8.0-beta.1", - "v0.8.0-alpha.4" - ], - "image_tags": [ - "v0.8.0-beta.2--20250827T183733", - "v0.8.0-beta.2", - "v0.6.2--20250326T213815", - "v0.6.2", - "v0.7.0-rc.1--20250521T184042", - "v0.7.0-rc.1", - "v0.7.0-alpha.2--20250319T211202", - "v0.7.0-alpha.2", - "v0.6.0-beta.2--20241218T045704", - "v0.6.0-beta.2" - ], - "image_name": "quay.io/operatorhubio/konveyor-operator", - "subcategory": "Application Development" - }, - { - "name": "Koordinator", - "description": "QoS based scheduling system for hybrid orchestration workloads on Kubernetes, bringing workloads the best layout and status.", - "github_release_url": "https://api.github.com/repos/koordinator-sh/koordinator/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/hitfaker/koordinator/tags/?page=1&page_size=100", - "readme": "https://github.com/koordinator-sh/koordinator/blob/main/README.md", - "category": "Orchestration & Management", - "homepage": "https://koordinator.sh", - "github_releases": [ - "v1.7.0", - "v1.6.1", - "v1.6.0", - "v1.5.0", - "v1.4.1", - "v1.4.0", - "v1.3.0", - "v1.2.0", - "v1.1.1", - "v1.1.0" - ], - "image_tags": [ - "redis", - "audit-f", - "runtimehook", - "main" - ], - "image_name": "docker.io/hitfaker/koordinator", - "subcategory": "Management" - }, - { - "name": "kpt", - "description": "Package-centric toolchain for Kubernetes configuration - enables CRUD operations on configuration as data using Git and OCI.", - "github_release_url": "https://api.github.com/repos/kptdev/kpt/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/gongpu/kpt/tags/?page=1&page_size=100", - "readme": "https://github.com/kptdev/kpt/blob/main/README.md", - "category": "Provisioning", - "homepage": "https://kpt.dev", - "github_releases": [ - "v1.0.0-beta.59", - "v1.0.0-beta.58", - "v1.0.0-beta.57", - "v1.0.0-beta.56", - "v1.0.0-beta.55", - "v1.0.0-beta.54", - "v1.0.0-beta.52", - "v1.0.0-beta.51", - "v1.0.0-beta.50", - "v1.0.0-beta.49" - ], - "image_tags": [ - "latest", - "docker-cli", - "original", - "docker", - "v0.30.1", - "scratch", - "gitlab", - "v0.0.1", - "v0.27.0" - ], - "image_name": "docker.io/gongpu/kpt", - "docker_help_command": "--help", - "subcategory": "Provisioning" - }, - { - "name": "Krator", - "description": ":construction::construction: This project is highly experimental.", - "github_release_url": "https://api.github.com/repos/krator-rs/krator/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/krator/python3-django-gunicorn/tags/?page=1&page_size=100", - "readme": "https://github.com/krator-rs/krator/blob/main/README.md", - "category": "App Definition and Development", - "homepage": "https://docs.rs/crate/krator/latest", - "github_releases": [ - "v0.6.0", - "v0.5.0", - "v0.4.0", - "v0.3.0" - ], - "image_tags": [ - "latest" - ], - "image_name": "docker.io/krator/python3-django-gunicorn", - "subcategory": "Operator Framework" - }, - { - "name": "Krkn", - "description": "Chaos testing tool for Kubernetes to identify bottlenecks and improve resilience and performance under failure conditions.", - "github_release_url": "https://api.github.com/repos/krkn-chaos/krkn/releases?per_page=100&page=1", - "docker_tags_url": "https://quay.io/api/v1/repository/redhat-chaos/krkn/tag/?page=1&limit=100", - "readme": "https://github.com/krkn-chaos/krkn/blob/main/README.md", - "category": "Observability and Analysis", - "homepage": "https://krkn-chaos.github.io/krkn", - "github_releases": [ - "v4.0.11", - "v4.0.10", - "v4.0.9", - "v4.0.8", - "v4.0.7", - "v4.0.6", - "v4.0.5", - "v4.0.4", - "v4.0.3", - "v4.0.2" - ], - "image_tags": [ - "v3.1.2", - "v4.0.3", - "v3.0.2", - "v1.6.8", - "v2.0.9", - "v4.0.10", - "v2.0.3", - "v4.0.11", - "latest", - "v3.1.0" - ], - "image_name": "quay.io/redhat-chaos/krkn", - "docker_help_command": "--help", - "subcategory": "Observability" - }, - { - "name": "Krustlet", - "description": "\u26a0\ufe0f This project is currently not actively maintained.", - "github_release_url": "https://api.github.com/repos/krustlet/krustlet/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/bloodorangeio/krustlet-wascc/tags/?page=1&page_size=100", - "readme": "https://github.com/krustlet/krustlet/blob/main/README.md", - "category": "Runtime", - "homepage": "https://krustlet.dev", - "github_releases": [ - "v1.0.0-alpha.1", - "v0.7.0", - "v0.6.0", - "v0.5.0", - "v0.4.0", - "v0.3.0", - "v0.2.1", - "v0.2.0", - "v0.1.0" - ], - "image_tags": [ - "v0.4.0" - ], - "image_name": "docker.io/bloodorangeio/krustlet-wascc", - "docker_help_command": "--help", - "subcategory": "Container Runtime" - }, - { - "name": "KServe", - "description": "Standardized Distributed Generative and Predictive AI Inference Platform for Scalable, Multi-Framework Deployment on Kubernetes.", - "github_release_url": "https://api.github.com/repos/kserve/kserve/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/kserve/kserve-controller/tags/?page=1&page_size=100", - "readme": "https://github.com/kserve/kserve/blob/master/README.md", - "category": "CNAI", - "homepage": "https://kserve.github.io/website/", - "github_releases": [ - "v0.16.0-rc1", - "v0.16.0-rc0", - "v0.15.2", - "v0.15.1", - "v0.15.0", - "v0.15.0-rc1", - "v0.15.0-rc0", - "v0.14.1", - "v0.14.0", - "v0.14.0-rc1" - ], - "image_tags": [ - "latest", - "v0.16.0-rc1", - "v0.16.0-rc0", - "v0.15.2", - "v0.15.1", - "v0.15.0", - "v0.15.0-rc1", - "v0.15.0-rc0", - "v0.14.1", - "v0.14.0" - ], - "image_name": "docker.io/kserve/kserve-controller", - "docker_help_command": "--help", - "subcategory": "AI/ML Infrastructure" - }, - { - "name": "Kuadrant", - "description": "Kuadrant combines Gateway API and Istio-based gateway controllers to enhance application connectivity.", - "github_release_url": "https://api.github.com/repos/Kuadrant/kuadrant-operator/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/kuadrant/authorino/tags/?page=1&page_size=100", - "readme": "https://github.com/Kuadrant/kuadrant-operator/blob/main/README.md", - "category": "Orchestration & Management", - "homepage": "https://kuadrant.io", - "github_releases": [ - "v1.3.0", - "v1.3.0-rc2", - "v1.3.0-rc1", - "v1.3.0-alpha2", - "v1.3.0-alpha1", - "v1.2.0", - "v1.2.0-rc3", - "v1.2.0-rc2", - "v1.2.0-rc1", - "v1.1.0" - ], - "image_tags": [ - "v0.12.0", - "v0.11.0", - "v0.10.0", - "v0.9.1", - "v0.9.0", - "v0.8.0", - "v0.7.0", - "v0.6.0", - "v0.5.0", - "v0.4.0" - ], - "image_name": "docker.io/kuadrant/authorino", - "docker_help_command": "--help", - "subcategory": "Management" - }, - { - "name": "Kuasar", - "description": "A multi-sandbox container runtime that provides cloud-native, all-scenario multiple sandbox container solutions.", - "github_release_url": "https://api.github.com/repos/kuasar-io/kuasar/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/kuasar/homegarden-api/tags/?page=1&page_size=100", - "readme": "https://github.com/kuasar-io/kuasar/blob/main/README.md", - "category": "Runtime", - "homepage": "https://kuasar.io/", - "github_releases": [ - "v1.0.1-alpha1", - "v1.0.1", - "v1.0.0-alpha1", - "v1.0.0", - "v1.0.0-beta.1", - "v0.7.0", - "v0.6.0", - "v0.5.2", - "v0.5.1", - "v0.5.0" - ], - "image_tags": [ - "latest" - ], - "image_name": "docker.io/kuasar/homegarden-api", - "subcategory": "Container Runtime" - }, - { - "name": "Kube-burner", - "description": "Kubernetes performance and scale test orchestration framework written in golang.", - "github_release_url": "https://api.github.com/repos/kube-burner/kube-burner/releases?per_page=100&page=1", - "docker_tags_url": "https://quay.io/api/v1/repository/cloud-bulldozer/kube-burner/tag/?page=1&limit=100", - "readme": "https://github.com/kube-burner/kube-burner/blob/main/README.md", - "category": "App Definition and Development", - "homepage": "https://kube-burner.github.io/kube-burner/", - "github_releases": [ - "v1.17.7", - "v1.17.6", - "v1.17.5", - "v1.17.4", - "v1.17.3", - "v1.17.2", - "v1.17.1", - "v1.17.0", - "v1.16.4", - "v1.16.3" - ], - "image_tags": [ - "v1.7.13", - "v1.7.13-arm64", - "v1.7.13-ppc64le", - "v1.7.13-s390x", - "v1.7.13-amd64", - "v1.8.1", - "v1.8.1-arm64", - "v1.8.1-ppc64le", - "v1.8.1-s390x", - "v1.8.1-amd64" - ], - "image_name": "quay.io/cloud-bulldozer/kube-burner", - "docker_help_command": "--help", - "subcategory": "Application Development" - }, - { - "name": "Kube-OVN", - "description": "A Bridge between SDN and Cloud Native (Project under CNCF).", - "github_release_url": "https://api.github.com/repos/kubeovn/kube-ovn/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/kubeovn/kube-ovn/tags/?page=1&page_size=100", - "readme": "https://github.com/kubeovn/kube-ovn/blob/master/README.md", - "category": "Runtime", - "homepage": "https://kube-ovn.io", - "github_releases": [ - "v1.14.11", - "v1.14.10", - "v1.14.9", - "v1.14.8", - "v1.14.7", - "v1.14.6", - "v1.13.15", - "v1.12.35", - "v1.14.5", - "v1.14.4" - ], - "image_tags": [ - "v1.15.0-debug", - "v1.15.0", - "v1.15.0-dpdk-x86", - "v1.15.0-debug-x86", - "v1.15.0-amd64-legacy", - "v1.15.0-x86", - "v1.15.0-debug-arm", - "v1.15.0-arm", - "v1.12.11-mc-debug-arm", - "v1.12.11-mc-arm" - ], - "image_name": "docker.io/kubeovn/kube-ovn", - "subcategory": "Container Runtime" - }, - { - "name": "kube-rs", - "description": "Kube-rs is the core Rust ecosystem for building applications against Kubernetes.", - "github_release_url": "https://api.github.com/repos/kube-rs/kube/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/kubeovn/kube-ovn/tags/?page=1&page_size=100", - "readme": "https://github.com/kube-rs/kube/blob/main/README.md", - "category": "Orchestration & Management", - "homepage": "https://kube.rs", - "github_releases": [ - "2.0.1", - "2.0.0", - "1.1.0", - "1.0.0", - "0.99.0", - "0.98.0", - "0.97.0", - "0.96.0", - "0.95.0", - "0.94.2" - ], - "image_tags": [ - "v1.15.0-debug", - "v1.15.0", - "v1.15.0-dpdk-x86", - "v1.15.0-debug-x86", - "v1.15.0-amd64-legacy", - "v1.15.0-x86", - "v1.15.0-debug-arm", - "v1.15.0-arm", - "v1.12.11-mc-debug-arm", - "v1.12.11-mc-arm" - ], - "image_name": "docker.io/kubeovn/kube-ovn", - "subcategory": "Management" - }, - { - "name": "kube-vip", - "description": "Kubernetes Virtual IP and Load-Balancer for both control plane and Kubernetes services.", - "github_release_url": "https://api.github.com/repos/kube-vip/kube-vip/releases?per_page=100&page=1", - "docker_tags_url": "https://quay.io/api/v1/repository/rtheobald/kube-vip/tag/?page=1&limit=100", - "readme": "https://github.com/kube-vip/kube-vip/blob/main/README.md", - "category": "Runtime", - "homepage": "https://kube-vip.io", - "github_releases": [ - "v1.0.1", - "v1.0.0", - "v0.9.2", - "v0.9.1", - "v0.9.0", - "v0.8.10", - "v0.8.9", - "v0.8.8", - "v0.8.7", - "v0.8.6" - ], - "image_tags": [ - "v1.0.0" - ], - "image_name": "quay.io/rtheobald/kube-vip", - "docker_help_command": "--help", - "subcategory": "Container Runtime" - }, - { - "name": "Kubean", - "description": "Product ready cluster lifecycle management toolchains based on kubespray and other cluster LCM engine.", - "github_release_url": "https://api.github.com/repos/kubean-io/kubean/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/labring/kubean/tags/?page=1&page_size=100", - "readme": "https://github.com/kubean-io/kubean/blob/main/README.md", - "category": "Provisioning", - "homepage": "https://kubean-io.github.io/kubean/", - "github_releases": [ - "v0.29.1", - "v0.29.0", - "v0.28.5", - "v0.28.4", - "v0.28.3", - "v0.28.2", - "v0.28.1", - "v0.28.0", - "v0.27.3", - "v0.27.2" - ], - "image_tags": [ - "v0.13.3", - "v0.13.3-amd64", - "v0.13.3-arm64" - ], - "image_name": "docker.io/labring/kubean", - "subcategory": "Cluster Management" - }, - { - "name": "KubeArmor", - "description": "Runtime protection for Kubernetes & other cloud Workloads.", - "github_release_url": "https://api.github.com/repos/kubearmor/KubeArmor/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/kubearmor/kubearmor/tags/?page=1&page_size=100", - "readme": "https://github.com/kubearmor/KubeArmor/blob/main/README.md", - "category": "Provisioning", - "homepage": "https://kubearmor.io/", - "github_releases": [ - "v1.6.3", - "v1.6.2", - "v1.6.1", - "v1.6.0", - "v1.5.7", - "v1.5.6", - "v1.5.5", - "v1.5.4", - "v1.5.3", - "v1.5.2" - ], - "image_tags": [ - "sandgarden-docs-ennio-2025-10-23-Oip2WQZc90", - "sandgarden-docs-ennio-2025-10-23-lOoYaI2KHA", - "latest", - "sha256-e4249f3c923b34335c42a4fdf49b3247976dc58c52f32081aa71b2612b390867.sig", - "sha256-fb7a07e53efaf0f9829af23b8933d183f2bbb89acd8ce0e24aa0adfa1d1503e3.sig", - "sha256-ed8896131cc8d7f0102c0595c1f687c7ff5158d0896e1d10c4002baf851a431a.sig", - "sha256-508cc9f7af75802d96b7c52af6d95d7afb0e6081279258d517ec9dba695727e6.sig", - "sha256-9cd5f9e9a18cacda01acf682934e5efe7dcc674718b6779b53f2e33a1c0a1faf.sig", - "sha256-480d4a712c17060395d5d2f791daaf7845d5163ade3aec375997adcc4d2683b5.sig", - "sha256-cd354ed76d7b7ed0f9971938423f417c6359bcc6e066c6c7c2af2cdf13035dfd.sig" - ], - "image_name": "docker.io/kubearmor/kubearmor", - "docker_help_command": "-h", - "subcategory": "Provisioning" - }, - { - "name": "KubeClipper", - "description": "Manage kubernetes in the most light and convenient way.", - "github_release_url": "https://api.github.com/repos/kubeclipper/kubeclipper/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/kubeclipper/kubectl/tags/?page=1&page_size=100", - "readme": "https://github.com/kubeclipper/kubeclipper/blob/master/README.md", - "category": "Platform", - "homepage": "https://www.kubeclipper.io/", - "github_releases": [ - "v1.4.1", - "v1.4.0", - "v1.3.4", - "v1.3.3", - "v1.3.2", - "v1.3.1", - "v1.3.1-rc", - "v1.2.1", - "v1.2.0", - "v1.1.1" - ], - "image_tags": [ - "latest" - ], - "image_name": "docker.io/kubeclipper/kubectl", - "subcategory": "Platform" - }, - { - "name": "KubeDL", - "description": "Run your deep learning workloads on Kubernetes more easily and efficiently.", - "github_release_url": "https://api.github.com/repos/kubedl-io/kubedl/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/kubedl/kubedl/tags/?page=1&page_size=100", - "readme": "https://github.com/kubedl-io/kubedl/blob/master/README.md", - "category": "Provisioning", - "homepage": "https://kubedl.io", - "github_releases": [ - "v0.5.0", - "v0.4.3", - "v0.4.2", - "v0.4.1", - "v0.4.0", - "v0.3.0", - "v0.2.0", - "v0.1.0" - ], - "image_tags": [ - "daily", - "v0.5.0", - "v0.4.3", - "v0.4.2-faulttolerance", - "v0.4.2-easyscale-faulttolerance", - "faulttolerance-test", - "0.4.2", - "0.4.1-nightly", - "easyscale-test", - "0.4.1" - ], - "image_name": "docker.io/kubedl/kubedl", - "subcategory": "Provisioning" - }, - { - "name": "KubeEdge", - "description": "Kubernetes Native Edge Computing Framework (project under CNCF).", - "github_release_url": "https://api.github.com/repos/kubeedge/kubeedge/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/kubeedge/cloudcore/tags/?page=1&page_size=100", - "readme": "https://github.com/kubeedge/kubeedge/blob/master/README.md", - "category": "Provisioning", - "homepage": "https://kubeedge.io/en/", - "github_releases": [ - "v1.21.0", - "v1.20.0", - "v1.19.2", - "v1.18.3", - "v1.17.5", - "v1.16.6", - "v1.17.4", - "v1.16.5", - "v1.19.1", - "v1.18.2" - ], - "image_tags": [ - "sha256-9d098133e92516525b7d722c2e0ca2ad287246c3477eed3ac991461f92d44ab5.att", - "v1.21.0", - "sha256-067ec2b412a1658e22088edcb919128449fa99aaff501983436e349a8e81555d.att", - "v1.20.0", - "sha256-d7d990888b19cb330240c2e319975dc67d0b61f0c836ef91df6bd91a0f3393d4.att", - "sha256-438ec29161465c6a17e2984a46bc581d5d7abd4eab256d5fb2f319b82a4172c8.att", - "sha256-b0f0112e23d0e56ba9e96a179109fbbe55c31c8d3edb14a05eef403b20cb4abb.att", - "sha256-588b0f913771e552364eecd3f8b0322a759c90d514d9eb017948eea6634e8026.att", - "v1.16.6", - "v1.17.5" - ], - "image_name": "docker.io/kubeedge/cloudcore", - "docker_help_command": "--help", - "subcategory": "Provisioning" - }, - { - "name": "KubeFleet", - "description": "A multi-cluster solution that enables users to effectively manage their applications running in multiple Kubernetes clusters.", - "github_release_url": "https://api.github.com/repos/kubefleet-dev/kubefleet/releases?per_page=100&page=1", - "docker_tags_url": "", - "readme": "https://github.com/kubefleet-dev/kubefleet/blob/main/README.md", - "category": "Orchestration & Management", - "homepage": "https://github.com/kubefleet-dev/kubefleet", - "github_releases": [ - "v0.0.1" - ], - "deprecated": true, - "subcategory": "Management" - }, - { - "name": "Kubeflow", - "description": "Kubeflow is the foundation of tools for AI Platforms on Kubernetes.", - "github_release_url": "https://api.github.com/repos/kubeflow/kubeflow/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/kubeflow/mxnet-operator/tags/?page=1&page_size=100", - "readme": "https://github.com/kubeflow/kubeflow/blob/master/README.md", - "category": "Orchestration & Management", - "homepage": "https://kubeflow.org", - "github_releases": [ - "v1.10.0", - "v1.9.2", - "v1.9.1", - "v1.9.0", - "v1.8.0", - "v1.8.0-rc.6", - "v1.8.0-rc.5", - "v1.8.0-rc.4", - "v1.8.0-rc.3", - "v1.8.0-rc.2" - ], - "image_tags": [ - "v1.1.0", - "v1.0.0-20200625" - ], - "image_name": "docker.io/kubeflow/mxnet-operator", - "docker_help_command": "mxnet-operator.v1 --help", - "subcategory": "Management" - }, - { - "name": "Kuberhealthy", - "description": "A Kubernetes operator for running synthetic checks as pods.", - "github_release_url": "https://api.github.com/repos/kuberhealthy/kuberhealthy/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/kuberhealthy/kuberhealthy/tags/?page=1&page_size=100", - "readme": "https://github.com/kuberhealthy/kuberhealthy/blob/main/README.md", - "category": "Observability and Analysis", - "homepage": "https://github.com/kuberhealthy/kuberhealthy", - "github_releases": [ - "v2.8.0-rc2", - "v2.8.0-rc1", - "v2.7.1", - "v2.7.0", - "v2.6.0", - "v2.5.0", - "v2.4.1", - "v2.4.0", - "v2.3.2", - "v2.3.1" - ], - "image_tags": [ - "localdev1731908163", - "localdev", - "v2.8.0-rc2", - "v2.8.0-rc1", - "unstable", - "dev", - "v2.7.1", - "v2.7.1-rc1", - "v2.7.0", - "unstable-crdfix" - ], - "image_name": "docker.io/kuberhealthy/kuberhealthy", - "subcategory": "Observability" - }, - { - "name": "Kubernetes", - "description": "Kubernetes is an open-source system for automating deployment, scaling, and management of containerized applications.", - "github_release_url": "https://api.github.com/repos/kubernetes/kubernetes/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/kindest/node/tags/?page=1&page_size=100", - "readme": "https://github.com/kubernetes/kubernetes/blob/master/README.md", - "category": "Orchestration & Management", - "homepage": "https://kubernetes.io/", - "github_releases": [ - "v1.35.0-alpha.2", - "v1.35.0-alpha.1", - "v1.34.1", - "v1.33.5", - "v1.32.9", - "v1.31.13", - "v1.34.0", - "v1.34.0-rc.2", - "v1.33.4", - "v1.32.8" - ], - "image_tags": [ - "v1.34.0", - "v1.33.4", - "v1.32.8", - "v1.31.12", - "v1.33.2", - "v1.30.13", - "v1.31.9", - "v1.32.5", - "v1.33.1", - "v1.33.0" - ], - "image_name": "docker.io/kindest/node", - "docker_help_command": "/usr/local/bin/kubectl --help", - "subcategory": "Management" - }, - { - "name": "Kubescape", - "description": "Kubescape is an open source security and compliance platform that scans clusters, Kubernetes manifest files (YAML files, and Helm charts), code repositories, container registries and images.", - "github_release_url": "https://api.github.com/repos/kubescape/kubescape/releases?per_page=100&page=1", - "docker_tags_url": "https://quay.io/api/v1/repository/kubescape/kubescape/tag/?page=1&limit=100", - "readme": "https://github.com/kubescape/kubescape/blob/master/README.md", - "category": "Provisioning", - "homepage": "https://kubescape.io/", - "github_releases": [ - "v3.0.42", - "v3.0.41", - "v3.0.40", - "v3.0.39", - "v3.0.38", - "v3.0.37", - "v3.0.36", - "v3.0.35", - "v3.0.34", - "v3.0.33" - ], - "image_tags": [ - "v3.0.30", - "sha256-2731d77c42af76d46b4668d8eb1da0910dbdf57b7ff93a763040ea2861c8a260.sig", - "v3.0.30-prerelease", - "sha256-de670e0149fb377a07175b6e91a2bbf5c48a2ee150f01dc6eaa14b53c5eff371.sig", - "sha256-100e27ca3ea354a5615e8a657587ee6ea93f9ba7bb1a26b20361de9cd1cb9fca.sig", - "v3.0.15", - "sha256-48dadfbc2dce568ec21501c38744d3c271627c6a64fa529705be3cad791125e2.sig", - "v3.0.15-prerelease", - "v3.0.16", - "sha256-44088b8f50e31ec5a538d56fc0f6c90896e76b2341c7f684356bc3b526b06b97.sig" - ], - "image_name": "quay.io/kubescape/kubescape", - "docker_help_command": "kubescape --help", - "subcategory": "Cluster Management" - }, - { - "name": "KubeSlice", - "description": "Multi-Cloud, Multi-Cluster Service Connectivity with Application Slices.", - "github_release_url": "https://api.github.com/repos/kubeslice/kubeslice/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/sumon124816/kubeslice/tags/?page=1&page_size=100", - "readme": "https://github.com/kubeslice/kubeslice/blob/master/README.md", - "category": "Orchestration & Management", - "homepage": "https://kubeslice.io", - "github_releases": [ - "kubeslice-worker-1.4.0", - "kubeslice-controller-1.4.0", - "kubeslice-worker-1.3.1", - "kubeslice-controller-1.3.1", - "kubeslice-worker-1.3.0", - "kubeslice-controller-1.3.0", - "kubeslice-worker-1.2.1", - "kubeslice-controller-1.2.1", - "kubeslice-worker-1.2.0", - "kubeslice-controller-1.2.0" - ], - "image_tags": [ - "nsc-sidecar", - "webhook-sidecar", - "nsm-sidecar", - "nsc-init-sidecar", - "worker-sidecar", - "worker-spire", - "webhook-test", - "nsc-init-spire", - "kernel-spire", - "vl3-spire" - ], - "image_name": "docker.io/sumon124816/kubeslice", - "subcategory": "Management" - }, - { - "name": "KubeStellar", - "description": "KubeStellar - a flexible solution for multi-cluster configuration management for edge, multi-cloud, and hybrid cloud.", - "github_release_url": "https://api.github.com/repos/kubestellar/kubestellar/releases?per_page=100&page=1", - "docker_tags_url": "https://quay.io/api/v1/repository/kubestellar/kubestellar/tag/?page=1&limit=100", - "readme": "https://github.com/kubestellar/kubestellar/blob/main/README.md", - "category": "Orchestration & Management", - "homepage": "https://kubestellar.io", - "github_releases": [ - "v0.29.0-alpha.1", - "v0.28.0", - "v0.28.0-rc.1", - "v0.28.0-alpha.2", - "v0.28.0-alpha.1", - "v0.27.2", - "v0.27.1", - "v0.27.0", - "v0.27.0-rc.1", - "v0.26.0" - ], - "image_tags": [ - "release-0.15.1", - "git-3bb58d4f-dirty", - "b23-12-20-14-35-50", - "git-c570b9c40-clean", - "b23-12-20-03-49-50", - "v0.9.0-alpha.1.git1f0e2cc-clean", - "git-1f0e2cce1-clean", - "b23-10-18-20-54-33", - "sp-mgt", - "git-913a647c2-dirty" - ], - "image_name": "quay.io/kubestellar/kubestellar", - "docker_help_command": "/home/kubestellar/bin/kubestellar-make-kcp-server-cert --help", - "subcategory": "Management" - }, - { - "name": "KubeVela", - "description": "KubeVela is a modern application delivery platform that makes deploying and operating applications across today's hybrid, multi-cloud environments easier, faster and more reliable.", - "github_release_url": "https://api.github.com/repos/kubevela/kubevela/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/labring/kubevela/tags/?page=1&page_size=100", - "readme": "https://github.com/kubevela/kubevela/blob/master/README.md", - "category": "App Definition and Development", - "homepage": "https://kubevela.io", - "github_releases": [ - "v1.10.4", - "v1.10.3", - "v1.10.2", - "v1.10.1", - "v1.10.0", - "v1.10.0-alpha.1", - "v1.9.13", - "v1.9.12", - "v1.9.11", - "v1.9.10" - ], - "image_tags": [ - "v1.9.6", - "v1.9.6-amd64", - "v1.9.6-arm64", - "v1.7.7", - "v1.8.2", - "v1.7.7-arm64", - "v1.8.2-amd64", - "v1.8.2-arm64", - "v1.7.7-amd64", - "v1.6.2" - ], - "image_name": "docker.io/labring/kubevela", - "docker_help_command": "vela --help", - "subcategory": "Application Development" - }, - { - "name": "KubeVirt", - "description": "Kubernetes Virtualization API and runtime in order to define and manage virtual machines.", - "github_release_url": "https://api.github.com/repos/kubevirt/kubevirt/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/kubevirt/cirros-registry-disk-demo/tags/?page=1&page_size=100", - "readme": "https://github.com/kubevirt/kubevirt/blob/main/README.md", - "category": "App Definition and Development", - "homepage": "https://kubevirt.io/", - "github_releases": [ - "v1.7.0-beta.0", - "v1.6.2", - "v1.5.3", - "v1.6.1", - "v1.7.0-alpha.0", - "v1.6.0", - "v1.6.0-rc.1", - "v1.6.0-rc.0", - "v1.5.2", - "v1.6.0-beta.0" - ], - "image_tags": [ - "master", - "latest", - "v0.9.6", - "v0.10.0", - "v0.9.5", - "v0.9.4", - "v0.9.3", - "v0.9.2", - "v0.9.1", - "v0.9.0" - ], - "image_name": "docker.io/kubevirt/cirros-registry-disk-demo", - "docker_help_command": "/usr/sbin/cfdisk --help", - "subcategory": "Application Development" - }, - { - "name": "Kubewarden", - "description": "Kubewarden is a Policy Engine powered by WebAssembly policies.", - "github_release_url": "https://api.github.com/repos/kubewarden/kubewarden-controller/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/jordonleach/kubewarden/tags/?page=1&page_size=100", - "readme": "https://github.com/kubewarden/kubewarden-controller/blob/main/README.md", - "category": "Provisioning", - "homepage": "https://www.kubewarden.io", - "github_releases": [ - "v1.30.0-rc1", - "v1.29.0", - "v1.29.0-rc3", - "v1.29.0-rc2", - "v1.29.0-rc1", - "v1.28.0", - "v1.28.0-rc1", - "v1.27.0", - "v1.27.0-rc1", - "v1.26.0" - ], - "image_tags": [ - "latest" - ], - "image_name": "docker.io/jordonleach/kubewarden", - "subcategory": "Provisioning" - }, - { - "name": "KUDO", - "description": "Kubernetes Universal Declarative Operator - toolkit for building production-grade operators covering the entire application lifecycle.", - "github_release_url": "https://api.github.com/repos/kudobuilder/kudo/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/kudo/ubuntu-nonroot/tags/?page=1&page_size=100", - "readme": "https://github.com/kudobuilder/kudo/blob/main/README.md", - "category": "App Definition and Development", - "homepage": "https://kudo.dev/", - "github_releases": [ - "v0.19.0", - "v0.18.2", - "v0.17.4", - "v0.18.1", - "v0.17.3", - "v0.18.0", - "v0.18.0-rc1", - "v0.17.2", - "v0.17.1", - "v0.17.0" - ], - "image_tags": [ - "latest", - "20.04", - "18.04" - ], - "image_name": "docker.io/kudo/ubuntu-nonroot", - "subcategory": "Operator Framework" - }, - { - "name": "Kuma", - "description": "\ud83d\udc3b The multi-zone service mesh for containers, Kubernetes and VMs.", - "github_release_url": "https://api.github.com/repos/kumahq/kuma/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/yfdyh000/kuma/tags/?page=1&page_size=100", - "readme": "https://github.com/kumahq/kuma/blob/master/README.md", - "category": "Orchestration & Management", - "homepage": "https://kuma.io", - "github_releases": [ - "2.12.1", - "2.11.6", - "2.10.7", - "2.9.10", - "2.7.18", - "2.12.0", - "2.10.6", - "2.9.9", - "2.7.17", - "2.11.5" - ], - "image_tags": [ - "try2" - ], - "image_name": "docker.io/yfdyh000/kuma", - "subcategory": "Service Mesh" - }, - { - "name": "Kured", - "description": "Kured (KUbernetes REboot Daemon) is a Kubernetes daemonset that performs safe automatic node reboots when the need to do so is indicated by the package management system of the underlying OS.", - "github_release_url": "https://api.github.com/repos/kubereboot/kured/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/weaveworks/kured/tags/?page=1&page_size=100", - "readme": "https://github.com/kubereboot/kured/blob/main/README.md", - "category": "Orchestration & Management", - "homepage": "https://kured.dev", - "github_releases": [ - "1.20.0", - "1.19.0", - "1.17.1", - "1.17.0", - "1.16.2", - "1.16.1", - "1.16.0", - "1.15.1", - "1.15.0", - "1.14.2" - ], - "image_tags": [ - "main-796014a", - "main-8343ddd", - "main-92db607", - "main-5fd42b0", - "main-c20a5c2", - "main-6966f62", - "main-8f5b9ab", - "1.10.2", - "main-774dc69", - "main-4d6cac6" - ], - "image_name": "docker.io/weaveworks/kured", - "docker_help_command": "--help", - "subcategory": "Management" - }, - { - "name": "KusionStack", - "description": "Declarative Intent Driven Platform Orchestrator for Internal Developer Platform (IDP).", - "github_release_url": "https://api.github.com/repos/KusionStack/kusion/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/kusionstack/karpor/tags/?page=1&page_size=100", - "readme": "https://github.com/KusionStack/kusion/blob/main/README.md", - "category": "Provisioning", - "homepage": "https://kusionstack.io/", - "github_releases": [ - "v0.15.0", - "v0.14.1-rc.0", - "v0.14.0", - "v0.14.0-rc.1", - "v0.13.0", - "v0.13.0-alpha.3", - "v0.13.0-alpha.2", - "v0.13.0-alpha.1", - "v0.12.1", - "v0.12.1-rc.3" - ], - "image_tags": [ - "latest", - "v0.6.4", - "v0.6.4-arm64", - "v0.6.4-amd64", - "v0.6.3-alpha.4", - "v0.6.3-alpha.4-arm64", - "v0.6.3-alpha.4-amd64", - "v0.6.3-alpha.3", - "v0.6.3-alpha.3-arm64", - "v0.6.3-alpha.3-amd64" - ], - "image_name": "docker.io/kusionstack/karpor", - "docker_help_command": "--help", - "subcategory": "Provisioning" - }, - { - "name": "Kyverno", - "description": "Cloud-native policy management engine for Kubernetes with declarative validation, mutation, and generation of configurations.", - "github_release_url": "https://api.github.com/repos/kyverno/kyverno/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/nirmata/kyverno/tags/?page=1&page_size=100", - "readme": "https://github.com/kyverno/kyverno/blob/main/README.md", - "category": "Provisioning", - "homepage": "https://kyverno.io/", - "github_releases": [ - "v1.16.0-rc.1", - "v1.15.2", - "v1.15.2-rc.1", - "v1.15.1", - "v1.15.1-rc.3", - "v1.15.1-rc.2", - "v1.15.1-rc.1", - "v1.15.0", - "v1.15.0-rc.4", - "v1.15.0-rc.3" - ], - "image_tags": [ - "latest", - "v1.3.0-rc4-12-ge868dbfe", - "v1.3.0-rc4-11-g7ee346b0", - "v1.3.0-rc4-10-gb7b2eca3", - "v1.3.0-rc4-3-g63c6e521", - "v1.3.0-rc4", - "v1.3.0-rc3-17-g23d277e0", - "v1.3.0-rc3-12-gb73315d8", - "v1.3.0-rc3-6-gcb6de3da", - "v1.3.0-rc3" - ], - "image_name": "docker.io/nirmata/kyverno", - "docker_help_command": "--help", - "subcategory": "Provisioning" - }, - { - "name": "Lima", - "description": "Linux virtual machines, typically on macOS, for running containerd.", - "github_release_url": "https://api.github.com/repos/lima-vm/lima/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/staphb/lima/tags/?page=1&page_size=100", - "readme": "https://github.com/lima-vm/lima/blob/master/README.md", - "category": "Runtime", - "homepage": "https://github.com/lima-vm/lima", - "github_releases": [ - "v2.0.0-alpha.2", - "v2.0.0-alpha.1", - "v2.0.0-alpha.0", - "v1.2.1", - "v1.2.0", - "v1.1.1", - "v1.1.0", - "v1.1.0-rc.1", - "v1.1.0-rc.0", - "v1.1.0-beta.0" - ], - "image_tags": [ - "2.13.0-Rscripts", - "latest", - "2.13.0", - "2.12.0-Rscripts", - "2.12.0", - "2.9.0-Rscripts", - "2.9.0" - ], - "image_name": "docker.io/staphb/lima", - "docker_help_command": "/usr/local/bin/lima --help", - "subcategory": "Container Runtime" - }, - { - "name": "Linkerd", - "description": "Ultra light, ultra simple, ultra powerful Linkerd adds security, observability, and reliability to Kubernetes, without the complexity.", - "github_release_url": "https://api.github.com/repos/linkerd/linkerd2/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/linkerd/namerctl/tags/?page=1&page_size=100", - "readme": "https://github.com/linkerd/linkerd2/blob/main/README.md", - "category": "Orchestration & Management", - "homepage": "https://linkerd.io/", - "github_releases": [ - "edge-25.10.6", - "edge-25.10.5", - "edge-25.10.4", - "edge-25.10.3", - "edge-25.10.2", - "edge-25.10.1", - "edge-25.9.4", - "edge-25.9.3", - "edge-25.9.2", - "edge-25.9.1" - ], - "image_tags": [ - "latest", - "0.8.6" - ], - "image_name": "docker.io/linkerd/namerctl", - "docker_help_command": "/usr/local/bin/linkerd --help", - "subcategory": "Service Mesh" - }, - { - "name": "Litmus", - "description": "Litmus helps SREs and developers practice chaos engineering in a Cloud-native way.", - "github_release_url": "https://api.github.com/repos/litmuschaos/litmus/releases?per_page=100&page=1", - "docker_tags_url": "https://quay.io/api/v1/repository/ankitks/litmusportal-subscriber/tag/?page=1&limit=100", - "readme": "https://github.com/litmuschaos/litmus/blob/master/README.md", - "category": "Observability and Analysis", - "homepage": "https://litmuschaos.io/", - "github_releases": [ - "3.22.0", - "3.21.0", - "3.20.0", - "3.19.0", - "3.18.0", - "3.17.0", - "3.16.0", - "3.15.0", - "3.14.0", - "3.13.0" - ], - "image_tags": [ - "3.16.0" - ], - "image_name": "quay.io/ankitks/litmusportal-subscriber", - "subcategory": "Observability" - }, - { - "name": "Logging Operator (Kube Logging)", - "description": "The Logging operator is now a CNCF Sandbox project.", - "github_release_url": "https://api.github.com/repos/kube-logging/logging-operator/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/rancher/mirrored-kube-logging-logging-operator/tags/?page=1&page_size=100", - "readme": "https://github.com/kube-logging/logging-operator/blob/master/README.md", - "category": "Observability and Analysis", - "homepage": "https://kube-logging.dev/", - "github_releases": [ - "6.1.0", - "6.0.3", - "6.0.2", - "6.0.1", - "6.0.0", - "5.4.0", - "5.3.0", - "5.2.0", - "5.1.1", - "5.1.0" - ], - "image_tags": [ - "4.11.4", - "4.10.0", - "4.10.0-arm", - "4.10.0-arm64", - "4.10.0-amd64", - "4.9.1", - "4.9.1-arm", - "4.9.1-arm64", - "4.9.1-amd64", - "4.8.0" - ], - "image_name": "docker.io/rancher/mirrored-kube-logging-logging-operator", - "docker_help_command": "--help", - "subcategory": "Logging" - }, - { - "name": "Longhorn", - "description": "Cloud native distributed block storage system for Kubernetes - provides persistent storage with snapshots, backups, and disaster recovery.", - "github_release_url": "https://api.github.com/repos/longhorn/longhorn/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/longhornio/longhorn-manager/tags/?page=1&page_size=100", - "readme": "https://github.com/longhorn/longhorn/blob/master/README.md", - "category": "Runtime", - "homepage": "https://longhorn.io/", - "github_releases": [ - "v1.10.0", - "v1.9.2", - "v1.10.0-rc4", - "v1.9.2-rc2", - "v1.10.0-rc3", - "v1.10.0-rc2", - "v1.9.2-rc1", - "v1.10.0-rc1", - "v1.9.1", - "v1.9.1-rc1" - ], - "image_tags": [ - "v1.9.x-head", - "v1.10.x-head", - "master-head", - "v1.8.x-head", - "v1.9.3-dev-20251005", - "v1.10.0-hotfix-1", - "v1.10.0-hotfix-11939-temp-head", - "v1.8.3-dev-20251005", - "v1.10.0", - "v1.9.2" - ], - "image_name": "docker.io/longhornio/longhorn-manager", - "docker_help_command": "/usr/local/sbin/launch-manager --help", - "subcategory": "Storage" - }, - { - "name": "LoxiLB", - "description": "EBPF based cloud-native load-balancer Powering Kubernetes|Edge|5G|IoT|XaaS Apps.", - "github_release_url": "https://api.github.com/repos/loxilb-io/loxilb/releases?per_page=100&page=1", - "docker_tags_url": "https://quay.io/api/v1/repository/operatorhubio/kube-loxilb-operator/tag/?page=1&limit=100", - "readme": "https://github.com/loxilb-io/loxilb/blob/main/README.md", - "category": "Orchestration & Management", - "homepage": "https://loxilb.io", - "github_releases": [ - "v0.9.8.4", - "v0.9.8.3", - "v0.9.8.2", - "v0.9.8.1", - "v0.9.8", - "vlatest", - "v0.9.7", - "v0.9.6", - "v0.9.5", - "v0.9.4" - ], - "image_tags": [ - "v0.8.3--20230418T164314", - "v0.8.3", - "v0.8.3--20230418T160546" - ], - "image_name": "quay.io/operatorhubio/kube-loxilb-operator", - "subcategory": "Management" - }, - { - "name": "Merbridge", - "description": "Use eBPF to speed up your Service Mesh like crossing an Einstein-Rosen Bridge.", - "github_release_url": "https://api.github.com/repos/merbridge/merbridge/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/merbridge/merbridge/tags/?page=1&page_size=100", - "readme": "https://github.com/merbridge/merbridge/blob/main/README.md", - "category": "Orchestration & Management", - "homepage": "https://merbridge.io/", - "github_releases": [ - "0.8.1", - "0.8.0", - "0.7.3", - "0.7.2", - "0.7.1", - "0.7.0", - "0.6.1", - "0.6.0", - "0.5.1", - "0.5.0" - ], - "image_tags": [ - "latest", - "ambient", - "0.8.1", - "0.8.0", - "0.7.3", - "0.7.2", - "0.7.1", - "0.7.0", - "0.6.1", - "0.6.0" - ], - "image_name": "docker.io/merbridge/merbridge", - "docker_help_command": "/app/mbctl --help", - "subcategory": "Service Mesh" - }, - { - "name": "Meshery", - "description": "MESHERY IS A CLOUD NATIVE COMPUTING FOUNDATION PROJECT A self-service engineering platform, Meshery, is the open source, cloud native manager that enables the design and management of all Kubernetes-based infrastructure and applications (multi-cloud).", - "github_release_url": "https://api.github.com/repos/meshery/meshery/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/meshery/meshery/tags/?page=1&page_size=100", - "readme": "https://github.com/meshery/meshery/blob/master/README.md", - "category": "Provisioning", - "homepage": "https://meshery.io", - "github_releases": [ - "v0.8.143", - "v0.8.142", - "v0.8.141", - "v0.8.140", - "v0.8.139", - "v0.8.138", - "v0.8.137", - "v0.8.136", - "v0.8.135", - "v0.8.134" - ], - "image_tags": [ - "playground-31470a09", - "playground-v0.8.143", - "playground-latest", - "stable-31470a09", - "stable-v0.8.143", - "stable-latest", - "edge-v0.8.143", - "edge-31470a09", - "edge-latest", - "playground-da1b8238" - ], - "image_name": "docker.io/meshery/meshery", - "subcategory": "Provisioning" - }, - { - "name": "Meshery (Wasm)", - "description": "MESHERY IS A CLOUD NATIVE COMPUTING FOUNDATION PROJECT A self-service engineering platform, Meshery, is the open source, cloud native manager that enables the design and management of all Kubernetes-based infrastructure and applications (multi-cloud).", - "github_release_url": "https://api.github.com/repos/meshery/meshery/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/openpolicyagent/opa-wasm-builder/tags/?page=1&page_size=100", - "readme": "https://github.com/meshery/meshery/blob/master/README.md", - "category": "Wasm", - "homepage": "https://meshery.io", - "github_releases": [ - "v0.8.143", - "v0.8.142", - "v0.8.141", - "v0.8.140", - "v0.8.139", - "v0.8.138", - "v0.8.137", - "v0.8.136", - "v0.8.135", - "v0.8.134" - ], - "image_tags": [ - "1.6", - "1.5", - "1.4", - "1.3", - "1.2", - "1.1", - "1.0" - ], - "image_name": "docker.io/openpolicyagent/opa-wasm-builder", - "docker_help_command": "/binaryen/bin/wasm-dis --help", - "subcategory": "WebAssembly Runtime" - }, - { - "name": "MetalLB", - "description": "A network load-balancer implementation for Kubernetes using standard routing protocols.", - "github_release_url": "https://api.github.com/repos/metallb/metallb/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/bitnamicharts/metallb/tags/?page=1&page_size=100", - "readme": "https://github.com/metallb/metallb/blob/main/README.md", - "category": "Orchestration & Management", - "homepage": "https://metallb.universe.tf", - "github_releases": [ - "v0.15.2", - "metallb-chart-0.15.2", - "metallb-chart-0.15.1", - "v0.15.0", - "metallb-chart-0.15.0", - "v0.14.9", - "metallb-chart-0.14.9", - "v0.14.8", - "metallb-chart-0.14.8", - "v0.14.7" - ], - "image_tags": [ - "sha256-4de663583abf358df238b6ccea8749efa73aae3891ee74a814ca29b799068b39", - "6.4.22", - "sha256-e6cea151d859afe9660ffd61d06e59fafb9ef13e36d1c1d07286857ca9452cbe", - "6.4.21", - "sha256-551390736fd3bd9de74f56ca36c381bc35e78a350dee018a95ef4796beea10a1", - "6.4.20", - "sha256-08b5c8702764a6519ebaf592b41b3cd86bf4741dc68244b766b86fe37553187d", - "6.4.19", - "sha256-5820b96810750cceb4ebc34c547a122511e9781343ded5c06192d4afe16bf17d", - "6.4.18" - ], - "image_name": "docker.io/bitnamicharts/metallb", - "subcategory": "Management" - }, - { - "name": "Metal\u00b3", - "description": "Bare metal host provisioning integration for Kubernetes.", - "github_release_url": "https://api.github.com/repos/metal3-io/baremetal-operator/releases?per_page=100&page=1", - "docker_tags_url": "https://quay.io/api/v1/repository/metal3-io/baremetal-operator/tag/?page=1&limit=100", - "readme": "https://github.com/metal3-io/baremetal-operator/blob/main/README.md", - "category": "Provisioning", - "homepage": "https://metal3.io/", - "github_releases": [ - "v0.11.1", - "v0.10.4", - "v0.11.0", - "v0.10.3", - "v0.9.3", - "v0.11.0-rc.0", - "v0.11.0-alpha.0", - "v0.9.2", - "v0.10.2", - "v0.10.1" - ], - "image_tags": [ - "main_2025-09-24_afd8f3c76677c40d8552d32f4ade50083e388c93", - "main_2025-09-24_92550dfd1a8c1e6b0318afb609e43b6d5911b826", - "latest", - "main_2025-10-22_6d8d2f6ae40086ae65f3596cb6062747f7b9ef88", - "main", - "latest", - "main_2025-10-15_f51814d6a88bfb3e50f789b56b10b8c0f63c8328", - "main", - "v0.11.1_2025-10-15_963776bedd06c2d6f4ff4fbb8c065d73f85427da", - "v0.11.1" - ], - "image_name": "quay.io/metal3-io/baremetal-operator", - "notes": "Changed to correct Metal3 repository on Quay.io", - "subcategory": "Provisioning" - }, - { - "name": "Microcks", - "description": "The open source, cloud native tool for API Mocking and Testing.", - "github_release_url": "https://api.github.com/repos/microcks/microcks/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/microcks/microcks/tags/?page=1&page_size=100", - "readme": "https://github.com/microcks/microcks/blob/master/README.md", - "category": "App Definition and Development", - "homepage": "https://microcks.io", - "github_releases": [ - "1.12.1", - "1.12.0", - "1.11.2", - "1.11.1", - "1.11.0-fix-3", - "1.11.0-fix-2", - "1.11.0-fix-1", - "1.11.0", - "1.10.1-fix-1", - "1.10.1" - ], - "image_tags": [ - "sha256-359ee5e8da4fe41e1d3de33bf25b5867aad28d73e51c2614a2c31956129c1d30.sig", - "nightly", - "sha256-bbd58018811e47ba46bb728ee7ab150adbf426e26efffa3eb2f49e20a4d98af7.sig", - "sha256-07d489c983f81a75d17b4b47d6a049fb9625a8ab3a521512b6f2cae3cb3bd248.sig", - "sha256-c2b30e81b2e02aef3f723aa4d1b7f00e0d76a8f4ec694e80ccc757094b1b3599.sig", - "sha256-13ebaf56f5e1e89c6319c4140f9260385a25d751cfbcd4e2f00756325c738874.sig", - "sha256-31ce662a1f68090f69dd8e66587bac071b876627cac8954ec112bb2acbdc391c.sig", - "sha256-eaf4dc2e75a0ba3355ec381effe0ab7bc8b5e33afef9c8534cb0d03478d5a85c.sig", - "sha256-ef2fb4bbe94147512e16416218c28f0ffc8a96654ff3a9485a9160691ce4dec4.sig", - "sha256-89b8ee5b15e991e91eebea741188d947611a795545c45541b8d2327457124264.sig" - ], - "image_name": "docker.io/microcks/microcks", - "subcategory": "Application Development" - }, - { - "name": "ModelPack", - "description": "The project establishes open standards for packaging, distributing and running AI artifacts in the cloud-native environment.", - "github_release_url": "https://api.github.com/repos/modelpack/model-spec/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/deepview/modelpack/tags/?page=1&page_size=100", - "readme": "https://github.com/modelpack/model-spec/blob/main/README.md", - "category": "App Definition and Development", - "homepage": "https://github.com/modelpack/model-spec", - "github_releases": [], - "image_tags": [ - "3.0.62", - "3.0.61", - "3.0.60", - "3.0.59", - "3.0.58", - "3.0.47", - "test", - "2.2.12", - "2.2.11", - "2.2.10" - ], - "image_name": "docker.io/deepview/modelpack", - "subcategory": "Application Development" - }, - { - "name": "NATS", - "description": "Connective technology for distributed systems providing messaging, streaming, and key-value storage for cloud, edge, and hybrid deployments.", - "github_release_url": "https://api.github.com/repos/nats-io/nats-server/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/library/nats/tags/?page=1&page_size=100", - "readme": "https://github.com/nats-io/nats-server/blob/main/README.md", - "category": "App Definition and Development", - "homepage": "https://nats.io/", - "github_releases": [ - "v2.12.1", - "v2.12.1-RC.5", - "v2.12.1-RC.4", - "v2.12.1-RC.3", - "v2.12.1-RC.2", - "v2.11.10", - "v2.12.1-RC.1", - "v2.11.10-RC.1", - "v2.12.0", - "v2.12.0-RC.6" - ], - "image_tags": [ - "windowsservercore-ltsc2022", - "windowsservercore", - "nanoserver-ltsc2022", - "nanoserver", - "latest", - "2.12.1-windowsservercore-ltsc2022", - "2.12.1-windowsservercore", - "2.12.1-nanoserver-ltsc2022", - "2.12.1-nanoserver", - "2.12.1" - ], - "image_name": "docker.io/nats", - "docker_help_command": "--help", - "subcategory": "Application Development" - }, - { - "name": "Network Service Mesh", - "description": "CNCF is an open source software foundation that hosts and nurtures projects like Kubernetes and Prometheus.", - "github_release_url": "https://api.github.com/repos/networkservicemesh/api/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/library/geonetwork/tags/?page=1&page_size=100", - "readme": "https://github.com/networkservicemesh/api/blob/main/README.md", - "category": "Runtime", - "homepage": "https://networkservicemesh.io/", - "github_releases": [ - "v1.15.0-rc.2", - "v1.15.0", - "v1.15.0-rc.1", - "v1.14.5-rc.3", - "v1.14.5-rc.2", - "v1.14.5-rc.1", - "v1.14.5", - "v1.14.4-rc.2", - "v1.14.4-rc.1", - "v1.14.4" - ], - "image_tags": [ - "3.12.12-postgres", - "3.12.12", - "3.12-postgres", - "3.12", - "3-postgres", - "3", - "latest", - "4.4.9", - "4.4", - "4.2.14" - ], - "image_name": "docker.io/geonetwork", - "docker_help_command": "-h", - "subcategory": "Container Runtime" - }, - { - "name": "Nocalhost", - "description": "Cloud native development environment for Kubernetes - enables developers to code, debug, and test directly in Kubernetes clusters.", - "github_release_url": "https://api.github.com/repos/nocalhost/nocalhost/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/go2sheep/nocalhost/tags/?page=1&page_size=100", - "readme": "https://github.com/nocalhost/nocalhost/blob/main/README.md", - "category": "App Definition and Development", - "homepage": "https://nocalhost.dev", - "github_releases": [ - "v0.6.34", - "v0.6.33", - "v0.6.32", - "v0.6.31", - "v0.6.29", - "v0.6.28", - "v0.6.26", - "v0.6.25", - "v0.6.23", - "v0.6.21" - ], - "image_tags": [ - "golang-1.23.8", - "golang-1.23", - "golang-1.22", - "golang-1.21", - "golang-1.20" - ], - "image_name": "docker.io/go2sheep/nocalhost", - "docker_help_command": "--help", - "subcategory": "Application Development" - }, - { - "name": "Notary Project", - "description": "Notation is a CLI project to add signatures as standard items in the OCI registry ecosystem, and to build a set of simple tooling for signing and verifying these signatures.", - "github_release_url": "https://api.github.com/repos/notaryproject/notation/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/library/notary/tags/?page=1&page_size=100", - "readme": "https://github.com/notaryproject/notation/blob/main/README.md", - "category": "Provisioning", - "homepage": "https://notaryproject.dev/", - "github_releases": [ - "v1.3.2", - "v2.0.0-alpha.1", - "v1.3.1", - "v1.3.0", - "v1.3.0-rc.2", - "v1.1.2", - "v1.3.0-rc.1", - "v1.2.0", - "v1.2.0-rc.1", - "v1.2.0-beta.1" - ], - "image_tags": [ - "signer-0.7.0", - "signer", - "server-0.7.0", - "server", - "signer-0.6.1-2", - "server-0.6.1-2", - "signer-0.6.1-1", - "server-0.6.1-1", - "signer-0.6.1", - "server-0.6.1" - ], - "image_name": "docker.io/notary", - "docker_help_command": "--help", - "subcategory": "Provisioning" - }, - { - "name": "Open Cluster Management", - "description": "Core components in the OCM project Report here if you found any issues in OCM.", - "github_release_url": "https://api.github.com/repos/open-cluster-management-io/ocm/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/library/openjdk/tags/?page=1&page_size=100", - "readme": "https://github.com/open-cluster-management-io/ocm/blob/main/README.md", - "category": "Orchestration & Management", - "homepage": "https://open-cluster-management.io/", - "github_releases": [ - "v1.1.0", - "v1.0.0", - "v0.16.1", - "v0.16.0", - "v0.15.2", - "v0.15.1", - "v0.15.0", - "v0.14.0", - "v0.13.3", - "v0.13.2" - ], - "image_tags": [ - "26-windowsservercore-ltsc2025", - "26-windowsservercore-ltsc2022", - "26-windowsservercore", - "26-nanoserver-ltsc2025", - "26-nanoserver-ltsc2022", - "26-nanoserver", - "26-jdk-windowsservercore-ltsc2025", - "26-jdk-windowsservercore-ltsc2022", - "26-jdk-windowsservercore", - "26-jdk-nanoserver-ltsc2025" - ], - "image_name": "docker.io/openjdk", - "subcategory": "Management" - }, - { - "name": "Open Policy Agent (OPA)", - "description": "Open Policy Agent (OPA) is an open source, general-purpose policy engine.", - "github_release_url": "https://api.github.com/repos/open-policy-agent/opa/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/openpolicyagent/gatekeeper/tags/?page=1&page_size=100", - "readme": "https://github.com/open-policy-agent/opa/blob/main/README.md", - "category": "Provisioning", - "homepage": "https://www.openpolicyagent.org/", - "github_releases": [ - "v1.9.0", - "v1.8.0", - "v1.7.1", - "v1.7.0", - "v1.6.0", - "v1.5.1", - "v1.5.0", - "v1.4.2", - "v1.4.1", - "v1.4.0" - ], - "image_tags": [ - "dev", - "23c9370", - "805e949", - "14af570", - "284b889", - "3ae0f59", - "318435f", - "83b1048", - "0976c71", - "7b3b50e" - ], - "image_name": "docker.io/openpolicyagent/gatekeeper", - "docker_help_command": "--help", - "subcategory": "Provisioning" - }, - { - "name": "Open Policy Containers", - "description": "A docker-inspired CLI for building, tagging, pushing, pulling, and signing OPA policies to and from OCI-compliant registries.", - "github_release_url": "https://api.github.com/repos/opcr-io/policy/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/library/openjdk/tags/?page=1&page_size=100", - "readme": "https://github.com/opcr-io/policy/blob/main/README.md", - "category": "Provisioning", - "homepage": "https://openpolicycontainers.com", - "github_releases": [ - "v0.3.1", - "v0.3.0", - "v0.3.0-rc3", - "v0.2.22", - "v0.2.21", - "v0.2.20", - "v0.2.19", - "v0.2.18", - "v0.2.17", - "v0.2.16" - ], - "image_tags": [ - "26-windowsservercore-ltsc2025", - "26-windowsservercore-ltsc2022", - "26-windowsservercore", - "26-nanoserver-ltsc2025", - "26-nanoserver-ltsc2022", - "26-nanoserver", - "26-jdk-windowsservercore-ltsc2025", - "26-jdk-windowsservercore-ltsc2022", - "26-jdk-windowsservercore", - "26-jdk-nanoserver-ltsc2025" - ], - "image_name": "docker.io/openjdk", - "subcategory": "Provisioning" - }, - { - "name": "Open Service Mesh", - "description": "Open Service Mesh (OSM) is a lightweight, extensible, cloud native service mesh that allows users to uniformly manage, secure,.", - "github_release_url": "https://api.github.com/repos/openservicemesh/osm/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/library/openjdk/tags/?page=1&page_size=100", - "readme": "https://github.com/openservicemesh/osm/blob/main/README.md", - "category": "Orchestration & Management", - "homepage": "https://openservicemesh.io/", - "github_releases": [ - "v1.2.4", - "v1.1.4", - "v1.2.3", - "v1.2.2", - "v1.1.3", - "v1.2.1", - "v1.1.2", - "v1.2.0", - "v1.2.0-rc.1", - "v1.1.1" - ], - "image_tags": [ - "26-windowsservercore-ltsc2025", - "26-windowsservercore-ltsc2022", - "26-windowsservercore", - "26-nanoserver-ltsc2025", - "26-nanoserver-ltsc2022", - "26-nanoserver", - "26-jdk-windowsservercore-ltsc2025", - "26-jdk-windowsservercore-ltsc2022", - "26-jdk-windowsservercore", - "26-jdk-nanoserver-ltsc2025" - ], - "image_name": "docker.io/openjdk", - "subcategory": "Service Mesh" - }, - { - "name": "OpenCost", - "description": "OpenCost provides visibility into current and historical Kubernetes spend and resource allocation.", - "github_release_url": "https://api.github.com/repos/opencost/opencost/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/randoli/opencost/tags/?page=1&page_size=100", - "readme": "https://github.com/opencost/opencost/blob/master/README.md", - "category": "Observability and Analysis", - "homepage": "https://www.opencost.io/", - "github_releases": [ - "v1.118.0", - "v1.117.6", - "v1.117.5", - "v1.117.4", - "v1.117.3", - "v1.117.2", - "v1.117.1", - "v1.117.0", - "v1.116.0", - "v1.115.0" - ], - "image_tags": [ - "1.115.3", - "1.115.3-arm64", - "1.115.3-amd64", - "1.115.3-bkp", - "1.115.4", - "1.115.4-arm64", - "dev1", - "1.115.4-amd64", - "dev1-build", - "1.115.3-2" - ], - "image_name": "docker.io/randoli/opencost", - "docker_help_command": "/bin/opencost --help", - "subcategory": "Observability" - }, - { - "name": "OpenEBS", - "description": "A popular & widely deployed Open Source Container Native Storage platform for Stateful Persistent Applications on Kubernetes.", - "github_release_url": "https://api.github.com/repos/openebs/openebs/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/openebs/provisioner-localpv/tags/?page=1&page_size=100", - "readme": "https://github.com/openebs/openebs/blob/main/README.md", - "category": "Runtime", - "homepage": "https://www.openebs.io/", - "github_releases": [ - "v4.3.3", - "v4.3.2", - "v4.3.1", - "v4.3.0", - "v4.3.0-rc.0", - "v4.2.0", - "openebs-4.2.0", - "v4.1.3", - "openebs-4.1.3", - "v4.1.2" - ], - "image_tags": [ - "4.4.0-develop", - "4.3.1-prerelease", - "4.3.0", - "4.3.0-prerelease", - "4.3.0-develop", - "4.2.0", - "4.2.0-prerelease", - "4.2.0-develop", - "4.1.5-prerelease", - "4.1.4" - ], - "image_name": "docker.io/openebs/provisioner-localpv", - "docker_help_command": "--help", - "subcategory": "Container Runtime" - }, - { - "name": "OpenELB", - "description": "Load Balancer Implementation for Kubernetes in Bare-Metal, Edge, and Virtualization.", - "github_release_url": "https://api.github.com/repos/openelb/openelb/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/kubesphere/openelb/tags/?page=1&page_size=100", - "readme": "https://github.com/openelb/openelb/blob/master/README.md", - "category": "Orchestration & Management", - "homepage": "https://openelb.github.io", - "github_releases": [ - "v0.6.0", - "v0.5.1", - "v0.5.0", - "v0.4.4", - "v0.4.3", - "v0.4.2", - "v0.4.1", - "v0.4.0", - "v0.3.1", - "v0.3.0" - ], - "image_tags": [ - "sha-d684cfc2", - "master", - "sha-bdd6549f", - "sha-1f9c7bd2", - "sha-b5fffdd7", - "sha-683938d2", - "sha-4bf92dfe", - "sha-71036c91", - "sha-48334f67", - "sha-d2b344cd" - ], - "image_name": "docker.io/kubesphere/openelb", - "docker_help_command": "/usr/local/bin/openelb-manager --help", - "subcategory": "Management" - }, - { - "name": "OpenFeature", - "description": "CNCF standard for feature flagging - provides vendor-agnostic API and SDK for feature flag management across languages.", - "github_release_url": "https://api.github.com/repos/open-feature/spec/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/chihhuiw/openfeature/tags/?page=1&page_size=100", - "readme": "https://github.com/open-feature/spec/blob/main/README.md", - "category": "Observability and Analysis", - "homepage": "https://openfeature.dev/", - "github_releases": [ - "v0.8.0", - "v0.7.0", - "v0.6.0", - "v0.5.2", - "v0.5.1", - "v0.5.0", - "v0.4.0", - "v0.3.1", - "v0.3.0", - "v0.2.0" - ], - "image_tags": [ - "lab02" - ], - "image_name": "docker.io/chihhuiw/openfeature", - "subcategory": "Observability" - }, - { - "name": "OpenFGA", - "description": "OpenFGA is a high performance and flexible authorization/permission system built for developers and inspired by Google Zanzibar.", - "github_release_url": "https://api.github.com/repos/openfga/openfga/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/openfga/openfga/tags/?page=1&page_size=100", - "readme": "https://github.com/openfga/openfga/blob/main/README.md", - "category": "Provisioning", - "homepage": "https://openfga.dev", - "github_releases": [ - "v1.10.3", - "v1.10.2", - "v1.10.1", - "v1.10.0", - "v1.9.5", - "v1.9.4", - "v1.9.3", - "v1.9.2", - "v1.9.0", - "v1.8.16" - ], - "image_tags": [ - "sha256-79df38493e1c7bfa3b23a63df96fc6e630922e5c9dc63ad3052eddcaf4da1761.att", - "sha256-79df38493e1c7bfa3b23a63df96fc6e630922e5c9dc63ad3052eddcaf4da1761.sig", - "v1.10.3", - "v1.10", - "v1", - "latest", - "v1.10.3-arm64", - "v1.10-arm64", - "v1-arm64", - "latest-arm64" - ], - "image_name": "docker.io/openfga/openfga", - "docker_help_command": "--help", - "subcategory": "Provisioning" - }, - { - "name": "OpenFunction", - "description": "Cloud Native Function-as-a-Service Platform (CNCF Sandbox Project).", - "github_release_url": "https://api.github.com/repos/OpenFunction/OpenFunction/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/openfunction/openfunction/tags/?page=1&page_size=100", - "readme": "https://github.com/OpenFunction/OpenFunction/blob/main/README.md", - "category": "Orchestration & Management", - "homepage": "https://openfunction.dev", - "github_releases": [ - "v1.2.0", - "v1.1.1", - "v1.1.0", - "v1.0.0", - "v1.0.0-rc.0", - "v0.8.1", - "v0.8.1-rc.0", - "v0.8.0", - "v0.8.0-rc.0", - "v0.7.0" - ], - "image_tags": [ - "v1.2.0", - "latest", - "v1.1.1", - "v1.1.0", - "v1.0.0", - "v1.0.0-rc.0", - "v0.8.1", - "v0.8.1-rc.0", - "v0.8.0", - "v0.8.0-rc.0" - ], - "image_name": "docker.io/openfunction/openfunction", - "docker_help_command": "--help", - "subcategory": "Management" - }, - { - "name": "openGemini", - "description": "OpenGemini is an open source distributed time series DBMS with high concurrency, high performance, and high scalability, focusing on the storage and analysis of massive observability data.", - "github_release_url": "https://api.github.com/repos/openGemini/openGemini/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/ttbb/opengemini/tags/?page=1&page_size=100", - "readme": "https://github.com/openGemini/openGemini/blob/main/README.md", - "category": "App Definition and Development", - "homepage": "https://www.opengemini.org", - "github_releases": [ - "v1.4.3", - "v1.4.1", - "v1.4.0", - "v1.3.1", - "v1.3.0", - "v1.3.0-rc.1", - "v1.2.0", - "v1.1.1", - "v1.1.0", - "v1.1.0-rc1" - ], - "image_tags": [ - "mate", - "nake", - "compiler" - ], - "image_name": "docker.io/ttbb/opengemini", - "docker_help_command": "/usr/bin/dumb-init --help", - "subcategory": "Application Development" - }, - { - "name": "OpenGitOps", - "description": "Repository for top-level information about the OpenGitOps project.", - "github_release_url": "https://api.github.com/repos/open-gitops/project/releases?per_page=100&page=1", - "docker_tags_url": "", - "readme": "https://github.com/open-gitops/project/blob/main/README.md", - "category": "App Definition and Development", - "homepage": "https://opengitops.dev/", - "github_releases": [], - "deprecated": true, - "subcategory": "Application Development" - }, - { - "name": "OpenKruise", - "description": "Automated management of large-scale applications on Kubernetes (incubating project under CNCF).", - "github_release_url": "https://api.github.com/repos/openkruise/kruise/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/openkruise/kruise-manager/tags/?page=1&page_size=100", - "readme": "https://github.com/openkruise/kruise/blob/master/README.md", - "category": "App Definition and Development", - "homepage": "https://openkruise.io/", - "github_releases": [ - "v1.8.2", - "v1.8.1", - "v1.7.4", - "v1.8.0", - "v1.7.3", - "v1.7.2", - "v1.5.5", - "v1.6.4", - "v1.7.1", - "v1.7.0" - ], - "image_tags": [ - "v1.8.2", - "v1.8.1", - "v1.7.4", - "v1.8.0", - "v1.7.3", - "v1.7.2", - "v1.6.4", - "v1.5.5", - "v1.7.1", - "v1.7.0" - ], - "image_name": "docker.io/openkruise/kruise-manager", - "docker_help_command": "--help", - "subcategory": "Application Development" - }, - { - "name": "OpenMetrics", - "description": "Evolving the Prometheus exposition format into a standard.", - "github_release_url": "https://api.github.com/repos/prometheus/OpenMetrics/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/lesterthomas/openmetrics/tags/?page=1&page_size=100", - "readme": "https://github.com/prometheus/OpenMetrics/blob/main/README.md", - "category": "Observability and Analysis", - "homepage": "https://openmetrics.io/", - "github_releases": [ - "v1.0.0" - ], - "image_tags": [ - "1.1", - "1.0" - ], - "image_name": "docker.io/lesterthomas/openmetrics", - "docker_help_command": "--help", - "subcategory": "Observability" - }, - { - "name": "OpenTelemetry", - "description": "Table of Contents Get Involved Governing Bodies Areas of Interest Communication Mailing Lists Logos and Brand Guide Special Interest Groups Specification SIGs Implementation SIGs Related groups.", - "github_release_url": "https://api.github.com/repos/open-telemetry/community/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/paketobuildpacks/opentelemetry/tags/?page=1&page_size=100", - "readme": "https://github.com/open-telemetry/community/blob/main/README.md", - "category": "Observability and Analysis", - "homepage": "https://opentelemetry.io/", - "github_releases": [], - "image_tags": [ - "latest", - "2", - "2.17", - "2.17.0", - "2.16", - "2.16.1", - "2.16.0", - "2.15", - "2.15.0", - "2.14" - ], - "image_name": "docker.io/paketobuildpacks/opentelemetry", - "subcategory": "Observability" - }, - { - "name": "OpenTofu", - "description": "OpenTofu is an open source infrastructure as code tool that enables users to safely and predictably provision and manage cloud and on-prem infrastructure.", - "github_release_url": "https://api.github.com/repos/opentofu/opentofu/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/oowy/opentofu/tags/?page=1&page_size=100", - "readme": "https://github.com/opentofu/opentofu/blob/main/README.md", - "category": "Provisioning", - "homepage": "https://opentofu.org/", - "github_releases": [ - "v1.11.0-beta1", - "v1.10.6", - "v1.9.4", - "v1.10.5", - "v1.10.4", - "v1.9.3", - "v1.8.11", - "v1.7.10", - "v1.10.3", - "v1.9.2" - ], - "image_tags": [ - "latest", - "1.10.6-alpine3.20", - "1.10.5-alpine3.20", - "1.10.4-alpine3.20", - "1.10.3-alpine3.20", - "1.10.2-alpine3.20", - "1.10.1-alpine3.20", - "1.10.0-alpine3.20", - "1.9.3-alpine3.20", - "1.9.2-alpine3.20" - ], - "image_name": "docker.io/oowy/opentofu", - "docker_help_command": "tofu --help", - "subcategory": "Provisioning" - }, - { - "name": "OpenTracing", - "description": "Vendor-neutral APIs and instrumentation for distributed tracing (deprecated, superseded by OpenTelemetry).", - "github_release_url": "https://api.github.com/repos/opentracing/opentracing-go/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/opentracing/nginx-opentracing/tags/?page=1&page_size=100", - "readme": "https://github.com/opentracing/opentracing-go/blob/master/README.md", - "category": "Observability and Analysis", - "homepage": "https://opentracing.io/", - "github_releases": [ - "v1.2.0", - "v1.1.0", - "v1.0.2", - "v1.0.0", - "v0.10.0", - "v0.9.0" - ], - "image_tags": [ - "edge-alpine", - "edge", - "latest", - "nginx-1.29.1", - "0.41.0", - "latest-alpine", - "nginx-1.29.1-alpine", - "0.41.0-alpine", - "nginx-1.27.5", - "0.40.0" - ], - "image_name": "docker.io/opentracing/nginx-opentracing", - "docker_help_command": "/etc/init.d/nginx-debug --help", - "subcategory": "Distributed Tracing" - }, - { - "name": "OpenYurt", - "description": "An open platform that extending your native Kubernetes to edge.", - "github_release_url": "https://api.github.com/repos/openyurtio/openyurt/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/openyurt/yurthub/tags/?page=1&page_size=100", - "readme": "https://github.com/openyurtio/openyurt/blob/master/README.md", - "category": "Provisioning", - "homepage": "https://openyurt.io/", - "github_releases": [ - "v1.6.1", - "v1.6.0", - "v1.5.1", - "v1.5.0", - "v1.4.4", - "v1.4.3", - "v1.4.2", - "v1.4.1", - "v1.4.0", - "v1.2.2" - ], - "image_tags": [ - "latest", - "v1.6.1", - "v1.6.0", - "v1.5.1", - "v1.5.0", - "v1.4.4", - "v1.4.3", - "v1.4.2", - "v1.4.1", - "v1.4.0" - ], - "image_name": "docker.io/openyurt/yurthub", - "docker_help_command": "--help", - "subcategory": "Provisioning" - }, - { - "name": "Operator Framework", - "description": "SDK for building Kubernetes applications Provides high level APIs, useful abstractions, and project scaffolding.", - "github_release_url": "https://api.github.com/repos/operator-framework/operator-sdk/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/cclose/operator-framework/tags/?page=1&page_size=100", - "readme": "https://github.com/operator-framework/operator-sdk/blob/master/README.md", - "category": "App Definition and Development", - "homepage": "https://operatorframework.io/", - "github_releases": [ - "v1.41.1", - "v1.41.0", - "v1.40.0", - "v1.39.2", - "v1.39.1", - "v1.39.0", - "v1.38.0", - "v1.37.0", - "v1.36.1", - "v1.36.0" - ], - "image_tags": [ - "latest", - "v1.34.1-bookworm", - "v1.34.1", - "v1.34", - "v1" - ], - "image_name": "docker.io/cclose/operator-framework", - "docker_help_command": "/usr/local/bin/operator-sdk --help", - "subcategory": "Application Development" - }, - { - "name": "ORAS", - "description": "OCI registry client - managing content like artifacts, images, packages.", - "github_release_url": "https://api.github.com/repos/oras-project/oras/releases?per_page=100&page=1", - "docker_tags_url": "https://quay.io/api/v1/repository/konflux-ci/oras/tag/?page=1&limit=100", - "readme": "https://github.com/oras-project/oras/blob/main/README.md", - "category": "Runtime", - "homepage": "https://oras.land/", - "github_releases": [ - "v1.3.0", - "v1.3.0-rc.2", - "v1.3.0-rc.1", - "v1.3.0-beta.4", - "v1.2.3", - "v1.3.0-beta.3", - "v1.3.0-beta.2", - "v1.2.2", - "v1.3.0-beta.1", - "v1.2.1" - ], - "image_tags": [ - "4542f5a2a046ca36653749a8985e46744a5d2d36ee10ca14409be718ce15129e", - "184df7d26645f83e378168c4331fdcd39d95894d", - "latest", - "sha256-4542f5a2a046ca36653749a8985e46744a5d2d36ee10ca14409be718ce15129e", - "184df7d", - "sha256-ff8241f39495d47330e83eb83a77a7726b2c4c28f32e6df0c498cf702195047e", - "sha256-ff8241f39495d47330e83eb83a77a7726b2c4c28f32e6df0c498cf702195047e.sbom", - "sha256-ff8241f39495d47330e83eb83a77a7726b2c4c28f32e6df0c498cf702195047e.sig", - "sha256-ff8241f39495d47330e83eb83a77a7726b2c4c28f32e6df0c498cf702195047e.sbom", - "sha256-ff8241f39495d47330e83eb83a77a7726b2c4c28f32e6df0c498cf702195047e.sbom" - ], - "image_name": "quay.io/konflux-ci/oras", - "docker_help_command": "--help", - "subcategory": "Container Runtime" - }, - { - "name": "OSCAL-COMPASS", - "description": "The OSCAL COMPASS project is set of tools that enable the creation, validation, and governance of documentation artifacts for compliance needs.", - "github_release_url": "https://api.github.com/repos/oscal-compass/compliance-trestle/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/rancher/rio-autoscaler/tags/?page=1&page_size=100", - "readme": "https://github.com/oscal-compass/compliance-trestle/blob/main/README.md", - "category": "Provisioning", - "homepage": "https://github.com/oscal-compass/community", - "github_releases": [ - "v3.9.3", - "v3.9.2", - "v3.9.1", - "v3.9.0", - "v3.8.1", - "v3.8.0", - "v3.7.0", - "v3.6.0", - "v3.5.0", - "v3.4.0" - ], - "image_tags": [ - "v0.1.6", - "v0.1.6-arm", - "v0.1.6-arm64", - "v0.1.6-amd64", - "v0.1.5", - "v0.1.5-arm", - "v0.1.5-amd64", - "v0.1.5-arm64", - "v0.1.4", - "v0.1.4-arm" - ], - "image_name": "docker.io/rancher/rio-autoscaler", - "docker_help_command": "/usr/bin/rio-autoscaler --help", - "subcategory": "Provisioning" - }, - { - "name": "OVN-Kubernetes", - "description": "Kubernetes networking solution based on Open Virtual Network (OVN) providing network virtualization and security.", - "github_release_url": "https://api.github.com/repos/ovn-kubernetes/ovn-kubernetes/releases?per_page=100&page=1", - "docker_tags_url": "https://quay.io/api/v1/repository/openshift/origin-ovn-kubernetes/tag/?page=1&limit=100", - "readme": "https://github.com/ovn-kubernetes/ovn-kubernetes/blob/master/README.md", - "category": "Runtime", - "homepage": "https://ovn-kubernetes.io/", - "github_releases": [ - "v1.1.0", - "v1.1.0-beta", - "v1.1.0-alpha", - "v1.0.0", - "v1.0.0-beta", - "v1.0.0-alpha", - "v0.3.0", - "v0.2.0", - "v0.1.0" - ], - "image_tags": [ - "4.16.0", - "4.16", - "latest", - "4.21.0", - "4.21", - "4.20.0", - "4.20", - "4.19.0", - "4.19", - "4.18.0" - ], - "image_name": "quay.io/openshift/origin-ovn-kubernetes", - "docker_help_command": "--help", - "subcategory": "Container Runtime" - }, - { - "name": "Paralus", - "description": "Paralus is a free, open source tool that enables controlled, audited access to Kubernetes infrastructure and Zero trust Kubernetes with zero friction.", - "github_release_url": "https://api.github.com/repos/paralus/paralus/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/paralusio/paralus/tags/?page=1&page_size=100", - "readme": "https://github.com/paralus/paralus/blob/main/README.md", - "category": "Provisioning", - "homepage": "https://www.paralus.io/", - "github_releases": [ - "v0.2.9", - "v0.2.8", - "v0.2.7", - "v0.2.6", - "v0.2.5", - "v0.2.4", - "v0.2.3", - "v0.2.2", - "v0.2.1", - "v0.2.0" - ], - "image_tags": [ - "sha256-a79ba8343abf2ee0b6fcc6994823bfd62c0646eb03e381ea3e0909d3cbb4db68.sig", - "latest", - "v0.2.9", - "sha256-21b0a0293c8ad30c2760fdedd3f5c0835978217292b900ceaf77d483481e2fda.sig", - "v0.2.8", - "sha256-c6f0715ce14d90923dc62ee9d2cad458e58cdecfac9e320fe962f60a63bcdb8a.sig", - "v0.2.7", - "sha256-35fda5fd24be4ab402e7261ac32679aef0b3915853c851cccccabc4958a38661.sig", - "v0.2.6", - "sha256-d0f53b268f24fe424431cc7d3a2e85d3a03d0c0d16d48322120ba8b33267d37d.sig" - ], - "image_name": "docker.io/paralusio/paralus", - "docker_help_command": "/bin/sh --help", - "subcategory": "Provisioning" - }, - { - "name": "Parsec", - "description": "Platform AbstRaction for SECurity - provides common API to hardware security and cryptographic services across diverse platforms.", - "github_release_url": "https://api.github.com/repos/parallaxsecond/parsec/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/anakli/parsec/tags/?page=1&page_size=100", - "readme": "https://github.com/parallaxsecond/parsec/blob/main/README.md", - "category": "Provisioning", - "homepage": "https://parsec.community/", - "github_releases": [ - "1.4.0", - "1.3.0", - "1.2.0", - "1.1.0", - "1.0.0", - "0.8.1", - "0.7.0", - "0.6.0", - "0.5.0" - ], - "image_tags": [ - "simlarge", - "splash2x-fft-native-reduced", - "canneal-native-reduced", - "freqmine-native-reduced", - "ferret-native-reduced", - "splash2x-cholesky-native-reduced", - "fluidanimate-native-reduced", - "facesim-native-reduced", - "blackscholes-native-reduced", - "dedup-native-reduced" - ], - "image_name": "docker.io/anakli/parsec", - "subcategory": "Provisioning" - }, - { - "name": "Perses", - "description": "Perses is a dashboard tool to visualize observability data from Prometheus/Thanos/Jaeger.", - "github_release_url": "https://api.github.com/repos/perses/perses/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/choderalab/perses/tags/?page=1&page_size=100", - "readme": "https://github.com/perses/perses/blob/main/README.md", - "category": "Observability and Analysis", - "homepage": "https://perses.dev", - "github_releases": [ - "v0.53.0-beta.0", - "v0.52.0", - "v0.52.0-rc.1", - "v0.52.0-rc.0", - "v0.52.0-beta.5", - "v0.52.0-beta.4", - "v0.52.0-beta.3", - "v0.52.0-beta.2", - "v0.52.0-beta.1", - "v0.52.0-beta.0" - ], - "image_tags": [ - "latest", - "0.10.1-dev", - "dev-cuda-11.0-openmm8-beta", - "dev-cuda-11.0-io-openmm8-beta", - "dev-cuda-11.0-cloud-io-openmm-dev", - "dev-cuda-11.0-cloud-io", - "dev-cuda-9.0-cloud-io", - "0.10.0-cuda-11.6.0", - "dev", - "0.9.3-cuda-11.6.0" - ], - "image_name": "docker.io/choderalab/perses", - "docker_help_command": "/opt/conda/bin/perses-cli --help", - "subcategory": "Observability" - }, - { - "name": "PipeCD", - "description": "GitOps style continuous delivery platform that provides consistent deployment and operations experience for any applications.", - "github_release_url": "https://api.github.com/repos/pipe-cd/pipecd/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/funera1/pipecd/tags/?page=1&page_size=100", - "readme": "https://github.com/pipe-cd/pipecd/blob/master/README.md", - "category": "App Definition and Development", - "homepage": "https://pipecd.dev/", - "github_releases": [ - "pipedv1/exp/v1.0.0-alpha1", - "pkg/app/pipedv1/plugin/wait/v0.1.1", - "pkg/app/pipedv1/plugin/terraform/v0.2.1", - "pipedv1/exp/v1.0.0-rc6", - "v0.55.0", - "pkg/app/pipedv1/plugin/waitapproval/v0.2.0", - "pipedv1/exp/v1.0.0-rc5", - "v0.54.2", - "pkg/app/pipedv1/plugin/terraform/v0.2.0", - "pkg/app/pipedv1/plugin/kubernetes/v0.3.0" - ], - "image_tags": [ - "v0.42.0-33-ge4c3457-1679051170", - "v0.42.0-33-ge4c3457-1679050889", - "v0.42.0-32-ga8fc6a5-1679045846", - "v0.42.0-31-g4e75740-1679045576", - "v0.42.0-31-g4e75740-1679045209", - "v0.42.0-26-g292f67e-1678769639", - "v0.42.0-30-g6548e13-1678767542", - "v0.42.0-30-g6548e13-1678767209", - "v0.42.0-30-g6548e13-1678757491", - "v0.42.0-25-gbaa846f-1678442424" - ], - "image_name": "docker.io/funera1/pipecd", - "docker_help_command": "--help", - "subcategory": "Application Development" - }, - { - "name": "Piraeus Datastore", - "description": "The Piraeus Operator manages LINSTOR clusters in Kubernetes.", - "github_release_url": "https://api.github.com/repos/piraeusdatastore/piraeus-operator/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/piraeusdatastore/piraeus-server/tags/?page=1&page_size=100", - "readme": "https://github.com/piraeusdatastore/piraeus-operator/blob/master/README.md", - "category": "Runtime", - "homepage": "https://piraeus.io/", - "github_releases": [ - "v2.9.1", - "v2.9.0", - "v2.8.1", - "v2.8.0", - "v2.7.1", - "v2.7.0", - "v2.6.0", - "v2.5.2", - "v2.5.1", - "v2.5.0" - ], - "image_tags": [ - "latest", - "v1.32.3-1-g8f2ccda3554091093337b9b5a63587d19764fea0", - "v1.32.3", - "v1.32.3-1", - "v1.32.3-1-g05479b154425546a54f978521d7494ba9141a556", - "v1.32.3-1-ge699cb70d70652731a17853746ae27bc8708a6b7", - "v1.32.2-1-g23449280b09cbbd2abffd9f7682322f4179f0d0b", - "v1.32.2", - "v1.32.2-1", - "v1.32.1-1-g23ce8474334461d19dbfe6c955725fbda328c46e" - ], - "image_name": "docker.io/piraeusdatastore/piraeus-server", - "docker_help_command": "--help", - "subcategory": "Container Runtime" - }, - { - "name": "Pixie", - "description": "Open source Kubernetes observability for developers.", - "github_release_url": "https://api.github.com/repos/pixie-io/pixie/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/evanljp/pixie/tags/?page=1&page_size=100", - "readme": "https://github.com/pixie-io/pixie/blob/main/README.md", - "category": "Observability and Analysis", - "homepage": "https://px.dev/", - "github_releases": [ - "release/vizier/v0.14.16-pre-v0.0", - "release/vizier/v0.14.16-pre-main.0", - "release/vizier/v0.14.15", - "release/cloud/v0.1.9", - "release/vizier/v0.14.15-pre-main.0", - "release/cli/v0.8.8", - "release/cli/v0.8.7", - "release/cli/v0.8.5", - "release/cli/v0.8.5-pre-r0.7", - "release/vizier/v0.14.14" - ], - "image_tags": [ - "operator-bundle-0.0.16", - "operator-bundle_index-0.0.1", - "pixie-prod-artifacts-curl-1.0", - "proxy_server_image", - "artifact_tracker_server_image", - "project_manager_server_image", - "vzconn_server_image", - "create_admin_job_image", - "dnsmgr_server_image", - "api_server_image" - ], - "image_name": "docker.io/evanljp/pixie", - "subcategory": "Observability" - }, - { - "name": "Podman Container Tools", - "description": "A set of tools providing full management of container lifecycle, including Podman, Buildah, and Skopeo, which manage containers and images without requiring a daemon or root privileges.", - "github_release_url": "https://api.github.com/repos/containers/podman/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/rancher/rke-tools/tags/?page=1&page_size=100", - "readme": "https://github.com/containers/podman/blob/main/README.md", - "category": "Runtime", - "homepage": "https://podman.io/", - "github_releases": [ - "v5.6.2", - "v5.6.1", - "v5.6.0", - "v5.6.0-rc2", - "v5.6.0-rc1", - "v5.5.2", - "v5.5.1", - "v5.5.0", - "v5.5.0-rc2", - "v5.5.0-rc1" - ], - "image_tags": [ - "v0.1.114", - "v0.1.114-linux-arm64", - "v0.1.114-linux-amd64", - "v0.1.113", - "v0.1.113-linux-arm64", - "v0.1.113-linux-amd64", - "v0.1.112", - "v0.1.112-linux-arm64", - "v0.1.112-linux-amd64", - "v0.1.111" - ], - "image_name": "docker.io/rancher/rke-tools", - "docker_help_command": "-h", - "subcategory": "Container Runtime" - }, - { - "name": "Podman Desktop", - "description": "An open-source tool for developers to work with containers and Kubernetes with an intuitive and user-friendly interface to effortlessly build, manage,.", - "github_release_url": "https://api.github.com/repos/podman-desktop/podman-desktop/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/kasmweb/desktop/tags/?page=1&page_size=100", - "readme": "https://github.com/podman-desktop/podman-desktop/blob/main/README.md", - "category": "App Definition and Development", - "homepage": "https://podman-desktop.io/", - "github_releases": [ - "v1.22.1", - "v1.22.0", - "v1.21.0", - "v1.20.2", - "v1.20.1", - "v1.20.0", - "v1.19.2", - "v1.19.1", - "v1.18.1", - "v1.18.0" - ], - "image_tags": [ - "1.18.0-rolling-daily", - "1.16.1-rolling-daily", - "1.17.0-rolling-daily", - "1.16.0-rolling-daily", - "1.15.0-rolling", - "1.8.0-edge", - "develop", - "1.16.1-rolling-weekly", - "1.16.0-rolling-weekly", - "1.17.0-rolling-weekly" - ], - "image_name": "docker.io/kasmweb/desktop", - "docker_help_command": "/dockerstartup/kasm_default_profile.sh -h", - "subcategory": "Application Development" - }, - { - "name": "Porter", - "description": "Porter enables you to package your application artifact, client tools, configuration and deployment logic together as an installer that you can distribute, and install with a single command.", - "github_release_url": "https://api.github.com/repos/getporter/porter/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/kubespheredev/porter/tags/?page=1&page_size=100", - "readme": "https://github.com/getporter/porter/blob/main/README.md", - "category": "App Definition and Development", - "homepage": "https://porter.sh/", - "github_releases": [ - "canary", - "v1.3.0", - "latest", - "v1.2.1", - "v1.2.0", - "v1.1.1", - "v1.1.0", - "v1.1.0-rc", - "v1.0.17", - "v1.0.16" - ], - "image_tags": [ - "v0.4.1", - "v0.4.2", - "v0.4", - "v0.3-dev", - "abaaa388", - "35226357", - "adfe3be7", - "50ca94f4", - "600adfc3", - "34ed920d" - ], - "image_name": "docker.io/kubespheredev/porter", - "subcategory": "Application Development" - }, - { - "name": "Pravega", - "description": "Pravega - Streaming as a new software defined storage primitive.", - "github_release_url": "https://api.github.com/repos/pravega/pravega/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/pravega/pravega/tags/?page=1&page_size=100", - "readme": "https://github.com/pravega/pravega/blob/master/README.md", - "category": "App Definition and Development", - "homepage": "https://cncf.pravega.io", - "github_releases": [ - "v0.13.0", - "v0.13.0-rc2", - "v0.13.0-rc1", - "v0.13.0-rc0", - "v0.12.0", - "v0.12.0-rc3", - "v0.12.0-rc2", - "v0.12.0-rc1", - "v0.12.0-rc0", - "v0.11.0" - ], - "image_tags": [ - "latest", - "0.13.0", - "0.13.0-rc2", - "0.13.0-rc1", - "0.13.0-rc0", - "0.12.0", - "0.11.0", - "0.10.2", - "0.10.1", - "0.10.0" - ], - "image_name": "docker.io/pravega/pravega", - "subcategory": "Application Development" - }, - { - "name": "Prometheus", - "description": "Monitoring system and time series database for metrics collection.", - "github_release_url": "https://api.github.com/repos/prometheus/prometheus/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/prom/prometheus/tags/?page=1&page_size=100", - "readme": "https://github.com/prometheus/prometheus/blob/main/README.md", - "category": "Observability and Analysis", - "homepage": "https://prometheus.io/", - "github_releases": [ - "v3.7.2", - "v3.7.1", - "v3.7.0", - "v3.7.0-rc.0", - "v3.6.0", - "v3.6.0-rc.1", - "v3.6.0-rc.0", - "v3.5.0", - "v3.5.0-rc.1", - "v3.5.0-rc.0" - ], - "image_tags": [ - "main", - "latest", - "v3.7.2", - "v3.7.1", - "v3.7.0", - "v3.7.0-rc.0", - "v3.6.0", - "v3.6.0-rc.1", - "v3.6.0-rc.0", - "v3.5.0" - ], - "image_name": "docker.io/prom/prometheus", - "docker_help_command": "--help", - "subcategory": "Monitoring" - }, - { - "name": "Radius", - "description": "Radius is a cloud-native application platform that enables developers and the platform engineers that support them to collaborate on delivering.", - "github_release_url": "https://api.github.com/repos/radius-project/radius/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/kanidm/radius/tags/?page=1&page_size=100", - "readme": "https://github.com/radius-project/radius/blob/main/README.md", - "category": "App Definition and Development", - "homepage": "https://radapp.io/", - "github_releases": [ - "v0.52.0", - "v0.52.0-rc1", - "v0.51.0", - "v0.51.0-rc2", - "v0.51.0-rc1", - "v0.50.0", - "v0.50.0-rc5", - "v0.50.0-rc4", - "v0.50.0-rc2", - "v0.49.0" - ], - "image_tags": [ - "1.7.4", - "latest", - "1.8.0-dev", - "devel", - "1.7.3", - "1.7.2", - "1.7.1", - "1.7.0", - "1.7.0-dev", - "1.6.4" - ], - "image_name": "docker.io/kanidm/radius", - "subcategory": "Application Development" - }, - { - "name": "Ratify", - "description": "A verification engine on Kubernetes which enables verification of artifact security metadata and admits for deployment only those that comply with policies you create.", - "github_release_url": "https://api.github.com/repos/notaryproject/ratify/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/daystram/ratify/tags/?page=1&page_size=100", - "readme": "https://github.com/notaryproject/ratify/blob/main/README.md", - "category": "Provisioning", - "homepage": "https://ratify.dev/", - "github_releases": [ - "v2.0.0-alpha.1", - "v1.4.0", - "v1.3.2", - "v1.2.3", - "v1.4.0-rc.1", - "v1.3.1", - "v1.3.0", - "v1.2.2", - "v1.2.1", - "v1.2.0" - ], - "image_tags": [ - "fe-v1.1.3", - "fe", - "be-v1.1.3", - "be", - "fe-dev", - "be-dev", - "fe-v1.1.2", - "be-v1.1.2", - "fe-v1.1.1", - "be-v1.1.1" - ], - "image_name": "docker.io/daystram/ratify", - "subcategory": "Provisioning" - }, - { - "name": "rkt", - "description": "[Project ended] rkt is a pod-native container engine for Linux.", - "github_release_url": "https://api.github.com/repos/rkt/rkt/releases?per_page=100&page=1", - "docker_tags_url": "https://quay.io/api/v1/repository/ibmresilient/fn_darktrace/tag/?page=1&limit=100", - "readme": "https://github.com/rkt/rkt/blob/master/README.md", - "category": "Runtime", - "homepage": "https://github.com/rkt/rkt", - "github_releases": [ - "v1.30.0", - "v1.29.0", - "v1.28.1", - "v1.28.0", - "v1.27.0", - "v1.26.0", - "v1.25.0", - "v1.24.0", - "v1.23.0", - "v1.22.0" - ], - "image_tags": [ - "1.0.0" - ], - "image_name": "quay.io/ibmresilient/fn_darktrace", - "subcategory": "Container Runtime" - }, - { - "name": "Rook", - "description": "Rook is an open source cloud-native storage orchestrator for Kubernetes, providing the platform, framework, and support for Ceph storage to natively integrate with Kubernetes.", - "github_release_url": "https://api.github.com/repos/rook/rook/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/rook/rook/tags/?page=1&page_size=100", - "readme": "https://github.com/rook/rook/blob/master/README.md", - "category": "Runtime", - "homepage": "https://rook.io/", - "github_releases": [ - "v1.18.5", - "v1.18.4", - "v1.18.3", - "v1.18.2", - "v1.18.1", - "v1.18.0", - "v1.17.8", - "v1.16.9", - "v1.17.7", - "v1.17.6" - ], - "image_tags": [ - "v0.7.1-4.g4233e03", - "master", - "v0.7.0-136.gd13bc83", - "v0.7.0-134.g9b5c092", - "v0.7.0-131.ga81dfe7", - "v0.7.0-128.g2311453", - "v0.7.0-126.gf6abaec", - "v0.7.0-124.g0be13da", - "v0.7.0-122.g656d223", - "v0.7.0-120.ged7acb9" - ], - "image_name": "docker.io/rook/rook", - "docker_help_command": "/usr/local/bin/rook --help", - "subcategory": "Storage" - }, - { - "name": "Runme Notebooks", - "description": "A toolchain that turns Markdown into interactive, cloud-native, runnable Notebook experiences for DevOps.", - "github_release_url": "https://api.github.com/repos/runmedev/runme/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/statefulhq/runme/tags/?page=1&page_size=100", - "readme": "https://github.com/runmedev/runme/blob/main/README.md", - "category": "Provisioning", - "homepage": "https://runme.dev/", - "github_releases": [ - "v3.15.4", - "v3.15.4-rc.0", - "v3.15.3", - "v3.15.3-rc.0", - "v3.15.2", - "v3.15.2-rc.2", - "v3.15.2-rc.1", - "v3.15.2-rc.0", - "v3.15.1", - "v3.15.1-rc.3" - ], - "image_tags": [ - "3.15.4-ubuntu", - "3.15.4-alpine", - "3.15.4", - "latest-ubuntu", - "latest-alpine", - "latest", - "3.15.4-ubuntu-amd64", - "3.15.4-ubuntu-arm64v8", - "3.15.4-alpine-amd64", - "3.15.4-alpine-arm64v8" - ], - "image_name": "docker.io/statefulhq/runme", - "subcategory": "Provisioning" - }, - { - "name": "SchemaHero", - "description": "A Kubernetes operator for declarative database schema management (gitops for database schemas).", - "github_release_url": "https://api.github.com/repos/schemahero/schemahero/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/schemahero/schemahero/tags/?page=1&page_size=100", - "readme": "https://github.com/schemahero/schemahero/blob/main/README.md", - "category": "App Definition and Development", - "homepage": "https://schemahero.io", - "github_releases": [ - "v0.23.0-alpha.7", - "v0.23.0-alpha.6", - "v0.23.0-alpha.4", - "v0.23.0-alpha.3", - "v0.23.0-alpha.2", - "v0.23.0-alpha.1", - "v0.22.1", - "v0.22.0", - "v0.21.0", - "v0.20.2" - ], - "image_tags": [ - "0.23.0-alpha.7", - "0.23.0-alpha.6", - "0.23.0-alpha.4", - "0.23.0-alpha.3", - "0.23.0-alpha.2", - "0.23.0-alpha.1", - "latest", - "0", - "0.22", - "0.22.1" - ], - "image_name": "docker.io/schemahero/schemahero", - "docker_help_command": "--help", - "subcategory": "Operator Framework" - }, - { - "name": "Score", - "description": "Score is an open-source workload specification designed to simplify development for cloud-native developers.", - "github_release_url": "https://api.github.com/repos/score-spec/spec/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/nmtwizard/score/tags/?page=1&page_size=100", - "readme": "https://github.com/score-spec/spec/blob/main/README.md", - "category": "App Definition and Development", - "homepage": "https://score.dev/", - "github_releases": [ - "0.3.0", - "0.2.0", - "0.1.0" - ], - "image_tags": [ - "latest", - "json", - "json.1", - "json.0", - "2.2.5", - "2.2.4", - "2.2.3-beta1", - "2.2.2", - "2.2.2-beta1", - "2.2.1" - ], - "image_name": "docker.io/nmtwizard/score", - "subcategory": "Application Development" - }, - { - "name": "sealer", - "description": "Build, Share and Run Both Your Kubernetes Cluster and Distributed Applications (Project under CNCF).", - "github_release_url": "https://api.github.com/repos/sealerio/sealer/releases?per_page=100&page=1", - "docker_tags_url": "https://quay.io/api/v1/repository/jetstack/vault-unsealer/tag/?page=1&limit=100", - "readme": "https://github.com/sealerio/sealer/blob/main/README.md", - "category": "App Definition and Development", - "homepage": "http://sealer.cool/", - "github_releases": [ - "v0.11.0", - "v0.10.0", - "v0.9.3", - "v0.9.2", - "v0.9.1", - "v0.8.7", - "v0.9.0", - "v0.8.6", - "v0.8.5", - "v0.8.4-beta.0" - ], - "image_tags": [ - "latest", - "0.3.1", - "canary", - "master-7244", - "0.3.1-alpha1", - "master-7239", - "master-7224", - "master-7162", - "master-7152", - "master-3160" - ], - "image_name": "quay.io/jetstack/vault-unsealer", - "subcategory": "Application Development" - }, - { - "name": "Sermant", - "description": "Sermant a proxyless service mesh solution based on Javaagent.", - "github_release_url": "https://api.github.com/repos/sermant-io/Sermant/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/sermant/docker101tutorial/tags/?page=1&page_size=100", - "readme": "https://github.com/sermant-io/Sermant/blob/master/README.md", - "category": "Orchestration & Management", - "homepage": "https://sermant.io/", - "github_releases": [ - "v2.3.0", - "v2.2.2", - "v2.2.1", - "v2.2.0", - "v2.1.2", - "v2.1.1", - "v2.1.0", - "v2.0.0", - "v1.4.1", - "v1.4.0" - ], - "image_tags": [ - "latest" - ], - "image_name": "docker.io/sermant/docker101tutorial", - "subcategory": "Service Mesh" - }, - { - "name": "Serverless Devs", - "description": ":fire: Serverless Devs: Serverless developer tool ( Serverless Devs: Serverless \u5f00\u53d1\u8005\u5de5\u5177 ).", - "github_release_url": "https://api.github.com/repos/Serverless-Devs/Serverless-Devs/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/tencentcom/serverless-devs/tags/?page=1&page_size=100", - "readme": "https://github.com/Serverless-Devs/Serverless-Devs/blob/master/readme.md", - "category": "Orchestration & Management", - "homepage": "https://www.serverless-devs.com/", - "github_releases": [ - "v3.1.10", - "v3.1.9", - "v3.1.8", - "v3.1.7", - "v3.1.6", - "v3.1.5", - "v3.1.4", - "v3.1.3", - "v3.1.2", - "v3.1.1" - ], - "image_tags": [ - "dev", - "latest" - ], - "image_name": "docker.io/tencentcom/serverless-devs", - "subcategory": "Management" - }, - { - "name": "Serverless Workflow", - "description": "Contains the official specification for the Serverless Workflow Domain Specific Language.", - "github_release_url": "https://api.github.com/repos/serverlessworkflow/specification/releases?per_page=100&page=1", - "docker_tags_url": "https://quay.io/api/v1/repository/orchestrator/serverless-workflow-greeting/tag/?page=1&limit=100", - "readme": "https://github.com/serverlessworkflow/specification/blob/main/README.md", - "category": "App Definition and Development", - "homepage": "https://serverlessworkflow.io", - "github_releases": [ - "v1.0.0", - "v1.0.0-alpha5", - "v1.0.0-alpha4", - "v1.0.0-alpha3", - "v1.0.0-alpha2", - "v1.0.0-alpha1", - "v0.9.0", - "v0.8", - "v0.7", - "v0.6" - ], - "image_tags": [ - "be3e8e3c8099f475b29a7c67b61c6cb604f8b66c", - "a865aca274c429dda680120dca0ae2492522f0ed", - "5999a2d1fb5908cc2cc90ee609818b2320f58d28", - "7b3023b52eb327f0a897df3a6cc1c68d6aa7c80d", - "c3b7031d91ae42fa423d1d25060e50dc6267031c", - "aed62dee57d8b9f52caa01fd1283e161c3c89614", - "973e6588", - "test", - "8e077164fba2cd03e104d86742c5422fd8edce26", - "daef7592d0e496fc75d6800b4fe667796e506eb9" - ], - "image_name": "quay.io/orchestrator/serverless-workflow-greeting", - "subcategory": "Application Development" - }, - { - "name": "Service Mesh Interface (SMI)", - "description": "The Service Mesh Interface (SMI) is a specification for service meshes, with a focus on those that run on Kubernetes.", - "github_release_url": "https://api.github.com/repos/servicemeshinterface/smi-spec/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/atlassian/bitbucket-mesh/tags/?page=1&page_size=100", - "readme": "https://github.com/servicemeshinterface/smi-spec/blob/main/README.md", - "category": "Orchestration & Management", - "homepage": "https://smi-spec.io", - "github_releases": [ - "v0.6.0", - "v0.5.0", - "v0.4.0" - ], - "image_tags": [ - "2.5.4-ubuntu-jdk-17", - "2.5.4-jdk17", - "2.5.8-jdk17", - "2.5.8-ubuntu-jdk-17", - "3.0.1-jdk17", - "3.0-jdk17", - "3.0.1-ubuntu-jdk-17", - "3.0-ubuntu-jdk-17", - "2.5.17-jdk17", - "2.5.17-ubuntu-jdk-17" - ], - "image_name": "docker.io/atlassian/bitbucket-mesh", - "docker_help_command": "/usr/sbin/service --help", - "subcategory": "Service Mesh" - }, - { - "name": "Service Mesh Performance", - "description": "Standard for measuring and characterizing service mesh performance, providing objective metrics and benchmarks.", - "github_release_url": "https://api.github.com/repos/service-mesh-performance/service-mesh-performance/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/atlassian/bitbucket-mesh/tags/?page=1&page_size=100", - "readme": "https://github.com/service-mesh-performance/service-mesh-performance/blob/master/README.md", - "category": "Orchestration & Management", - "homepage": "https://smp-spec.io/", - "github_releases": [ - "v0.6.1", - "v0.6.0", - "v0.3.4", - "v0.3.3", - "v0.3.2", - "v0.3.1", - "v0.3.0", - "v0.2.1", - "v0.2.0", - "v0.1.0" - ], - "image_tags": [ - "2.5.4-ubuntu-jdk-17", - "2.5.4-jdk17", - "2.5.8-jdk17", - "2.5.8-ubuntu-jdk-17", - "3.0.1-jdk17", - "3.0-jdk17", - "3.0.1-ubuntu-jdk-17", - "3.0-ubuntu-jdk-17", - "2.5.17-jdk17", - "2.5.17-ubuntu-jdk-17" - ], - "image_name": "docker.io/atlassian/bitbucket-mesh", - "docker_help_command": "/usr/sbin/service --help", - "subcategory": "Service Mesh" - }, - { - "name": "Shipwright", - "description": "Shipwright - a framework for building container images on Kubernetes.", - "github_release_url": "https://api.github.com/repos/shipwright-io/build/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/grafana/shipwright/tags/?page=1&page_size=100", - "readme": "https://github.com/shipwright-io/build/blob/main/README.md", - "category": "App Definition and Development", - "homepage": "https://shipwright.io", - "github_releases": [ - "v0.17.0", - "v0.16.13", - "v0.16.12", - "v0.16.11", - "v0.16.10", - "v0.16.9", - "v0.16.8", - "v0.16.7", - "v0.16.6", - "v0.16.5" - ], - "image_tags": [ - "docker-v0.9.20-10-g251886d-dirty", - "node-v0.9.20-10-g251886d-dirty", - "go-v0.9.20-10-g251886d-dirty", - "git-v0.9.20-10-g251886d-dirty", - "v0.9.20-10-g251886d-dirty", - "docker-9719f1b", - "node-9719f1b", - "go-9719f1b", - "git-9719f1b", - "9719f1b" - ], - "image_name": "docker.io/grafana/shipwright", - "docker_help_command": "/bin/sh --help", - "subcategory": "Application Development" - }, - { - "name": "Skooner", - "description": "Simple Kubernetes real-time dashboard and management.", - "github_release_url": "https://api.github.com/repos/skooner-k8s/skooner/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/mozillareality/skooner/tags/?page=1&page_size=100", - "readme": "https://github.com/skooner-k8s/skooner/blob/master/README.md", - "category": "Observability and Analysis", - "homepage": "https://skooner.io/", - "github_releases": [ - "alpha0.0.1" - ], - "image_tags": [ - "beta", - "dev", - "stable" - ], - "image_name": "docker.io/mozillareality/skooner", - "subcategory": "Observability" - }, - { - "name": "SlimFaaS", - "description": "Lightweight, fast Function as a Service platform for running serverless functions on Kubernetes with minimal overhead.", - "github_release_url": "https://api.github.com/repos/SlimPlanet/SlimFaas/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/axaguildev/slimfaas/tags/?page=1&page_size=100", - "readme": "https://github.com/SlimPlanet/SlimFaas/blob/main/README.md", - "category": "Serverless", - "homepage": "https://github.com/SlimPlanet/SlimFaas", - "github_releases": [ - "0.44.2", - "0.44.1", - "0.44.0", - "0.43.8", - "0.43.7", - "0.43.6", - "0.43.5", - "0.43.4", - "0.43.3", - "0.43.1" - ], - "image_tags": [ - "0.44.4-pr.179147", - "0.44.4-pr.179146", - "0.44.4-pr.179145", - "0.44.4-pr.179144", - "0.44.3-pr.179136", - "latest", - "0.44.3-dev.134", - "0.44.2", - "0.44.2-pr.176132", - "0.44.2-pr.176131" - ], - "image_name": "docker.io/axaguildev/slimfaas", - "subcategory": "Function Runtime" - }, - { - "name": "SlimToolkit", - "description": "Container optimization tool - automatically analyzes, minifies, and secures container images by removing unnecessary components.", - "github_release_url": "https://api.github.com/repos/slimtoolkit/slim/releases?per_page=100&page=1", - "docker_tags_url": "", - "readme": "https://github.com/slimtoolkit/slim/blob/master/README.md", - "category": "Provisioning", - "homepage": "https://slimtoolkit.org/", - "github_releases": [ - "1.40.11", - "1.40.10", - "1.40.9", - "1.40.8", - "1.40.7", - "1.40.6", - "1.40.5", - "1.40.4", - "1.40.3", - "1.40.2" - ], - "deprecated": true, - "subcategory": "Provisioning" - }, - { - "name": "SOPS", - "description": "Sops is an editor of encrypted files that supports YAML, JSON, ENV, INI and BINARY formats and encrypts with AWS KMS, GCP KMS, Azure Key Vault, age, and PGP.", - "github_release_url": "https://api.github.com/repos/getsops/sops/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/stagex/sops/tags/?page=1&page_size=100", - "readme": "https://github.com/getsops/sops/blob/main/README.rst", - "category": "Provisioning", - "homepage": "https://github.com/getsops", - "github_releases": [ - "v3.11.0", - "v3.10.2", - "v3.10.1", - "v3.10.0", - "v3.9.4", - "v3.9.3", - "v3.9.2", - "v3.9.1", - "v3.9.0", - "v3.8.1" - ], - "image_tags": [ - "latest", - "sx2024.11.0", - "3.8.1", - "sx2024.09.0", - "sx", - "sx2024.08.1", - "sx2024.08.0", - "sx2024.05.0", - "sx2024.04.2", - "sx2024.04.1" - ], - "image_name": "docker.io/stagex/sops", - "subcategory": "Provisioning" - }, - { - "name": "Spiderpool", - "description": "Spiderpool is the underlay and RDMA network solution of the Kubernetes, for bare metal, VM and public cloud.", - "github_release_url": "https://api.github.com/repos/spidernet-io/spiderpool/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/apecloud/spiderpool-agent/tags/?page=1&page_size=100", - "readme": "https://github.com/spidernet-io/spiderpool/blob/main/README.md", - "category": "Runtime", - "homepage": "https://spidernet-io.github.io/spiderpool/", - "github_releases": [ - "v1.1.0-rc1", - "v1.0.5", - "v1.0.4", - "v0.9.13", - "v1.0.3", - "v0.9.12", - "v0.8.13", - "v1.0.2", - "v0.9.11", - "v0.8.12" - ], - "image_tags": [ - "53a00dcca484c05ab380f126be77e660201f6f6c", - "v0.9.3", - "07195d2997e9839b586c0f95a32c23cf8dc96f1e", - "a536020876a1c8af8910cf9a9bfeaef9621b1d4f", - "e1510a6a0e52949b8a2dbbe2621b840318510ad4", - "91f9342f49ceef200ef73640e592d295e511576e", - "eb82b45a097ad23906e72199b70e25d161fbe88d" - ], - "image_name": "docker.io/apecloud/spiderpool-agent", - "subcategory": "Networking" - }, - { - "name": "SPIFFE", - "description": "SPIFFE is a graduated project of the Cloud Native Computing Foundation (CNCF).", - "github_release_url": "https://api.github.com/repos/spiffe/spiffe/releases?per_page=100&page=1", - "docker_tags_url": "https://quay.io/api/v1/repository/jetstack/cert-manager-csi-driver-spiffe/tag/?page=1&limit=100", - "readme": "https://github.com/spiffe/spiffe/blob/main/README.md", - "category": "Provisioning", - "homepage": "https://spiffe.io/", - "github_releases": [], - "image_tags": [ - "v0.3.0", - "v0.2.0", - "v0.4.1", - "sha256-f990280c70e03b6dcbdc001d8dd8e5ce57bd956d10410482ea1fb498bb47dbce.sig", - "v0.8.2", - "v0.1.0", - "sha256-7910c00f16f41085f01bed7ae67ace3ad197a901657af16cc3ac414ac17fbad7.sig", - "v0.7.0", - "sha256-78c5c934d7730230ecb2d4dc9be1b3e81e1e8dda1d07ae235eb8b5e9e94bd97e.sig", - "v0.8.1" - ], - "image_name": "quay.io/jetstack/cert-manager-csi-driver-spiffe", - "docker_help_command": "--help", - "subcategory": "Provisioning" - }, - { - "name": "Spin", - "description": "Spin is a framework for building and deploying serverless applications in WebAssembly.", - "github_release_url": "https://api.github.com/repos/spinframework/spin/releases?per_page=100&page=1", - "docker_tags_url": "https://quay.io/api/v1/repository/starek2040/wheelspin-image/tag/?page=1&limit=100", - "readme": "https://github.com/spinframework/spin/blob/main/README.md", - "category": "Wasm", - "homepage": "https://spinframework.dev", - "github_releases": [ - "canary", - "v3.4.1", - "v3.4.0", - "v3.3.1", - "v3.3.0", - "v3.2.0", - "v3.1.2", - "v3.1.1", - "v3.1.0", - "v3.0.0" - ], - "image_tags": [ - "1.0.1", - "1.0.0", - "1.0.4", - "1.0.2", - "2.0.0", - "1.0.9", - "1.0.8", - "1.0.7", - "1.0.5", - "1.1.0" - ], - "image_name": "quay.io/starek2040/wheelspin-image", - "docker_help_command": "/opt/jboss/wildfly/./bin/standalone.sh --help", - "subcategory": "WebAssembly Runtime" - }, - { - "name": "SpinKube", - "description": "Open source platform for efficiently running (containerless) Spin-based WebAssembly (Wasm) applications on Kubernetes.", - "github_release_url": "https://api.github.com/repos/spinframework/spin-operator/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/dmajrekar/spinkube/tags/?page=1&page_size=100", - "readme": "https://github.com/spinframework/spin-operator/blob/main/README.md", - "category": "Wasm", - "homepage": "https://www.spinkube.dev/", - "github_releases": [ - "v0.6.1", - "v0.6.0", - "v0.5.0", - "v0.4.0", - "v0.3.0", - "v0.2.0", - "v0.1.0", - "v0.0.2", - "v0.0.1" - ], - "image_tags": [ - "v0.13.0" - ], - "image_name": "docker.io/dmajrekar/spinkube", - "subcategory": "WebAssembly Runtime" - }, - { - "name": "SPIRE", - "description": "SPIRE (the SPIFFE Runtime Environment) is a toolchain of APIs for establishing trust between software systems across a wide variety of hosting platforms.", - "github_release_url": "https://api.github.com/repos/spiffe/spire/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/accuknox/spire/tags/?page=1&page_size=100", - "readme": "https://github.com/spiffe/spire/blob/main/README.md", - "category": "Provisioning", - "homepage": "https://spiffe.io/spire/", - "github_releases": [ - "v1.13.3", - "v1.13.2", - "v1.12.6", - "v1.13.1", - "v1.12.5", - "v1.13.0", - "v1.12.4", - "v1.12.3", - "v1.11.3", - "v1.12.2" - ], - "image_tags": [ - "k8s-sat" - ], - "image_name": "docker.io/accuknox/spire", - "docker_help_command": "spire-server --help", - "subcategory": "Provisioning" - }, - { - "name": "Stacker", - "description": "Stacker is a tool for building OCI images and related artifacts such as SBOMs natively via a declarative yaml format.", - "github_release_url": "https://api.github.com/repos/project-stacker/stacker/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/remind101/stacker/tags/?page=1&page_size=100", - "readme": "https://github.com/project-stacker/stacker/blob/main/README.md", - "category": "App Definition and Development", - "homepage": "https://stackerbuild.io", - "github_releases": [ - "v1.1.3", - "v1.1.2", - "v1.1.1", - "v1.1.0", - "v1.1.0-rc3", - "v1.1.0-rc2", - "v1.1.0-rc1", - "v1.0.0", - "v1.0.0-rc16", - "v1.0.0-rc15" - ], - "image_tags": [ - "stable-1.2", - "c1aad4f8713c64c90abc02e6c10ad2eda1a18c8e", - "latest", - "master", - "release-1.2.0", - "f19e22def647f1c51c2568772bf67e9116c481a7", - "6b7fec62f6ec3cba5e86c4560a8c29322cbcc0f4", - "551214f4a2e65f7d29ffaa33373aa1c5ffa4900f", - "parameter-type-names", - "a8d76385af6c1a6cefc6d7d4629c2e61e7ec9be4" - ], - "image_name": "docker.io/remind101/stacker", - "subcategory": "Application Development" - }, - { - "name": "Strimzi", - "description": "Strimzi provides a way to run an [Apache Kafka\u00ae][kafka] cluster on [Kubernetes][k8s] or [OpenShift][os] in various deployment configurations.", - "github_release_url": "https://api.github.com/repos/strimzi/strimzi-kafka-operator/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/strimzi/kafka/tags/?page=1&page_size=100", - "readme": "https://github.com/strimzi/strimzi-kafka-operator/blob/main/README.md", - "category": "App Definition and Development", - "homepage": "https://strimzi.io/", - "github_releases": [ - "0.48.0", - "0.48.0-rc1", - "0.47.0", - "0.47.0-rc1", - "0.45.1", - "0.45.1-rc1", - "0.46.1", - "0.46.1-rc1", - "0.46.0", - "0.46.0-rc2" - ], - "image_tags": [ - "0.20.1-kafka-2.5.0", - "0.20.1-kafka-2.5.1", - "0.20.1-kafka-2.6.0", - "0.20.1-rc1-kafka-2.5.0", - "0.20.1-rc1-kafka-2.5.1", - "0.20.1-rc1-kafka-2.6.0", - "latest-kafka-2.5.0", - "latest-kafka-2.5.1", - "latest-kafka-2.6.0", - "0.20.0-kafka-2.5.0" - ], - "image_name": "docker.io/strimzi/kafka", - "subcategory": "Application Development" - }, - { - "name": "Submariner", - "description": "Submariner enables direct networking between Pods and Services in different Kubernetes clusters, either on-premises or in the cloud.", - "github_release_url": "https://api.github.com/repos/submariner-io/submariner/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/rancher/submariner/tags/?page=1&page_size=100", - "readme": "https://github.com/submariner-io/submariner/blob/master/README.md", - "category": "Runtime", - "homepage": "https://submariner.io", - "github_releases": [ - "v0.20.2", - "v0.22.0-m2", - "v0.22.0-m1", - "v0.21.0", - "v0.22.0-m0", - "v0.21.0-rc0", - "v0.21.0-m3", - "v0.17.6", - "v0.20.1", - "v0.18.5" - ], - "image_tags": [ - "v0.0.1" - ], - "image_name": "docker.io/rancher/submariner", - "docker_help_command": "/usr/local/bin/submariner-engine --help", - "subcategory": "Networking" - }, - { - "name": "SuperEdge", - "description": "An edge-native container management system for edge computing.", - "github_release_url": "https://api.github.com/repos/superedge/superedge/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/superedge/tunnel/tags/?page=1&page_size=100", - "readme": "https://github.com/superedge/superedge/blob/main/README.md", - "category": "Provisioning", - "homepage": "https://superedge.io/", - "github_releases": [ - "v0.8.0", - "v0.7.0", - "v0.6.0", - "v0.5.0", - "v0.5.0-beta.0", - "v0.4.0", - "v0.4.0-beta.0", - "v0.3.0", - "v0.3.0-beta.0", - "v0.2.0" - ], - "image_tags": [ - "v0.5.0-beta.0", - "v0.4.0", - "v0.4.0-beta.0", - "v0.3.0", - "v0.3.0-beta.0", - "v0.3.0-beta.1", - "v0.2.0", - "v0.1.0" - ], - "image_name": "docker.io/superedge/tunnel", - "subcategory": "Provisioning" - }, - { - "name": "Telepresence", - "description": "Local development against a remote Kubernetes or OpenShift cluster.", - "github_release_url": "https://api.github.com/repos/telepresenceio/telepresence/releases?per_page=100&page=1", - "docker_tags_url": "https://quay.io/api/v1/repository/datawire/demo-telepresence/tag/?page=1&limit=100", - "readme": "https://github.com/telepresenceio/telepresence/blob/master/README.md", - "category": "App Definition and Development", - "homepage": "https://www.telepresence.io/", - "github_releases": [ - "v2.25.0", - "v2.24.1", - "v2.24.0", - "v2.23.6", - "v2.23.6-rc.0", - "v2.23.5", - "v2.23.4", - "v2.23.3", - "v2.23.2", - "v2.23.1" - ], - "image_tags": [ - "latest", - "426551d2971d70316b037513a177adbeb7705260", - "640a2faffdbbf87e43e5f5384c3dfd458f0dacf8", - "7d7cb5ab5bb7824e0bcb0084b1054f56eba86839", - "13f81851c3fa32b89e0a7160e980f4b6bc6cd8b1", - "48b2f063925a2021a41d6aa452f56b5481398e1f", - "67a09105b92ddb3e0e6ae5e93f979c20b3be23df", - "60604fbfa467ab19f55181911065968523b363cf", - "8335aa9e7695babc6daa8eedc5de4a7bd2ca8fbf", - "eb09bbc3420e0ca676f444d7189609811da1409a" - ], - "image_name": "quay.io/datawire/demo-telepresence", - "subcategory": "Application Development" - }, - { - "name": "Teller", - "description": "Cloud native secrets management for developers - never leave your command line for secrets.", - "github_release_url": "https://api.github.com/repos/tellerops/teller/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/ginco/teller/tags/?page=1&page_size=100", - "readme": "https://github.com/tellerops/teller/blob/master/README.md", - "category": "Provisioning", - "homepage": "https://tlr.dev", - "github_releases": [ - "v2.0.7", - "v2.0.6", - "v2.0.5", - "v2.0.4", - "v2.0.3", - "v1.5.6", - "v1.5.5", - "v1.5.4", - "v1.5.3", - "v1.5.2" - ], - "image_tags": [ - "v2.75.4", - "latest", - "v2.75.3-test", - "v2.75.3", - "v2.75.2", - "v2.75.1", - "v2.75.0", - "v2.74.3", - "v2.74.2", - "v2.74.1" - ], - "image_name": "docker.io/ginco/teller", - "subcategory": "Provisioning" - }, - { - "name": "Tetragon", - "description": "EBPF-based Security Observability and Runtime Enforcement.", - "github_release_url": "https://api.github.com/repos/cilium/tetragon/releases?per_page=100&page=1", - "docker_tags_url": "https://quay.io/api/v1/repository/cilium/tetragon/tag/?page=1&limit=100", - "readme": "https://github.com/cilium/tetragon/blob/main/README.md", - "category": "Provisioning", - "homepage": "https://github.com/cilium/tetragon", - "github_releases": [ - "v1.6.0", - "v1.6.0-rc.1", - "v1.5.0", - "v1.4.1", - "v1.4.0", - "v1.3.0", - "v1.2.1", - "v1.2.0", - "v1.1.2", - "v1.1.0" - ], - "image_tags": [ - "sha256-2c508dfd1effbba1a8fcfbec2eea49c33c33b03ca1239cc5dd13fa1fd6c73bba.sig", - "sha256-fdae5f257b6bd45bf0650568164ead97fdfe44bd96d47d31f3a4220323f044f1.sbom", - "sha256-fdae5f257b6bd45bf0650568164ead97fdfe44bd96d47d31f3a4220323f044f1.sig", - "v1.2.1", - "sha256-1108359beedb3dfed94bb66a21ea92c6217abb7cb1e11469759d80d70f52538a.sig", - "sha256-2f5d6bba8deca48445eddbda48368d3b924f98c26c5a8559874a207a702ca5eb.sbom", - "sha256-2f5d6bba8deca48445eddbda48368d3b924f98c26c5a8559874a207a702ca5eb.sig", - "v1.6.0", - "sha256-e800f325c87b82b234c93ed37614a9dff2dc79d7d249fe4bc82dfbcc05c3c602.sig", - "sha256-d4c7dadaffba6f48f40880cf79fc9e0b1b1a4ba0f21eec94e2a548f7bc66fe03.sbom" - ], - "image_name": "quay.io/cilium/tetragon", - "docker_help_command": "--help", - "subcategory": "Provisioning" - }, - { - "name": "Thanos", - "description": "Highly available Prometheus setup with long term storage capabilities.", - "github_release_url": "https://api.github.com/repos/thanos-io/thanos/releases?per_page=100&page=1", - "docker_tags_url": "https://quay.io/api/v1/repository/thanos/thanos/tag/?page=1&limit=100", - "readme": "https://github.com/thanos-io/thanos/blob/main/README.md", - "category": "Observability and Analysis", - "homepage": "https://thanos.io/", - "github_releases": [ - "v0.40.0-rc.0", - "v0.39.2", - "v0.39.1", - "v0.39.0", - "v0.39.0-rc.0", - "v0.38.0", - "v0.38.0-rc.1", - "v0.38.0-rc.0", - "v0.37.2", - "v0.37.1" - ], - "image_tags": [ - "main-2025-07-30-1b21d71", - "main-2025-08-27-dc403ea", - "main-2025-06-25-8b738c5", - "v0.39.0", - "main-2025-07-23-e30e831", - "main-2025-05-21-759773c", - "main-2025-06-18-933f04f", - "main-2025-06-18-f1c0f4b", - "main-2025-07-16-0dc0b29", - "main-2025-05-14-34b3d64" - ], - "image_name": "quay.io/thanos/thanos", - "docker_help_command": "--help", - "subcategory": "Monitoring" - }, - { - "name": "The Update Framework (TUF)", - "description": "Python reference implementation of The Update Framework (TUF).", - "github_release_url": "https://api.github.com/repos/theupdateframework/python-tuf/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/rancher/etc-host-updater/tags/?page=1&page_size=100", - "readme": "https://github.com/theupdateframework/python-tuf/blob/master/README.md", - "category": "Provisioning", - "homepage": "https://theupdateframework.github.io/", - "github_releases": [ - "v6.0.0", - "v5.1.0", - "v5.0.0", - "v4.0.0", - "v3.1.1", - "v3.1.0", - "v3.0.0", - "v2.1.0", - "v2.0.0", - "v1.1.0" - ], - "image_tags": [ - "v0.0.3", - "v0.0.2", - "v0.0.1" - ], - "image_name": "docker.io/rancher/etc-host-updater", - "docker_help_command": "--help", - "subcategory": "Provisioning" - }, - { - "name": "TiKV", - "description": "A distributed transactional key-value database Based on the design of Google Spanner and HBase, but simpler to manage and without dependencies on any distributed filesystem.", - "github_release_url": "https://api.github.com/repos/tikv/tikv/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/tikv/tikv/tags/?page=1&page_size=100", - "readme": "https://github.com/tikv/tikv/blob/master/README.md", - "category": "App Definition and Development", - "homepage": "https://tikv.org", - "github_releases": [ - "v7.5.7", - "v8.5.3", - "v8.5.2", - "v9.0.0-beta.1", - "v7.5.6", - "v6.5.12", - "v8.5.1", - "v7.5.5", - "v8.5.0", - "v8.1.2" - ], - "image_tags": [ - "latest", - "f78c164d28bcee0a1c7d87c668aa7a54635ce3dd" - ], - "image_name": "docker.io/tikv/tikv", - "docker_help_command": "help", - "subcategory": "Application Development" - }, - { - "name": "Tinkerbell", - "description": "Bare metal provisioning engine, supporting network and ISO booting, BMC interactions, metadata service, and workflow engine.", - "github_release_url": "https://api.github.com/repos/tinkerbell/tinkerbell/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/diarhussein437/tinkerbell/tags/?page=1&page_size=100", - "readme": "https://github.com/tinkerbell/tinkerbell/blob/main/README.md", - "category": "Provisioning", - "homepage": "https://tinkerbell.org/", - "github_releases": [ - "v0.21.0", - "v0.20.1", - "v0.20.0", - "v0.19.3", - "v0.19.2", - "v0.19.1", - "v0.19.0", - "v0.18.3", - "v0.18.2", - "v0.18.1" - ], - "image_tags": [ - "max_provisioning.sh-v4", - "max_provisioning.sh-v3", - "max_provisioning.sh-v2", - "max_provisioning.sh-v1", - "combined_provisioning.sh-v52", - "iris_provisioning.sh-v11", - "iris_provisioning.sh-v10", - "combined_provisioning.sh-v51", - "combined_provisioning.sh-v50", - "iris_provisioning.sh-v9" - ], - "image_name": "docker.io/diarhussein437/tinkerbell", - "subcategory": "Provisioning" - }, - { - "name": "Tokenetes", - "description": "Tokenetes implements Transaction Tokens (TraTs) for microservices call chains.", - "github_release_url": "https://api.github.com/repos/tokenetes/tokenetes/releases?per_page=100&page=1", - "docker_tags_url": "", - "readme": "https://github.com/tokenetes/tokenetes/blob/main/README.md", - "category": "Provisioning", - "homepage": "https://tokenetes.io/", - "github_releases": [ - "v1.0.1", - "v1.0.0" - ], - "deprecated": true, - "subcategory": "Provisioning" - }, - { - "name": "Traefik Mesh", - "description": "Traefik Mesh is a simple, yet full-featured service mesh.", - "github_release_url": "https://api.github.com/repos/traefik/mesh/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/roshan96sunaina/traefik-mesh/tags/?page=1&page_size=100", - "readme": "https://github.com/traefik/mesh/blob/master/README.md", - "category": "Orchestration & Management", - "homepage": "https://traefik.io/traefik-mesh", - "github_releases": [ - "v1.4.8", - "v1.4.7", - "v1.4.6", - "v1.4.5", - "v1.4.4", - "v1.4.1", - "v1.4.0", - "v1.4.0-rc1", - "v1.3.2", - "v1.3.1" - ], - "image_tags": [ - "v1.1.1.2", - "v1.1.1.1" - ], - "image_name": "docker.io/roshan96sunaina/traefik-mesh", - "subcategory": "Service Mesh" - }, - { - "name": "Tremor", - "description": "In short, Tremor is an event- or stream-processing system.", - "github_release_url": "https://api.github.com/repos/tremor-rs/tremor-runtime/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/tremorproject/tremor/tags/?page=1&page_size=100", - "readme": "https://github.com/tremor-rs/tremor-runtime/blob/main/README.md", - "category": "App Definition and Development", - "homepage": "https://www.tremor.rs/", - "github_releases": [ - "v0.13.0-rc.33", - "v0.13.0-rc.32", - "v0.13.0-rc.31", - "v0.13.0-rc.30", - "v0.13.0-rc.29", - "v0.13.0-rc.28", - "v0.13.0-rc.27", - "v0.13.0-rc.26", - "v0.13.0-rc.25", - "v0.13.0-rc.24" - ], - "image_tags": [ - "edge", - "0.13.0-rc.33", - "0.13.0-rc.32", - "0.13.0-rc.31", - "0.13.0-rc.30", - "0.13.0-rc.29", - "0.13.0-rc.20", - "0.13.0-rc.19", - "0.13.0-rc.18", - "0.13.0-rc.15" - ], - "image_name": "docker.io/tremorproject/tremor", - "subcategory": "Operator Framework" - }, - { - "name": "Trickster", - "description": "Open Source HTTP Reverse Proxy Cache and Time Series Dashboard Accelerator.", - "github_release_url": "https://api.github.com/repos/trickstercache/trickster/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/tricksterio/trickster/tags/?page=1&page_size=100", - "readme": "https://github.com/trickstercache/trickster/blob/main/README.md", - "category": "Observability and Analysis", - "homepage": "https://trickstercache.org", - "github_releases": [ - "v2.0.0-beta3", - "v2.0.0-beta2", - "v1.1.5", - "v1.1.4", - "v1.1.3", - "v1.1.2", - "v1.0.5", - "v1.1.1", - "v1.1.0", - "v1.0.4" - ], - "image_tags": [ - "2.0.0-beta2", - "2.0.0-beta1", - "latest", - "1", - "1.1", - "1.1.5", - "1.1.4", - "1.1.4-rc2", - "1.1.4-rc1", - "1.1.3" - ], - "image_name": "docker.io/tricksterio/trickster", - "subcategory": "Observability" - }, - { - "name": "urunc", - "description": "A CRI-compatible runtime for running unikernels and application kernels as containers.", - "github_release_url": "https://api.github.com/repos/urunc-dev/urunc/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/michaelbeaumont/urunc/tags/?page=1&page_size=100", - "readme": "https://github.com/urunc-dev/urunc/blob/main/README.md", - "category": "Runtime", - "homepage": "https://urunc.io/", - "github_releases": [ - "v0.6.0", - "v0.5.0", - "v0.4.0", - "v0.3.0", - "v0.2.0", - "v0.1.0" - ], - "image_tags": [ - "0.5.0" - ], - "image_name": "docker.io/michaelbeaumont/urunc", - "subcategory": "Container Runtime" - }, - { - "name": "Vineyard", - "description": "Vineyard (v6d) is an in-memory immutable data manager.", - "github_release_url": "https://api.github.com/repos/v6d-io/v6d/releases?per_page=100&page=1", - "docker_tags_url": "https://quay.io/api/v1/repository/libvineyard/vineyardd/tag/?page=1&limit=100", - "readme": "https://github.com/v6d-io/v6d/blob/main/README.rst", - "category": "Runtime", - "homepage": "https://v6d.io", - "github_releases": [ - "v0.24.4", - "v0.24.3", - "v0.24.2", - "v0.24.1", - "v0.24.0", - "v0.23.2", - "v0.23.1", - "v0.23.0", - "v0.22.2", - "v0.22.1" - ], - "image_tags": [ - "v0.2.13", - "v0.3.20", - "v0.2.11", - "v0.1.9", - "v0.1.8", - "v0.2.2", - "v0.1.13", - "v0.3.14", - "v0.3.2", - "v0.1.4" - ], - "image_name": "quay.io/libvineyard/vineyardd", - "docker_help_command": "/usr/local/bin/vineyardd --help", - "subcategory": "Container Runtime" - }, - { - "name": "Virtual Kubelet", - "description": "Virtual Kubelet is an open source Kubernetes kubelet implementation.", - "github_release_url": "https://api.github.com/repos/virtual-kubelet/virtual-kubelet/releases?per_page=100&page=1", - "docker_tags_url": "https://quay.io/api/v1/repository/powerhouse/ph-virtual-kubelet/tag/?page=1&limit=100", - "readme": "https://github.com/virtual-kubelet/virtual-kubelet/blob/main/README.md", - "category": "Runtime", - "homepage": "https://virtual-kubelet.io/", - "github_releases": [ - "v1.11.0", - "v1.10.0", - "v1.9.0", - "v1.8.0", - "v1.7.0", - "v1.6.0", - "v1.5.0", - "v1.4.0", - "v1.2.2", - "v1.3.0" - ], - "image_tags": [ - "v0.0.2", - "v0.0.3" - ], - "image_name": "quay.io/powerhouse/ph-virtual-kubelet", - "docker_help_command": "--help", - "subcategory": "Container Runtime" - }, - { - "name": "Visual Studio Code Kubernetes Tools", - "description": "The extension for developers building applications to run in Kubernetes clusters and for DevOps staff troubleshooting Kubernetes applications.", - "github_release_url": "https://api.github.com/repos/vscode-kubernetes-tools/vscode-kubernetes-tools/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/rancher/rke-tools/tags/?page=1&page_size=100", - "readme": "https://github.com/vscode-kubernetes-tools/vscode-kubernetes-tools/blob/master/README.md", - "category": "App Definition and Development", - "homepage": "https://marketplace.visualstudio.com/items?itemName=ms-kubernetes-tools.vscode-kubernetes-tools", - "github_releases": [ - "1.3.26", - "1.3.25", - "1.3.24", - "1.3.23", - "1.3.22", - "1.3.21", - "1.3.20", - "1.3.19", - "1.3.18", - "1.3.17" - ], - "image_tags": [ - "v0.1.114", - "v0.1.114-linux-arm64", - "v0.1.114-linux-amd64", - "v0.1.113", - "v0.1.113-linux-arm64", - "v0.1.113-linux-amd64", - "v0.1.112", - "v0.1.112-linux-arm64", - "v0.1.112-linux-amd64", - "v0.1.111" - ], - "image_name": "docker.io/rancher/rke-tools", - "docker_help_command": "-h", - "subcategory": "Application Development" - }, - { - "name": "Vitess", - "description": "MySQL-compatible, horizontally scalable, cloud-native database solution.", - "github_release_url": "https://api.github.com/repos/vitessio/vitess/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/vitess/lite/tags/?page=1&page_size=100", - "readme": "https://github.com/vitessio/vitess/blob/main/README.md", - "category": "App Definition and Development", - "homepage": "https://vitess.io/", - "github_releases": [ - "v23.0.0-rc1", - "v22.0.1", - "v21.0.5", - "v20.0.8", - "v22.0.0", - "v22.0.0-rc3", - "v22.0.0-rc2", - "v21.0.4", - "v20.0.7", - "v22.0.0-rc1" - ], - "image_tags": [ - "mysql84", - "latest", - "percona80", - "mysql80", - "v23.0.0-rc1-mysql80", - "v23.0.0-rc1", - "v23.0.0-rc1-mysql84", - "v23.0.0-rc1-percona80", - "v20.0.8-percona80", - "v20.0.8" - ], - "image_name": "docker.io/vitess/lite", - "docker_help_command": "/usr/local/bin/vtctl --help", - "subcategory": "Application Development" - }, - { - "name": "Volcano", - "description": "Cloud native batch computing system for Kubernetes - manages high-performance workloads like AI/ML, big data, and HPC jobs.", - "github_release_url": "https://api.github.com/repos/volcano-sh/volcano/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/account0123/volcano/tags/?page=1&page_size=100", - "readme": "https://github.com/volcano-sh/volcano/blob/master/README.md", - "category": "Orchestration & Management", - "homepage": "https://volcano.sh/", - "github_releases": [ - "v1.13.0", - "v1.12.2", - "v1.12.1", - "v1.12.0", - "v1.11.2", - "v1.11.0-network-topology-preview.3", - "v1.10.2", - "v1.9.1", - "v1.11.0-network-topology-preview.2", - "v1.11.1" - ], - "image_tags": [ - "0.4.2", - "dev", - "0.4.1", - "0.4.0", - "latest", - "0.3.8", - "0.3.7", - "0.3.6", - "0.3.4", - "0.3.3" - ], - "image_name": "docker.io/account0123/volcano", - "docker_help_command": "vcctl --help", - "subcategory": "Management" - }, - { - "name": "wasmCloud", - "description": "WasmCloud is an open source Cloud Native Computing Foundation (CNCF) project that enables teams to build, manage, and scale polyglot apps across any cloud, K8s, or edge.", - "github_release_url": "https://api.github.com/repos/wasmCloud/wasmCloud/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/wasmcloud/wasmcloud/tags/?page=1&page_size=100", - "readme": "https://github.com/wasmCloud/wasmCloud/blob/main/README.md", - "category": "Orchestration & Management", - "homepage": "https://wasmcloud.com", - "github_releases": [ - "v1.9.0", - "wash-v0.42.0", - "v1.8.0", - "v1.7.1", - "wit-wasmcloud-identity-v0.0.1", - "wash-v0.41.0", - "v1.7.0", - "wash-v0.40.0", - "secrets-nats-kv-v0.1.1", - "v1.6.2" - ], - "image_tags": [ - "canary", - "1.9.0", - "latest", - "canary-wolfi", - "canary-debian", - "1.9.0-beta.1-wolfi", - "1.9.0-beta.1-debian", - "1.9.0-beta.1", - "latest-wolfi", - "latest-debian" - ], - "image_name": "docker.io/wasmcloud/wasmcloud", - "docker_help_command": "help", - "subcategory": "Management" - }, - { - "name": "WasmEdge Runtime", - "description": "WasmEdge is a lightweight, high-performance, and extensible WebAssembly runtime for cloud native, edge, and decentralized applications.", - "github_release_url": "https://api.github.com/repos/WasmEdge/WasmEdge/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/library/ibm-semeru-runtimes/tags/?page=1&page_size=100", - "readme": "https://github.com/WasmEdge/WasmEdge/blob/master/README.md", - "category": "Runtime", - "homepage": "https://wasmedge.org/", - "github_releases": [ - "0.15.0", - "0.15.0-rc.1", - "0.15.0-alpha.4", - "0.15.0-alpha.3", - "0.15.0-alpha.2", - "0.15.0-alpha.1", - "0.14.1", - "0.14.1-rc.5", - "0.14.1-rc.4", - "0.14.1-rc.3" - ], - "image_tags": [ - "open-jdk-25.0.0_36-jre-noble", - "open-jdk-25.0.0_36-jre", - "open-jdk-25.0.0_36-jdk-noble", - "open-jdk-25.0.0_36-jdk", - "open-jdk-24.0.2_12-jre-noble", - "open-jdk-24.0.2_12-jre", - "open-jdk-24.0.2_12-jdk-noble", - "open-jdk-24.0.2_12-jdk", - "open-8u462-b08-jre-noble", - "open-8u462-b08-jre" - ], - "image_name": "docker.io/ibm-semeru-runtimes", - "subcategory": "Container Runtime" - }, - { - "name": "werf", - "description": "Werf is a solution for implementing efficient and consistent software delivery to Kubernetes.", - "github_release_url": "https://api.github.com/repos/werf/werf/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/tokend/werf/tags/?page=1&page_size=100", - "readme": "https://github.com/werf/werf/blob/main/README.md", - "category": "App Definition and Development", - "homepage": "https://werf.io/", - "github_releases": [ - "v2.51.2", - "v2.51.1", - "v2.51.0", - "v1.2.335", - "v2.50.2", - "v2.50.1", - "v2.50.0", - "v2.48.3", - "v2.49.4", - "v2.49.3" - ], - "image_tags": [ - "0.0.16", - "0.0.15", - "0.0.14", - "0.0.13", - "0.0.12", - "0.0.11", - "0.0.10", - "0.0.9", - "0.0.8", - "0.0.7" - ], - "image_name": "docker.io/tokend/werf", - "subcategory": "CI/CD" - }, - { - "name": "Xline", - "description": "Xline is a high-performance geo-distributed metadata management system, which is compatible with the ETCD interface.", - "github_release_url": "https://api.github.com/repos/xline-kv/Xline/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/datenlord/xline/tags/?page=1&page_size=100", - "readme": "https://github.com/xline-kv/Xline/blob/master/README.md", - "category": "Orchestration & Management", - "homepage": "https://www.xline.cloud", - "github_releases": [ - "v0.7.0", - "v0.6.1", - "v0.6.0", - "v0.5.0", - "v0.4.1", - "v0.4.0", - "v0.3.0", - "v0.2.0", - "v0.1.0" - ], - "image_tags": [ - "v0.5.0", - "latest", - "v0.5.1", - "5068a2b", - "v0.4.1", - "5b2ca3a", - "968de86", - "cd18aaf" - ], - "image_name": "docker.io/datenlord/xline", - "subcategory": "Management" - }, - { - "name": "xRegistry", - "description": "The xRegistry project defines an abstract model for managing metadata about resources and provides a REST-based interface to discover, create, modify and delete those resources.", - "github_release_url": "https://api.github.com/repos/xregistry/server/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/izeki/nginxregistry/tags/?page=1&page_size=100", - "readme": "https://github.com/xregistry/server/blob/master/README.md", - "category": "App Definition and Development", - "homepage": "https://xregistry.io", - "github_releases": [ - "dev" - ], - "image_tags": [ - "latest" - ], - "image_name": "docker.io/izeki/nginxregistry", - "subcategory": "Application Development" - }, - { - "name": "youki", - "description": "Youki is an implementation of the OCI runtime-spec in Rust, similar to runc.", - "github_release_url": "https://api.github.com/repos/youki-dev/youki/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/youkims/ds-moe/tags/?page=1&page_size=100", - "readme": "https://github.com/youki-dev/youki/blob/main/README.md", - "category": "Runtime", - "homepage": "https://youki-dev.github.io/youki/", - "github_releases": [ - "v0.5.5", - "v0.5.4", - "v0.5.3", - "v0.5.2", - "v0.5.1", - "v0.5.0", - "v0.4.1", - "v0.4.0", - "v0.3.3", - "v0.3.2" - ], - "image_tags": [ - "top2", - "0.3", - "0.2", - "latest" - ], - "image_name": "docker.io/youkims/ds-moe", - "subcategory": "Container Runtime" - }, - { - "name": "zot", - "description": "Zot is an OCI-native container registry for distributing container images and OCI artifacts.", - "github_release_url": "https://api.github.com/repos/project-zot/zot/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/labring/zot/tags/?page=1&page_size=100", - "readme": "https://github.com/project-zot/zot/blob/main/README.md", - "category": "Provisioning", - "homepage": "https://zotregistry.dev/", - "github_releases": [ - "v2.1.10", - "v2.1.9", - "v2.1.8", - "v2.1.7", - "v2.1.6", - "v2.1.5", - "v2.1.4", - "v2.1.3", - "v2.1.3-rc6", - "v2.1.3-rc5" - ], - "image_tags": [ - "v2.0.0-rc7", - "v2.0.0-rc7-arm64", - "v2.0.0-rc7-amd64", - "v1.4.3", - "v1.4.3-arm64", - "v1.4.3-amd64", - "v2.0.0-rc4", - "v2.0.0-rc4-amd64", - "v2.0.0-rc4-arm64" - ], - "image_name": "docker.io/labring/zot", - "subcategory": "Provisioning" - } - ] -} \ No newline at end of file diff --git a/data/configs/dev_tools.json b/data/configs/dev_tools.json deleted file mode 100644 index f02bc13..0000000 --- a/data/configs/dev_tools.json +++ /dev/null @@ -1,3077 +0,0 @@ -{ - "metadata": { - "schema_version": "1.0", - "generated_at": "2025-10-12", - "description": "Developer and System Administrator CLI tools - including cloud providers, version control, configuration management, and system utilities", - "source": "Docker Hub, GitHub, and official tool registries", - "total_projects": 100, - "properties": { - "github_release_url": "GitHub releases API endpoint", - "docker_tags_url": "Docker registry tags URL", - "readme": "Main README documentation URL", - "homepage": "Project homepage URL", - "category": "Tool category classification" - }, - "notes": [ - "Includes cloud provider CLIs, DevOps tools, language runtimes, and system utilities", - "Tools with official Docker images are prioritized", - "System utilities may use Alpine/BusyBox-based images" - ], - "last_description_update": "2025-10-16" - }, - "dev_tools": [ - { - "name": "AWS CLI", - "description": "Command-line interface for Amazon Web Services.", - "github_release_url": "https://api.github.com/repos/aws/aws-cli/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/amazon/aws-cli/tags/?page=1&page_size=100", - "readme": "https://github.com/aws/aws-cli/blob/v2/README.rst", - "category": "Cloud Provider CLI", - "homepage": "https://aws.amazon.com/cli/", - "image_name": "docker.io/amazon/aws-cli", - "docker_help_command": "/usr/local/bin/aws help", - "notes": "Requires AWS_PAGER= environment variable: docker run --rm -e AWS_PAGER= amazon/aws-cli help", - "image_tags": [ - "2.31.22", - "latest", - "arm64", - "amd64", - "2.31.21", - "2.31.20", - "2.31.19", - "2.31.18", - "2.31.17", - "2.31.16" - ], - "github_releases": [ - "2.0.0dev0" - ], - "subcategory": "AWS", - "alternate_binaries": [ - "/aws --help" - ] - }, - { - "name": "Google Cloud SDK", - "description": "Command-line interface for Google Cloud Platform services.", - "github_release_url": "https://api.github.com/repos/GoogleCloudPlatform/cloud-sdk-docker/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/google/cloud-sdk/tags/?page=1&page_size=100", - "readme": "https://github.com/GoogleCloudPlatform/cloud-sdk-docker/blob/master/README.md", - "category": "Cloud Provider CLI", - "homepage": "https://cloud.google.com/sdk", - "image_name": "docker.io/google/cloud-sdk", - "docker_help_command": "/usr/bin/gcloud --help", - "image_tags": [ - "544.0.0", - "latest", - "slim", - "544.0.0-slim", - "544.0.0-alpine", - "alpine", - "emulators", - "544.0.0-emulators", - "debian_component_based", - "544.0.0-debian_component_based" - ], - "subcategory": "Google Cloud", - "github_releases": [] - }, - { - "name": "Azure CLI", - "description": "Command-line interface for Microsoft Azure services.", - "github_release_url": "https://api.github.com/repos/Azure/azure-cli/releases?per_page=100&page=1", - "docker_tags_url": "https://mcr.microsoft.com/v2/azure-cli/tags/list", - "readme": "https://github.com/Azure/azure-cli/blob/dev/README.md", - "category": "Cloud Provider CLI", - "homepage": "https://docs.microsoft.com/en-us/cli/azure/", - "image_name": "mcr.microsoft.com/azure-cli", - "docker_help_command": "/usr/bin/az --help", - "notes": "Image from Microsoft Container Registry", - "github_releases": [ - "azure-cli-2.78.0", - "azure-cli-2.77.0", - "azure-cli-2.76.0", - "azure-cli-2.75.0", - "azure-cli-2.74.0", - "azure-cli-2.73.0", - "azure-cli-2.72.0", - "azure-cli-2.71.0", - "azure-cli-2.66.1", - "azure-cli-2.70.0" - ], - "image_tags": [ - "0.10.0", - "0.10.1", - "0.10.10", - "0.10.11", - "0.10.12", - "0.10.13", - "0.10.14", - "0.10.2", - "0.10.3", - "0.10.4", - "0.10.5", - "0.10.6", - "0.10.7", - "0.10.8", - "0.9.10", - "0.9.13", - "0.9.14", - "0.9.15", - "0.9.16", - "0.9.17", - "0.9.18", - "0.9.19", - "0.9.2", - "0.9.20", - "0.9.4", - "0.9.5", - "0.9.6", - "0.9.7", - "0.9.8", - "0.9.9", - "2.0.24", - "2.0.26", - "2.0.27", - "2.0.28", - "2.0.29", - "2.0.31", - "2.0.32", - "2.0.34", - "2.0.37", - "2.0.38", - "2.0.41", - "2.0.42", - "2.0.43", - "2.0.44", - "2.0.45", - "2.0.46", - "2.0.47", - "2.0.49", - "2.0.50", - "2.0.51" - ], - "subcategory": "Azure" - }, - { - "name": "Terraform", - "description": "Infrastructure as code tool for building, changing, and versioning cloud infrastructure.", - "github_release_url": "https://api.github.com/repos/hashicorp/terraform/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/hashicorp/terraform/tags/?page=1&page_size=100", - "readme": "https://github.com/hashicorp/terraform/blob/main/README.md", - "category": "Infrastructure as Code", - "homepage": "https://www.terraform.io/", - "image_name": "docker.io/hashicorp/terraform", - "docker_help_command": "/bin/terraform --help", - "image_tags": [ - "1.14.0-rc1", - "1.14.0-beta3", - "1.13", - "latest", - "1.13.4", - "1.14.0-beta2", - "1.14.0-beta1", - "1.13.3", - "1.14.0-alpha20250911", - "1.13.2" - ], - "github_releases": [ - "v1.14.0-rc1", - "v1.14.0-beta3", - "v1.13.4", - "v1.14.0-beta2", - "v1.14.0-beta1", - "v1.13.3", - "v1.14.0-alpha20250911", - "v1.13.2", - "v1.14.0-alpha20250903", - "v1.14.0-alpha20250827" - ], - "subcategory": "Terraform Ecosystem" - }, - { - "name": "Ansible", - "description": "Automation platform for configuration management, application deployment, and task automation.", - "github_release_url": "https://api.github.com/repos/ansible/ansible/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/ansible/ansible/tags/?page=1&page_size=100", - "readme": "https://github.com/ansible/ansible/blob/devel/README.md", - "category": "Configuration Management", - "homepage": "https://www.ansible.com/", - "image_name": "docker.io/alpine/ansible", - "docker_help_command": "/usr/bin/ansible --help", - "image_tags": [ - "ubuntu1404", - "ubuntu1604py3", - "ubuntu1604", - "httptester", - "default", - "fedora27py3", - "fedora26py3", - "vcenter-simulator", - "opensuse42.3", - "opensuse42.2" - ], - "github_releases": [ - "v2.20.0rc2", - "v2.20.0rc1", - "v2.20.0b2", - "v2.19.3", - "v2.18.10", - "v2.19.3rc1", - "v2.18.10rc1", - "v2.20.0b1", - "v2.19.2", - "v2.18.9" - ], - "subcategory": "Automation", - "alternate_binaries": [ - "/usr/bin/ansible-playbook --help", - "/usr/bin/ansible-vault --help", - "/usr/bin/ansible-doc --help", - "/usr/bin/ansible-galaxy --help", - "/usr/bin/ansible-config --help", - "/usr/bin/ansible-community --help" - ] - }, - { - "name": "Docker", - "description": "Platform for developing, shipping, and running containerized applications.", - "github_release_url": "https://api.github.com/repos/docker/cli/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/library/docker/tags/?page=1&page_size=100", - "readme": "https://github.com/docker/cli/blob/master/README.md", - "category": "Container Tools", - "homepage": "https://www.docker.com/", - "image_name": "docker.io/docker", - "docker_help_command": "/usr/local/bin/docker --help", - "image_tags": [ - "windowsservercore-ltsc2025", - "windowsservercore-ltsc2022", - "windowsservercore", - "rc-windowsservercore-ltsc2025", - "rc-windowsservercore-ltsc2022", - "rc-windowsservercore", - "29.0.0-rc.1-windowsservercore-ltsc2025", - "29.0.0-rc.1-windowsservercore-ltsc2022", - "29.0.0-rc.1-windowsservercore", - "29-rc-windowsservercore-ltsc2025" - ], - "subcategory": "Docker", - "deprecated": true, - "github_releases": [] - }, - { - "name": "Git", - "description": "Distributed version control system for tracking changes in source code.", - "github_release_url": "https://api.github.com/repos/git/git/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/alpine/git/tags/?page=1&page_size=100", - "readme": "https://github.com/git/git/blob/master/README.md", - "category": "Version Control", - "homepage": "https://git-scm.com/", - "image_name": "docker.io/alpine/git", - "docker_help_command": "/usr/bin/git --help", - "image_tags": [ - "v2.49.1", - "2.49.1", - "latest", - "fcba8e9", - "v2.49.0", - "2.49.0", - "v2.47.2", - "2.47.2", - "v2.47.1", - "2.47.1" - ], - "subcategory": "Git", - "alternate_binaries": [ - "/usr/bin/git-lfs --help", - "/usr/bin/git-shell --help", - "/git --help" - ], - "github_releases": [] - }, - { - "name": "GitHub CLI", - "description": "Gh is GitHub on the command line It brings pull requests, issues, and other GitHub concepts to the terminal next to where you are already working with git and your code.", - "github_release_url": "https://api.github.com/repos/cli/cli/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/maniator/gh/tags/?page=1&page_size=100", - "readme": "https://github.com/cli/cli/blob/trunk/README.md", - "category": "Version Control", - "homepage": "https://cli.github.com/", - "image_name": "docker.io/maniator/gh", - "docker_help_command": "/usr/bin/gh --help", - "image_tags": [ - "latest", - "v2.82.1", - "v2.82.0", - "v2.81.0", - "v2.80.0", - "v2.79.0", - "v2.78.0", - "v2.76.2", - "v2.76.1", - "v2.76.0" - ], - "github_releases": [ - "v2.82.1", - "v2.82.0", - "v2.81.0", - "v2.80.0", - "v2.79.0", - "v2.78.0", - "v2.77.0", - "v2.76.2", - "v2.76.1", - "v2.76.0" - ], - "subcategory": "Git" - }, - { - "name": "GitLab CLI", - "description": "GitLab CLI tool for working with GitLab from the command line.", - "github_release_url": "https://api.github.com/repos/profclems/glab/releases", - "docker_tags_url": "https://hub.docker.com/v2/repositories/gitlab/glab/tags/?page=1&page_size=100", - "readme": "https://gitlab.com/gitlab-org/cli/-/blob/main/README.md", - "category": "Version Control", - "homepage": "https://gitlab.com/gitlab-org/cli", - "image_name": "docker.io/gitlab/glab", - "docker_help_command": "/usr/bin/glab --help", - "image_tags": [ - "latest", - "v1.74.0", - "v1.74.0-arm64", - "v1.74.0-amd64", - "v1.73.1", - "v1.73.1-arm64", - "v1.73.1-amd64", - "v1.73.0", - "v1.73.0-arm64", - "v1.73.0-amd64" - ], - "subcategory": "Git", - "github_releases": [ - "v1.22.0", - "v1.21.1", - "v1.21.0", - "v1.20.0", - "v1.20.0-pre1", - "v1.19.0", - "v1.18.1", - "v1.18.0", - "v1.17.0", - "v1.16.0" - ] - }, - { - "name": "Node.js", - "description": "JavaScript runtime built on Chrome's V8 engine for server-side applications.", - "github_release_url": "https://api.github.com/repos/nodejs/node/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/library/node/tags/?page=1&page_size=100", - "readme": "https://github.com/nodejs/node/blob/main/README.md", - "category": "Language Runtime", - "homepage": "https://nodejs.org/", - "image_name": "docker.io/node", - "docker_help_command": "/usr/local/bin/node --help", - "image_tags": [ - "lts-jod", - "lts-bookworm", - "lts", - "latest", - "jod-bookworm", - "jod", - "iron-bookworm", - "iron", - "current-bookworm", - "current" - ], - "github_releases": [ - "v22.21.0", - "v25.0.0", - "v24.10.0", - "v24.9.0", - "v22.20.0", - "v24.8.0", - "v20.19.5", - "v22.19.0", - "v24.7.0", - "v24.6.0" - ], - "subcategory": "Node.Js", - "alternate_binaries": [ - "/usr/local/bin/npm --help", - "/usr/local/bin/npx --help" - ] - }, - { - "name": "Python", - "description": "High-level, interpreted programming language with dynamic typing and automatic memory management.", - "github_release_url": "https://api.github.com/repos/python/cpython/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/library/python/tags/?page=1&page_size=100", - "readme": "https://github.com/python/cpython/blob/main/README.rst", - "category": "Language Runtime", - "homepage": "https://www.python.org/", - "image_name": "docker.io/python", - "docker_help_command": "/usr/local/bin/python --help", - "image_tags": [ - "windowsservercore-ltsc2025", - "windowsservercore-ltsc2022", - "windowsservercore", - "latest", - "3.15.0a1-windowsservercore-ltsc2025", - "3.15.0a1-windowsservercore-ltsc2022", - "3.15.0a1-windowsservercore", - "3.15.0a1", - "3.15-rc-windowsservercore-ltsc2025", - "3.15-rc-windowsservercore-ltsc2022" - ], - "subcategory": "Python", - "github_releases": [] - }, - { - "name": "Go", - "description": "Statically typed, compiled programming language designed for simplicity and efficiency.", - "github_release_url": "https://api.github.com/repos/golang/go/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/library/golang/tags/?page=1&page_size=100", - "readme": "https://github.com/golang/go/blob/master/README.md", - "category": "Language Runtime", - "homepage": "https://golang.org/", - "image_name": "docker.io/golang", - "docker_help_command": "/usr/local/go/bin/go help", - "image_tags": [ - "windowsservercore-ltsc2025", - "windowsservercore-ltsc2022", - "windowsservercore", - "nanoserver-ltsc2025", - "nanoserver-ltsc2022", - "nanoserver", - "latest", - "1.25.3-windowsservercore-ltsc2025", - "1.25.3-windowsservercore-ltsc2022", - "1.25.3-windowsservercore" - ], - "subcategory": "Go", - "github_releases": [] - }, - { - "name": "Rust", - "description": "Systems programming language focused on safety, speed, and concurrency.", - "github_release_url": "https://api.github.com/repos/rust-lang/rust/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/library/rust/tags/?page=1&page_size=100", - "readme": "https://github.com/rust-lang/rust/blob/master/README.md", - "category": "Language Runtime", - "homepage": "https://www.rust-lang.org/", - "image_name": "docker.io/rust", - "docker_help_command": "/usr/local/cargo/bin/rustc --help", - "image_tags": [ - "slim-trixie", - "slim", - "1.90.0-slim-trixie", - "1.90.0-slim", - "1.90-slim-trixie", - "1.90-slim", - "1-slim-trixie", - "1-slim", - "bookworm", - "1.90.0-bookworm" - ], - "github_releases": [ - "1.90.0", - "1.89.0", - "1.88.0", - "1.87.0", - "1.86.0", - "1.85.1", - "1.85.0", - "1.84.1", - "1.84.0", - "1.83.0" - ], - "subcategory": "Rust" - }, - { - "name": "PHP", - "description": "PHP is a popular general-purpose scripting language that is especially suited to web development.", - "github_release_url": "https://api.github.com/repos/php/php-src/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/library/php/tags/?page=1&page_size=100", - "readme": "https://github.com/php/php-src/blob/master/README.md", - "category": "Language Runtime", - "homepage": "https://www.php.net/", - "image_name": "docker.io/php", - "docker_help_command": "/usr/local/bin/php --help", - "image_tags": [ - "8.3-zts-alpine3.21", - "8.3-zts-alpine", - "8.3-zts", - "8.3-trixie", - "8.3-fpm-trixie", - "8.3-fpm-bookworm", - "8.3-fpm-alpine3.22", - "8.3-fpm-alpine3.21", - "8.3-fpm-alpine", - "8.3-fpm" - ], - "github_releases": [ - "php-8.4.14", - "php-8.3.27", - "php-8.4.13", - "php-8.3.26", - "php-8.4.12", - "php-8.3.25", - "php-8.4.11", - "php-8.3.24", - "php-8.4.10", - "php-8.3.23" - ], - "subcategory": "Php" - }, - { - "name": "Ruby", - "description": "Dynamic, interpreted programming language with focus on simplicity and productivity.", - "github_release_url": "https://api.github.com/repos/ruby/ruby/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/library/ruby/tags/?page=1&page_size=100", - "readme": "https://github.com/ruby/ruby/blob/master/README.md", - "category": "Language Runtime", - "homepage": "https://www.ruby-lang.org/", - "image_name": "docker.io/ruby", - "docker_help_command": "/usr/local/bin/ruby --help", - "image_tags": [ - "3.3.10-trixie", - "3.3.10-slim-trixie", - "3.3.10-slim-bookworm", - "3.3.10-slim", - "3.3.10-bookworm", - "3.3.10-alpine3.22", - "3.3.10-alpine3.21", - "3.3.10-alpine", - "3.3.10", - "3.3-trixie" - ], - "github_releases": [ - "v3_3_10", - "v3_4_7", - "v3_4_6", - "v3_3_9", - "v3_2_9", - "v3_4_5", - "v3_4_4", - "v3_4_3", - "v3_3_8", - "v3_2_8" - ], - "subcategory": "Ruby" - }, - { - "name": "Java (OpenJDK)", - "description": "Open-source implementation of the Java Platform, Standard Edition - provides JDK for developing and running Java applications.", - "github_release_url": "https://api.github.com/repos/openjdk/jdk/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/library/openjdk/tags/?page=1&page_size=100", - "readme": "https://github.com/openjdk/jdk/blob/master/README.md", - "category": "Language Runtime", - "homepage": "https://openjdk.org/", - "image_name": "docker.io/openjdk", - "docker_help_command": "/usr/bin/java --help", - "image_tags": [ - "26-windowsservercore-ltsc2025", - "26-windowsservercore-ltsc2022", - "26-windowsservercore", - "26-nanoserver-ltsc2025", - "26-nanoserver-ltsc2022", - "26-nanoserver", - "26-jdk-windowsservercore-ltsc2025", - "26-jdk-windowsservercore-ltsc2022", - "26-jdk-windowsservercore", - "26-jdk-nanoserver-ltsc2025" - ], - "subcategory": "Java", - "github_releases": [] - }, - { - "name": "PostgreSQL", - "description": "Advanced open-source relational database with strong standards compliance.", - "github_release_url": "https://api.github.com/repos/postgres/postgres/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/library/postgres/tags/?page=1&page_size=100", - "readme": "https://www.postgresql.org/", - "category": "Database", - "homepage": "https://www.postgresql.org/", - "image_name": "docker.io/postgres", - "docker_help_command": "/usr/bin/psql --help", - "image_tags": [ - "14.19-alpine3.21", - "14-alpine3.21", - "13.22-trixie", - "13.22-alpine3.22", - "13.22-alpine3.21", - "13.22-alpine", - "13.22", - "13-trixie", - "13-alpine3.22", - "13-alpine3.21" - ], - "subcategory": "PostgreSQL", - "github_releases": [] - }, - { - "name": "MySQL", - "description": "Open-source relational database management system.", - "github_release_url": "https://api.github.com/repos/mysql/mysql-server/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/library/mysql/tags/?page=1&page_size=100", - "readme": "https://github.com/mysql/mysql-server/blob/trunk/README", - "category": "Database", - "homepage": "https://www.mysql.com/", - "image_name": "docker.io/mysql", - "docker_help_command": "/usr/bin/mysql --help", - "image_tags": [ - "oraclelinux9", - "oracle", - "lts-oraclelinux9", - "lts-oracle", - "lts", - "latest", - "innovation-oraclelinux9", - "innovation-oracle", - "innovation", - "9.5.0-oraclelinux9" - ], - "subcategory": "MySQL", - "github_releases": [] - }, - { - "name": "Redis", - "description": "In-memory data structure store used as database, cache, and message broker.", - "github_release_url": "https://api.github.com/repos/redis/redis/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/library/redis/tags/?page=1&page_size=100", - "readme": "https://github.com/redis/redis/blob/unstable/README.md", - "category": "Database", - "homepage": "https://redis.io/", - "image_name": "docker.io/redis", - "docker_help_command": "/usr/local/bin/redis-cli --help", - "image_tags": [ - "latest", - "bookworm", - "8.2.2-bookworm", - "8.2.2", - "8.2-bookworm", - "8.2", - "8.0.4-bookworm", - "8.0.4", - "8.0-bookworm", - "8.0" - ], - "github_releases": [ - "7.2.11", - "6.2.20", - "8.2.2", - "8.0.4", - "7.4.6", - "8.2.1", - "8.2.0", - "8.0.3", - "7.4.5", - "7.2.10" - ], - "subcategory": "Redis" - }, - { - "name": "MongoDB", - "description": "Document-oriented NoSQL database with flexible schema.", - "github_release_url": "https://api.github.com/repos/mongodb/mongo/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/library/mongo/tags/?page=1&page_size=100", - "readme": "https://github.com/mongodb/mongo/blob/master/README.md", - "category": "Database", - "homepage": "https://www.mongodb.com/", - "image_name": "docker.io/mongo", - "docker_help_command": "/usr/bin/mongosh -h", - "image_tags": [ - "windowsservercore-ltsc2025", - "windowsservercore-ltsc2022", - "windowsservercore", - "nanoserver-ltsc2022", - "nanoserver", - "latest", - "8.0.15-windowsservercore-ltsc2025", - "8.0.15-windowsservercore-ltsc2022", - "8.0.15-windowsservercore", - "8.0.15-nanoserver-ltsc2022" - ], - "subcategory": "MongoDB", - "github_releases": [] - }, - { - "name": "Jenkins", - "description": "Automation server for continuous integration and continuous delivery pipelines.", - "github_release_url": "https://api.github.com/repos/jenkinsci/jenkins/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/jenkins/jenkins/tags/?page=1&page_size=100", - "readme": "https://github.com/jenkinsci/jenkins/blob/master/README.md", - "category": "CI/CD", - "homepage": "https://www.jenkins.io/", - "image_name": "docker.io/jenkins/jenkins", - "docker_help_command": "/opt/java/openjdk/bin/java -jar /usr/share/jenkins/jenkins.war --help", - "image_tags": [ - "jdk21", - "latest-jdk21", - "latest", - "2.533-jdk21", - "jdk17", - "2.533", - "slim-jdk21", - "latest-jdk17", - "slim", - "2.533-jdk17" - ], - "github_releases": [ - "jenkins-2.533", - "jenkins-2.528.1", - "jenkins-2.532", - "jenkins-2.531", - "jenkins-2.528.1-rc", - "jenkins-2.530", - "jenkins-2.529", - "jenkins-2.528", - "jenkins-2.527", - "jenkins-2.526" - ], - "subcategory": "Jenkins" - }, - { - "name": "GitLab Runner", - "description": "Run your CI/CD jobs and send the results back to GitLab.", - "github_release_url": "", - "docker_tags_url": "https://registry.hub.docker.com/v2/repositories/gitlab/gitlab-runner/tags/?page=1&page_size=100", - "readme": "https://gitlab.com/gitlab-org/gitlab-runner/-/blob/main/README.md", - "category": "CI/CD", - "homepage": "https://docs.gitlab.com/runner/", - "image_name": "docker.io/gitlab/gitlab-runner", - "docker_help_command": "/usr/bin/gitlab-runner --help", - "image_tags": [ - "bleeding", - "ubuntu-bleeding", - "alpine-bleeding", - "d0f22263", - "alpine3.21-bleeding", - "ubuntu-d0f22263", - "alpine-d0f22263", - "alpine3.21-d0f22263", - "alpine3.19-bleeding", - "alpine3.19-d0f22263" - ], - "subcategory": "GitLab" - }, - { - "name": "Nginx", - "description": "High-performance web server, reverse proxy, and load balancer.", - "github_release_url": "https://api.github.com/repos/nginx/nginx/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/library/nginx/tags/?page=1&page_size=100", - "readme": "http://nginx.org/", - "category": "Web Server", - "homepage": "https://nginx.org/", - "image_name": "docker.io/nginx", - "docker_help_command": "/usr/sbin/nginx -h", - "image_tags": [ - "trixie-perl", - "perl", - "mainline-trixie-perl", - "mainline-perl", - "1.29.2-trixie-perl", - "1.29.2-perl", - "1.29-trixie-perl", - "1.29-perl", - "1-trixie-perl", - "1-perl" - ], - "github_releases": [ - "release-1.29.2", - "release-1.29.1", - "release-1.29.0", - "release-1.28.0", - "release-1.27.5", - "release-1.27.4", - "release-1.26.3", - "release-1.27.3", - "release-1.27.2" - ], - "subcategory": "Nginx" - }, - { - "name": "Vault", - "description": "Tool for managing secrets and protecting sensitive data.", - "github_release_url": "https://api.github.com/repos/hashicorp/vault/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/hashicorp/vault/tags/?page=1&page_size=100", - "readme": "https://github.com/hashicorp/vault/blob/main/README.md", - "category": "Security", - "homepage": "https://www.vaultproject.io/", - "image_name": "docker.io/hashicorp/vault", - "docker_help_command": "/bin/vault -help", - "image_tags": [ - "1.21", - "latest", - "1.21.0", - "1.21.0-rc1", - "1.20", - "1.20.4", - "1.20.3", - "1.20.2", - "1.20.1", - "1.20.0" - ], - "github_releases": [ - "v1.21.0", - "v1.21.0-rc1", - "v1.20.4", - "v1.20.3", - "v1.20.2", - "v1.20.1", - "v1.20.0", - "v1.20.0-rc2", - "v1.20.0-rc1", - "v1.19.5" - ], - "subcategory": "Secrets Management" - }, - { - "name": "Consul", - "description": "Service mesh solution providing service discovery, configuration, and segmentation.", - "github_release_url": "https://api.github.com/repos/hashicorp/consul/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/hashicorp/consul/tags/?page=1&page_size=100", - "readme": "https://github.com/hashicorp/consul/blob/main/README.md", - "category": "Service Mesh", - "homepage": "https://www.consul.io/", - "image_name": "docker.io/hashicorp/consul", - "docker_help_command": "/bin/consul -help", - "image_tags": [ - "1.22.0-rc2", - "1.22.0-rc2-ubi", - "1.22.0-rc1-ubi", - "1.22.0-rc1", - "1.21", - "latest", - "1.21.5", - "1.21.5-ubi", - "1.21.4", - "1.21.4-ubi" - ], - "github_releases": [ - "v1.22.0-rc2", - "v1.22.0-rc1", - "v1.21.5", - "v1.21.4", - "v1.21.3", - "v1.21.2", - "v1.21.1", - "ent-changelog-1.21.0+ent", - "ent-changelog-1.20.7", - "v1.21.0" - ], - "subcategory": "Service Mesh" - }, - { - "name": "Packer", - "description": "Tool for creating identical machine images for multiple platforms.", - "github_release_url": "https://api.github.com/repos/hashicorp/packer/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/hashicorp/packer/tags/?page=1&page_size=100", - "readme": "https://github.com/hashicorp/packer/blob/main/README.md", - "category": "Infrastructure as Code", - "homepage": "https://www.packer.io/", - "image_name": "docker.io/hashicorp/packer", - "docker_help_command": "/bin/packer -help", - "image_tags": [ - "1.14", - "latest", - "light", - "full", - "full-1.14.2", - "light-1.14.2", - "1.14.2", - "full-1.14.1", - "light-1.14.1", - "1.14.1" - ], - "github_releases": [ - "nightly", - "v1.14.2", - "v1.14.1", - "v1.14.0", - "v1.13.1", - "v1.13.0", - "v1.12.0", - "v1.12.0-alpha1", - "v1.11.2", - "v1.11.1" - ], - "subcategory": "IaC" - }, - { - "name": "DigitalOcean CLI", - "description": "Official command-line interface for DigitalOcean API - manages Droplets, Kubernetes clusters, databases, and cloud infrastructure.", - "github_release_url": "https://api.github.com/repos/digitalocean/doctl/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/digitalocean/doctl/tags/?page=1&page_size=100", - "readme": "https://github.com/digitalocean/doctl/blob/main/README.md", - "category": "Cloud Provider CLI", - "homepage": "https://docs.digitalocean.com/reference/doctl/", - "image_name": "docker.io/digitalocean/doctl", - "docker_help_command": "/app/doctl --help", - "image_tags": [ - "1.146.0", - "1-latest", - "latest", - "1.146.0-beta", - "1.145.0", - "1.144.0-beta", - "1.143.0", - "1.142.0", - "1.141.0", - "1.140.0" - ], - "github_releases": [ - "v1.146.0", - "v1.145.0", - "v1.144.0-beta", - "v1.143.0", - "v1.142.0", - "v1.141.0", - "v1.140.0", - "v1.139.0", - "v1.138.0", - "v1.137.0" - ], - "subcategory": "DigitalOcean" - }, - { - "name": "Helm", - "description": "Package manager for Kubernetes applications.", - "github_release_url": "https://api.github.com/repos/helm/helm/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/alpine/helm/tags/?page=1&page_size=100", - "readme": "https://github.com/helm/helm/blob/main/README.md", - "category": "Kubernetes", - "homepage": "https://helm.sh/", - "image_name": "docker.io/alpine/helm", - "docker_help_command": "/usr/bin/helm --help", - "image_tags": [ - "3", - "3.19", - "3.19.0", - "latest", - "1819f21", - "3.18", - "3.18.6", - "3.18.5", - "3.18.4", - "b0f8b96" - ], - "github_releases": [ - "v4.0.0-beta.1", - "v3.19.0", - "v3.19.0-rc.1", - "v4.0.0-alpha.1", - "v3.18.6", - "v3.18.5", - "v3.17.4", - "v3.18.4", - "v3.18.3", - "v3.18.2" - ], - "subcategory": "Package Manager" - }, - { - "name": "kubectl", - "description": "Command-line tool for controlling Kubernetes clusters.", - "github_release_url": "https://api.github.com/repos/kubernetes/kubernetes/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/bitnami/kubectl/tags/?page=1&page_size=100", - "readme": "https://github.com/kubernetes/kubectl/blob/master/README.md", - "category": "Kubernetes", - "homepage": "https://kubernetes.io/docs/reference/kubectl/", - "image_name": "docker.io/bitnami/kubectl", - "docker_help_command": "/opt/bitnami/kubectl/bin/kubectl --help", - "image_tags": [ - "sha256-2140e19b4d42e2ea95853f11bcb267f08a09dffd22dac0cecd62174c8d3f978e", - "sha256-2140e19b4d42e2ea95853f11bcb267f08a09dffd22dac0cecd62174c8d3f978e.sig", - "sha256-00889941b4b46ce0422810f9cd24333f3881ba2cc2d7766f331d4d8505f9d4c7.att", - "sha256-a167ad3b786809d4c5ae02b948587b1885857678b3d315c1bd9c366963ad3516", - "sha256-a167ad3b786809d4c5ae02b948587b1885857678b3d315c1bd9c366963ad3516.sig", - "sha256-00889941b4b46ce0422810f9cd24333f3881ba2cc2d7766f331d4d8505f9d4c7.metadata", - "latest-metadata", - "sha256-00889941b4b46ce0422810f9cd24333f3881ba2cc2d7766f331d4d8505f9d4c7", - "sha256-00889941b4b46ce0422810f9cd24333f3881ba2cc2d7766f331d4d8505f9d4c7.sig", - "latest" - ], - "github_releases": [ - "v1.35.0-alpha.2", - "v1.35.0-alpha.1", - "v1.34.1", - "v1.33.5", - "v1.32.9", - "v1.31.13", - "v1.34.0", - "v1.34.0-rc.2", - "v1.33.4", - "v1.32.8" - ], - "subcategory": "CLI Tools" - }, - { - "name": "jq", - "description": "Lightweight and flexible command-line JSON processor.", - "github_release_url": "https://api.github.com/repos/jqlang/jq/releases?per_page=100&page=1", - "docker_tags_url": "https://github.com/jqlang/jq/pkgs/container/jq", - "readme": "https://github.com/jqlang/jq/blob/master/README.md", - "category": "System Utility", - "homepage": "https://jqlang.github.io/jq/", - "image_name": "ghcr.io/jqlang/jq", - "docker_help_command": "/jq --help", - "image_tags": [ - "latest", - "1.7rc1", - "1.7rc2", - "1.7", - "1.7.1", - "1.8.0", - "sha256-a186dcd84a1e28bb48cdf3d7768b890d08621a87bb651fadb7db6815a6bf5ad5", - "1.8.1", - "sha256-4f34c6d23f4b1372ac789752cc955dc67c2ae177eb1b5860b75cdc5091ce6f91" - ], - "github_releases": [ - "jq-1.8.1", - "jq-1.8.0", - "jq-1.7.1", - "jq-1.7", - "jq-1.7rc2", - "jq-1.7rc1", - "jq-1.6", - "jq-1.5", - "jq-1.5rc2", - "jq-1.5rc1" - ], - "subcategory": "Data Processing" - }, - { - "name": "yq", - "description": "Portable command-line YAML, JSON, and XML processor using jq-like syntax for parsing and manipulating structured data.", - "github_release_url": "https://api.github.com/repos/mikefarah/yq/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/mikefarah/yq/tags/?page=1&page_size=100", - "readme": "https://github.com/mikefarah/yq/blob/master/README.md", - "category": "System Utility", - "homepage": "https://mikefarah.gitbook.io/yq/", - "image_name": "docker.io/mikefarah/yq", - "docker_help_command": "/usr/bin/yq --help", - "image_tags": [ - "latest-githubaction", - "4-githubaction", - "4.48.1-githubaction", - "latest", - "4", - "4.48.1", - "4.47.2-githubaction", - "4.47.2", - "4.47.1-githubaction", - "4.47.1" - ], - "github_releases": [ - "v4.48.1", - "v4.47.2", - "v4.47.1", - "v4.46.1", - "v4.45.4", - "v4.45.3", - "v4.45.2", - "v4.45.1", - "v4.44.6", - "v4.44.5" - ], - "subcategory": "Data Processing" - }, - { - "name": "curl", - "description": "Command-line tool for transferring data with URLs - supports HTTP, HTTPS, FTP, and many other protocols for data transfer.", - "github_release_url": "https://api.github.com/repos/curl/curl/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/curlimages/curl/tags/?page=1&page_size=100", - "readme": "https://github.com/curl/curl/blob/master/README.md", - "category": "System Utility", - "homepage": "https://curl.se/", - "image_name": "docker.io/curlimages/curl", - "docker_help_command": "/usr/bin/curl --help", - "image_tags": [ - "sha256-463eaf6072688fe96ac64fa623fe73e1dbe25d8ad6c34404a669ad3ce1f104b6.sig", - "latest", - "8.16.0", - "sha256-4026b29997dc7c823b51c164b71e2b51e0fd95cce4601f78202c513d97da2922.sig", - "8.15.0", - "sha256-9a1ed35addb45476afa911696297f8e115993df459278ed036182dd2cd22b67b.sig", - "8.14.1", - "sha256-d43bdb28bae0be0998f3be83199bfb2b81e0a30b034b6d7586ce7e05de34c3fd.sig", - "8.13.0", - "sha256-94e9e444bcba979c2ea12e27ae39bee4cd10bc7041a472c4727a558e213744e6.sig" - ], - "github_releases": [ - "curl-8_16_0", - "curl-8_15_0", - "curl-8_14_1", - "curl-8_14_0", - "curl-8_13_0", - "curl-8_12_1", - "curl-8_12_0", - "curl-8_11_1", - "curl-8_11_0", - "curl-8_10_1" - ], - "subcategory": "HTTP Client" - }, - { - "name": "wget", - "description": "Network utility for non-interactive download of files from the web - supports HTTP, HTTPS, and FTP with resume capability.", - "github_release_url": "https://api.github.com/repos/mirror/wget/releases?per_page=100&page=1", - "docker_tags_url": "", - "readme": "https://github.com/mirror/wget/blob/master/README", - "category": "System Utility", - "homepage": "https://www.gnu.org/software/wget/", - "image_name": "docker.io/alpine", - "docker_help_command": "/usr/bin/wget --help", - "notes": "Using Alpine Linux which includes wget via BusyBox", - "image_tags": [ - "latest", - "3.22", - "3.21", - "3.20" - ], - "subcategory": "HTTP Client", - "github_releases": [] - }, - { - "name": "htop", - "description": "Interactive process viewer for Unix systems - provides real-time system monitoring with a user-friendly interface.", - "github_release_url": "https://api.github.com/repos/htop-dev/htop/releases?per_page=100&page=1", - "docker_tags_url": "", - "readme": "https://github.com/htop-dev/htop/blob/main/README.md", - "category": "System Utility", - "homepage": "https://htop.dev/", - "image_name": "", - "notes": "Typically used on host system, not commonly containerized", - "github_releases": [ - "3.4.1", - "3.4.0", - "3.3.0", - "3.2.2", - "3.2.1", - "3.2.0", - "3.1.2", - "3.1.1", - "3.1.0", - "3.1.0rc2" - ], - "subcategory": "Process Monitor" - }, - { - "name": "tmux", - "description": "Terminal multiplexer for Unix-like operating systems.", - "github_release_url": "https://api.github.com/repos/tmux/tmux/releases?per_page=100&page=1", - "docker_tags_url": "", - "readme": "https://github.com/tmux/tmux/blob/master/README", - "category": "System Utility", - "homepage": "https://github.com/tmux/tmux/wiki", - "image_name": "", - "notes": "Typically used on host system, not commonly containerized", - "github_releases": [ - "3.5a", - "3.5", - "3.4", - "3.3a", - "3.3", - "3.2a", - "3.2", - "3.1c", - "3.1b", - "3.1a" - ], - "subcategory": "Terminal Multiplexer" - }, - { - "name": "vim", - "description": "Highly configurable text editor built to make creating and changing any kind of text very efficient.", - "github_release_url": "https://api.github.com/repos/vim/vim/releases?per_page=100&page=1", - "docker_tags_url": "", - "readme": "https://github.com/vim/vim/blob/master/README.md", - "category": "Editor", - "homepage": "https://www.vim.org/", - "image_name": "", - "notes": "Typically used on host system, not commonly containerized", - "subcategory": "Text Editor", - "github_releases": [] - }, - { - "name": "Grafana", - "description": "Analytics and monitoring platform with customizable dashboards.", - "github_release_url": "https://api.github.com/repos/grafana/grafana/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/grafana/grafana/tags/?page=1&page_size=100", - "readme": "https://github.com/grafana/grafana/blob/main/README.md", - "category": "Observability", - "homepage": "https://grafana.com/", - "image_name": "docker.io/grafana/grafana", - "docker_help_command": "/usr/share/grafana/bin/grafana-server --help", - "image_tags": [ - "main-ubuntu", - "main", - "nightly-ubuntu", - "nightly", - "12.3.0-18765596677-ubuntu", - "12.3.0-18765596677", - "12.3.0-18733571275-ubuntu", - "12.3.0-18733571275", - "12.3.0-18701397209-ubuntu", - "12.3.0-18701397209" - ], - "github_releases": [ - "v12.2.1", - "v12.1.3", - "v12.0.6", - "v11.6.7", - "v11.5.10", - "v12.2.0", - "v12.1.2", - "v12.0.5", - "v11.6.6", - "v11.5.9" - ], - "subcategory": "Visualization" - }, - { - "name": "Elasticsearch", - "description": "Distributed search and analytics engine for full-text search.", - "github_release_url": "https://api.github.com/repos/elastic/elasticsearch/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/library/elasticsearch/tags/?page=1&page_size=100", - "readme": "https://github.com/elastic/elasticsearch/blob/main/README.asciidoc", - "category": "Database", - "homepage": "https://www.elastic.co/elasticsearch/", - "image_name": "docker.io/elastic/elasticsearch", - "docker_help_command": "/usr/share/elasticsearch/bin/elasticsearch --help", - "image_tags": [ - "9.2.0", - "9.1.6", - "8.19.6", - "9.1.5", - "9.0.8", - "8.19.5", - "8.18.8", - "8.17.10", - "8.19.4", - "8.18.7" - ], - "github_releases": [ - "v9.2.0", - "v9.1.6", - "v8.19.6", - "v8.19.5", - "v9.1.5", - "v9.0.8", - "v8.18.8", - "v9.1.4", - "v8.19.4", - "v9.0.7" - ], - "subcategory": "Database" - }, - { - "name": "Logstash", - "description": "Server-side data processing pipeline for ingesting, transforming, and sending data.", - "github_release_url": "https://api.github.com/repos/elastic/logstash/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/library/logstash/tags/?page=1&page_size=100", - "readme": "https://github.com/elastic/logstash/blob/main/README.md", - "category": "Observability", - "homepage": "https://www.elastic.co/logstash/", - "image_name": "docker.io/elastic/logstash", - "docker_help_command": "/usr/share/logstash/bin/logstash --help", - "image_tags": [ - "9.2.0", - "9.1.6", - "8.19.6", - "9.1.5", - "9.0.8", - "8.19.5", - "8.18.8", - "8.17.10", - "8.19.4", - "8.18.7" - ], - "github_releases": [ - "v9.1.6", - "v8.19.6", - "v9.2.0", - "v9.1.5", - "v9.0.8", - "v8.19.5", - "v8.18.8", - "v9.1.4", - "v9.0.7", - "v8.19.4" - ], - "subcategory": "Elastic Stack" - }, - { - "name": "Kibana", - "description": "Data visualization and exploration platform for Elasticsearch.", - "github_release_url": "https://api.github.com/repos/elastic/kibana/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/library/kibana/tags/?page=1&page_size=100", - "readme": "https://github.com/elastic/kibana/blob/main/README.md", - "category": "Observability", - "homepage": "https://www.elastic.co/kibana/", - "image_name": "docker.io/elastic/kibana", - "docker_help_command": "/usr/share/kibana/bin/kibana --help", - "image_tags": [ - "9.2.0", - "9.1.6", - "8.19.6", - "9.1.5", - "9.0.8", - "8.19.5", - "8.18.8", - "8.17.10", - "7.17.29", - "8.19.4" - ], - "github_releases": [ - "v9.2.0", - "v9.1.6", - "v8.19.6", - "v8.19.5", - "v9.1.5", - "v9.0.8", - "v8.18.8", - "v9.1.4", - "v8.19.4", - "v9.0.7" - ], - "subcategory": "Elastic Stack" - }, - { - "name": "MariaDB", - "description": "Open-source relational database forked from MySQL with enhanced features.", - "github_release_url": "https://api.github.com/repos/MariaDB/server/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/library/mariadb/tags/?page=1&page_size=100", - "readme": "https://github.com/MariaDB/server/blob/main/README.md", - "category": "Database", - "homepage": "https://mariadb.org/", - "image_name": "docker.io/mariadb", - "docker_help_command": "/usr/bin/mariadb --help", - "image_tags": [ - "lts-ubi9", - "lts-ubi", - "11.8.3-ubi9", - "11.8.3-ubi", - "11.8-ubi9", - "11.8-ubi", - "11.4.8-ubi9", - "11.4.8-ubi", - "11.4-ubi9", - "11.4-ubi" - ], - "github_releases": [ - "mariadb-12.0.2", - "mariadb-12.1.1", - "mariadb-11.8.3", - "mariadb-11.4.8", - "mariadb-10.6.23", - "mariadb-10.11.14", - "mariadb-12.0.1", - "mariadb-11.8.2", - "mariadb-11.4.7", - "mariadb-10.11.13" - ], - "subcategory": "MySQL" - }, - { - "name": "RabbitMQ", - "description": "Message broker implementing AMQP for reliable messaging between applications.", - "github_release_url": "https://api.github.com/repos/rabbitmq/rabbitmq-server/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/library/rabbitmq/tags/?page=1&page_size=100", - "readme": "https://github.com/rabbitmq/rabbitmq-server/blob/main/README.md", - "category": "Message Queue", - "homepage": "https://www.rabbitmq.com/", - "image_name": "docker.io/rabbitmq", - "docker_help_command": "/opt/rabbitmq/sbin/rabbitmqctl help", - "image_tags": [ - "management", - "4.2.0-rc.1-management", - "4.2-rc-management", - "4.1.4-management", - "4.1-management", - "4.0.9-management", - "4.0-management", - "4-management", - "3.13.7-management", - "3.13-management" - ], - "github_releases": [ - "v4.2.0-rc.1", - "v4.2.0-beta.4", - "v4.2.0-beta.3", - "v4.1.4", - "v4.2.0-beta.2", - "v4.2.0-beta.1", - "v4.1.3", - "v4.1.2", - "v4.1.1", - "v4.1.0" - ], - "subcategory": "Message Broker" - }, - { - "name": "Memcached", - "description": "High-performance, distributed memory object caching system.", - "github_release_url": "https://api.github.com/repos/memcached/memcached/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/library/memcached/tags/?page=1&page_size=100", - "readme": "https://github.com/memcached/memcached/blob/master/README.md", - "category": "Cache", - "homepage": "https://memcached.org/", - "image_name": "docker.io/memcached", - "docker_help_command": "/usr/local/bin/memcached -h", - "image_tags": [ - "trixie", - "latest", - "1.6.39-trixie", - "1.6.39", - "1.6-trixie", - "1.6", - "1-trixie", - "1", - "alpine3.22", - "alpine" - ], - "subcategory": "Caching", - "github_releases": [] - }, - { - "name": "Traefik", - "description": "Modern HTTP reverse proxy and load balancer for microservices.", - "github_release_url": "https://api.github.com/repos/traefik/traefik/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/library/traefik/tags/?page=1&page_size=100", - "readme": "https://github.com/traefik/traefik/blob/master/README.md", - "category": "Proxy", - "homepage": "https://traefik.io/", - "image_name": "docker.io/traefik", - "docker_help_command": "/usr/local/bin/traefik --help", - "image_tags": [ - "windowsservercore-ltsc2022", - "v3.5.3-windowsservercore-ltsc2022", - "v3.5.3-nanoserver-ltsc2022", - "v3.5-windowsservercore-ltsc2022", - "v3.5-nanoserver-ltsc2022", - "v3-windowsservercore-ltsc2022", - "v3-nanoserver-ltsc2022", - "v2.11.29-windowsservercore-ltsc2022", - "v2.11.29-nanoserver-ltsc2022", - "v2.11-windowsservercore-ltsc2022" - ], - "github_releases": [ - "v3.5.3", - "v3.5.2", - "v3.5.1", - "v2.11.29", - "v3.5.0", - "v3.4.5", - "v2.11.28", - "v3.5.0-rc2", - "v3.4.4", - "v2.11.27" - ], - "subcategory": "Traefik" - }, - { - "name": "HAProxy", - "description": "Reliable, high-performance TCP/HTTP load balancer - widely used for distributing traffic across multiple servers.", - "github_release_url": "https://api.github.com/repos/haproxy/haproxy/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/library/haproxy/tags/?page=1&page_size=100", - "readme": "http://www.haproxy.org/#docs", - "category": "Proxy", - "homepage": "https://www.haproxy.org/", - "image_name": "docker.io/haproxy", - "docker_help_command": "/usr/local/sbin/haproxy -h", - "image_tags": [ - "trixie", - "lts-trixie", - "lts-alpine3.22", - "lts-alpine", - "lts", - "latest", - "alpine3.22", - "alpine", - "3.2.7-trixie", - "3.2.7-alpine3.22" - ], - "subcategory": "HAProxy", - "github_releases": [] - }, - { - "name": "Caddy", - "description": "Fast, multi-platform web server with automatic HTTPS.", - "github_release_url": "https://api.github.com/repos/caddyserver/caddy/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/library/caddy/tags/?page=1&page_size=100", - "readme": "https://github.com/caddyserver/caddy/blob/master/README.md", - "category": "Web Server", - "homepage": "https://caddyserver.com/", - "image_name": "docker.io/caddy", - "docker_help_command": "/usr/bin/caddy --help", - "image_tags": [ - "windowsservercore-ltsc2025", - "windowsservercore-ltsc2022", - "windowsservercore", - "latest", - "builder-windowsservercore-ltsc2025", - "builder-windowsservercore-ltsc2022", - "builder", - "2.10.2-windowsservercore-ltsc2025", - "2.10.2-windowsservercore-ltsc2022", - "2.10.2-windowsservercore" - ], - "github_releases": [ - "v2.10.2", - "v2.10.1", - "v2.10.0", - "v2.10.0-beta.4", - "v2.10.0-beta.3", - "v2.10.0-beta.2", - "v2.10.0-beta.1", - "v2.9.1", - "v2.9.0", - "v2.9.0-beta.3" - ], - "subcategory": "HTTP Server" - }, - { - "name": "Certbot", - "description": "Tool for automatically obtaining and renewing Let's Encrypt SSL certificates.", - "github_release_url": "https://api.github.com/repos/certbot/certbot/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/certbot/certbot/tags/?page=1&page_size=100", - "readme": "https://github.com/certbot/certbot/blob/master/README.rst", - "category": "Security", - "homepage": "https://certbot.eff.org/", - "image_name": "docker.io/certbot/certbot", - "docker_help_command": "/usr/local/bin/certbot --help", - "image_tags": [ - "nightly", - "arm32v6-nightly", - "amd64-nightly", - "arm64v8-nightly", - "latest", - "v5.1.0", - "arm64v8-latest", - "arm64v8-v5.1.0", - "amd64-latest", - "amd64-v5.1.0" - ], - "github_releases": [ - "v5.1.0", - "v5.0.0", - "v4.2.0", - "v4.1.1", - "v4.1.0", - "v4.0.0", - "v3.3.0", - "v2.11.1", - "v3.2.0", - "v3.1.0" - ], - "subcategory": "Certificate Management" - }, - { - "name": "Buildah", - "description": "Tool that facilitates building OCI container images.", - "github_release_url": "https://api.github.com/repos/containers/buildah/releases?per_page=100&page=1", - "docker_tags_url": "https://quay.io/api/v1/repository/buildah/stable/tag/?page=1&limit=100", - "readme": "https://github.com/containers/buildah/blob/main/README.md", - "category": "Container Tools", - "homepage": "https://buildah.io/", - "image_name": "quay.io/buildah/stable", - "docker_help_command": "/usr/bin/buildah --help", - "image_tags": [ - "v1.33.2", - "v1.33", - "v1.37.3", - "v1.35.4", - "v1.35", - "v1.41.5", - "v1.41", - "v1", - "latest", - "v1.37.5" - ], - "github_releases": [ - "v1.42.0", - "v1.41.5", - "v1.41.4", - "v1.41.3", - "v1.41.2", - "v1.41.1", - "v1.41.0", - "v1.40.1", - "v1.40.0", - "v1.39.4" - ], - "subcategory": "Build Tools" - }, - { - "name": "Skopeo", - "description": "Command line utility for various operations on container images and image repositories.", - "github_release_url": "https://api.github.com/repos/containers/skopeo/releases?per_page=100&page=1", - "docker_tags_url": "https://quay.io/api/v1/repository/skopeo/stable/tag/?page=1&limit=100", - "readme": "https://github.com/containers/skopeo/blob/main/README.md", - "category": "Container Tools", - "homepage": "https://github.com/containers/skopeo", - "image_name": "quay.io/skopeo/stable", - "docker_help_command": "/usr/bin/skopeo --help", - "image_tags": [ - "v1.20.0", - "v1.20", - "v1", - "latest", - "v1.16.1", - "v1.16", - "v1.20.0", - "v1.20", - "v1", - "latest" - ], - "github_releases": [ - "v1.20.0", - "v1.19.0", - "v1.18.0", - "v1.17.0", - "v1.16.1", - "v1.16.0", - "v1.15.2", - "v1.14.5", - "v1.14.4", - "v1.14.3" - ], - "subcategory": "Build Tools" - }, - { - "name": "Trivy", - "description": "Comprehensive security scanner for vulnerabilities in containers and filesystems.", - "github_release_url": "https://api.github.com/repos/aquasecurity/trivy/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/aquasec/trivy/tags/?page=1&page_size=100", - "readme": "https://github.com/aquasecurity/trivy/blob/main/README.md", - "category": "Security", - "homepage": "https://trivy.dev/", - "image_name": "docker.io/aquasec/trivy", - "docker_help_command": "/usr/local/bin/trivy --help", - "image_tags": [ - "canary", - "sha256-e2b22eac59c02003d8749f5b8d9bd073b62e30fefaef5b7c8371204e0a4b0c08.sig", - "latest", - "0.67.2", - "latest-s390x", - "0.67.2-s390x", - "latest-ppc64le", - "0.67.2-ppc64le", - "latest-amd64", - "0.67.2-amd64" - ], - "github_releases": [ - "v0.67.2", - "v0.67.1", - "v0.67.0", - "v0.66.0", - "v0.65.0", - "v0.64.1", - "v0.64.0", - "v0.63.0", - "v0.62.1", - "v0.62.0" - ], - "subcategory": "Security Scanner" - }, - { - "name": "Grype", - "description": "Vulnerability scanner for container images and filesystems.", - "github_release_url": "https://api.github.com/repos/anchore/grype/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/anchore/grype/tags/?page=1&page_size=100", - "readme": "https://github.com/anchore/grype/blob/main/README.md", - "category": "Security", - "homepage": "https://github.com/anchore/grype", - "image_name": "docker.io/anchore/grype", - "notes": "Docker image has OCI runtime compatibility issues on some systems", - "image_tags": [ - "v0.102.0-debug", - "debug", - "v0.102.0-nonroot", - "nonroot", - "v0.102.0", - "latest", - "v0.102.0-debug-amd64", - "v0.102.0-debug-s390x", - "v0.102.0-debug-arm64v8", - "v0.102.0-debug-ppc64le" - ], - "github_releases": [ - "v0.102.0", - "v0.101.1", - "v0.101.0", - "v0.100.0", - "v0.99.1", - "v0.99.0", - "v0.98.0", - "v0.97.2", - "v0.97.1", - "v0.97.0" - ], - "subcategory": "Security Scanner" - }, - { - "name": "Syft", - "description": "Tool for generating Software Bill of Materials (SBOM) from container images.", - "github_release_url": "https://api.github.com/repos/anchore/syft/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/anchore/syft/tags/?page=1&page_size=100", - "readme": "https://github.com/anchore/syft/blob/main/README.md", - "category": "Security", - "homepage": "https://github.com/anchore/syft", - "image_name": "docker.io/anchore/syft", - "docker_help_command": "/syft --help", - "image_tags": [ - "v1.36.0-debug", - "debug", - "v1.36.0-nonroot", - "nonroot", - "v1.36.0", - "latest", - "v1.36.0-debug-s390x", - "v1.36.0-debug-ppc64le", - "v1.36.0-debug-arm64v8", - "v1.36.0-debug-amd64" - ], - "github_releases": [ - "v1.36.0", - "v1.34.2", - "v1.34.1", - "v1.33.0", - "v1.32.0", - "v1.31.0", - "v1.30.0", - "v1.29.1", - "v1.29.0", - "v1.28.0" - ], - "subcategory": "Security" - }, - { - "name": "Dive", - "description": "Tool for exploring Docker image layers and analyzing layer contents.", - "github_release_url": "https://api.github.com/repos/wagoodman/dive/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/wagoodman/dive/tags/?page=1&page_size=100", - "readme": "https://github.com/wagoodman/dive/blob/main/README.md", - "category": "Container Tools", - "homepage": "https://github.com/wagoodman/dive", - "image_name": "docker.io/wagoodman/dive", - "docker_help_command": "/usr/local/bin/dive --help", - "image_tags": [ - "v0.13.1", - "v0.13", - "v0", - "latest", - "v0.13.1-arm64", - "v0.13.1-amd64", - "0.13.0", - "0.13.0-amd64", - "latest-amd64", - "0.13.0-arm64" - ], - "github_releases": [ - "v0.13.1", - "v0.13.0", - "v0.12.0", - "v0.11.0", - "v0.10.0", - "v0.9.2", - "v0.9.1", - "v0.9.0", - "v0.8.1", - "v0.8.0" - ], - "subcategory": "Image Tools" - }, - { - "name": "Hadolint", - "description": "A smarter Dockerfile linter that helps you build best practice Docker images.", - "github_release_url": "https://api.github.com/repos/hadolint/hadolint/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/hadolint/hadolint/tags/?page=1&page_size=100", - "readme": "https://github.com/hadolint/hadolint/blob/master/README.md", - "category": "Container Tools", - "homepage": "https://github.com/hadolint/hadolint", - "image_name": "docker.io/hadolint/hadolint", - "docker_help_command": "/bin/hadolint --help", - "image_tags": [ - "v2.14.0-debian", - "latest-debian", - "v2.14.0-alpine", - "latest-alpine", - "v2.14.0", - "latest", - "57e1618d78fd469a92c1e584e8c9313024656623-alpine-amd64", - "57e1618d78fd469a92c1e584e8c9313024656623-alpine-arm64", - "57e1618d78fd469a92c1e584e8c9313024656623-debian-amd64", - "57e1618d78fd469a92c1e584e8c9313024656623-debian-arm64" - ], - "github_releases": [ - "v2.14.0", - "v2.13.1", - "v2.12.1-beta", - "v2.12.0", - "v2.11.0", - "v2.10.0", - "v2.9.3", - "v2.9.2", - "v2.9.1", - "v2.9.0" - ], - "subcategory": "Image Tools" - }, - { - "name": "act", - "description": "Run your GitHub Actions locally Why would you want to do this.", - "github_release_url": "https://api.github.com/repos/nektos/act/releases?per_page=100&page=1", - "docker_tags_url": "", - "readme": "https://github.com/nektos/act/blob/master/README.md", - "category": "CI/CD", - "homepage": "https://github.com/nektos/act", - "image_name": "ghcr.io/nektos/act", - "image_tags": [ - "latest", - "nightly" - ], - "github_releases": [ - "v0.2.82", - "v0.2.81", - "v0.2.80", - "v0.2.79", - "v0.2.78", - "v0.2.77", - "v0.2.76", - "v0.2.75", - "v0.2.74", - "v0.2.73" - ], - "subcategory": "GitHub Actions" - }, - { - "name": "K9s", - "description": "Terminal-based UI for managing Kubernetes clusters.", - "github_release_url": "https://api.github.com/repos/derailed/k9s/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/derailed/k9s/tags/?page=1&page_size=100", - "readme": "https://github.com/derailed/k9s/blob/master/README.md", - "category": "Kubernetes", - "homepage": "https://k9scli.io/", - "image_name": "docker.io/derailed/k9s", - "docker_help_command": "/bin/k9s --help", - "image_tags": [ - "v0.50.16", - "latest", - "v0.50.15", - "v0.50.14", - "v0.50.13", - "v0.50.12", - "v0.50.11", - "v0.50.10", - "v0.50.9", - "v0.50.8" - ], - "github_releases": [ - "v0.50.16", - "v0.50.15", - "v0.50.14", - "v0.50.13", - "v0.50.12", - "v0.50.11", - "v0.50.10", - "v0.50.9", - "v0.50.8", - "v0.50.7" - ], - "subcategory": "TUI" - }, - { - "name": "Kustomize", - "description": "Kubernetes configuration customization tool using declarative specifications.", - "github_release_url": "https://api.github.com/repos/kubernetes-sigs/kustomize/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/line/kubectl-kustomize/tags/?page=1&page_size=100", - "readme": "https://github.com/kubernetes-sigs/kustomize/blob/master/README.md", - "category": "Kubernetes", - "homepage": "https://kustomize.io/", - "image_name": "docker.io/line/kubectl-kustomize", - "docker_help_command": "/usr/local/bin/kustomize --help", - "image_tags": [ - "latest", - "1.31.0-5.7.1", - "1.31.0-5.7.0", - "1.31.0-5.6.0", - "1.31.0-5.5.0", - "1.31.0-5.4.3", - "1.30.3-5.4.3", - "1.30.3-5.4.2", - "1.30.2-5.4.2", - "1.30.1-5.4.2" - ], - "github_releases": [ - "kyaml/v0.20.1", - "kustomize/v5.7.1", - "cmd/config/v0.20.1", - "api/v0.20.1", - "kyaml/v0.20.0", - "kustomize/v5.7.0", - "cmd/config/v0.20.0", - "api/v0.20.0", - "kyaml/v0.19.0", - "kustomize/v5.6.0" - ], - "subcategory": "Configuration" - }, - { - "name": "Kubectx + Kubens", - "description": "Faster way to switch between clusters and namespaces in kubectl.", - "github_release_url": "https://api.github.com/repos/ahmetb/kubectx/releases?per_page=100&page=1", - "docker_tags_url": "", - "readme": "https://github.com/ahmetb/kubectx/blob/master/README.md", - "category": "Kubernetes", - "homepage": "https://github.com/ahmetb/kubectx", - "image_name": "", - "notes": "Typically used on host system, shell scripts", - "github_releases": [ - "v0.9.5", - "v0.9.4", - "v0.9.3", - "v0.9.2", - "v0.9.1", - "v0.9.0", - "v0.8.0", - "v0.7.1", - "v0.7.0", - "v0.6.3" - ], - "subcategory": "CLI Tools" - }, - { - "name": "Stern", - "description": "Multi pod and container log tailing for Kubernetes.", - "github_release_url": "https://api.github.com/repos/stern/stern/releases?per_page=100&page=1", - "docker_tags_url": "", - "readme": "https://github.com/stern/stern/blob/master/README.md", - "category": "Kubernetes", - "homepage": "https://github.com/stern/stern", - "image_name": "", - "notes": "Typically used as binary on host system", - "github_releases": [ - "v1.33.0", - "v1.32.0", - "v1.31.0", - "v1.30.0", - "v1.29.0", - "v1.28.0", - "v1.27.0", - "v1.26.0", - "v1.25.0", - "v1.24.0" - ], - "subcategory": "Log Viewer" - }, - { - "name": "fzf", - "description": "Fzf is a general-purpose command-line fuzzy finder.", - "github_release_url": "https://api.github.com/repos/junegunn/fzf/releases?per_page=100&page=1", - "docker_tags_url": "", - "readme": "https://github.com/junegunn/fzf/blob/master/README.md", - "category": "System Utility", - "homepage": "https://github.com/junegunn/fzf", - "image_name": "", - "notes": "Typically used on host system for shell integration", - "github_releases": [ - "v0.66.0", - "v0.65.2", - "v0.65.1", - "v0.65.0", - "v0.64.0", - "v0.63.0", - "v0.62.0", - "v0.61.3", - "v0.61.2", - "v0.61.1" - ], - "subcategory": "CLI Enhancer" - }, - { - "name": "ripgrep", - "description": "Line-oriented search tool that recursively searches the current directory.", - "github_release_url": "https://api.github.com/repos/BurntSushi/ripgrep/releases?per_page=100&page=1", - "docker_tags_url": "", - "readme": "https://github.com/BurntSushi/ripgrep/blob/master/README.md", - "category": "System Utility", - "homepage": "https://github.com/BurntSushi/ripgrep", - "image_name": "", - "notes": "Typically used on host system", - "github_releases": [ - "15.1.0", - "15.0.0", - "14.1.1", - "14.1.0", - "14.0.3", - "14.0.2", - "14.0.1", - "14.0.0", - "13.0.0", - "12.1.1" - ], - "subcategory": "CLI Enhancer" - }, - { - "name": "bat", - "description": "Cat clone with syntax highlighting and Git integration.", - "github_release_url": "https://api.github.com/repos/sharkdp/bat/releases?per_page=100&page=1", - "docker_tags_url": "", - "readme": "https://github.com/sharkdp/bat/blob/master/README.md", - "category": "System Utility", - "homepage": "https://github.com/sharkdp/bat", - "image_name": "", - "notes": "Typically used on host system", - "github_releases": [ - "v0.26.0", - "v0.25.0", - "v0.24.0", - "v0.23.0", - "v0.22.1", - "v0.22.0", - "v0.21.0", - "v0.20.0", - "v0.19.0", - "v0.18.3" - ], - "subcategory": "CLI Enhancer" - }, - { - "name": "fd", - "description": "Simple, fast and user-friendly alternative to find.", - "github_release_url": "https://api.github.com/repos/sharkdp/fd/releases?per_page=100&page=1", - "docker_tags_url": "", - "readme": "https://github.com/sharkdp/fd/blob/master/README.md", - "category": "System Utility", - "homepage": "https://github.com/sharkdp/fd", - "image_name": "", - "notes": "Typically used on host system", - "github_releases": [ - "v10.3.0", - "v10.2.0", - "v10.1.0", - "v10.0.0", - "v9.0.0", - "v8.7.1", - "v8.7.0", - "v8.6.0", - "v8.5.3", - "v8.5.2" - ], - "subcategory": "CLI Enhancer" - }, - { - "name": "exa", - "description": "(This repository isn't archived because the only person with the rights to do so is unreachable). is a modern replacement for _ls_.", - "github_release_url": "https://api.github.com/repos/ogham/exa/releases?per_page=100&page=1", - "docker_tags_url": "", - "readme": "https://github.com/ogham/exa/blob/master/README.md", - "category": "System Utility", - "homepage": "https://the.exa.website/", - "image_name": "", - "notes": "Typically used on host system, project archived", - "github_releases": [ - "v0.10.1", - "v0.10.0", - "v0.9.0", - "v0.8.0", - "v0.7.0", - "v0.6.0", - "v0.5.0", - "v0.4.1", - "v0.4.0", - "v0.3.0" - ], - "subcategory": "CLI Enhancer" - }, - { - "name": "Zoxide", - "description": "Zoxide is a smarter cd command, inspired by z and autojump.", - "github_release_url": "https://api.github.com/repos/ajeetdsouza/zoxide/releases?per_page=100&page=1", - "docker_tags_url": "", - "readme": "https://github.com/ajeetdsouza/zoxide/blob/main/README.md", - "category": "System Utility", - "homepage": "https://github.com/ajeetdsouza/zoxide", - "image_name": "", - "notes": "Typically used on host system for shell integration", - "github_releases": [ - "v0.9.8", - "v0.9.7", - "v0.9.6", - "v0.9.5", - "v0.9.4", - "v0.9.3", - "v0.9.2", - "v0.9.1", - "v0.9.0", - "v0.8.3" - ], - "subcategory": "CLI Enhancer" - }, - { - "name": "HTTPie", - "description": "Modern, user-friendly command-line HTTP client with intuitive syntax, JSON support, and colored output for testing APIs.", - "github_release_url": "https://api.github.com/repos/httpie/cli/releases?per_page=100&page=1", - "docker_tags_url": "https://registry.hub.docker.com/v2/repositories/alpine/httpie/tags/?page=1&page_size=100", - "readme": "https://github.com/httpie/cli/blob/master/README.md", - "category": "System Utility", - "homepage": "https://httpie.io/", - "image_name": "", - "notes": "Official Docker images have access restrictions; typically installed via pip", - "image_tags": [ - "3.2.4", - "latest", - "3.2.3", - "3.2.2", - "3.2.1", - "3.0.0", - "3.0.1", - "3.0.2", - "3.1.0", - "2.6.0" - ], - "github_releases": [ - "3.2.4", - "3.2.3", - "3.2.2", - "3.2.1", - "3.2.0", - "3.1.0", - "3.0.2", - "3.0.1", - "3.0.0", - "2.6.0" - ], - "subcategory": "HTTP Client" - }, - { - "name": "lazydocker", - "description": "Terminal UI for managing Docker containers, images, and volumes.", - "github_release_url": "https://api.github.com/repos/jesseduffield/lazydocker/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/lazyteam/lazydocker/tags/?page=1&page_size=100", - "readme": "https://github.com/jesseduffield/lazydocker/blob/master/README.md", - "category": "Container Tools", - "homepage": "https://github.com/jesseduffield/lazydocker", - "image_name": "docker.io/lazyteam/lazydocker", - "docker_help_command": "/bin/lazydocker --help", - "image_tags": [ - "latest", - "version-0.12", - "version-0.11", - "version-0.10", - "version-0.9.1", - "version-0.9", - "version-0.8", - "version-0.7.6", - "version-0.7.5", - "version-0.7.4" - ], - "github_releases": [ - "v0.24.1", - "v0.24.0", - "v0.23.3", - "v0.23.1", - "v0.23.0", - "v0.21.1", - "v0.21.0", - "v0.20.0", - "v0.19.0", - "v0.18.1" - ], - "subcategory": "Docker" - }, - { - "name": "lazygit", - "description": "Lazygit is not my fulltime job but it is a hefty part time job so if you want to support the project please consider sponsoring me.", - "github_release_url": "https://api.github.com/repos/jesseduffield/lazygit/releases?per_page=100&page=1", - "docker_tags_url": "", - "readme": "https://github.com/jesseduffield/lazygit/blob/master/README.md", - "category": "Version Control", - "homepage": "https://github.com/jesseduffield/lazygit", - "image_name": "", - "notes": "Typically used on host system for Git integration", - "github_releases": [ - "v0.55.1", - "v0.55.0", - "v0.54.2", - "v0.54.1", - "v0.54.0", - "v0.53.0", - "v0.52.0", - "v0.51.1", - "v0.51.0", - "v0.50.0" - ], - "subcategory": "Git" - }, - { - "name": "Minio", - "description": "High-performance object storage with S3-compatible API.", - "github_release_url": "https://api.github.com/repos/minio/minio/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/minio/minio/tags/?page=1&page_size=100", - "readme": "https://github.com/minio/minio/blob/master/README.md", - "category": "Storage", - "homepage": "https://min.io/", - "image_name": "docker.io/minio/minio", - "docker_help_command": "/usr/bin/minio --help", - "image_tags": [ - "RELEASE.2025-09-07T16-13-09Z-cpuv1", - "RELEASE.2025-09-07T16-13-09Z", - "latest-cicd", - "latest", - "RELEASE.2025-07-23T15-54-02Z-cpuv1", - "RELEASE.2025-07-23T15-54-02Z", - "RELEASE.2025-07-18T21-56-31Z-cpuv1", - "RELEASE.2025-07-18T21-56-31Z", - "RELEASE.2025-06-13T11-33-47Z-cpuv1", - "RELEASE.2025-06-13T11-33-47Z" - ], - "github_releases": [ - "RELEASE.2025-10-15T17-29-55Z", - "RELEASE.2025-09-07T16-13-09Z", - "RELEASE.2025-07-23T15-54-02Z", - "RELEASE.2025-07-18T21-56-31Z", - "RELEASE.2025-06-13T11-33-47Z", - "RELEASE.2025-05-24T17-08-30Z", - "RELEASE.2025-04-22T22-12-26Z", - "RELEASE.2025-04-08T15-41-24Z", - "RELEASE.2025-04-03T14-56-28Z", - "RELEASE.2025-03-12T18-04-18Z" - ], - "subcategory": "Object Storage" - }, - { - "name": "Rclone", - "description": "Command-line program for syncing files and directories to cloud storage.", - "github_release_url": "https://api.github.com/repos/rclone/rclone/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/rclone/rclone/tags/?page=1&page_size=100", - "readme": "https://github.com/rclone/rclone/blob/master/README.md", - "category": "Storage", - "homepage": "https://rclone.org/", - "image_name": "docker.io/rclone/rclone", - "docker_help_command": "/usr/local/bin/rclone --help", - "image_tags": [ - "beta", - "master", - "sha-51859af", - "sha-6663eb3", - "fix-8892", - "sha-188a061", - "sha-7163162", - "sha-b272c50", - "sha-a192110", - "fix-8860-no-traverse" - ], - "github_releases": [ - "v1.71.2", - "v1.71.1", - "v1.71.0", - "v1.70.3", - "v1.70.2", - "v1.70.1", - "v1.70.0", - "v1.69.3", - "v1.69.2", - "v1.69.1" - ], - "subcategory": "Backup" - }, - { - "name": "Restic", - "description": "Fast, secure, efficient backup program with encryption and deduplication.", - "github_release_url": "https://api.github.com/repos/restic/restic/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/restic/restic/tags/?page=1&page_size=100", - "readme": "https://github.com/restic/restic/blob/master/README.md", - "category": "Backup", - "homepage": "https://restic.net/", - "image_name": "docker.io/restic/restic", - "docker_help_command": "/usr/bin/restic --help", - "image_tags": [ - "0.18.1", - "latest", - "0.18.0", - "0.17.3", - "0.17.2", - "0.17.1", - "0.17.0", - "0.16.5", - "0.16.4", - "0.16.3" - ], - "github_releases": [ - "v0.18.1", - "v0.18.0", - "v0.17.3", - "v0.17.2", - "v0.17.1", - "v0.17.0", - "v0.16.5", - "v0.16.4", - "v0.16.3", - "v0.16.2" - ], - "subcategory": "Backup Tool" - }, - { - "name": "borgbackup", - "description": "Deduplicating archiver with compression and encryption.", - "github_release_url": "https://api.github.com/repos/borgbackup/borg/releases?per_page=100&page=1", - "docker_tags_url": "", - "readme": "https://github.com/borgbackup/borg/blob/master/README.rst", - "category": "Backup", - "homepage": "https://www.borgbackup.org/", - "image_name": "", - "notes": "No official Docker image, typically used on host system", - "github_releases": [ - "1.2.9", - "2.0.0b19", - "2.0.0b18", - "2.0.0b17", - "2.0.0b16", - "2.0.0b15", - "1.4.1", - "2.0.0b14", - "2.0.0b13", - "2.0.0b12" - ], - "subcategory": "Backup Tool" - }, - { - "name": "Etcd", - "description": "Distributed, reliable key-value store for distributed systems configuration.", - "github_release_url": "https://api.github.com/repos/etcd-io/etcd/releases?per_page=100&page=1", - "docker_tags_url": "https://quay.io/api/v1/repository/coreos/etcd/tag/?page=1&limit=100", - "readme": "https://github.com/etcd-io/etcd/blob/main/README.md", - "category": "Database", - "homepage": "https://etcd.io/", - "image_name": "quay.io/coreos/etcd", - "docker_help_command": "/usr/local/bin/etcdctl --help", - "image_tags": [ - "v3.5.19", - "v3.5.19-s390x", - "v3.5.19-ppc64le", - "v3.5.19-arm64", - "v3.5.19-amd64", - "v3.6.0-rc.2", - "v3.6.0-rc.2-s390x", - "v3.6.0-rc.2-ppc64le", - "v3.6.0-rc.2-arm64", - "v3.6.0-rc.2-amd64" - ], - "github_releases": [ - "v3.5.24", - "v3.4.38", - "v3.6.5", - "v3.5.23", - "v3.6.4", - "v3.6.3", - "v3.5.22", - "v3.6.2", - "v3.6.1", - "v3.6.0" - ], - "subcategory": "etcd" - }, - { - "name": "Nmap", - "description": "Network discovery and security auditing tool.", - "github_release_url": "https://api.github.com/repos/nmap/nmap/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/instrumentisto/nmap/tags/?page=1&page_size=100", - "readme": "https://github.com/nmap/nmap/blob/master/README.md", - "category": "Security", - "homepage": "https://nmap.org/", - "image_name": "docker.io/instrumentisto/nmap", - "docker_help_command": "/usr/bin/nmap --help", - "image_tags": [ - "latest", - "7", - "7.95", - "7.95-r11", - "7.95-r11-linux-s390x", - "7.95-r11-linux-ppc64le", - "7.95-r11-linux-i386", - "7.95-r11-linux-arm64v8", - "7.95-r11-linux-arm32v7", - "7.95-r11-linux-arm32v6" - ], - "subcategory": "Security Scanner", - "github_releases": [] - }, - { - "name": "Wireshark (tshark)", - "description": "Wireshark is a network traffic analyzer, or \"sniffer\", for Linux, macOS, BSD and other Unix and Unix-like operating systems and for Windows.", - "github_release_url": "https://api.github.com/repos/wireshark/wireshark/releases?per_page=100&page=1", - "docker_tags_url": "", - "readme": "https://github.com/wireshark/wireshark/blob/master/README.md", - "category": "Network", - "homepage": "https://www.wireshark.org/", - "image_name": "", - "notes": "Typically used on host system, GUI application", - "subcategory": "Network Tool", - "github_releases": [] - }, - { - "name": "Netcat", - "description": "Networking utility for reading and writing network connections.", - "github_release_url": "", - "docker_tags_url": "", - "readme": "", - "category": "Network", - "homepage": "http://netcat.sourceforge.net/", - "image_name": "", - "notes": "Included in most base images (Alpine, Ubuntu, etc.)", - "subcategory": "Network Tool" - }, - { - "name": "OpenSSH", - "description": "List only allows posting from subscribed addresses.", - "github_release_url": "https://api.github.com/repos/openssh/openssh-portable/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/linuxserver/openssh-server/tags/?page=1&page_size=100", - "readme": "https://github.com/openssh/openssh-portable/blob/master/README", - "category": "Network", - "homepage": "https://www.openssh.com/", - "image_name": "", - "notes": "SSH client not included in base Alpine image; typically used on host system", - "image_tags": [ - "version-10.0_p1-r9", - "10.0_p1-r9-ls208", - "latest", - "arm64v8-latest", - "arm64v8-version-10.0_p1-r9", - "arm64v8-10.0_p1-r9-ls208", - "amd64-10.0_p1-r9-ls208", - "amd64-version-10.0_p1-r9", - "amd64-latest", - "10.0_p1-r9-ls207" - ], - "subcategory": "Network Tool", - "github_releases": [] - }, - { - "name": "OpenSSL", - "description": "OpenSSL is a robust, commercial-grade, full-featured Open Source Toolkit for the TLS (formerly SSL), DTLS and QUIC protocols.", - "github_release_url": "https://api.github.com/repos/openssl/openssl/releases?per_page=100&page=1", - "docker_tags_url": "", - "readme": "https://github.com/openssl/openssl/blob/master/README.md", - "category": "Security", - "homepage": "https://www.openssl.org/", - "image_name": "", - "notes": "Included in most base images", - "github_releases": [ - "openssl-3.6.0", - "openssl-3.5.4", - "openssl-3.4.3", - "openssl-3.3.5", - "openssl-3.2.6", - "openssl-3.0.18", - "openssl-3.5.3", - "openssl-3.6.0-beta1", - "openssl-3.6.0-alpha1", - "openssl-3.5.2" - ], - "subcategory": "Certificate Management" - }, - { - "name": "Sqlmap", - "description": "Automatic SQL injection and database takeover tool.", - "github_release_url": "https://api.github.com/repos/sqlmapproject/sqlmap/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/paoloo/sqlmap/tags/?page=1&page_size=100", - "readme": "https://github.com/sqlmapproject/sqlmap/blob/master/README.md", - "category": "Security", - "homepage": "https://sqlmap.org/", - "image_name": "", - "notes": "Available Docker images use deprecated manifest format; typically installed via pip or package manager", - "image_tags": [ - "latest", - "1.2", - "1.1" - ], - "github_releases": [ - "1.9", - "1.8", - "1.7", - "1.6", - "1.5", - "1.4", - "1.3", - "1.2", - "1.1", - "1.0" - ], - "subcategory": "Security Scanner" - }, - { - "name": "Nuclei", - "description": "Fast vulnerability scanner based on templates.", - "github_release_url": "https://api.github.com/repos/projectdiscovery/nuclei/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/projectdiscovery/nuclei/tags/?page=1&page_size=100", - "readme": "https://github.com/projectdiscovery/nuclei/blob/main/README.md", - "category": "Security", - "homepage": "https://nuclei.projectdiscovery.io/", - "image_name": "docker.io/projectdiscovery/nuclei", - "docker_help_command": "/usr/local/bin/nuclei -h", - "image_tags": [ - "latest", - "v3", - "v3.4", - "v3.4.10", - "latest-arm64", - "v3-arm64", - "v3.4-arm64", - "v3.4.10-arm64", - "latest-amd64", - "v3-amd64" - ], - "github_releases": [ - "v3.4.10", - "v3.4.9", - "v3.4.8", - "v3.4.7", - "v3.4.6", - "v3.4.5", - "v3.4.4", - "v3.4.3", - "v3.4.2", - "v3.4.1" - ], - "subcategory": "Security Scanner" - }, - { - "name": "Subfinder", - "description": "Subdomain discovery tool for penetration testing and bug bounty.", - "github_release_url": "https://api.github.com/repos/projectdiscovery/subfinder/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/projectdiscovery/subfinder/tags/?page=1&page_size=100", - "readme": "https://github.com/projectdiscovery/subfinder/blob/main/README.md", - "category": "Security", - "homepage": "https://github.com/projectdiscovery/subfinder", - "image_name": "docker.io/projectdiscovery/subfinder", - "docker_help_command": "/usr/local/bin/subfinder --help", - "image_tags": [ - "v2.9.0", - "latest", - "v2.8.0", - "v2.7.0", - "v2.6.8", - "v2.6.7", - "v2.6.6", - "v2.6.5", - "v2.6.4", - "v2.6.3" - ], - "github_releases": [ - "v2.9.0", - "v2.8.0", - "v2.7.1", - "v2.7.0", - "v2.6.8", - "v2.6.7", - "v2.6.6", - "v2.6.5", - "v2.6.4", - "v2.6.3" - ], - "subcategory": "Security" - }, - { - "name": "Dasel", - "description": "Query and update data structures using selector syntax (JSON, YAML, TOML, XML).", - "github_release_url": "https://api.github.com/repos/TomWright/dasel/releases?per_page=100&page=1", - "docker_tags_url": "https://github.com/TomWright/dasel/pkgs/container/dasel", - "readme": "https://github.com/TomWright/dasel/blob/master/README.md", - "category": "System Utility", - "homepage": "https://daseldocs.tomwright.me/", - "image_name": "ghcr.io/tomwright/dasel", - "docker_help_command": "/usr/local/bin/dasel --help", - "image_tags": [ - "v1.2.0", - "v1.3.0", - "v1.4.0", - "v1.4.1", - "v1.5.0", - "v1.5.1", - "v1.6.0", - "v1.6.1", - "v1.6.2", - "v1.7.0" - ], - "github_releases": [ - "v2.8.1", - "v2.8.0", - "v2.7.0", - "v2.6.0", - "v2.5.0", - "v2.4.1", - "v2.4.0", - "v2.3.6", - "v2.3.5", - "v2.3.4" - ], - "subcategory": "Data Processing" - }, - { - "name": "Crane", - "description": "Tool for interacting with remote container registries.", - "github_release_url": "https://api.github.com/repos/google/go-containerregistry/releases?per_page=100&page=1", - "docker_tags_url": "https://console.cloud.google.com/gcr/images/go-containerregistry/global/crane", - "readme": "https://github.com/google/go-containerregistry/blob/main/README.md", - "category": "Container Tools", - "homepage": "https://github.com/google/go-containerregistry", - "image_name": "gcr.io/go-containerregistry/crane", - "docker_help_command": "/ko-app/crane --help", - "notes": "Using GCR image instead of GHCR due to access restrictions", - "image_tags": [ - "latest", - "debug" - ], - "github_releases": [ - "v0.20.6", - "v0.20.5", - "v0.20.4", - "v0.20.3", - "v0.20.2", - "v0.20.1", - "v0.20.0", - "v0.19.2", - "v0.19.1", - "v0.19.0" - ], - "subcategory": "Image Tools" - }, - { - "name": "Cosign", - "description": "Container image signing and verification tool.", - "github_release_url": "https://api.github.com/repos/sigstore/cosign/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/bitnami/cosign/tags/?page=1&page_size=100", - "readme": "https://github.com/sigstore/cosign/blob/main/README.md", - "category": "Security", - "homepage": "https://www.sigstore.dev/", - "image_name": "docker.io/bitnami/cosign", - "docker_help_command": "/opt/bitnami/cosign/bin/cosign --help", - "image_tags": [ - "sha256-1265938f75d7ea68776a2d59d7c62a72156c38bf823a368e708b5252e4863949", - "sha256-1265938f75d7ea68776a2d59d7c62a72156c38bf823a368e708b5252e4863949.sig", - "sha256-5bedc350d4e97bab6c7feadba96f96f95f004f96363927ee11b605bf384d92a8.att", - "sha256-a257846e531a9f0028f68adef64d494bf2cf18b56ee35054fa99df9963690888", - "sha256-a257846e531a9f0028f68adef64d494bf2cf18b56ee35054fa99df9963690888.sig", - "sha256-5bedc350d4e97bab6c7feadba96f96f95f004f96363927ee11b605bf384d92a8.metadata", - "latest-metadata", - "sha256-5bedc350d4e97bab6c7feadba96f96f95f004f96363927ee11b605bf384d92a8", - "sha256-5bedc350d4e97bab6c7feadba96f96f95f004f96363927ee11b605bf384d92a8.sig", - "latest" - ], - "github_releases": [ - "v3.0.2", - "v3.0.1", - "v2.6.1", - "v2.6.0", - "v2.5.3", - "v2.5.2", - "v2.5.1", - "v2.5.0", - "v2.4.3", - "v2.4.2" - ], - "subcategory": "Signing" - }, - { - "name": "Loki", - "description": "Horizontally-scalable log aggregation system.", - "github_release_url": "https://api.github.com/repos/grafana/loki/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/grafana/loki/tags/?page=1&page_size=100", - "readme": "https://github.com/grafana/loki/blob/main/README.md", - "category": "Observability", - "homepage": "https://grafana.com/oss/loki/", - "image_name": "docker.io/grafana/loki", - "docker_help_command": "/usr/bin/loki --help", - "image_tags": [ - "main-7eda674", - "3.5", - "3", - "latest", - "3.5.7", - "latest-arm64", - "latest-arm", - "latest-amd64", - "3.5.7-arm64", - "3.5.7-arm" - ], - "github_releases": [ - "v3.5.7", - "v3.5.6", - "v3.5.5", - "v3.4.6", - "v3.5.4", - "v3.5.3", - "v3.4.5", - "v3.5.2", - "v3.4.4", - "v2.9.15" - ], - "subcategory": "Logging" - }, - { - "name": "Promtail", - "description": "Agent for shipping logs to Loki.", - "github_release_url": "https://api.github.com/repos/grafana/loki/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/grafana/promtail/tags/?page=1&page_size=100", - "readme": "https://github.com/grafana/loki/blob/main/README.md", - "category": "Observability", - "homepage": "https://grafana.com/docs/loki/latest/send-data/promtail/", - "image_name": "docker.io/grafana/promtail", - "docker_help_command": "/usr/bin/promtail --help", - "image_tags": [ - "main-7eda674", - "3.5", - "3", - "latest", - "3.5.7", - "latest-arm64", - "latest-arm", - "latest-amd64", - "3.5.7-arm64", - "3.5.7-arm" - ], - "github_releases": [ - "v3.5.7", - "v3.5.6", - "v3.5.5", - "v3.4.6", - "v3.5.4", - "v3.5.3", - "v3.4.5", - "v3.5.2", - "v3.4.4", - "v2.9.15" - ], - "subcategory": "Logging" - }, - { - "name": "Benthos", - "description": "Stream processor for mundane data processing tasks.", - "github_release_url": "https://api.github.com/repos/benthosdev/benthos/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/jeffail/benthos/tags/?page=1&page_size=100", - "readme": "https://github.com/benthosdev/benthos/blob/main/README.md", - "category": "Data Processing", - "homepage": "https://www.benthos.dev/", - "image_name": "docker.io/jeffail/benthos", - "docker_help_command": "/benthos --help", - "image_tags": [ - "edge-cgo", - "edge", - "latest", - "4.27", - "4", - "4.27.0", - "4-cgo", - "4.27-cgo", - "4.27.0-cgo", - "4.26" - ], - "github_releases": [ - "v4.68.0", - "v4.68.0-rc5", - "v4.68.0-rc4", - "v4.68.0-rc3", - "v4.68.0-rc2", - "v4.67.5", - "v4.66.1", - "v4.66.0", - "v4.65.0", - "v4.64.0" - ], - "subcategory": "Stream Processing" - }, - { - "name": "Gomplate", - "description": "Template processor with support for multiple data sources.", - "github_release_url": "https://api.github.com/repos/hairyhenderson/gomplate/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/hairyhenderson/gomplate/tags/?page=1&page_size=100", - "readme": "https://github.com/hairyhenderson/gomplate/blob/main/README.md", - "category": "System Utility", - "homepage": "https://gomplate.ca/", - "image_name": "docker.io/hairyhenderson/gomplate", - "docker_help_command": "/gomplate --help", - "image_tags": [ - "alpine", - "latest", - "v4.3-alpine", - "v4.3", - "v4.3.3-alpine", - "v4.3.3", - "stable-alpine", - "stable", - "v4.3.2-alpine", - "v4.3.2" - ], - "github_releases": [ - "v4.3.3", - "v4.3.2", - "v4.3.1", - "v4.3.0", - "v4.2.0", - "v4.1.0", - "v4.0.1", - "v4.0.0", - "v4.0.0-pre-3", - "v3.11.8" - ], - "subcategory": "Data Processing" - }, - { - "name": "Terraform-docs", - "description": "Tool for generating documentation from Terraform modules.", - "github_release_url": "https://api.github.com/repos/terraform-docs/terraform-docs/releases?per_page=100&page=1", - "docker_tags_url": "https://quay.io/api/v1/repository/terraform-docs/terraform-docs/tag/?page=1&limit=100", - "readme": "https://github.com/terraform-docs/terraform-docs/blob/master/README.md", - "category": "Infrastructure as Code", - "homepage": "https://terraform-docs.io/", - "image_name": "quay.io/terraform-docs/terraform-docs", - "docker_help_command": "/usr/local/bin/terraform-docs --help", - "image_tags": [ - "0.11.0", - "0.10.1", - "0.17.0", - "0.10.0-rc.1", - "0.15.0", - "0.12.0-beta.1", - "0.16.0", - "0.14.1", - "0.18.0", - "0.19.0" - ], - "github_releases": [ - "v0.20.0", - "v0.19.0", - "v0.18.0", - "v0.17.0", - "v0.16.0", - "v0.15.0", - "v0.14.1", - "v0.14.0", - "v0.13.0", - "v0.12.1" - ], - "subcategory": "Terraform Ecosystem" - }, - { - "name": "Tflint", - "description": "Linter for Terraform configurations focused on errors and best practices.", - "github_release_url": "https://api.github.com/repos/terraform-linters/tflint/releases?per_page=100&page=1", - "docker_tags_url": "https://github.com/terraform-linters/tflint/pkgs/container/tflint", - "readme": "https://github.com/terraform-linters/tflint/blob/master/README.md", - "category": "Infrastructure as Code", - "homepage": "https://github.com/terraform-linters/tflint", - "image_name": "ghcr.io/terraform-linters/tflint", - "docker_help_command": "/usr/local/bin/tflint --help", - "image_tags": [ - "v0.30.0", - "v0.31.0", - "v0.32.0", - "v0.32.1", - "v0.33.0", - "v0.33.1", - "v0.33.2", - "v0.34.0", - "v0.34.1", - "v0.35.0" - ], - "github_releases": [ - "v0.59.1", - "v0.58.1", - "v0.58.0", - "v0.57.0", - "v0.56.0", - "v0.55.1", - "v0.55.0", - "v0.54.0", - "v0.53.0", - "v0.52.0" - ], - "subcategory": "IaC" - }, - { - "name": "Terragrunt", - "description": "Thin wrapper for Terraform providing extra tools for keeping configurations DRY.", - "github_release_url": "https://api.github.com/repos/gruntwork-io/terragrunt/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/alpine/terragrunt/tags/?page=1&page_size=100", - "readme": "https://github.com/gruntwork-io/terragrunt/blob/master/README.md", - "category": "Infrastructure as Code", - "homepage": "https://terragrunt.gruntwork.io/", - "image_name": "docker.io/alpine/terragrunt", - "docker_help_command": "/usr/local/bin/terragrunt --help", - "image_tags": [ - "tf1.13.4", - "1.13.4", - "latest", - "cd34282", - "tf1.13.3", - "1.13.3", - "tf1.13.2", - "1.13.2", - "tf1.13.1", - "1.13.1" - ], - "github_releases": [ - "v0.91.5", - "v0.91.4", - "v0.91.3", - "v0.91.2", - "v0.91.1", - "v0.91.0", - "v0.90.2", - "v0.90.1", - "v0.90.0", - "v0.89.4" - ], - "subcategory": "IaC" - }, - { - "name": "Checkov", - "description": "Static analysis tool for infrastructure-as-code security scanning.", - "github_release_url": "https://api.github.com/repos/bridgecrewio/checkov/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/bridgecrew/checkov/tags/?page=1&page_size=100", - "readme": "https://github.com/bridgecrewio/checkov/blob/main/README.md", - "category": "Security", - "homepage": "https://www.checkov.io/", - "image_name": "docker.io/bridgecrew/checkov", - "docker_help_command": "/usr/local/bin/checkov --help", - "image_tags": [ - "sha256-91b49165fa253d834af481bcd5d36f6c18f9a2936281b8cc93deddcd8049df23.att", - "3.2.487", - "3", - "latest", - "sha256-6370293af7201815e569385cdb98caabf4561a5bda9a988b51c52544700ff939.att", - "3.2.486", - "3.2.485", - "sha256-e78f2f310be86b688f3d93751b0f76046eab4302c8a372b5feb0d108f853d825.att", - "3.2.484", - "sha256-51bebaca76536e985118a6af41ff4811a1b909a5e370492a955b4b6c82da6a88.att" - ], - "github_releases": [ - "3.2.487", - "3.2.486", - "3.2.485", - "3.2.484", - "3.2.483", - "3.2.479", - "3.2.477", - "3.2.474", - "3.2.473", - "3.2.472" - ], - "subcategory": "Security" - }, - { - "name": "Tfsec", - "description": "Security scanner for Terraform code.", - "github_release_url": "https://api.github.com/repos/aquasecurity/tfsec/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/aquasec/tfsec/tags/?page=1&page_size=100", - "readme": "https://github.com/aquasecurity/tfsec/blob/master/README.md", - "category": "Security", - "homepage": "https://aquasecurity.github.io/tfsec/", - "image_name": "docker.io/aquasec/tfsec", - "docker_help_command": "/usr/bin/tfsec --help", - "image_tags": [ - "v1.28", - "latest", - "v1.28.14", - "v1.28.14-arm64v8", - "v1.28.14-amd64", - "v1.28.13", - "v1.28.13-arm64v8", - "v1.28.13-amd64", - "v1.28.12", - "v1.28.12-arm64v8" - ], - "github_releases": [ - "v1.28.14", - "v1.28.13", - "v1.28.12", - "v1.28.11", - "v1.28.10", - "v1.28.9", - "v1.28.8", - "v1.28.7", - "v1.28.6", - "v1.28.5" - ], - "subcategory": "Security Scanner" - }, - { - "name": "Infracost", - "description": "Cost estimates for Terraform projects.", - "github_release_url": "https://api.github.com/repos/infracost/infracost/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/infracost/infracost/tags/?page=1&page_size=100", - "readme": "https://github.com/infracost/infracost/blob/master/README.md", - "category": "Infrastructure as Code", - "homepage": "https://www.infracost.io/", - "image_name": "docker.io/infracost/infracost", - "docker_help_command": "/usr/bin/infracost -h", - "image_tags": [ - "ci-edge", - "edge", - "ci-latest", - "ci-0.10", - "ci-0.10.42", - "latest", - "0.10", - "0.10.42", - "ci-0.10.41", - "0.10.41" - ], - "github_releases": [ - "preview", - "v0.10.42", - "v0.10.41", - "v0.10.40", - "v0.10.39", - "v0.10.38", - "v0.10.37", - "v0.10.36", - "v0.10.35", - "v0.10.34" - ], - "subcategory": "IaC" - }, - { - "name": "Pulumi", - "description": "Infrastructure as code platform using familiar programming languages.", - "github_release_url": "https://api.github.com/repos/pulumi/pulumi/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/pulumi/pulumi/tags/?page=1&page_size=100", - "readme": "https://github.com/pulumi/pulumi/blob/master/README.md", - "category": "Infrastructure as Code", - "homepage": "https://www.pulumi.com/", - "image_name": "docker.io/pulumi/pulumi", - "docker_help_command": "/usr/bin/pulumi --help", - "notes": "Large image - first download may take longer than typical timeout", - "image_tags": [ - "latest-nonroot", - "latest", - "3.204.0-nonroot", - "3.204.0", - "3.204.0-nonroot-amd64", - "3.204.0-amd64", - "3.204.0-nonroot-arm64", - "3.204.0-arm64", - "3.203.0-nonroot", - "3.203.0" - ], - "github_releases": [ - "v3.204.0", - "v3.203.0", - "v3.202.0", - "v3.201.0", - "v3.200.0", - "v3.199.0", - "v3.198.0", - "v3.197.0", - "v3.196.0", - "v3.195.0" - ], - "subcategory": "Pulumi" - } - ] -} \ No newline at end of file diff --git a/data/configs/web3_tools.json b/data/configs/web3_tools.json deleted file mode 100644 index 82c33eb..0000000 --- a/data/configs/web3_tools.json +++ /dev/null @@ -1,1671 +0,0 @@ -{ - "metadata": { - "schema_version": "1.0", - "generated_at": "2025-10-11", - "description": "Top blockchain and crypto development tools including clients, development frameworks, and infrastructure", - "source": "GitHub releases and Docker registries", - "total_projects": 50, - "properties": { - "github_release_url": "GitHub releases page URL", - "docker_tags_url": "Docker Hub or registry tags URL", - "readme": "Main README documentation URL", - "homepage": "Project homepage URL", - "category": "Tool category classification", - "subcategory": "Tool subcategory classification" - }, - "notes": [ - "All projects are open source with active GitHub repositories", - "Docker tags data collected from public registries", - "Includes execution clients, consensus clients, development tools, and infrastructure" - ], - "last_description_update": "2025-10-16" - }, - "blockchain_tools": [ - { - "name": "Geth (go-ethereum)", - "description": "Official Go implementation of the Ethereum protocol execution client.", - "github_release_url": "https://api.github.com/repos/ethereum/go-ethereum/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/ethereum/client-go/tags/?page=1&page_size=100", - "readme": "https://github.com/ethereum/go-ethereum/blob/master/README.md", - "category": "Blockchain Clients", - "homepage": "https://geth.ethereum.org/", - "github_releases": [ - "v1.16.5", - "v1.16.4", - "v1.16.3", - "v1.16.2", - "v1.16.1", - "v1.16.0", - "v1.15.11", - "v1.15.10", - "v1.15.9", - "v1.15.8" - ], - "image_tags": [ - "alltools-latest", - "latest", - "alltools-v1.16.5", - "alltools-release-1.16", - "alltools-stable", - "v1.16.5", - "release-1.16", - "stable", - "alltools-v1.16.4", - "v1.16.4" - ], - "image_name": "docker.io/ethereum/client-go", - "docker_help_command": "/geth --help", - "subcategory": "Ethereum Execution Client" - }, - { - "name": "Lighthouse", - "description": "Ethereum consensus client implementation in Rust focused on security and performance.", - "github_release_url": "https://api.github.com/repos/sigp/lighthouse/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/sigp/lighthouse/tags/?page=1&page_size=100", - "readme": "https://github.com/sigp/lighthouse/blob/stable/README.md", - "category": "Blockchain Clients", - "homepage": "https://lighthouse.sigmaprime.io/", - "github_releases": [ - "v8.0.0-rc.2", - "v8.0.0-rc.1", - "v8.0.0-rc.0", - "v7.1.0", - "v7.0.1", - "v7.0.0", - "v7.0.0-beta.7", - "v7.0.0-beta.5", - "v7.0.0-beta.4", - "v7.0.0-beta.3" - ], - "image_tags": [ - "latest-unstable", - "latest-amd64-unstable", - "latest-arm64-unstable", - "v8.0.0-rc.2", - "v8.0.0-rc.2-amd64", - "v8.0.0-rc.2-arm64", - "v8.0.0-rc.1", - "v8.0.0-rc.1-arm64", - "v8.0.0-rc.1-amd64", - "v8.0.0-rc.0" - ], - "image_name": "docker.io/sigp/lighthouse", - "docker_help_command": "/usr/local/bin/lighthouse --help", - "subcategory": "Ethereum Consensus Client" - }, - { - "name": "Foundry", - "description": "Fast, portable Ethereum development toolkit written in Rust.", - "github_release_url": "https://api.github.com/repos/foundry-rs/foundry/releases?per_page=100&page=1", - "docker_tags_url": "https://github.com/foundry-rs/foundry/pkgs/container/foundry", - "readme": "https://github.com/foundry-rs/foundry/blob/master/README.md", - "category": "Development Tools", - "homepage": "https://getfoundry.sh/", - "github_releases": [ - "nightly-cab31132cbb5edde1477b4f18380a6777afb7ef3", - "nightly-09edf8f3c9c447d8f055c58902a5ea770ff035ca", - "nightly", - "v1.4.3", - "stable", - "nightly-e98bff5a57d9f23e60b96e23627512eb5397a598", - "nightly-669bb1f3bf6dcc33633c939a1bc32b1bcd28371f", - "nightly-040be035f23df51676a462e5a90b2ef087aa6470", - "nightly-c808c4cd6d104514204e77654e000929ca878b90", - "v1.4.2" - ], - "image_tags": [ - "master", - "latest", - "nightly", - "nightly-307576dfb9e94536177e940c2710045ada69d8d7", - "nightly-fb1f0aa3d6dcb285cc6132cde8d885a20eee2174", - "nightly-20e7386042e8567f2cfcee566c3afe4833e13741", - "nightly-48d5d79a63acbd5cb454d39fa0c01c297de89559", - "nightly-e947899dd210550e608bf3d234b845d966134bc9", - "nightly-4b9cca1790096c8bfdd50922bf22244983ad6e4f", - "nightly-1c415857dd7b617190834dbcb361506f6143fed4" - ], - "image_name": "ghcr.io/foundry-rs/foundry", - "docker_help_command": "/usr/local/bin/forge --help", - "subcategory": "Development Tool", - "alternate_binaries": [ - "/usr/local/bin/cast --help", - "/usr/local/bin/anvil --help", - "/usr/local/bin/chisel --help" - ] - }, - { - "name": "Hardhat", - "description": "Ethereum development environment for compiling, deploying, testing, and debugging smart contracts.", - "github_release_url": "https://api.github.com/repos/NomicFoundation/hardhat/releases?per_page=100&page=1", - "docker_tags_url": "", - "readme": "https://github.com/NomicFoundation/hardhat/blob/main/README.md", - "category": "Development Tools", - "homepage": "https://hardhat.org/", - "github_releases": [ - "hardhat@3.0.9", - "@nomicfoundation/hardhat-node-test-runner@3.0.4", - "@nomicfoundation/hardhat-mocha@3.0.4", - "@nomicfoundation/hardhat-keystore@3.0.2", - "hardhat@3.0.8", - "@nomicfoundation/hardhat-verify@3.0.4", - "@nomicfoundation/hardhat-mocha@3.0.3", - "@nomicfoundation/hardhat-errors@3.0.3", - "hardhat@3.0.7", - "@nomicfoundation/hardhat-verify@3.0.3" - ], - "image_tags": [ - "latest" - ], - "image_name": "docker.io/ethereumoptimism/hardhat", - "docker_help_command": "/hardhat/node_modules/.bin/hardhat help", - "notes": "No official Docker image - typically used as npm package", - "deprecated": false, - "subcategory": "Development Tool" - }, - { - "name": "Nethermind", - "description": ".NET Ethereum execution client for enterprise and institutional use.", - "github_release_url": "https://api.github.com/repos/NethermindEth/nethermind/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/nethermind/nethermind/tags/?page=1&page_size=100", - "readme": "https://github.com/NethermindEth/nethermind/blob/master/README.md", - "category": "Blockchain Clients", - "homepage": "https://nethermind.io/", - "github_releases": [ - "1.35.0", - "1.34.1", - "1.34.0", - "1.33.1", - "1.33.0", - "1.32.4", - "1.32.3", - "1.31.13", - "1.32.2", - "1.32.1" - ], - "image_tags": [ - "1.35.0-chiseled", - "latest-chiseled", - "1.35.0", - "latest", - "1.34.1-chiseled", - "1.34.1", - "1.34.0-chiseled", - "1.34.0", - "1.33.1-chiseled", - "1.33.1" - ], - "image_name": "docker.io/nethermind/nethermind", - "docker_help_command": "/nethermind --help", - "subcategory": "Ethereum Execution Client" - }, - { - "name": "Besu", - "description": "Enterprise-grade Ethereum execution client supporting public and private networks.", - "github_release_url": "https://api.github.com/repos/hyperledger/besu/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/hyperledger/besu/tags/?page=1&page_size=100", - "readme": "https://github.com/hyperledger/besu/blob/main/README.md", - "category": "Blockchain Clients", - "homepage": "https://besu.hyperledger.org/", - "github_releases": [ - "25.10.0", - "25.10.0-RC2", - "25.10.0-RC1", - "25.9.0", - "25.8.0", - "25.7.0", - "25.6.0", - "25.6.0-RC1", - "25.5.0", - "25.4.1" - ], - "image_tags": [ - "develop", - "develop-amd64", - "develop-arm64", - "latest", - "latest-amd64", - "latest-arm64", - "25.10.0", - "25.10.0-amd64", - "25.10.0-arm64", - "25.10.0-RC2" - ], - "image_name": "docker.io/hyperledger/besu", - "docker_help_command": "/opt/besu/bin/besu --help", - "subcategory": "Ethereum Execution Client" - }, - { - "name": "Erigon", - "description": "Ethereum execution client focused on performance and disk space efficiency.", - "github_release_url": "https://api.github.com/repos/erigontech/erigon/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/erigontech/erigon/tags/?page=1&page_size=100", - "readme": "https://github.com/erigontech/erigon/blob/main/README.md", - "category": "Blockchain Clients", - "homepage": "https://erigon.tech/", - "github_releases": [ - "v3.2.1", - "v3.2.0", - "v3.2.0-rc1", - "v3.1.0", - "v3.0.17", - "v3.0.16", - "v3.1.0-rc1", - "v3.0.15", - "v3.0.14", - "v3.0.13" - ], - "image_tags": [ - "main-latest", - "main-f288932", - "main-5155b83", - "main-db32189", - "main-1033eb3", - "main-01fe6ec", - "main-2c4e72c", - "main-e50f9e1", - "main-4535137", - "main-1c7b9a8" - ], - "image_name": "docker.io/erigontech/erigon", - "docker_help_command": "/usr/local/bin/erigon --help", - "subcategory": "Ethereum Client" - }, - { - "name": "Prysm", - "description": "Go implementation of the Ethereum consensus protocol with focus on usability and security.", - "github_release_url": "https://api.github.com/repos/prysmaticlabs/prysm/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/prysmaticlabs/prysm-beacon-chain/tags/?page=1&page_size=100", - "readme": "https://github.com/prysmaticlabs/prysm/blob/develop/README.md", - "category": "Blockchain Clients", - "homepage": "https://prysmaticlabs.com/", - "github_releases": [ - "v6.1.3", - "v6.1.2", - "v6.1.1", - "v6.1.0", - "v6.0.5", - "v6.0.4", - "v6.0.3", - "v6.0.2", - "v6.0.1", - "v6.0.0" - ], - "image_tags": [ - "v6.1.4", - "v6.1.3", - "v6.1.2", - "v6.1.1", - "v6.1.0", - "v6.0.5", - "v6.0.4", - "v6.0.3", - "v6.0.2", - "v6.0.1" - ], - "image_name": "docker.io/prysmaticlabs/prysm-beacon-chain", - "docker_help_command": "/beacon-chain --help", - "subcategory": "Ethereum Consensus Client" - }, - { - "name": "Teku", - "description": "Enterprise-grade Ethereum consensus client written in Java.", - "github_release_url": "https://api.github.com/repos/Consensys/teku/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/consensys/teku/tags/?page=1&page_size=100", - "readme": "https://github.com/Consensys/teku/blob/master/README.md", - "category": "Blockchain Clients", - "homepage": "https://consensys.io/teku", - "github_releases": [ - "25.10.0", - "25.9.3", - "25.9.2", - "25.9.1", - "25.9.0", - "25.7.1", - "25.6.0", - "25.5.0", - "25.4.1", - "25.4.0" - ], - "image_tags": [ - "develop-jdk24", - "develop", - "develop-jdk21", - "develop-jdk24-amd64", - "develop-amd64", - "develop-jdk21-amd64", - "develop-jdk24-arm64", - "develop-arm64", - "develop-jdk21-arm64", - "25.10-jdk24" - ], - "image_name": "docker.io/consensys/teku", - "docker_help_command": "/opt/teku/bin/teku --help", - "subcategory": "Ethereum Consensus Client" - }, - { - "name": "Nimbus", - "description": "Lightweight Ethereum consensus client optimized for resource-restricted devices.", - "github_release_url": "https://api.github.com/repos/status-im/nimbus-eth2/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/statusim/nimbus-eth2/tags/?page=1&page_size=100", - "readme": "https://github.com/status-im/nimbus-eth2/blob/stable/README.md", - "category": "Blockchain Clients", - "homepage": "https://nimbus.team/", - "github_releases": [ - "v25.9.2", - "v25.9.1", - "v25.9.0", - "v25.7.1", - "v25.7.0", - "v25.6.0", - "v25.5.0", - "v25.4.1", - "nightly", - "v25.4.0" - ], - "image_tags": [ - "multiarch-latest", - "multiarch-v25.9.2", - "arm64-latest", - "arm64-v25.9.2", - "arm-latest", - "arm-v25.9.2", - "amd64-latest", - "amd64-v25.9.2", - "multiarch-v25.9.1", - "arm64-v25.9.1" - ], - "image_name": "docker.io/statusim/nimbus-eth2", - "docker_help_command": "/home/user/nimbus-eth2/build/nimbus_beacon_node --help", - "subcategory": "Ethereum Consensus Client", - "alternate_binaries": [ - "/home/user/nimbus-eth2/build/nimbus_signing_process --help" - ] - }, - { - "name": "Reth", - "description": "Modular, contributor-friendly Ethereum execution client written in Rust.", - "github_release_url": "https://api.github.com/repos/paradigmxyz/reth/releases?per_page=100&page=1", - "docker_tags_url": "https://github.com/paradigmxyz/reth/pkgs/container/reth", - "readme": "https://github.com/paradigmxyz/reth/blob/main/README.md", - "category": "Blockchain Clients", - "homepage": "https://paradigmxyz.github.io/reth/", - "github_releases": [ - "v1.8.2", - "v1.8.1", - "v1.8.0", - "v1.7.0", - "v1.6.0", - "v1.5.1", - "v1.5.0", - "v1.4.8", - "v1.4.7", - "v1.4.3" - ], - "image_tags": [ - "v0.1.0-alpha.1", - "latest", - "v0.1.0-alpha.2", - "v0.1.0-alpha.3", - "v0.1.0-alpha.4", - "v0.1.0-alpha.5", - "v0.1.0-alpha.6", - "v0.1.0-alpha.7", - "v0.1.0-alpha.8", - "v0.1.0-alpha.9" - ], - "image_name": "ghcr.io/paradigmxyz/reth", - "docker_help_command": "/usr/local/bin/reth --help", - "subcategory": "Ethereum Execution Client" - }, - { - "name": "Solana", - "description": "Web-scale blockchain for fast, secure, scalable, decentralized apps and marketplaces.", - "github_release_url": "https://api.github.com/repos/solana-labs/solana/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/solanalabs/solana/tags/?page=1&page_size=100", - "readme": "https://github.com/solana-labs/solana/blob/master/README.md", - "category": "Blockchain Clients", - "homepage": "https://solana.com/", - "github_releases": [ - "v1.18.26", - "v1.18.25", - "v1.18.23", - "v1.18.22", - "v1.18.21", - "v1.18.20", - "v1.18.19", - "v1.18.18", - "v1.18.17", - "v1.18.16" - ], - "image_tags": [ - "v1.18.26", - "v1.18.25", - "v1.18.23", - "v1.18.22", - "v1.18.21", - "v1.18.20", - "v1.18.18", - "v1.18.17", - "v1.18.16", - "v1.18.15" - ], - "image_name": "docker.io/solanalabs/solana", - "docker_help_command": "/usr/bin/solana --help", - "subcategory": "Solana Client" - }, - { - "name": "Bitcoin Core", - "description": "Reference implementation of the Bitcoin protocol.", - "github_release_url": "https://api.github.com/repos/bitcoin/bitcoin/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/ruimarinho/bitcoin-core/tags/?page=1&page_size=100", - "readme": "https://github.com/bitcoin/bitcoin/blob/master/README.md", - "category": "Blockchain Clients", - "homepage": "https://bitcoincore.org/", - "github_releases": [ - "v29.2", - "v30.0", - "v29.1", - "v28.2", - "v29.0", - "v28.1", - "v27.2", - "v28.0", - "v26.2", - "v27.1" - ], - "image_tags": [ - "alpine", - "24-alpine", - "22-alpine", - "23-alpine", - "0.18-alpine", - "0.21-alpine", - "0.19-alpine", - "0.20-alpine", - "0.17-alpine", - "0.11-alpine" - ], - "image_name": "docker.io/ruimarinho/bitcoin-core", - "docker_help_command": "/opt/bitcoin-0.15.0/bin/bitcoind --help", - "subcategory": "Bitcoin Client", - "alternate_binaries": [ - "/opt/bitcoin-0.15.0/bin/bitcoin-qt --help", - "/opt/bitcoin-0.15.0/bin/bitcoin-cli --help", - "/opt/bitcoin-0.15.0/bin/bitcoin-tx --help" - ] - }, - { - "name": "Truffle Suite", - "description": "Development environment, testing framework and asset pipeline for Ethereum.", - "github_release_url": "https://api.github.com/repos/trufflesuite/truffle/releases?per_page=100&page=1", - "docker_tags_url": "", - "readme": "https://github.com/trufflesuite/truffle/blob/master/README.md", - "category": "Development Tools", - "homepage": "https://trufflesuite.com/", - "github_releases": [ - "v5.11.5", - "v5.11.4", - "v5.11.3", - "v5.11.2", - "v5.11.1", - "v5.11.0", - "v5.10.2", - "v5.10.1", - "v5.10.0", - "v5.9.4" - ], - "image_tags": [ - "latest", - "v5.11.5", - "v5.11.4", - "v5.11.3", - "v5.11.2" - ], - "image_name": null, - "docker_help_command": "truffle help", - "notes": "Deprecated/sunset - Truffle has been sunsetted", - "deprecated": true, - "subcategory": "Development Framework" - }, - { - "name": "Ganache", - "description": "Personal Ethereum blockchain for development and testing.", - "github_release_url": "https://api.github.com/repos/trufflesuite/ganache/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/trufflesuite/ganache/tags/?page=1&page_size=100", - "readme": "https://github.com/trufflesuite/ganache/blob/master/README.md", - "category": "Development Tools", - "homepage": "https://trufflesuite.com/ganache/", - "github_releases": [ - "v7.9.0", - "v7.8.0", - "v7.7.7", - "v7.7.6", - "v7.7.5", - "v7.7.4", - "v7.7.3", - "v7.7.2", - "v7.7.1", - "v7.7.0" - ], - "image_tags": [ - "v7.9.2", - "latest", - "v7.9.1", - "v7.9.0", - "v7.8.0", - "v7.7.7", - "v7.7.6", - "v7.7.5", - "v7.7.4", - "v7.7.3" - ], - "image_name": "docker.io/trufflesuite/ganache", - "docker_help_command": "node /app/dist/node/cli.js --help", - "subcategory": "Development Tool" - }, - { - "name": "Brownie", - "description": "Python-based development and testing framework for Ethereum smart contracts.", - "github_release_url": "https://api.github.com/repos/eth-brownie/brownie/releases?per_page=100&page=1", - "docker_tags_url": "", - "readme": "https://github.com/eth-brownie/brownie/blob/master/README.md", - "category": "Development Tools", - "homepage": "https://eth-brownie.readthedocs.io/", - "github_releases": [ - "v1.22.0.dev0", - "v1.21.0", - "v1.20.7", - "v1.20.6", - "v1.20.5", - "v1.20.4", - "v1.20.3", - "v1.20.2", - "v.1.20.1", - "v1.20.0" - ], - "image_tags": [ - "latest", - "v1.19.3", - "v1.19.2", - "stable" - ], - "image_name": null, - "docker_help_command": "brownie --help", - "notes": "No longer maintained - eth-brownie archived", - "deprecated": true, - "subcategory": "Smart Contract Language" - }, - { - "name": "OpenZeppelin Contracts", - "description": "Library of modular, reusable, secure smart contracts for Ethereum.", - "github_release_url": "https://api.github.com/repos/OpenZeppelin/openzeppelin-contracts/releases?per_page=100&page=1", - "docker_tags_url": "", - "readme": "https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/README.md", - "category": "Development Tools", - "homepage": "https://openzeppelin.com/contracts/", - "github_releases": [ - "v5.5.0-rc.1", - "v5.5.0-rc.0", - "v5.4.0", - "v5.4.0-rc.1", - "v5.4.0-rc.0", - "v5.3.0", - "v5.3.0-rc.0", - "v5.2.0", - "v5.2.0-rc.1", - "v5.2.0-rc.0" - ], - "image_tags": [], - "docker_help_command": "", - "deprecated": true, - "subcategory": "Smart Contract Language" - }, - { - "name": "Slither", - "description": "Static analysis framework for Solidity smart contracts.", - "github_release_url": "https://api.github.com/repos/crytic/slither/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/trailofbits/eth-security-toolbox/tags/?page=1&page_size=100", - "readme": "https://github.com/crytic/slither/blob/master/README.md", - "category": "Development Tools", - "homepage": "https://github.com/crytic/slither", - "github_releases": [ - "0.11.3", - "0.11.2", - "0.11.1", - "0.11.0", - "0.10.4", - "0.10.3", - "0.10.2", - "0.10.1", - "0.10.0", - "0.9.6" - ], - "image_tags": [ - "testing-master", - "edge", - "nightly-20251020", - "nightly", - "nightly-20251013", - "nightly-20251006", - "nightly-20250929", - "nightly-20250922", - "nightly-20250915", - "nightly-20250908" - ], - "image_name": "docker.io/trailofbits/eth-security-toolbox", - "docker_help_command": "/home/ethsec/.local/bin/slither --help", - "subcategory": "Smart Contract Language", - "alternate_binaries": [ - "/usr/bin/geth --help", - "/usr/bin/puppeth --help" - ] - }, - { - "name": "Mythril", - "description": "Security analysis tool for Ethereum smart contracts.", - "github_release_url": "https://api.github.com/repos/Consensys/mythril/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/mythril/myth/tags/?page=1&page_size=100", - "readme": "https://github.com/Consensys/mythril/blob/master/README.md", - "category": "Development Tools", - "homepage": "https://mythril-classic.readthedocs.io/", - "github_releases": [ - "v0.24.8", - "v0.24.7", - "v0.24.6", - "v0.24.5", - "v0.24.4", - "v0.24.3", - "v0.24.2", - "v0.24.1", - "v0.24.0", - "v0.23.25" - ], - "image_tags": [ - "latest", - "0.24.8", - "0.24.7", - "0.24.5", - "0.24.3", - "0.24.2", - "0.24.1", - "0.24.0", - "0.23.25", - "0.23.24" - ], - "image_name": "docker.io/mythril/myth", - "docker_help_command": "/usr/local/bin/myth --help", - "subcategory": "Security Analysis", - "alternate_binaries": [ - "/opt/mythril/myth --help" - ] - }, - { - "name": "Etherscan", - "description": "Block explorer and analytics platform for Ethereum.", - "github_release_url": "", - "docker_tags_url": "", - "readme": "", - "category": "Infrastructure", - "homepage": "https://etherscan.io/", - "github_releases": [], - "image_tags": [], - "docker_help_command": "", - "deprecated": true, - "subcategory": "Infrastructure" - }, - { - "name": "The Graph", - "description": "Indexing protocol for querying blockchain data with GraphQL.", - "github_release_url": "https://api.github.com/repos/graphprotocol/graph-node/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/graphprotocol/graph-node/tags/?page=1&page_size=100", - "readme": "https://github.com/graphprotocol/graph-node/blob/master/README.md", - "category": "Infrastructure", - "homepage": "https://thegraph.com/", - "github_releases": [ - "v0.41.0", - "v0.41.0-rc.0", - "v0.40.1", - "v0.40.0", - "v0.40.0-rc.0", - "v0.39.1", - "v0.39.0", - "v0.38.0", - "v0.37.0", - "v0.36.1" - ], - "image_tags": [ - "latest", - "v0.41.0", - "9b61e60", - "nightly", - "3f627c7", - "integer2", - "fraction", - "edddd5a", - "ec5498d", - "7b02cba" - ], - "image_name": "docker.io/graphprotocol/graph-node", - "docker_help_command": "/usr/local/cargo/bin/graph-node --help", - "subcategory": "Indexing" - }, - { - "name": "IPFS", - "description": "Peer-to-peer hypermedia protocol for content-addressed, distributed file system.", - "github_release_url": "https://api.github.com/repos/ipfs/kubo/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/ipfs/kubo/tags/?page=1&page_size=100", - "readme": "https://github.com/ipfs/kubo/blob/master/README.md", - "category": "Infrastructure", - "homepage": "https://ipfs.tech/", - "github_releases": [ - "v0.38.1", - "v0.38.0", - "v0.38.0-rc2", - "v0.38.0-rc1", - "v0.37.0", - "v0.37.0-rc1", - "v0.36.0", - "v0.36.0-rc2", - "v0.36.0-rc1", - "v0.35.0" - ], - "image_tags": [ - "buildcache", - "master-latest", - "master-2025-10-24-5d4c40e", - "master-2025-10-24-886ac22", - "master-2025-10-23-16479ec", - "staging-latest", - "staging-2025-10-17-59c3a87", - "master-2025-10-17-f9dc739", - "staging-2025-10-16-a1839d5", - "staging-2025-10-15-1fc5373" - ], - "image_name": "docker.io/ipfs/kubo", - "subcategory": "Decentralized Storage", - "docker_help_command": "/usr/local/bin/ipfs --help" - }, - { - "name": "Chainlink", - "description": "Decentralized oracle network connecting smart contracts with real-world data.", - "github_release_url": "https://api.github.com/repos/smartcontractkit/chainlink/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/smartcontract/chainlink/tags/?page=1&page_size=100", - "readme": "https://github.com/smartcontractkit/chainlink/blob/develop/README.md", - "category": "Infrastructure", - "homepage": "https://chain.link/", - "github_releases": [ - "v2.29.0", - "v2.28.0", - "v2.27.0", - "v2.26.0", - "v2.25.0", - "v2.24.0", - "v2.23.0", - "v2.22.0", - "v2.21.0", - "v2.20.0" - ], - "image_tags": [ - "2.29.0", - "sha256-9d35af5bc6b8fe49a66252f141dbd6deec5e46402a4ccf34ce5bc3a7f643e17f.sig", - "2.28.0", - "sha256-979d63b045565548587e02372d18c917b59f1e806762dc3040f2e41981fbc17c.sig", - "2.27.0", - "sha256-9126f003e7318b4bab9470e1ee5f02b4fbfbdb687988abc77f5a567173182900.sig", - "2.26.0", - "sha256-dc9356e16e598a0e25fc28dbc852ed8436616add163083db4090a64795c6e924.sig", - "2.25.0", - "sha256-9eecb61d90cdf932c7489e64ad8cfa090a1ad1a8ec29a3b3a067a58a00b15c26.sig" - ], - "image_name": "docker.io/smartcontract/chainlink", - "docker_help_command": "/usr/local/bin/chainlink --help", - "subcategory": "Oracle Network" - }, - { - "name": "Remix IDE", - "description": "Browser-based IDE for Solidity smart contract development.", - "github_release_url": "https://api.github.com/repos/ethereum/remix-project/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/remixproject/remix-ide/tags/?page=1&page_size=100", - "readme": "https://github.com/ethereum/remix-project/blob/master/README.md", - "category": "Development Tools", - "homepage": "https://remix.ethereum.org/", - "github_releases": [ - "v1.1.2", - "v1.1.1", - "v1.1.0", - "v1.0.0", - "v0.71.0", - "v0.70.1", - "v0.70.0", - "v0.69.0", - "v0.68.2", - "v0.68.1" - ], - "image_tags": [ - "yann300-patch-36", - "vertical-icons-panel-react", - "latest", - "bunsenstraat-patch-5", - "remix_live", - "remix_beta", - "bumpVersion_0.20.1", - "fix_bracket", - "bumpVersion", - "bumpDevVersion" - ], - "image_name": "docker.io/remixproject/remix-ide", - "docker_help_command": "", - "subcategory": "Smart Contract Language" - }, - { - "name": "Ape Framework", - "description": "Framework for testing and deploying smart contracts with Python.", - "github_release_url": "https://api.github.com/repos/ApeWorX/ape/releases?per_page=100&page=1", - "docker_tags_url": "https://github.com/ApeWorX/ape/pkgs/container/ape", - "readme": "https://github.com/ApeWorX/ape/blob/main/README.md", - "category": "Development Tools", - "homepage": "https://apeworx.io/", - "github_releases": [ - "v0.8.41", - "v0.8.40", - "v0.8.39", - "v0.8.38", - "v0.8.37", - "v0.8.36", - "v0.8.35", - "v0.8.34", - "v0.8.33", - "v0.8.32" - ], - "image_tags": [ - "latest-slim", - "latest", - "v0.8.15", - "stable", - "v0.8.16", - "v0.8.17", - "v0.8.18", - "v0.8.19", - "v0.8.20", - "v0.8.21" - ], - "image_name": "ghcr.io/apeworx/ape", - "docker_help_command": "/usr/local/bin/ape --help", - "subcategory": "Development Framework", - "alternate_binaries": [ - "/usr/bin/debconf-escape --help" - ] - }, - { - "name": "Waffle", - "description": "Most advanced framework for testing smart contracts.", - "github_release_url": "https://api.github.com/repos/TrueFiEng/Waffle/releases?per_page=100&page=1", - "docker_tags_url": "", - "readme": "https://github.com/TrueFiEng/Waffle/blob/master/README.md", - "category": "Development Tools", - "homepage": "https://getwaffle.io/", - "github_releases": [ - "ethereum-waffle@4.0.10", - "@ethereum-waffle/mock-contract@4.0.4", - "@ethereum-waffle/chai@4.0.10", - "ethereum-waffle@4.0.9", - "@ethereum-waffle/chai@4.0.9", - "ethereum-waffle@4.0.8", - "@ethereum-waffle/provider@4.0.5", - "@ethereum-waffle/optimism@4.0.3", - "@ethereum-waffle/mock-contract@4.0.3", - "@ethereum-waffle/ens@4.0.3" - ], - "image_tags": [], - "docker_help_command": "", - "deprecated": true, - "subcategory": "Smart Contract Language" - }, - { - "name": "Arbitrum", - "description": "Layer 2 scaling solution for Ethereum using optimistic rollups.", - "github_release_url": "https://api.github.com/repos/OffchainLabs/nitro/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/offchainlabs/nitro-node/tags/?page=1&page_size=100", - "readme": "https://github.com/OffchainLabs/nitro/blob/master/README.md", - "category": "Blockchain Clients", - "homepage": "https://arbitrum.io/", - "github_releases": [ - "v3.8.0-rc.16", - "v3.8.0-rc.15", - "v3.8.0-rc.14", - "v3.8.0-rc.13", - "v3.8.0-rc.12", - "v3.8.0-rc.11", - "v3.7.6", - "v3.8.0-rc.9", - "v3.8.0-rc.10", - "v3.7.5" - ], - "image_tags": [ - "v3.8.0-rc.16-8419934", - "v3.8.0-rc.16-8419934-arm64", - "v3.8.0-rc.16-8419934-amd64", - "v3.8.0-rc.16-8419934-slim", - "v3.8.0-rc.16-8419934-slim-arm64", - "v3.8.0-rc.16-8419934-slim-amd64", - "v3.8.0-rc.16-8419934-validator", - "v3.8.0-rc.16-8419934-validator-arm64", - "v3.8.0-rc.16-8419934-validator-amd64", - "v3.8.0-rc.16-8419934-dev" - ], - "image_name": "docker.io/offchainlabs/nitro-node", - "docker_help_command": "/usr/local/bin/nitro --help", - "subcategory": "Ethereum Client" - }, - { - "name": "Optimism", - "description": "Ethereum Layer 2 scaling solution using optimistic rollups.", - "github_release_url": "https://api.github.com/repos/ethereum-optimism/optimism/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/ethereumoptimism/op-node/tags/?page=1&page_size=100", - "readme": "https://github.com/ethereum-optimism/optimism/blob/develop/README.md", - "category": "Blockchain Clients", - "homepage": "https://optimism.io/", - "github_releases": [ - "op-node/v1.14.3", - "op-deployer/v0.5.0-rc.1", - "op-deployer/v0.4.5", - "op-deployer/v0.4.4", - "op-deployer/v0.4.4-rc.2", - "op-deployer/v0.4.4-rc.1", - "op-node/v1.14.1", - "op-deployer/v0.4.3", - "op-challenger/v1.6.0", - "op-batcher/v1.16.0" - ], - "image_tags": [ - "develop" - ], - "image_name": "docker.io/ethereumoptimism/op-node", - "docker_help_command": "/usr/local/bin/op-node --help", - "subcategory": "Ethereum Client" - }, - { - "name": "Polygon", - "description": "Ethereum scaling and infrastructure development platform.", - "github_release_url": "https://api.github.com/repos/maticnetwork/bor/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/maticnetwork/bor/tags/?page=1&page_size=100", - "readme": "https://github.com/maticnetwork/bor/blob/master/README.md", - "category": "Blockchain Clients", - "homepage": "https://polygon.technology/", - "github_releases": [ - "v2.3.4", - "v2.3.4-beta", - "v2.3.3", - "v2.3.2-beta2", - "v2.3.1-hotfix2", - "v2.3.1-hotfix", - "v2.3.2-beta", - "v2.3.1", - "v2.3.1-beta3", - "v2.3.1-beta2" - ], - "image_tags": [ - "v0.2.17", - "v0.2.16", - "v0.2.16-beta2", - "v0.2.16-beta1", - "v0.2.14-tmp-span-hotfix", - "v0.2.15-beta2", - "v0.2.15-beta1", - "v0.2.14", - "v0.2.13", - "v0.2.13-beta2" - ], - "image_name": "docker.io/maticnetwork/bor", - "docker_help_command": "/usr/local/bin/geth --help", - "subcategory": "Ethereum Client" - }, - { - "name": "Base", - "description": "Ethereum Layer 2 blockchain built on OP Stack for secure, low-cost transactions.", - "github_release_url": "https://api.github.com/repos/base-org/node/releases?per_page=100&page=1", - "docker_tags_url": "https://github.com/orgs/base-org/packages", - "readme": "https://github.com/base-org/node/blob/main/README.md", - "category": "Blockchain Clients", - "homepage": "https://base.org/", - "github_releases": [ - "v0.13.2", - "v0.13.1", - "v0.13.0", - "v0.12.10", - "v0.12.9", - "v0.12.8", - "v0.12.7", - "v0.12.6", - "v0.12.5", - "v0.12.4" - ], - "image_tags": [ - "pr-48", - "main", - "v0.2.0", - "latest", - "v0.2.1", - "v0.2.2", - "v0.2.3", - "v0.3.0", - "v0.3.1-rc.1", - "v0.3.1-rc.2" - ], - "image_name": "ghcr.io/base-org/node", - "docker_help_command": "/app/op-node --help", - "subcategory": "Ethereum Client" - }, - { - "name": "zkSync", - "description": "Ethereum Layer 2 protocol using zero-knowledge rollups.", - "github_release_url": "https://api.github.com/repos/matter-labs/zksync-era/releases?per_page=100&page=1", - "docker_tags_url": "https://github.com/matter-labs/zksync-era/pkgs/container/server-v2", - "readme": "https://github.com/matter-labs/zksync-era/blob/main/README.md", - "category": "Blockchain Clients", - "homepage": "https://zksync.io/", - "github_releases": [ - "prover-v23.1.0", - "prover-v23.0.0", - "core-v29.5.0", - "zkstack_cli-v0.2.1", - "zkstack_cli-v0.2.0", - "zkos-0.29.9", - "zkos-0.29.8", - "core-v29.4.1", - "zkos-0.29.7", - "core-v29.4.0" - ], - "image_tags": [ - "7a8cb27-1736345733454-linux-amd64", - "ecccdda-1736352787485-linux-amd64", - "7adb612-1736413599630-linux-amd64", - "64d861d-1736422246437-linux-amd64", - "5a8818d-1736513228239-linux-amd64", - "361243f-1736536615922-linux-amd64", - "f30aca0-1736761159275-linux-amd64", - "0efb8e6-1736766831817-linux-amd64", - "c44f7a7-1736769827242-linux-amd64", - "84e3e31-1736849910030-linux-amd64" - ], - "image_name": "ghcr.io/matter-labs/server-v2", - "docker_help_command": "/usr/bin/zksync_server --help", - "subcategory": "Ethereum Client" - }, - { - "name": "Starknet", - "description": "Decentralized validity rollup (ZK-rollup) for Ethereum scalability.", - "github_release_url": "https://api.github.com/repos/starkware-libs/cairo/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/starknet/cairo/tags/?page=1&page_size=100", - "readme": "https://github.com/starkware-libs/cairo/blob/main/README.md", - "category": "Blockchain Clients", - "homepage": "https://starknet.io/", - "github_releases": [ - "v2.13.0", - "v2.12.4-dev.1", - "v2.12.4-dev.0", - "v2.12.3", - "v2.12.2", - "v2.12.1", - "v2.12.0", - "v2.12.0-rc.3", - "v2.12.0-rc.2", - "v2.12.0-rc.1" - ], - "image_tags": [ - "2.9.0-arm64", - "latest", - "2.8.5", - "2.8.5-amd64", - "2.8.5-arm64", - "2.8.4", - "2.8.4-amd64", - "2.8.4-arm64", - "2.8.2", - "2.8.2-amd64" - ], - "image_name": "docker.io/starknet/cairo", - "alternate_images": [ - "docker.io/starknet/cairo", - "docker.io/trufflesuite/cairo-starknet-cli" - ], - "notes": "Starknet Cairo toolchain Docker image", - "docker_help_command": "/usr/bin/cairo-compile --help", - "subcategory": "Blockchain Client" - }, - { - "name": "Polkadot", - "description": "Heterogeneous multi-chain protocol enabling cross-chain transfers and interoperability.", - "github_release_url": "https://api.github.com/repos/paritytech/polkadot-sdk/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/parity/polkadot/tags/?page=1&page_size=100", - "readme": "https://github.com/paritytech/polkadot-sdk/blob/master/README.md", - "category": "Blockchain Clients", - "homepage": "https://polkadot.network/", - "github_releases": [ - "polkadot-stable2412-11", - "polkadot-stable2509-1", - "polkadot-stable2506-4", - "polkadot-stable2506-3", - "polkadot-stable2509", - "polkadot-stable2509-rc3", - "polkadot-stable2503-10", - "polkadot-stable2412-10", - "polkadot-stable2409-12", - "polkadot-stable2509-rc1" - ], - "image_tags": [ - "weekly2025w43-rc1", - "aed599ea47", - "1.20.1-weekly2025w43-rc1", - "v1.20.1", - "latest", - "stable2509-1", - "v1.19.4", - "stable2506-4", - "3c88ea3", - "v1.20.0" - ], - "image_name": "docker.io/parity/polkadot", - "docker_help_command": "/usr/local/bin/polkadot --help", - "subcategory": "Blockchain Client", - "alternate_binaries": [ - "/polkadot --help" - ] - }, - { - "name": "Cosmos SDK", - "description": "Framework for building public blockchain applications.", - "github_release_url": "https://api.github.com/repos/cosmos/cosmos-sdk/releases?per_page=100&page=1", - "docker_tags_url": "", - "readme": "https://github.com/cosmos/cosmos-sdk/blob/main/README.md", - "category": "Development Tools", - "homepage": "https://cosmos.network/", - "github_releases": [ - "v0.53.4", - "v0.53.3", - "v0.50.14", - "v0.53.2", - "v0.53.1", - "log/v1.6.0", - "v0.53.0", - "v0.53.0-rc.3", - "schema/v1.1.0", - "v0.53.0-rc.2" - ], - "image_tags": [], - "docker_help_command": "", - "deprecated": true, - "subcategory": "Development Tool" - }, - { - "name": "Avalanche", - "description": "Platform for launching decentralized applications and enterprise blockchain deployments.", - "github_release_url": "https://api.github.com/repos/ava-labs/avalanchego/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/avaplatform/avalanchego/tags/?page=1&page_size=100", - "readme": "https://github.com/ava-labs/avalanchego/blob/master/README.md", - "category": "Blockchain Clients", - "homepage": "https://avax.network/", - "github_releases": [ - "v1.14.0-fuji", - "v1.13.5", - "v1.13.4", - "v1.13.3", - "v1.13.2", - "v1.13.1", - "v1.13.0", - "v1.13.0-fuji", - "v1.12.2", - "v1.12.1" - ], - "image_tags": [ - "latest", - "master-r", - "37747dd9-r", - "master", - "37747dd9", - "82f37a58-r", - "82f37a58", - "1522ced8-r", - "1522ced8", - "7d60acad-r" - ], - "image_name": "docker.io/avaplatform/avalanchego", - "docker_help_command": "/avalanchego/build/avalanchego --help", - "subcategory": "Blockchain Client" - }, - { - "name": "Near Protocol", - "description": "Sharded, proof-of-stake Layer 1 blockchain designed for usability and scalability.", - "github_release_url": "https://api.github.com/repos/near/nearcore/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/nearprotocol/nearcore/tags/?page=1&page_size=100", - "readme": "https://github.com/near/nearcore/blob/master/README.md", - "category": "Blockchain Clients", - "homepage": "https://near.org/", - "github_releases": [ - "2.9.0", - "2.8.0", - "2.8.0-rc.2", - "2.8.0-rc.1", - "2.7.1", - "2.7.1-rc.1", - "2.7.0", - "2.7.0-rc.4", - "2.7.0-rc.3", - "2.6.5" - ], - "image_tags": [ - "latest", - "master-1904f421a22ed37d17c66ee1b7ace24b3a5f9cfa", - "master", - "master-672d030ffaf465c7b6ced1fa7e60643fe1ca8593", - "master-cde0f9356141f1d703dbacd4eeecb06cfd310e65", - "master-fa3552225b245aea1332d6f6e83bc22eaa47ceb7", - "master-27ec3369f0cd8496b0c172f88f7f014085763c98", - "master-f84a48e2b87a3ebcba00ffc66f05c16082932f01", - "master-b655c3e434b6c01a135988da8a54cb5e4873debf", - "master-ff9ab9062070556fdb258bb44953051a3e4dd399" - ], - "image_name": "docker.io/nearprotocol/nearcore", - "docker_help_command": "/usr/local/bin/nearcore --help", - "subcategory": "Blockchain Client" - }, - { - "name": "Cardano", - "description": "Proof-of-stake blockchain platform with peer-reviewed research.", - "github_release_url": "https://api.github.com/repos/IntersectMBO/cardano-node/releases?per_page=100&page=1", - "docker_tags_url": "https://github.com/intersectmbo/cardano-node/pkgs/container/cardano-node", - "readme": "https://github.com/IntersectMBO/cardano-node/blob/master/README.md", - "category": "Blockchain Clients", - "homepage": "https://cardano.org/", - "github_releases": [ - "10.5.1", - "10.5.0", - "10.4.1", - "10.3.1", - "10.2.1", - "10.1.4", - "10.1.3", - "10.1.2", - "10.1.1", - "10.1.1-pre" - ], - "image_tags": [ - "latest" - ], - "image_name": "ghcr.io/intersectmbo/cardano-node", - "subcategory": "Blockchain Client", - "docker_help_command": "/usr/local/bin/cardano-cli --help" - }, - { - "name": "Sui", - "description": "Layer 1 blockchain with object-centric data model and Move programming language.", - "github_release_url": "https://api.github.com/repos/MystenLabs/sui/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/mysten/sui-node/tags/?page=1&page_size=100", - "readme": "https://github.com/MystenLabs/sui/blob/main/README.md", - "category": "Blockchain Clients", - "homepage": "https://sui.io/", - "github_releases": [ - "testnet-v1.59.0", - "devnet-v1.59.0", - "mainnet-v1.58.3", - "testnet-v1.58.2", - "testnet-v1.58.1", - "mainnet-v1.57.3", - "devnet-v1.58.0", - "testnet-v1.57.2", - "mainnet-v1.57.2", - "testnet-v1.57.0" - ], - "image_tags": [ - "4d5c8b5034f08aad4bcddaa394633788dddfd8e1", - "453cfd90f00df995c92a5e51c29721b19d279730-arm64", - "453cfd90f00df995c92a5e51c29721b19d279730", - "ci-arm64", - "ci", - "f2cb75a2a740f86f49e9d583f7da6635046e8d6c", - "436645b879a920f40b908f963bc117b763af26f3", - "compat-arm64", - "compat", - "06cef8f244b63a936933783b3acd94faf2912dac-arm64" - ], - "image_name": "docker.io/mysten/sui-node", - "docker_help_command": "/usr/local/bin/sui-node --help", - "subcategory": "Blockchain Client" - }, - { - "name": "Aptos", - "description": "Layer 1 blockchain using Move programming language with parallel execution engine.", - "github_release_url": "https://api.github.com/repos/aptos-labs/aptos-core/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/aptoslabs/validator/tags/?page=1&page_size=100", - "readme": "https://github.com/aptos-labs/aptos-core/blob/main/README.md", - "category": "Blockchain Clients", - "homepage": "https://aptosfoundation.org/", - "github_releases": [ - "aptos-node-v1.37.0-rc", - "aptos-cli-v7.10.0", - "aptos-node-v1.36.6-rc", - "aptos-node-v1.36.6", - "aptos-node-v1.36.5", - "aptos-node-v1.36.4", - "aptos-node-v1.36.3", - "aptos-node-v1.36.2", - "aptos-cli-v7.9.1", - "aptos-cli-v7.9.0" - ], - "image_tags": [ - "testnet_2172c68743d8973f9dee13d40d3c7719724d7dc7", - "testnet", - "testnet_performance_2172c68743d8973f9dee13d40d3c7719724d7dc7", - "testnet_performance", - "nightly_97e7151e39a80a3b55693fbfe44883fe3562f7c5", - "nightly", - "nightly_performance_97e7151e39a80a3b55693fbfe44883fe3562f7c5", - "nightly_performance", - "testnet_b82701564378f9ce55ca99810734144ae09d9bc4", - "testnet_performance_b82701564378f9ce55ca99810734144ae09d9bc4" - ], - "image_name": "docker.io/aptoslabs/validator", - "docker_help_command": "/usr/local/bin/aptos-node --help", - "subcategory": "Blockchain Client" - }, - { - "name": "Tendermint Core", - "description": "Byzantine Fault Tolerant consensus engine and application interface.", - "github_release_url": "https://api.github.com/repos/cometbft/cometbft/releases?per_page=100&page=1", - "docker_tags_url": "", - "readme": "https://github.com/cometbft/cometbft/blob/main/README.md", - "category": "Infrastructure", - "homepage": "https://cometbft.com/", - "github_releases": [ - "v0.38.19", - "v0.37.16", - "v0.38.18", - "v1.0.1", - "v0.38.17", - "v0.37.15", - "v0.38.16", - "v0.37.14", - "v1.0.0", - "v1.0.0-rc2" - ], - "image_tags": [], - "docker_help_command": "cometbft --help", - "deprecated": true, - "subcategory": "Consensus Engine" - }, - { - "name": "Ethers.js", - "description": "Complete Ethereum library and wallet implementation in JavaScript.", - "github_release_url": "https://api.github.com/repos/ethers-io/ethers.js/releases?per_page=100&page=1", - "docker_tags_url": "", - "readme": "https://github.com/ethers-io/ethers.js/blob/main/README.md", - "category": "Development Tools", - "homepage": "https://ethers.org/", - "github_releases": [ - "v6.15.0", - "v6.14.4", - "v6.14.3", - "v6.14.2", - "v6.14.1", - "v6.14.0", - "v6.13.7", - "v5.8.0", - "v6.13.5", - "v6.13.4" - ], - "image_tags": [], - "docker_help_command": "", - "deprecated": true, - "subcategory": "Library" - }, - { - "name": "Web3.js", - "description": "Ethereum JavaScript API for interacting with Ethereum nodes.", - "github_release_url": "https://api.github.com/repos/web3/web3.js/releases?per_page=100&page=1", - "docker_tags_url": "", - "readme": "https://github.com/web3/web3.js/blob/4.x/README.md", - "category": "Development Tools", - "homepage": "https://web3js.org/", - "github_releases": [ - "v4.16.0", - "v4.15.0", - "v4.14.0", - "v4.13.0", - "v4.12.1", - "v4.12.0", - "v4.11.1", - "v4.11.0", - "v4.10.0", - "v4.9.0" - ], - "image_tags": [], - "docker_help_command": "", - "deprecated": true, - "subcategory": "Library" - }, - { - "name": "MetaMask Snaps", - "description": "Plugin system for extending MetaMask wallet functionality - enables developers to add new features, protocols, and blockchain support.", - "github_release_url": "https://api.github.com/repos/MetaMask/snaps/releases?per_page=100&page=1", - "docker_tags_url": "", - "readme": "https://github.com/MetaMask/snaps/blob/main/README.md", - "category": "Development Tools", - "homepage": "https://metamask.io/snaps/", - "github_releases": [ - "v128.0.0", - "v127.0.0", - "v126.0.0", - "v125.0.0", - "v124.0.0", - "v123.0.0", - "v122.0.0", - "v121.0.0", - "v120.0.0", - "v119.0.0" - ], - "image_tags": [], - "docker_help_command": "", - "deprecated": true, - "subcategory": "Wallet Extension" - }, - { - "name": "Vyper", - "description": "Pythonic smart contract language with security and auditability focus.", - "github_release_url": "https://api.github.com/repos/vyperlang/vyper/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/vyperlang/vyper/tags/?page=1&page_size=100", - "readme": "https://github.com/vyperlang/vyper/blob/master/README.md", - "category": "Development Tools", - "homepage": "https://vyper.readthedocs.io/", - "github_releases": [ - "v0.4.3", - "v0.4.3rc1", - "v0.4.2", - "v0.4.2rc1", - "v0.4.1", - "v0.4.1rc3", - "v0.4.1rc2", - "v0.4.1rc1", - "v0.4.1b4", - "v0.4.1b3" - ], - "image_tags": [ - "latest", - "0.4.3", - "0.4.3rc1", - "0.4.2", - "0.4.2rc1", - "0.4.1", - "0.4.1rc3", - "0.4.1rc2", - "0.4.1rc1", - "0.4.1b4" - ], - "image_name": "docker.io/vyperlang/vyper", - "docker_help_command": "/usr/local/bin/vyper --help", - "subcategory": "Smart Contract Language", - "alternate_binaries": [ - "/usr/local/bin/vyper-serve --help", - "/usr/local/bin/vyper-lll --help", - "/code/vyper-serve --help", - "/code/vyper-bin --help" - ] - }, - { - "name": "Solidity", - "description": "Object-oriented programming language for writing smart contracts on Ethereum.", - "github_release_url": "https://api.github.com/repos/ethereum/solidity/releases?per_page=100&page=1", - "docker_tags_url": "https://hub.docker.com/v2/repositories/ethereum/solc/tags/?page=1&page_size=100", - "readme": "https://github.com/ethereum/solidity/blob/develop/README.md", - "category": "Development Tools", - "homepage": "https://soliditylang.org/", - "github_releases": [ - "v0.8.31-pre.1", - "v0.8.30", - "v0.8.29", - "v0.8.28", - "v0.8.27", - "v0.8.26", - "v0.8.25", - "v0.8.24", - "v0.8.23", - "v0.8.22" - ], - "image_tags": [ - "0.8.30-alpine", - "stable-alpine", - "0.8.30", - "stable", - "0.8.29-alpine", - "0.8.29", - "0.8.28-alpine", - "0.8.28", - "0.8.27-alpine", - "0.8.27" - ], - "image_name": "docker.io/ethereum/solc", - "docker_help_command": "/usr/bin/solc --help", - "subcategory": "Smart Contract Language", - "alternate_binaries": [ - "/solidity --help" - ] - }, - { - "name": "Infura", - "description": "Ethereum and IPFS API suite providing instant access over HTTPS and WebSockets.", - "github_release_url": "", - "docker_tags_url": "", - "readme": "", - "category": "Infrastructure", - "homepage": "https://infura.io/", - "github_releases": [], - "image_tags": [], - "docker_help_command": "", - "deprecated": true, - "subcategory": "Infrastructure" - }, - { - "name": "Alchemy", - "description": "Blockchain development platform powering millions of users.", - "github_release_url": "", - "docker_tags_url": "", - "readme": "", - "category": "Infrastructure", - "homepage": "https://www.alchemy.com/", - "github_releases": [], - "image_tags": [], - "docker_help_command": "", - "deprecated": true, - "subcategory": "Infrastructure" - }, - { - "name": "Moralis", - "description": "Enterprise-grade Web3 APIs and blockchain infrastructure.", - "github_release_url": "", - "docker_tags_url": "", - "readme": "", - "category": "Infrastructure", - "homepage": "https://moralis.io/", - "github_releases": [], - "image_tags": [], - "docker_help_command": "", - "deprecated": true, - "subcategory": "Infrastructure" - }, - { - "name": "Viem", - "description": "TypeScript interface for Ethereum with focus on type safety and developer experience.", - "github_release_url": "https://api.github.com/repos/wevm/viem/releases?per_page=100&page=1", - "docker_tags_url": "", - "readme": "https://github.com/wevm/viem/blob/main/README.md", - "category": "Development Tools", - "homepage": "https://viem.sh/", - "github_releases": [ - "viem@2.38.4", - "viem@2.38.3", - "viem@2.38.2", - "viem@2.38.1", - "viem@2.38.0", - "viem@2.37.13", - "viem@2.37.12", - "viem@2.37.11", - "viem@2.37.10", - "viem@2.37.9" - ], - "image_tags": [], - "docker_help_command": "", - "deprecated": true, - "subcategory": "Library" - }, - { - "name": "Scaffold-ETH", - "description": "Everything you need to get started building decentralized applications on Ethereum.", - "github_release_url": "https://api.github.com/repos/scaffold-eth/scaffold-eth-2/releases?per_page=100&page=1", - "docker_tags_url": "", - "readme": "https://github.com/scaffold-eth/scaffold-eth-2/blob/main/README.md", - "category": "Development Tools", - "homepage": "https://scaffoldeth.io/", - "github_releases": [ - "v0.0.37", - "v0.0.36", - "v0.0.35", - "v0.0.34", - "v0.0.33", - "v0.0.32", - "v0.0.31", - "v0.0.30", - "v0.0.29", - "v0.0.28" - ], - "image_tags": [], - "docker_help_command": "", - "deprecated": true, - "subcategory": "Boilerplate" - }, - { - "name": "Wagmi", - "description": "React Hooks library for Ethereum enabling easy wallet connection, contract interaction, and blockchain data access.", - "github_release_url": "https://api.github.com/repos/wevm/wagmi/releases?per_page=100&page=1", - "docker_tags_url": "", - "readme": "https://github.com/wevm/wagmi/blob/main/.github/README.md", - "category": "Development Tools", - "homepage": "https://wagmi.sh/", - "github_releases": [ - "@wagmi/cli@2.7.1", - "wagmi@2.18.2", - "@wagmi/vue@0.2.14", - "@wagmi/connectors@6.1.0", - "wagmi@2.18.1", - "@wagmi/vue@0.2.13", - "@wagmi/core@2.22.1", - "@wagmi/connectors@6.0.1", - "@wagmi/cli@2.7.0", - "wagmi@2.18.0" - ], - "image_tags": [], - "docker_help_command": "", - "deprecated": true, - "subcategory": "Development Tool" - } - ] -} \ No newline at end of file diff --git a/data/readmes/act-v0283.md b/data/readmes/act-v0283.md new file mode 100644 index 0000000..ca23cee --- /dev/null +++ b/data/readmes/act-v0283.md @@ -0,0 +1,48 @@ +# act - README (v0.2.83) + +**Repository**: https://github.com/nektos/act +**Version**: v0.2.83 + +--- + +![act-logo](https://raw.githubusercontent.com/wiki/nektos/act/img/logo-150.png) + +# Overview [![push](https://github.com/nektos/act/workflows/push/badge.svg?branch=master&event=push)](https://github.com/nektos/act/actions) [![Go Report Card](https://goreportcard.com/badge/github.com/nektos/act)](https://goreportcard.com/report/github.com/nektos/act) [![awesome-runners](https://img.shields.io/badge/listed%20on-awesome--runners-blue.svg)](https://github.com/jonico/awesome-runners) + +> "Think globally, `act` locally" + +Run your [GitHub Actions](https://developer.github.com/actions/) locally! Why would you want to do this? Two reasons: + +- **Fast Feedback** - Rather than having to commit/push every time you want to test out the changes you are making to your `.github/workflows/` files (or for any changes to embedded GitHub actions), you can use `act` to run the actions locally. The [environment variables](https://help.github.com/en/actions/configuring-and-managing-workflows/using-environment-variables#default-environment-variables) and [filesystem](https://help.github.com/en/actions/reference/virtual-environments-for-github-hosted-runners#filesystems-on-github-hosted-runners) are all configured to match what GitHub provides. +- **Local Task Runner** - I love [make](). However, I also hate repeating myself. With `act`, you can use the GitHub Actions defined in your `.github/workflows/` to replace your `Makefile`! + +> [!TIP] +> **Now Manage and Run Act Directly From VS Code!**
+> Check out the [GitHub Local Actions](https://sanjulaganepola.github.io/github-local-actions-docs/) Visual Studio Code extension which allows you to leverage the power of `act` to run and test workflows locally without leaving your editor. + +# How Does It Work? + +When you run `act` it reads in your GitHub Actions from `.github/workflows/` and determines the set of actions that need to be run. It uses the Docker API to either pull or build the necessary images, as defined in your workflow files and finally determines the execution path based on the dependencies that were defined. Once it has the execution path, it then uses the Docker API to run containers for each action based on the images prepared earlier. The [environment variables](https://help.github.com/en/actions/configuring-and-managing-workflows/using-environment-variables#default-environment-variables) and [filesystem](https://docs.github.com/en/actions/using-github-hosted-runners/about-github-hosted-runners#file-systems) are all configured to match what GitHub provides. + +Let's see it in action with a [sample repo](https://github.com/cplee/github-actions-demo)! + +![Demo](https://raw.githubusercontent.com/wiki/nektos/act/quickstart/act-quickstart-2.gif) + +# Act User Guide + +Please look at the [act user guide](https://nektosact.com) for more documentation. + +# Support + +Need help? Ask in [discussions](https://github.com/nektos/act/discussions)! + +# Contributing + +Want to contribute to act? Awesome! Check out the [contributing guidelines](CONTRIBUTING.md) to get involved. + +## Manually building from source + +- Install Go tools 1.20+ - () +- Clone this repo `git clone git@github.com:nektos/act.git` +- Run unit tests with `make test` +- Build and install: `make install` diff --git a/data/readmes/activemq-activemq-parent-551.md b/data/readmes/activemq-activemq-parent-551.md new file mode 100644 index 0000000..496c47f --- /dev/null +++ b/data/readmes/activemq-activemq-parent-551.md @@ -0,0 +1,82 @@ +# Activemq - README (activemq-parent-5.5.1) + +**Repository**: https://github.com/apache/activemq +**Version**: activemq-parent-5.5.1 + +--- + +Welcome to Apache ActiveMQ +======================================================================= +Apache ActiveMQ is a high performance Apache 2.0 licensed +Message Broker. +ActiveMQ supports several API and protocols: +- Jakarta Messaging 3.1.0, JMS 2.0 and JMS 1.1. +- AMQP +- MQTT +- HTTP/WS + +ActiveMQ also provides advanced features like: +- network of brokers +- scheduling +- and much more! + +Getting Started +=============== +To help you get started, try the following links: + +Getting Started +- You need JDK17+ to run Apache ActiveMQ +- After having extracted ActiveMQ binary distribution, you can start ActiveMQ with `./bin/activemq console` (foreground) or `./bin/activemq start` +- Docker images are also available on Docker Hub (https://hub.docker.com/r/apache/activemq-classic) + +Building +- You can build (fast) using Apache Maven: `mvn clean install -DskipTests` +- You can build (including all tests) using Apache Maven: `mvn clean install` + +Examples +- https://activemq.apache.org/examples.html + +We welcome contributions of all kinds, for details of how you can help +https://activemq.apache.org/contributing.html + +Please refer to the website for details of finding the issue tracker, +email lists, wiki or IRC channel at https://activemq.apache.org/ + +Please help us make Apache ActiveMQ better - we appreciate any feedback +you may have. + +Enjoy! + +Licensing +======================================================================= + + This software is licensed under the terms you may find in the file + named "[LICENSE](./LICENSE)" in this directory. + + This distribution includes cryptographic software. The country in + which you currently reside may have restrictions on the import, + possession, use, and/or re-export to another country, of + encryption software. BEFORE using any encryption software, please + check your country's laws, regulations and policies concerning the + import, possession, or use, and re-export of encryption software, to + see if this is permitted. See for more + information. + + The U.S. Government Department of Commerce, Bureau of Industry and + Security (BIS), has classified this software as Export Commodity + Control Number (ECCN) 5D002.C.1, which includes information security + software using or performing cryptographic functions with asymmetric + algorithms. The form and manner of this Apache Software Foundation + distribution makes it eligible for export under the License Exception + ENC Technology Software Unrestricted (TSU) exception (see the BIS + Export Administration Regulations, Section 740.13) for both object + code and source code. + + The following provides more details on the included cryptographic + software: + + ActiveMQ supports the use of SSL TCP connections when used with + with a JVM supporting the Java Cryptography extensions + . + ActiveMQ does not include these libraries itself, but is designed to use them. + diff --git a/data/readmes/aeraki-mesh-141.md b/data/readmes/aeraki-mesh-141.md new file mode 100644 index 0000000..437251b --- /dev/null +++ b/data/readmes/aeraki-mesh-141.md @@ -0,0 +1,197 @@ +# Aeraki Mesh - README (1.4.1) + +**Repository**: https://github.com/aeraki-mesh/aeraki +**Version**: 1.4.1 + +--- + + + +# Aeraki ([中文](./README.zh-CN.md)) + +[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://github.com/aeraki-mesh/aeraki/blob/master/LICENSE) +[![Go Report Card](https://goreportcard.com/badge/github.com/aeraki-mesh/aeraki)](https://goreportcard.com/report/github.com/aeraki-mesh/aeraki) +[![CI Tests](https://github.com/aeraki-mesh/aeraki/workflows/ci/badge.svg?branch=master)](https://github.com/aeraki-mesh/aeraki/actions?query=branch%3Amaster+event%3Apush+workflow%3A%22ci%22) +[![E2E Tests](https://github.com/aeraki-mesh/aeraki/workflows/e2e-metaprotocol/badge.svg?branch=master)](https://github.com/aeraki-mesh/aeraki/actions?query=branch%3Amaster+event%3Apush+workflow%3A%22e2e-metaprotocol%22) +[![E2E Tests](https://github.com/aeraki-mesh/aeraki/workflows/e2e-dubbo/badge.svg?branch=master)](https://github.com/aeraki-mesh/aeraki/actions?query=branch%3Amaster+event%3Apush+workflow%3A%22e2e-dubbo%22) +[![E2E Tests](https://github.com/aeraki-mesh/aeraki/workflows/e2e-thrift/badge.svg?branch=master)](https://github.com/aeraki-mesh/aeraki/actions?query=branch%3Amaster+event%3Apush+workflow%3A%22e2e-thrift%22) +[![E2E Tests](https://github.com/aeraki-mesh/aeraki/workflows/e2e-kafka-zookeeper/badge.svg?branch=master)](https://github.com/aeraki-mesh/aeraki/actions?query=branch%3Amaster+event%3Apush+workflow%3A%22e2e-kafka-zookeeper%22) +[![E2E Tests](https://github.com/aeraki-mesh/aeraki/workflows/e2e-redis/badge.svg?branch=master)](https://github.com/aeraki-mesh/aeraki/actions?query=branch%3Amaster+event%3Apush+workflow%3A%22e2e-redis%22) +[![FOSSA Status](https://app.fossa.com/api/projects/git%2Bgithub.com%2Faeraki-mesh%2Faeraki.svg?type=shield)](https://app.fossa.com/projects/git%2Bgithub.com%2Faeraki-mesh%2Faeraki?ref=badge_shield) + + + Aeraki logo + + +--- +# Manage **any** layer-7 traffic in a service mesh! + +**Aeraki** [Air-rah-ki] is the Greek word for 'breeze'. While service mesh becomes an important infrastructure for microservices, many(if not all) service mesh implementations mainly focus on HTTP protocols and treat other protocols as plain TCP traffic. Aeraki Mesh is created to provide a non-intrusive, highly extendable way to manage any layer-7 traffic in a service mesh. + +Note: Aeraki only handles non-HTTP layer-7 traffic in a service mesh, and leaves the HTTP traffic to other existing service mesh projects. (As they have already done a very good job on it, and we don't want to reinvent the wheel! ) +Aeraki currently can be integrated with Istio, and it may support other service mesh projects in the future. + +## Problems to solve + +We are facing some challenges in service meshes: +* Istio and other popular service mesh implementations have very limited support for layer-7 protocols other than HTTP and gRPC. +* Envoy RDS(Route Discovery Service) is solely designed for HTTP. Other protocols such as Dubbo and Thrift can only use listener in-line routes for traffic management, which breaks existing connections when routes change. +* It takes a lot of effort to introduce a proprietary protocol into a service mesh. You’ll need to write an Envoy filter to handle the traffic in the data plane, and a control plane to manage those Envoy proxies. + +Those obstacles make it very hard, if not impossible, for users to manage the traffic of other widely-used layer-7 protocols in microservices. For example, in a microservices application, we may have the below protocols: + +* RPC: HTTP, gRPC, Thrift, Dubbo, Proprietary RPC Protocol … +* Messaging: Kafka, RabbitMQ … +* Cache: Redis, Memcached … +* Database: MySQL, PostgreSQL, MongoDB … + +![ Common Layer 7 Protocols Used in Microservices ](docs/protocols.png) + +If you have already invested a lot of effort in migrating to a service mesh, of course, you want to get the most out of it — managing the traffic of all the protocols in your microservices. + +## Aeraki's approach + +To address these problems, Aeraki Mesh provides a non-intrusive, extendable way to manage any layer-7 traffic in a service mesh. +![ Aeraki ](docs/aeraki-architecture.png) + +As this diagram shows, Aeraki Mesh consists of the following components: + +* Aeraki: [Aeraki](https://github.com/aeraki-mesh/aeraki) provides high-level, user-friendly traffic management rules to operations, translates the rules to envoy filter configurations, and leverages Istio’s `EnvoyFilter` API to push the configurations to the sidecar proxies. Aeraki also serves as the RDS server for MetaProtocol proxies in the data plane. Contrary to Envoy RDS, which focuses on HTTP, Aeraki RDS is aimed to provide a general dynamic route capability for all layer-7 protocols. +* MetaProtocol Proxy: [MetaProtocol Proxy](https://github.com/aeraki-mesh/meta-protocol-proxy) provides common capabilities for Layer-7 protocols, such as load balancing, circuit breaker, routing, rate limiting, fault injection, and auth. Layer-7 protocols can be built on top of MetaProtocol. To add a new protocol into the service mesh, the only thing you need to do is to implement the [codec interface](https://github.com/aeraki-mesh/meta-protocol-proxy/blob/ac788327239bd794e745ce18b382da858ddf3355/src/meta_protocol_proxy/codec/codec.h#L118) and a couple of lines of configuration. If you have special requirements which can’t be accommodated by the built-in capabilities, MetaProtocol Proxy also has an application-level filter chain mechanism, allowing users to write their own layer-7 filters to add custom logic into MetaProtocol Proxy. + +[Dubbo](https://github.com/aeraki-mesh/meta-protocol-proxy/tree/master/src/application_protocols/dubbo) +, [Thrift](https://github.com/aeraki-mesh/meta-protocol-proxy/tree/master/src/application_protocols/thrift) +, [bRPC](https://github.com/aeraki-mesh/meta-protocol-proxy/tree/master/src/application_protocols/brpc) +and [a number of other protocols](https://github.com/aeraki-mesh/aeraki/issues/105) have been implemented based on MetaProtocol. More protocols are on the way. +If you're using a close-source, proprietary protocol, you can also manage it in your service mesh simply by +[writing a MetaProtocol codec](https://www.aeraki.net/docs/v1.x/tutorials/implement-a-custom-protocol/) for it. + +Most request/response style, stateless protocols can be built on top of the MetaProtocol Proxy. However, some protocols' routing policies are too "special" to be normalized in MetaProtocol. For example, the Redis proxy uses a slot number to map a client query to a specific Redis server node, and the slot number is computed by the key in the request. Aeraki can still manage those protocols as long as there's an available Envoy Filter in the Envoy proxy side. Currently, for protocols in this category, [Redis](https://github.com/aeraki-mesh/aeraki/blob/master/docs/zh/redis.md) and Kafka are supported in Aeraki. + +## Supported protocols: +Aeraki can manage the below protocols in a service mesh: +* Dubbo (Envoy native filter) +* Thrift (Envoy native filter) +* Kafka (Envoy native filter) +* Redis (Envoy native filter) +* MetaProtocol-Dubbo +* MetaProtocol-Thrift +* MetaProtocol-bRPC (A RPC protocol open-source by Baidu) +* MetaProtocol-tRPC (A proprietary RPC protocol used in Tencent) +* MetaProtocol-qza (A proprietary protocol used in Tencent Music) +* MetaProtocol-videoPacket (A proprietary protocol used in Tencent Media Data Platform) +* MetaProtocol-Others: Alauda, Tencent iGame... +* MetaProtocol-Private protocols: Have a private protocol? No problem, any layer-7 protocols built on top of the [MetaProtocol](https://github.com/aeraki-mesh/meta-protocol-proxy) can be managed by Aeraki + +## Supported Features: + * Traffic Management + * [x] Request Level Load Balancing/Locality Load Balancing (Supports Consistent Hash/Sticky Session) + * [x] Circuit breaking + * [x] Flexible Route Match Conditions (any properties can be exacted from layer-7 packets and used as match conditions) + * [x] Dynamic route update through Aeraki MetaRDS + * [x] Version Based Routing + * [x] Traffic Splitting + * [x] Local Rate Limit + * [x] Global Rate Limit + * [x] Message mutation + * [x] Traffic Mirroring + * Observability + * [x] Request level Metrics (Request latency, count, error, etc) + * [x] Distributed Tracing + * [x] Access log + * Security + * [x] Peer Authorization on Interface/Method + * [ ] Request Authorization + +> Note: Protocols built on top of MetaProtocol support all the above features in Aeraki Mesh, Envoy native filters only support some of the above features, depending on the capacities of the native filters. + +## Demo + +https://www.aeraki.net/docs/v1.x/quickstart/ + +## Install + +https://www.aeraki.net/docs/v1.x/install/ + +## Build + +### Pre-requirements: +* Golang Version >= 1.16, and related golang tools installed like `goimports`, `gofmt`, etc. +* Docker and Docker-Compose installed + +### Build Aeraki Binary + +```bash +# build aeraki binary on Linux +make build + +# build aeraki binary on darwin +make build IMAGE_OS=darwin +``` + +### Build Aeraki Image + +```bash +# build aeraki docker image with the default latest tag +make docker-build + +# build aeraki docker image with xxx tag +make docker-build IMAGE_TAG=xxx + +# build aeraki e2e docker image +make docker-build-e2e +``` + +## Contribute to Aeraki + +If you're interested in contributing to this project, please read [Contributing to Aeraki](CONTRIBUTING.md). + +## Talks + +* IstioCon 2022: [Tencent Music’s service mesh practice with Istio and Aeraki](https://events.istio.io/istiocon-2022/sessions/tencent-music-aeraki/) +* Istio meetup China(中文): [全栈服务网格 - Aeraki 助你在 Istio 服务网格中管理任何七层流量](https://www.youtube.com/watch?v=Bq5T3OR3iTM) +* IstioCon 2021: [How to Manage Any Layer-7 Traffic in an Istio Service Mesh?](https://www.youtube.com/watch?v=sBS4utF68d8) + +## Who is using Aeraki? + +Sincerely thank everyone for choosing, contributing, and using Aeraki. We created this issue to collect the use cases so we can drive the Aeraki community to evolve in the right direction and better serve your real-world scenarios. We encourage you to submit a comment on this issue to include your use case:https://github.com/aeraki-mesh/aeraki/issues/105 + +## Contact +* WeChat Group: Please contact Wechat ID: zhao_huabing to join the Aeraki Wechat group +* Slack Channel: Join [our slack channel](https://cloud-native.slack.com/messages/aeraki-mesh) +* Community meetings: [Meetings and recordings](https://www.aeraki.net/community/#community-meetings) + +## License + +This project is licensed under [Apache 2.0 License](LICENSE) + +## Conduct + +We follow the [CNCF Code of Conduct](CODE_OF_CONDUCT.md) + +## Landscapes + +

+ +

+Aeraki Mesh is a CNCF sandbox project. +

diff --git a/data/readmes/airflow-313.md b/data/readmes/airflow-313.md new file mode 100644 index 0000000..12b8939 --- /dev/null +++ b/data/readmes/airflow-313.md @@ -0,0 +1,552 @@ +# Airflow - README (3.1.3) + +**Repository**: https://github.com/apache/airflow +**Version**: 3.1.3 + +--- + + + + +# Apache Airflow + +| Category | Badges | +|------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| License | [![License](https://img.shields.io/:license-Apache%202-blue.svg)](https://www.apache.org/licenses/LICENSE-2.0.txt) | +| PyPI | [![PyPI version](https://badge.fury.io/py/apache-airflow.svg)](https://badge.fury.io/py/apache-airflow) [![PyPI - Python Version](https://img.shields.io/pypi/pyversions/apache-airflow.svg)](https://pypi.org/project/apache-airflow/) [![PyPI - Downloads](https://img.shields.io/pypi/dm/apache-airflow)](https://pypi.org/project/apache-airflow/) | +| Containers | [![Docker Pulls](https://img.shields.io/docker/pulls/apache/airflow.svg)](https://hub.docker.com/r/apache/airflow) [![Docker Stars](https://img.shields.io/docker/stars/apache/airflow.svg)](https://hub.docker.com/r/apache/airflow) [![Artifact HUB](https://img.shields.io/endpoint?url=https://artifacthub.io/badge/repository/apache-airflow)](https://artifacthub.io/packages/search?repo=apache-airflow) | +| Community | [![Contributors](https://img.shields.io/github/contributors/apache/airflow)](https://github.com/apache/airflow/graphs/contributors) [![Slack Status](https://img.shields.io/badge/slack-join_chat-white.svg?logo=slack&style=social)](https://s.apache.org/airflow-slack) ![Commit Activity](https://img.shields.io/github/commit-activity/m/apache/airflow) [![LFX Health Score](https://insights.linuxfoundation.org/api/badge/health-score?project=apache-airflow)](https://insights.linuxfoundation.org/project/apache-airflow) | +| Dev tools | [![prek](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/j178/prek/master/docs/assets/badge-v0.json)](https://github.com/j178/prek) | + + +| Version | Build Status | +|---------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------| +| Main | [![GitHub Build main](https://github.com/apache/airflow/actions/workflows/ci-amd-arm.yml/badge.svg)](https://github.com/apache/airflow/actions) | +| 3.x | [![GitHub Build 3.1](https://github.com/apache/airflow/actions/workflows/ci-amd-arm.yml/badge.svg?branch=v3-1-test)](https://github.com/apache/airflow/actions) | +| 2.x | [![GitHub Build 2.11](https://github.com/apache/airflow/actions/workflows/ci.yml/badge.svg?branch=v2-11-test)](https://github.com/apache/airflow/actions) | + + + + + Apache Airflow logo + + +[Apache Airflow](https://airflow.apache.org/docs/apache-airflow/stable/) (or simply Airflow) is a platform to programmatically author, schedule, and monitor workflows. + +When workflows are defined as code, they become more maintainable, versionable, testable, and collaborative. + +Use Airflow to author workflows (Dags) that orchestrate tasks. The Airflow scheduler executes your tasks on an array of workers while following the specified dependencies. Rich command line utilities make performing complex surgeries on DAGs a snap. The rich user interface makes it easy to visualize pipelines running in production, monitor progress, and troubleshoot issues when needed. + + + + +**Table of contents** + +- [Project Focus](#project-focus) +- [Principles](#principles) +- [Requirements](#requirements) +- [Getting started](#getting-started) +- [Installing from PyPI](#installing-from-pypi) +- [Installation](#installation) +- [Official source code](#official-source-code) +- [Convenience packages](#convenience-packages) +- [User Interface](#user-interface) +- [Semantic versioning](#semantic-versioning) +- [Version Life Cycle](#version-life-cycle) +- [Support for Python and Kubernetes versions](#support-for-python-and-kubernetes-versions) +- [Base OS support for reference Airflow images](#base-os-support-for-reference-airflow-images) +- [Approach to dependencies of Airflow](#approach-to-dependencies-of-airflow) +- [Contributing](#contributing) +- [Voting Policy](#voting-policy) +- [Who uses Apache Airflow?](#who-uses-apache-airflow) +- [Who maintains Apache Airflow?](#who-maintains-apache-airflow) +- [What goes into the next release?](#what-goes-into-the-next-release) +- [Can I use the Apache Airflow logo in my presentation?](#can-i-use-the-apache-airflow-logo-in-my-presentation) +- [Links](#links) +- [Sponsors](#sponsors) + + + +## Project Focus + +Airflow works best with workflows that are mostly static and slowly changing. When the DAG structure is similar from one run to the next, it clarifies the unit of work and continuity. Other similar projects include [Luigi](https://github.com/spotify/luigi), [Oozie](https://oozie.apache.org/) and [Azkaban](https://azkaban.github.io/). + +Airflow is commonly used to process data, but has the opinion that tasks should ideally be idempotent (i.e., results of the task will be the same, and will not create duplicated data in a destination system), and should not pass large quantities of data from one task to the next (though tasks can pass metadata using Airflow's [XCom feature](https://airflow.apache.org/docs/apache-airflow/stable/concepts/xcoms.html)). For high-volume, data-intensive tasks, a best practice is to delegate to external services specializing in that type of work. + +Airflow is not a streaming solution, but it is often used to process real-time data, pulling data off streams in batches. + +## Principles + +- **Dynamic**: Pipelines are defined in code, enabling dynamic dag generation and parameterization. +- **Extensible**: The Airflow framework includes a wide range of built-in operators and can be extended to fit your needs. +- **Flexible**: Airflow leverages the [**Jinja**](https://jinja.palletsprojects.com) templating engine, allowing rich customizations. + + +## Requirements + +Apache Airflow is tested with: + +| | Main version (dev) | Stable version (3.1.3) | +|------------|------------------------------|------------------------| +| Python | 3.10, 3.11, 3.12, 3.13 | 3.10, 3.11, 3.12, 3.13 | +| Platform | AMD64/ARM64(\*) | AMD64/ARM64(\*) | +| Kubernetes | 1.30, 1.31, 1.32, 1.33, 1.34 | 1.30, 1.31, 1.32, 1.33 | +| PostgreSQL | 14, 15, 16, 17, 18 | 13, 14, 15, 16, 17 | +| MySQL | 8.0, 8.4, Innovation | 8.0, 8.4, Innovation | +| SQLite | 3.15.0+ | 3.15.0+ | + +\* Experimental + +**Note**: MariaDB is not tested/recommended. + +**Note**: SQLite is used in Airflow tests. Do not use it in production. We recommend +using the latest stable version of SQLite for local development. + +**Note**: Airflow currently can be run on POSIX-compliant Operating Systems. For development, it is regularly +tested on fairly modern Linux Distros and recent versions of macOS. +On Windows you can run it via WSL2 (Windows Subsystem for Linux 2) or via Linux Containers. +The work to add Windows support is tracked via [#10388](https://github.com/apache/airflow/issues/10388), but +it is not a high priority. You should only use Linux-based distros as "Production" execution environment +as this is the only environment that is supported. The only distro that is used in our CI tests and that +is used in the [Community managed DockerHub image](https://hub.docker.com/p/apache/airflow) is +`Debian Bookworm`. + + + +## Getting started + +Visit the official Airflow website documentation (latest **stable** release) for help with +[installing Airflow](https://airflow.apache.org/docs/apache-airflow/stable/installation/), +[getting started](https://airflow.apache.org/docs/apache-airflow/stable/start.html), or walking +through a more complete [tutorial](https://airflow.apache.org/docs/apache-airflow/stable/tutorial/). + +> Note: If you're looking for documentation for the main branch (latest development branch): you can find it on [s.apache.org/airflow-docs](https://s.apache.org/airflow-docs/). + +For more information on Airflow Improvement Proposals (AIPs), visit +the [Airflow Wiki](https://cwiki.apache.org/confluence/display/AIRFLOW/Airflow+Improvement+Proposals). + +Documentation for dependent projects like provider distributions, Docker image, Helm Chart, you'll find it in [the documentation index](https://airflow.apache.org/docs/). + + + + +## Installing from PyPI + +We publish Apache Airflow as `apache-airflow` package in PyPI. Installing it however might be sometimes tricky +because Airflow is a bit of both a library and application. Libraries usually keep their dependencies open, and +applications usually pin them, but we should do neither and both simultaneously. We decided to keep +our dependencies as open as possible (in `pyproject.toml`) so users can install different versions of libraries +if needed. This means that `pip install apache-airflow` will not work from time to time or will +produce unusable Airflow installation. + +To have repeatable installation, however, we keep a set of "known-to-be-working" constraint +files in the orphan `constraints-main` and `constraints-2-0` branches. We keep those "known-to-be-working" +constraints files separately per major/minor Python version. +You can use them as constraint files when installing Airflow from PyPI. Note that you have to specify +correct Airflow tag/version/branch and Python versions in the URL. + +1. Installing just Airflow: + +> Note: Only `pip` installation is currently officially supported. + +While it is possible to install Airflow with tools like [Poetry](https://python-poetry.org) or +[pip-tools](https://pypi.org/project/pip-tools), they do not share the same workflow as +`pip` - especially when it comes to constraint vs. requirements management. +Installing via `Poetry` or `pip-tools` is not currently supported. + +If you wish to install Airflow using those tools, you should use the constraint files and convert +them to the appropriate format and workflow that your tool requires. + + +```bash +pip install 'apache-airflow==3.1.3' \ + --constraint "https://raw.githubusercontent.com/apache/airflow/constraints-3.1.3/constraints-3.10.txt" +``` + +2. Installing with extras (i.e., postgres, google) + +```bash +pip install 'apache-airflow[postgres,google]==3.1.3' \ + --constraint "https://raw.githubusercontent.com/apache/airflow/constraints-3.1.3/constraints-3.10.txt" +``` + +For information on installing provider distributions, check +[providers](http://airflow.apache.org/docs/apache-airflow-providers/index.html). + + + +## Installation + +For comprehensive instructions on setting up your local development environment and installing Apache Airflow, please refer to the [INSTALLING.md](INSTALLING.md) file. + + +## Official source code + +Apache Airflow is an [Apache Software Foundation](https://www.apache.org) (ASF) project, +and our official source code releases: + +- Follow the [ASF Release Policy](https://www.apache.org/legal/release-policy.html) +- Can be downloaded from [the ASF Distribution Directory](https://downloads.apache.org/airflow) +- Are cryptographically signed by the release manager +- Are officially voted on by the PMC members during the + [Release Approval Process](https://www.apache.org/legal/release-policy.html#release-approval) + +Following the ASF rules, the source packages released must be sufficient for a user to build and test the +release provided they have access to the appropriate platform and tools. + + +## Convenience packages + +There are other ways of installing and using Airflow. Those are "convenience" methods - they are +not "official releases" as stated by the `ASF Release Policy`, but they can be used by the users +who do not want to build the software themselves. + +Those are - in the order of most common ways people install Airflow: + +- [PyPI releases](https://pypi.org/project/apache-airflow/) to install Airflow using standard `pip` tool +- [Docker Images](https://hub.docker.com/r/apache/airflow) to install airflow via + `docker` tool, use them in Kubernetes, Helm Charts, `docker-compose`, `docker swarm`, etc. You can + read more about using, customizing, and extending the images in the + [Latest docs](https://airflow.apache.org/docs/docker-stack/index.html), and + learn details on the internals in the [images](https://airflow.apache.org/docs/docker-stack/index.html) document. +- [Tags in GitHub](https://github.com/apache/airflow/tags) to retrieve the git project sources that + were used to generate official source packages via git + +All those artifacts are not official releases, but they are prepared using officially released sources. +Some of those artifacts are "development" or "pre-release" ones, and they are clearly marked as such +following the ASF Policy. + +## User Interface + +- **DAGs**: Overview of all DAGs in your environment. + + ![DAGs](https://raw.githubusercontent.com/apache/airflow/main/airflow-core/docs/img/ui-dark/dags.png) + +- **Assets**: Overview of Assets with dependencies. + + ![Asset Dependencies](https://raw.githubusercontent.com/apache/airflow/main/airflow-core/docs/img/ui-dark/assets_graph.png) + +- **Grid**: Grid representation of a DAG that spans across time. + + ![Grid](https://raw.githubusercontent.com/apache/airflow/main/airflow-core/docs/img/ui-dark/grid.png) + +- **Graph**: Visualization of a DAG's dependencies and their current status for a specific run. + + ![Graph](https://raw.githubusercontent.com/apache/airflow/main/airflow-core/docs/img/ui-dark/graph.png) + +- **Home**: Summary statistics of your Airflow environment. + + ![Home](https://raw.githubusercontent.com/apache/airflow/main/airflow-core/docs/img/ui-dark/home.png) + +- **Backfill**: Backfilling a DAG for a specific date range. + + ![Backfill](https://raw.githubusercontent.com/apache/airflow/main/airflow-core/docs/img/ui-dark/backfill.png) + +- **Code**: Quick way to view source code of a DAG. + + ![Code](https://raw.githubusercontent.com/apache/airflow/main/airflow-core/docs/img/ui-dark/code.png) + +## Semantic versioning + +As of Airflow 2.0.0, we support a strict [SemVer](https://semver.org/) approach for all packages released. + +There are few specific rules that we agreed to that define details of versioning of the different +packages: + +* **Airflow**: SemVer rules apply to core airflow only (excludes any changes to providers). + Changing limits for versions of Airflow dependencies is not a breaking change on its own. +* **Airflow Providers**: SemVer rules apply to changes in the particular provider's code only. + SemVer MAJOR and MINOR versions for the packages are independent of the Airflow version. + For example, `google 4.1.0` and `amazon 3.1.1` providers can happily be installed + with `Airflow 2.1.2`. If there are limits of cross-dependencies between providers and Airflow packages, + they are present in providers as `install_requires` limitations. We aim to keep backwards + compatibility of providers with all previously released Airflow 2 versions but + there will sometimes be breaking changes that might make some, or all + providers, have minimum Airflow version specified. +* **Airflow Helm Chart**: SemVer rules apply to changes in the chart only. SemVer MAJOR and MINOR + versions for the chart are independent of the Airflow version. We aim to keep backwards + compatibility of the Helm Chart with all released Airflow 2 versions, but some new features might + only work starting from specific Airflow releases. We might however limit the Helm + Chart to depend on minimal Airflow version. +* **Airflow API clients**: Their versioning is independent from Airflow versions. They follow their own + SemVer rules for breaking changes and new features - which for example allows to change the way we generate + the clients. + +## Version Life Cycle + +Apache Airflow version life cycle: + + + + +| Version | Current Patch/Minor | State | First Release | Limited Maintenance | EOL/Terminated | +|-----------|-----------------------|-----------|-----------------|-----------------------|------------------| +| 3 | 3.1.3 | Supported | Apr 22, 2025 | TBD | TBD | +| 2 | 2.11.0 | Supported | Dec 17, 2020 | Oct 22, 2025 | Apr 22, 2026 | +| 1.10 | 1.10.15 | EOL | Aug 27, 2018 | Dec 17, 2020 | June 17, 2021 | +| 1.9 | 1.9.0 | EOL | Jan 03, 2018 | Aug 27, 2018 | Aug 27, 2018 | +| 1.8 | 1.8.2 | EOL | Mar 19, 2017 | Jan 03, 2018 | Jan 03, 2018 | +| 1.7 | 1.7.1.2 | EOL | Mar 28, 2016 | Mar 19, 2017 | Mar 19, 2017 | + + + +Limited support versions will be supported with security and critical bug fix only. +EOL versions will not get any fixes nor support. +We always recommend that all users run the latest available minor release for whatever major version is in use. +We **highly** recommend upgrading to the latest Airflow major release at the earliest convenient time and before the EOL date. + +## Support for Python and Kubernetes versions + +As of Airflow 2.0, we agreed to certain rules we follow for Python and Kubernetes support. +They are based on the official release schedule of Python and Kubernetes, nicely summarized in the +[Python Developer's Guide](https://devguide.python.org/#status-of-python-branches) and +[Kubernetes version skew policy](https://kubernetes.io/docs/setup/release/version-skew-policy/). + +1. We drop support for Python and Kubernetes versions when they reach EOL. Except for Kubernetes, a + version stays supported by Airflow if two major cloud providers still provide support for it. We drop + support for those EOL versions in main right after EOL date, and it is effectively removed when we release + the first new MINOR (Or MAJOR if there is no new MINOR version) of Airflow. For example, for Python 3.10 it + means that we will drop support in main right after 27.06.2023, and the first MAJOR or MINOR version of + Airflow released after will not have it. + +2. We support a new version of Python/Kubernetes in main after they are officially released, as soon as we + make them work in our CI pipeline (which might not be immediate due to dependencies catching up with + new versions of Python mostly) we release new images/support in Airflow based on the working CI setup. + +3. This policy is best-effort which means there may be situations where we might terminate support earlier + if circumstances require it. + +## Base OS support for reference Airflow images + +The Airflow Community provides conveniently packaged container images that are published whenever +we publish an Apache Airflow release. Those images contain: + +* Base OS with necessary packages to install Airflow (stable Debian OS) +* Base Python installation in versions supported at the time of release for the MINOR version of + Airflow released (so there could be different versions for 2.3 and 2.2 line for example) +* Libraries required to connect to supported Databases (again the set of databases supported depends + on the MINOR version of Airflow) +* Predefined set of popular providers (for details see the [Dockerfile](https://raw.githubusercontent.com/apache/airflow/main/Dockerfile)). +* Possibility of building your own, custom image where the user can choose their own set of providers + and libraries (see [Building the image](https://airflow.apache.org/docs/docker-stack/build.html)) +* In the future Airflow might also support a "slim" version without providers nor database clients installed + +The version of the base OS image is the stable version of Debian. Airflow supports using all currently active +stable versions - as soon as all Airflow dependencies support building, and we set up the CI pipeline for +building and testing the OS version. Approximately 6 months before the end-of-regular support of a +previous stable version of the OS, Airflow switches the images released to use the latest supported +version of the OS. + +For example switch from ``Debian Bullseye`` to ``Debian Bookworm`` has been implemented +before 2.8.0 release in October 2023 and ``Debian Bookworm`` will be the only option supported as of +Airflow 2.10.0. + +Users will continue to be able to build their images using stable Debian releases until the end of regular +support and building and verifying of the images happens in our CI but no unit tests were executed using +this image in the `main` branch. + +## Approach to dependencies of Airflow + +Airflow has a lot of dependencies - direct and transitive, also Airflow is both - library and application, +therefore our policies to dependencies has to include both - stability of installation of application, +but also ability to install newer version of dependencies for those users who develop DAGs. We developed +the approach where `constraints` are used to make sure airflow can be installed in a repeatable way, while +we do not limit our users to upgrade most of the dependencies. As a result we decided not to upper-bound +version of Airflow dependencies by default, unless we have good reasons to believe upper-bounding them is +needed because of importance of the dependency as well as risk it involves to upgrade specific dependency. +We also upper-bound the dependencies that we know cause problems. + +The constraint mechanism of ours takes care about finding and upgrading all the non-upper bound dependencies +automatically (providing that all the tests pass). Our `main` build failures will indicate in case there +are versions of dependencies that break our tests - indicating that we should either upper-bind them or +that we should fix our code/tests to account for the upstream changes from those dependencies. + +Whenever we upper-bound such a dependency, we should always comment why we are doing it - i.e. we should have +a good reason why dependency is upper-bound. And we should also mention what is the condition to remove the +binding. + +### Approach for dependencies for Airflow Core + +Those dependencies are maintained in ``pyproject.toml``. + +There are few dependencies that we decided are important enough to upper-bound them by default, as they are +known to follow predictable versioning scheme, and we know that new versions of those are very likely to +bring breaking changes. We commit to regularly review and attempt to upgrade to the newer versions of +the dependencies as they are released, but this is manual process. + +The important dependencies are: + +* `SQLAlchemy`: upper-bound to specific MINOR version (SQLAlchemy is known to remove deprecations and + introduce breaking changes especially that support for different Databases varies and changes at + various speed) +* `Alembic`: it is important to handle our migrations in predictable and performant way. It is developed + together with SQLAlchemy. Our experience with Alembic is that it very stable in MINOR version +* `Flask`: We are using Flask as the back-bone of our web UI and API. We know major version of Flask + are very likely to introduce breaking changes across those so limiting it to MAJOR version makes sense +* `werkzeug`: the library is known to cause problems in new versions. It is tightly coupled with Flask + libraries, and we should update them together +* `celery`: Celery is a crucial component of Airflow as it used for CeleryExecutor (and similar). Celery + [follows SemVer](https://docs.celeryq.dev/en/stable/contributing.html?highlight=semver#versions), so + we should upper-bound it to the next MAJOR version. Also, when we bump the upper version of the library, + we should make sure Celery Provider minimum Airflow version is updated. +* `kubernetes`: Kubernetes is a crucial component of Airflow as it is used for the KubernetesExecutor + (and similar). Kubernetes Python library [follows SemVer](https://github.com/kubernetes-client/python#compatibility), + so we should upper-bound it to the next MAJOR version. Also, when we bump the upper version of the library, + we should make sure Kubernetes Provider minimum Airflow version is updated. + +### Approach for dependencies in Airflow Providers and extras + +The main part of the Airflow is the Airflow Core, but the power of Airflow also comes from a number of +providers that extend the core functionality and are released separately, even if we keep them (for now) +in the same monorepo for convenience. You can read more about the providers in the +[Providers documentation](https://airflow.apache.org/docs/apache-airflow-providers/index.html). We also +have set of policies implemented for maintaining and releasing community-managed providers as well +as the approach for community vs. 3rd party providers in the [providers](https://github.com/apache/airflow/blob/main/PROVIDERS.rst) document. + +Those `extras` and `providers` dependencies are maintained in `provider.yaml` of each provider. + +By default, we should not upper-bound dependencies for providers, however each provider's maintainer +might decide to add additional limits (and justify them with comment). + + + +## Contributing + +Want to help build Apache Airflow? Check out our [contributors' guide](https://github.com/apache/airflow/blob/main/contributing-docs/README.rst) for a comprehensive overview of how to contribute, including setup instructions, coding standards, and pull request guidelines. + +If you can't wait to contribute, and want to get started asap, check out the [contribution quickstart](https://github.com/apache/airflow/blob/main/contributing-docs/03a_contributors_quick_start_beginners.rst) here! + +Official Docker (container) images for Apache Airflow are described in [images](https://github.com/apache/airflow/blob/main/dev/breeze/doc/ci/02_images.md). + + + + +## Voting Policy + +* Commits need a +1 vote from a committer who is not the author +* When we do AIP voting, both PMC member's and committer's `+1s` are considered a binding vote. + +## Who uses Apache Airflow? + +We know about around 500 organizations that are using Apache Airflow (but there are likely many more) +[in the wild](https://github.com/apache/airflow/blob/main/INTHEWILD.md). + +If you use Airflow - feel free to make a PR to add your organisation to the list. + + + + +## Who maintains Apache Airflow? + +Airflow is the work of the [community](https://github.com/apache/airflow/graphs/contributors), +but the [core committers/maintainers](https://people.apache.org/committers-by-project.html#airflow) +are responsible for reviewing and merging PRs as well as steering conversations around new feature requests. +If you would like to become a maintainer, please review the Apache Airflow +[committer requirements](https://github.com/apache/airflow/blob/main/COMMITTERS.rst#guidelines-to-become-an-airflow-committer). + + + +## What goes into the next release? + +Often you will see an issue that is assigned to specific milestone with Airflow version, or a PR that gets merged +to the main branch and you might wonder which release the merged PR(s) will be released in or which release the fixed +issues will be in. The answer to this is as usual - it depends on various scenarios. The answer is different for PRs and Issues. + +To add a bit of context, we are following the [Semver](https://semver.org/) versioning scheme as described in +[Airflow release process](https://airflow.apache.org/docs/apache-airflow/stable/release-process.html). More +details are explained in detail in this README under the [Semantic versioning](#semantic-versioning) chapter, but +in short, we have `MAJOR.MINOR.PATCH` versions of Airflow. + +* `MAJOR` version is incremented in case of breaking changes +* `MINOR` version is incremented when there are new features added +* `PATCH` version is incremented when there are only bug-fixes and doc-only changes + +Generally we release `MINOR` versions of Airflow from a branch that is named after the MINOR version. For example +`2.7.*` releases are released from `v2-7-stable` branch, `2.8.*` releases are released from `v2-8-stable` +branch, etc. + +1. Most of the time in our release cycle, when the branch for next `MINOR` branch is not yet created, all +PRs merged to `main` (unless they get reverted), will find their way to the next `MINOR` release. For example +if the last release is `2.7.3` and `v2-8-stable` branch is not created yet, the next `MINOR` release +is `2.8.0` and all PRs merged to main will be released in `2.8.0`. However, some PRs (bug-fixes and +doc-only changes) when merged, can be cherry-picked to current `MINOR` branch and released in the +next `PATCHLEVEL` release. For example, if `2.8.1` is already released and we are working on `2.9.0dev`, then +marking a PR with `2.8.2` milestone means that it will be cherry-picked to `v2-8-test` branch and +released in `2.8.2rc1`, and eventually in `2.8.2`. + +2. When we prepare for the next `MINOR` release, we cut new `v2-*-test` and `v2-*-stable` branch +and prepare `alpha`, `beta` releases for the next `MINOR` version, the PRs merged to main will still be +released in the next `MINOR` release until `rc` version is cut. This is happening because the `v2-*-test` +and `v2-*-stable` branches are rebased on top of main when next `beta` and `rc` releases are prepared. +For example, when we cut `2.10.0beta1` version, anything merged to main before `2.10.0rc1` is released, +will find its way to 2.10.0rc1. + +3. Then, once we prepare the first RC candidate for the MINOR release, we stop moving the `v2-*-test` and +`v2-*-stable` branches and the PRs merged to main will be released in the next `MINOR` release. +However, some PRs (bug-fixes and doc-only changes) when merged, can be cherry-picked to current `MINOR` +branch and released in the next `PATCHLEVEL` release - for example when the last released version from `v2-10-stable` +branch is `2.10.0rc1`, some of the PRs from main can be marked as `2.10.0` milestone by committers, +the release manager will try to cherry-pick them into the release branch. +If successful, they will be released in `2.10.0rc2` and subsequently in `2.10.0`. This also applies to +subsequent `PATCHLEVEL` versions. When for example `2.10.1` is already released, marking a PR with +`2.10.2` milestone will mean that it will be cherry-picked to `v2-10-stable` branch and released in `2.10.2rc1` +and eventually in `2.10.2`. + +The final decision about cherry-picking is made by the release manager. + +Marking issues with a milestone is a bit different. Maintainers do not mark issues with a milestone usually, +normally they are only marked in PRs. If PR linked to the issue (and "fixing it") gets merged and released +in a specific version following the process described above, the issue will be automatically closed, no +milestone will be set for the issue, you need to check the PR that fixed the issue to see which version +it was released in. + +However, sometimes maintainers mark issues with specific milestone, which means that the +issue is important to become a candidate to take a look when the release is being prepared. Since this is an +Open-Source project, where basically all contributors volunteer their time, there is no guarantee that specific +issue will be fixed in specific version. We do not want to hold the release because some issue is not fixed, +so in such case release manager will reassign such unfixed issues to the next milestone in case they are not +fixed in time for the current release. Therefore, the milestone for issue is more of an intent that it should be +looked at, than promise it will be fixed in the version. + +More context and **FAQ** about the patchlevel release can be found in the +[What goes into the next release](dev/WHAT_GOES_INTO_THE_NEXT_RELEASE.md) document in the `dev` folder of the +repository. + +## Can I use the Apache Airflow logo in my presentation? + +Yes! Be sure to abide by the Apache Foundation [trademark policies](https://www.apache.org/foundation/marks/#books) and the Apache Airflow [Brandbook](https://cwiki.apache.org/confluence/display/AIRFLOW/Brandbook). The most up-to-date logos are found in [this repo](https://github.com/apache/airflow/tree/main/airflow-core/docs/img/logos/) and on the Apache Software Foundation [website](https://www.apache.org/logos/about.html). + +## Links + +- [Documentation](https://airflow.apache.org/docs/apache-airflow/stable/) +- [Chat](https://s.apache.org/airflow-slack) +- [Community Information](https://airflow.apache.org/community/) + +## Sponsors + +The CI infrastructure for Apache Airflow has been sponsored by: + + + +astronomer.io +AWS OpenSource diff --git a/data/readmes/akri-v0138.md b/data/readmes/akri-v0138.md new file mode 100644 index 0000000..453400d --- /dev/null +++ b/data/readmes/akri-v0138.md @@ -0,0 +1,76 @@ +# Akri - README (v0.13.8) + +**Repository**: https://github.com/project-akri/akri +**Version**: v0.13.8 + +--- + +

Akri Logo

+ +[![Slack channel #akri](https://img.shields.io/badge/slack-akri-blueviolet.svg?logo=slack)](https://kubernetes.slack.com/messages/akri) +[![Rust Version](https://img.shields.io/badge/rustc-1.82.0-blue.svg)](https://blog.rust-lang.org/2024/10/17/Rust-1.82.0/) +[![Kubernetes Version](https://img.shields.io/badge/kubernetes-≥%201.16-blue.svg)](https://kubernetes.io/) +[![codecov](https://codecov.io/gh/project-akri/akri/branch/main/graph/badge.svg?token=V468HO7CDE)](https://codecov.io/gh/project-akri/akri) +[![CII Best Practices](https://bestpractices.coreinfrastructure.org/projects/5339/badge)](https://bestpractices.coreinfrastructure.org/projects/5339) + +[![Check Rust](https://github.com/project-akri/akri/workflows/Check%20Rust/badge.svg?branch=main&event=push)](https://github.com/project-akri/akri/actions?query=workflow%3A%22Check+Rust%22) +[![Tarpaulin Code Coverage](https://github.com/project-akri/akri/workflows/Tarpaulin%20Code%20Coverage/badge.svg?branch=main&event=push)](https://github.com/project-akri/akri/actions?query=workflow%3A%22Tarpaulin+Code+Coverage%22) +[![Build Controller](https://github.com/project-akri/akri/workflows/Build%20Controller/badge.svg?branch=main&event=workflow_run)](https://github.com/project-akri/akri/actions?query=workflow%3A%22Build+Controller%22) +[![Build Agent](https://github.com/project-akri/akri/workflows/Build%20Agents/badge.svg?branch=main&event=workflow_run)](https://github.com/project-akri/akri/actions?query=workflow%3A%22Build+Agents%22) +[![Test K3s, Kubernetes, and MicroK8s](https://github.com/project-akri/akri/workflows/Test%20K3s,%20Kubernetes,%20and%20MicroK8s/badge.svg?branch=main&event=push)](https://github.com/project-akri/akri/actions?query=workflow%3A%22Test+K3s%2C+Kubernetes%2C+and+MicroK8s%22) + +--- + +Akri is a [Cloud Native Computing Foundation (CNCF) Sandbox project](https://www.cncf.io/sandbox-projects/). + +Akri lets you easily expose heterogeneous leaf devices (such as IP cameras and USB devices) as resources in a Kubernetes cluster, while also supporting the exposure of embedded hardware resources such as GPUs and FPGAs. Akri continually detects nodes that have access to these devices and schedules workloads based on them. + +Simply put: you name it, Akri finds it, you use it. + +--- + +## Why Akri + +At the edge, there are a variety of sensors, controllers, and MCU class devices that are producing data and performing actions. For Kubernetes to be a viable edge computing solution, these heterogeneous “leaf devices” need to be easily utilized by Kubernetes clusters. However, many of these leaf devices are too small to run Kubernetes themselves. Akri is an open source project that exposes these leaf devices as resources in a Kubernetes cluster. It leverages and extends the Kubernetes [device plugin framework](https://kubernetes.io/docs/concepts/extend-kubernetes/compute-storage-net/device-plugins/), which was created with the cloud in mind and focuses on advertising static resources such as GPUs and other system hardware. Akri took this framework and applied it to the edge, where there is a diverse set of leaf devices with unique communication protocols and intermittent availability. + +Akri is made for the edge, **handling the dynamic appearance and disappearance of leaf devices**. Akri provides an abstraction layer similar to [CNI](https://github.com/containernetworking/cni), but instead of abstracting the underlying network details, it is removing the work of finding, utilizing, and monitoring the availability of the leaf device. An operator simply has to apply a Akri Configuration to a cluster, specifying the Discovery Handler (say ONVIF) that should be used to discover the devices and the Pod that should be deployed upon discovery (say a video frame server). Then, Akri does the rest. An operator can also allow multiple nodes to utilize a leaf device, thereby **providing high availability** in the case where a node goes offline. Furthermore, Akri will automatically create a Kubernetes service for each type of leaf device (or Akri Configuration), removing the need for an application to track the state of pods or nodes. + +Most importantly, Akri **was built to be extensible**. Akri currently supports ONVIF, udev, and OPC UA Discovery Handlers, but more can be easily added by community members like you. The more protocols Akri can support, the wider an array of leaf devices Akri can discover. We are excited to work with you to build a more connected edge. + +## How Akri Works + +Akri’s architecture is made up of five key components: two custom resources, Discovery Handlers, an Agent (device plugin implementation), and a custom Controller. The first custom resource, the Akri Configuration, is where **you name it**. This tells Akri what kind of device it should look for. At this point, **Akri finds it**! Akri's Discovery Handlers look for the device and inform the Agent of discovered devices. The Agent then creates Akri's second custom resource, the Akri Instance, to track the availability and usage of the device. Having found your device, the Akri Controller helps **you use it**. It sees each Akri Instance (which represents a leaf device) and deploys a ("broker") Pod that knows how to connect to the resource and utilize it. + +Akri Architecture + +## Quick Start with a Demo + +Try the [end to end demo](https://docs.akri.sh/demos/usb-camera-demo) of Akri to see Akri discover mock video cameras and a streaming app display the footage from those cameras. It includes instructions on K8s cluster setup. If you would like to perform the demo on a cluster of Raspberry Pi 4's, see the [Raspberry Pi 4 demo](https://docs.akri.sh/demos/usb-camera-demo-rpi4). + +## Documentation + +See Akri's [documentation site](https://docs.akri.sh/), which includes: + +- [User guide for deploying Akri using Helm](https://docs.akri.sh/user-guide/getting-started) +- [Akri architecture](https://docs.akri.sh/architecture/architecture-overview) +- [How to build Akri](https://docs.akri.sh/development/building) +- [How to extend Akri for protocols that haven't been supported yet](https://docs.akri.sh/development/handler-development). +- [How to create a broker to leverage discovered devices](https://docs.akri.sh/development/broker-development). + To contribute to Akri's documentation, visit Akri's [docs repository](https://github.com/project-akri/akri-docs). + +## Roadmap + +Akri is built to be extensible. We currently have ONVIF, udev, OPC UA Discovery Handlers, but as a community, we hope to continuously support more protocols. We have created a [Discovery Handler implementation roadmap](https://docs.akri.sh/community/roadmap#implement-additional-discovery-handlers) in order to prioritize development of Discovery Handlers. If there is a protocol you feel we should prioritize, please [create an issue](https://github.com/project-akri/akri/issues/new/choose), or better yet, contribute the implementation! + +To see what else is in store for Akri, reference our [roadmap](https://docs.akri.sh/community/roadmap). + +## Community, Contributing, and Support + +You can reach the Akri community via the [#akri](https://kubernetes.slack.com/messages/akri) channel in [Kubernetes Slack](https://kubernetes.slack.com) or join our [community calls](https://hackmd.io/@akri/S1GKJidJd) on the first Tuesday of the month at 9:00 AM PT. + +Akri welcomes contributions, whether by [creating new issues](https://github.com/project-akri/akri/issues/new/choose) or pull requests. See our [contributing document](https://docs.akri.sh/community/contributing) on how to get started! + +## Licensing + +This project is released under the [Apache 2.0 license](./LICENSE). diff --git a/data/readmes/ansible-v2201rc1.md b/data/readmes/ansible-v2201rc1.md new file mode 100644 index 0000000..467701c --- /dev/null +++ b/data/readmes/ansible-v2201rc1.md @@ -0,0 +1,108 @@ +# Ansible - README (v2.20.1rc1) + +**Repository**: https://github.com/ansible/ansible +**Version**: v2.20.1rc1 + +--- + +[![PyPI version](https://img.shields.io/pypi/v/ansible-core.svg)](https://pypi.org/project/ansible-core) +[![Docs badge](https://img.shields.io/badge/docs-latest-brightgreen.svg)](https://docs.ansible.com/ansible/latest/) +[![Chat badge](https://img.shields.io/badge/chat-IRC-brightgreen.svg)](https://docs.ansible.com/ansible/devel/community/communication.html) +[![Build Status](https://dev.azure.com/ansible/ansible/_apis/build/status/CI?branchName=devel)](https://dev.azure.com/ansible/ansible/_build/latest?definitionId=20&branchName=devel) +[![Ansible Code of Conduct](https://img.shields.io/badge/code%20of%20conduct-Ansible-silver.svg)](https://docs.ansible.com/ansible/devel/community/code_of_conduct.html) +[![Ansible mailing lists](https://img.shields.io/badge/mailing%20lists-Ansible-orange.svg)](https://docs.ansible.com/ansible/devel/community/communication.html#mailing-list-information) +[![Repository License](https://img.shields.io/badge/license-GPL%20v3.0-brightgreen.svg)](COPYING) +[![Ansible CII Best Practices certification](https://bestpractices.coreinfrastructure.org/projects/2372/badge)](https://bestpractices.coreinfrastructure.org/projects/2372) + +# Ansible + +Ansible is a radically simple IT automation system. It handles +configuration management, application deployment, cloud provisioning, +ad-hoc task execution, network automation, and multi-node orchestration. Ansible makes complex +changes like zero-downtime rolling updates with load balancers easy. More information on the Ansible [website](https://ansible.com/). + +## Design Principles + +* Have an extremely simple setup process with a minimal learning curve. +* Manage machines quickly and in parallel. +* Avoid custom-agents and additional open ports, be agentless by + leveraging the existing SSH daemon. +* Describe infrastructure in a language that is both machine and human + friendly. +* Focus on security and easy auditability/review/rewriting of content. +* Manage new remote machines instantly, without bootstrapping any + software. +* Allow module development in any dynamic language, not just Python. +* Be usable as non-root. +* Be the easiest IT automation system to use, ever. + +## Use Ansible + +You can install a released version of Ansible with `pip` or a package manager. See our +[installation guide](https://docs.ansible.com/ansible/latest/installation_guide/intro_installation.html) for details on installing Ansible +on a variety of platforms. + +Power users and developers can run the `devel` branch, which has the latest +features and fixes, directly. Although it is reasonably stable, you are more likely to encounter +breaking changes when running the `devel` branch. We recommend getting involved +in the Ansible community if you want to run the `devel` branch. + +## Communication + +Join the Ansible forum to ask questions, get help, and interact with the +community. + +* [Get Help](https://forum.ansible.com/c/help/6): Find help or share your Ansible knowledge to help others. + Use tags to filter and subscribe to posts, such as the following: + * Posts tagged with [ansible](https://forum.ansible.com/tag/ansible) + * Posts tagged with [ansible-core](https://forum.ansible.com/tag/ansible-core) + * Posts tagged with [playbook](https://forum.ansible.com/tag/playbook) +* [Social Spaces](https://forum.ansible.com/c/chat/4): Meet and interact with fellow enthusiasts. +* [News & Announcements](https://forum.ansible.com/c/news/5): Track project-wide announcements including social events. +* [Bullhorn newsletter](https://docs.ansible.com/ansible/devel/community/communication.html#the-bullhorn): Get release announcements and important changes. + +For more ways to get in touch, see [Communicating with the Ansible community](https://docs.ansible.com/ansible/devel/community/communication.html). + +## Contribute to Ansible + +* Check out the [Contributor's Guide](./.github/CONTRIBUTING.md). +* Read [Community Information](https://docs.ansible.com/ansible/devel/community) for all + kinds of ways to contribute to and interact with the project, + including how to submit bug reports and code to Ansible. +* Submit a proposed code update through a pull request to the `devel` branch. +* Talk to us before making larger changes + to avoid duplicate efforts. This not only helps everyone + know what is going on, but it also helps save time and effort if we decide + some changes are needed. + +## Coding Guidelines + +We document our Coding Guidelines in the [Developer Guide](https://docs.ansible.com/ansible/devel/dev_guide/). We particularly suggest you review: + +* [Contributing your module to Ansible](https://docs.ansible.com/ansible/devel/dev_guide/developing_modules_checklist.html) +* [Conventions, tips, and pitfalls](https://docs.ansible.com/ansible/devel/dev_guide/developing_modules_best_practices.html) + +## Branch Info + +* The `devel` branch corresponds to the release actively under development. +* The `stable-2.X` branches correspond to stable releases. +* Create a branch based on `devel` and set up a [dev environment](https://docs.ansible.com/ansible/devel/dev_guide/developing_modules_general.html#common-environment-setup) if you want to open a PR. +* See the [Ansible release and maintenance](https://docs.ansible.com/ansible/devel/reference_appendices/release_and_maintenance.html) page for information about active branches. + +## Roadmap + +Based on team and community feedback, an initial roadmap will be published for a major or minor version (ex: 2.7, 2.8). +The [Ansible Roadmap page](https://docs.ansible.com/ansible/devel/roadmap/) details what is planned and how to influence the roadmap. + +## Authors + +Ansible was created by [Michael DeHaan](https://github.com/mpdehaan) +and has contributions from over 5000 users (and growing). Thanks everyone! + +[Ansible](https://www.ansible.com) is sponsored by [Red Hat, Inc.](https://www.redhat.com) + +## License + +GNU General Public License v3.0 or later + +See [COPYING](COPYING) to see the full text. diff --git a/data/readmes/antrea-v250.md b/data/readmes/antrea-v250.md new file mode 100644 index 0000000..d94d302 --- /dev/null +++ b/data/readmes/antrea-v250.md @@ -0,0 +1,144 @@ +# Antrea - README (v2.5.0) + +**Repository**: https://github.com/antrea-io/antrea +**Version**: v2.5.0 + +--- + +# Antrea + +![Antrea Logo](docs/assets/logo/antrea_logo.svg) + +![Build Status](https://github.com/antrea-io/antrea/workflows/Go/badge.svg?branch=main) +[![Go Report Card](https://goreportcard.com/badge/antrea.io/antrea)](https://goreportcard.com/report/antrea.io/antrea) +[![CII Best Practices](https://bestpractices.coreinfrastructure.org/projects/4173/badge)](https://bestpractices.coreinfrastructure.org/projects/4173) +[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0) +![GitHub release](https://img.shields.io/github/v/release/antrea-io/antrea?display_name=tag&sort=semver) +[![FOSSA Status](https://app.fossa.com/api/projects/git%2Bgithub.com%2Fantrea-io%2Fantrea.svg?type=shield)](https://app.fossa.com/projects/git%2Bgithub.com%2Fantrea-io%2Fantrea?ref=badge_shield) + +## Overview + +Antrea is a [Kubernetes](https://kubernetes.io) networking solution intended +to be Kubernetes native. It operates at Layer 3/4 to provide networking and +security services for a Kubernetes cluster, leveraging +[Open vSwitch](https://www.openvswitch.org/) as the networking data plane. + +

+Antrea Overview +

+ +Open vSwitch is a widely adopted high-performance programmable virtual +switch; Antrea leverages it to implement Pod networking and security features. +For instance, Open vSwitch enables Antrea to implement Kubernetes +Network Policies in a very efficient manner. + +## Prerequisites + +Antrea has been tested with Kubernetes clusters running version 1.23 or later. + +* `NodeIPAMController` must be enabled in the Kubernetes cluster.\ + When deploying a cluster with kubeadm the `--pod-network-cidr ` + option must be specified. + Alternately, NodeIPAM feature of Antrea Controller should be enabled and + configured. +* Open vSwitch kernel module must be present on every Kubernetes node. + +## Getting Started + +Getting started with Antrea is very simple, and takes only a few minutes. +See how it's done in the [Getting started](docs/getting-started.md) document. + +## Contributing + +The Antrea community welcomes new contributors. We are waiting for your PRs! + +* Before contributing, please get familiar with our +[Code of Conduct](CODE_OF_CONDUCT.md). +* Check out the Antrea [Contributor Guide](CONTRIBUTING.md) for information +about setting up your development environment and our contribution workflow. +* Learn about Antrea's [Architecture and Design](docs/design/architecture.md). +Your feedback is more than welcome! +* Check out [Open Issues](https://github.com/antrea-io/antrea/issues). +* Join the Antrea [community](#community) and ask us any question you may have. + +### Community + +* Join the [Kubernetes Slack](http://slack.k8s.io/) and look for our +[#antrea](https://kubernetes.slack.com/messages/CR2J23M0X) channel. +* Check the [Antrea Team Calendar](https://calendar.google.com/calendar/embed?src=uuillgmcb1cu3rmv7r7jrhcrco%40group.calendar.google.com) + and join the developer and user communities! + + The [Antrea community meeting](https://broadcom.zoom.us/j/823654111?pwd=MEV6blNtUUtqallVSkVFSGZtQ1kwUT09), +every two weeks on Tuesday at 5AM GMT+1 (United Kingdom time). See Antrea team calendar for localized times. + - [Meeting minutes](https://github.com/antrea-io/antrea/wiki/Community-Meetings) + - [Meeting recordings](https://www.youtube.com/playlist?list=PLuzde2hYeDBdw0BuQCYbYqxzoJYY1hfwv) + + [Antrea live office hours](https://antrea.io/live) archives. +* Join our mailing lists to always stay up-to-date with Antrea development: + + [projectantrea-announce](https://groups.google.com/forum/#!forum/projectantrea-announce) +for important project announcements. + + [projectantrea](https://groups.google.com/forum/#!forum/projectantrea) +for updates about Antrea or provide feedback. + + [projectantrea-dev](https://groups.google.com/forum/#!forum/projectantrea-dev) +to participate in discussions on Antrea development. + +Also check out [@ProjectAntrea](https://twitter.com/ProjectAntrea) on Twitter! + +## Features + +* **Kubernetes-native**: Antrea follows best practices to extend the Kubernetes + APIs and provide familiar abstractions to users, while also leveraging + Kubernetes libraries in its own implementation. +* **Powered by Open vSwitch**: Antrea relies on Open vSwitch to implement all + networking functions, including Kubernetes Service load-balancing, and to + enable hardware offloading in order to support the most demanding workloads. +* **Run everywhere**: Run Antrea in private clouds, public clouds and on bare + metal, and select the appropriate traffic mode (with or without overlay) based + on your infrastructure and use case. +* **Comprehensive policy model**: Antrea provides a comprehensive network policy + model, which builds upon Kubernetes Network Policies with new features such as + policy tiering, rule priorities, cluster-level policies, and Node policies. + Refer to the [Antrea Network Policy documentation](docs/antrea-network-policy.md) + for a full list of features. +* **Windows Node support**: Thanks to the portability of Open vSwitch, Antrea + can use the same data plane implementation on both Linux and Windows + Kubernetes Nodes. +* **Multi-cluster networking**: Federate multiple Kubernetes clusters and + benefit from a unified data plane (including multi-cluster Services) and a + unified security posture. Refer to the [Antrea Multi-cluster documentation](docs/multicluster/user-guide.md) + to get started. +* **Troubleshooting and monitoring tools**: Antrea comes with CLI and UI tools + which provide visibility and diagnostics capabilities (packet tracing, policy + analysis, flow inspection). It exposes Prometheus metrics and supports + exporting network flow information to collectors and analyzers. +* **Network observability and analytics**: Antrea + [Theia](https://github.com/antrea-io/theia) + enable fine-grained visibility into the communication among Kubernetes + workloads. Theia provides visualization for Antrea network flows in Grafana + dashboards, and recommends Network Policies to secure the workloads. +* **Network Policies for virtual machines**: Antrea-native policies can be + enforced on non-Kubernetes Nodes including VMs and baremetal servers. Project + [Nephe](https://github.com/antrea-io/nephe) implements security policies for + VMs across clouds, leveraging Antrea-native policies. +* **Encryption**: Encryption of inter-Node Pod traffic with IPsec or WireGuard + tunnels. +* **Easy deployment**: Antrea is deployed by applying a single YAML manifest + file. + +To explore more Antrea features and their usage, check the [Getting started](docs/getting-started.md#features) +document and user guides in the [Antrea documentation folder](docs/). Refer to +the [Changelogs](CHANGELOG/README.md) for a detailed list of features +introduced for each version release. + +## Adopters + +For a list of Antrea Adopters, please refer to [ADOPTERS.md](ADOPTERS.md). + +## Roadmap + +We are adding features very quickly to Antrea. Check out the list of features we +are considering on our [Roadmap](ROADMAP.md) page. Feel free to throw your ideas +in! + +## License + +Antrea is licensed under the [Apache License, version 2.0](LICENSE) + +[![FOSSA Status](https://app.fossa.com/api/projects/git%2Bgithub.com%2Fantrea-io%2Fantrea.svg?type=large)](https://app.fossa.com/projects/git%2Bgithub.com%2Fantrea-io%2Fantrea?ref=badge_large) diff --git a/data/readmes/ape-framework-v0842.md b/data/readmes/ape-framework-v0842.md new file mode 100644 index 0000000..ce257e7 --- /dev/null +++ b/data/readmes/ape-framework-v0842.md @@ -0,0 +1,158 @@ +# Ape Framework - README (v0.8.42) + +**Repository**: https://github.com/ApeWorX/ape +**Version**: v0.8.42 + +--- + +[![Pypi.org][pypi-badge]][pypi-url] +[![Apache licensed][license-badge]][license-url] +[![Build Status][actions-badge]][actions-url] +[![Contributing][contributing-badge]][contributing-url] +[![Discord chat][discord-badge]][discord-url] +[![Twitter][twitter-badge]][twitter-url] + +# Overview + +[Ape Framework](https://apeworx.io/framework/) is an easy-to-use Web3 development tool. +Users can compile, test, and interact with smart contracts all in one command line session. +With our [modular plugin system](#plugin-system), Ape supports multiple contract languages and chains. + +Ape is built by [ApeWorX LTD](https://www.apeworx.io/). + +Join our [ApeWorX Discord server][discord-url] to stay up to date on new releases, plugins, and tutorials. + +If you want to get started now, see the [Quickstart](#quickstart) section. + +## Documentation + +Read our [technical documentation](https://docs.apeworx.io/ape/stable/) to get a deeper understanding of our open source Framework. + +Read our [academic platform](https://academy.apeworx.io/) which will help you master Ape Framework with tutorials and challenges. + +## Prerequisite + +In the latest release, Ape requires: + +- Linux or macOS +- Python 3.9 up to 3.12 +- **Windows**: Install Windows Subsystem Linux [(WSL)](https://docs.microsoft.com/en-us/windows/wsl/install) + +Check your python version in a terminal with `python3 --version`. + +## Installation + +There are three ways to install ape: `pipx`, `pip`, or `Docker`. + +### Considerations for Installing + +- If using `pip`, we advise using the most up-to-date version of `pip` to increase the chance of a successful installation. + + - See issue https://github.com/ApeWorX/ape/issues/1558. + - To upgrade `pip` from the command line, run: `pip install --upgrade pip`. + +- We advise installing in a [virtualenv](https://pypi.org/project/virtualenv/) or [venv](https://docs.python.org/3/library/venv.html) to avoid interfering with *OS-level site packages*. + +- We advise installing **`ape`** with recommended plugins `pip install eth-ape'[recommended-plugins]'`. + +- We advise for **macOS** users to install virtual env via [homebrew](https://formulae.brew.sh/formula/virtualenv). + +### Installing with `pipx` or `pip` + +1. Install `pipx` via their [installation instructions](https://pypa.github.io/pipx/) or `pip` via their [installation instructions](https://pip.pypa.io/en/stable/cli/pip_install/). + +2. Install **`ape`** via `pipx install eth-ape` or `pip install eth-ape`. + +### Installing with `docker` + +Ape can also run in a docker container. + +You can pull our images from [ghcr](https://ghcr.io/apeworx/ape). +This image is built using our `recommended-plugins` extra, so it is a great starting point for running ape in a containerized environment. + +We also have a `slim` docker image that is built without any installed plugins. +This image is meant for production support and must be further configured if any plugins are in use. + +You can pull the image: + +```bash +$ docker pull ghcr.io/apeworx/ape:latest # installs with recommended-plugins +``` + +or pull the slim if you have specific needs that you'd like to build from: + +```bash +$ docker pull ghcr.io/apeworx/ape:latest-slim # installs ape with required packages +``` + +or build the image locally from source: + +```bash +$ docker build -t ape:latest-slim -f Dockerfile.slim . +$ docker build -t ape:latest . +``` + +An example of running a command from the container would be: + +```bash +docker run \ + --volume $HOME/.ape:/home/harambe/.ape \ + --volume $HOME/.vvm:/home/harambe/.vvm \ + --volume $HOME/.solcx:/home/harambe/.solcx \ + --volume $PWD:/home/harambe/project \ + apeworx/ape compile +``` + +> **Note:** +> The above command requires the full install which includes `recommended-plugins` installation extra. + +## Quickstart + +After you have installed Ape, run `ape --version` to verify the installation was successful. + +You can interact with Ape using the [command line](https://docs.apeworx.io/ape/stable/userguides/clis.html) or the [Ape console](https://docs.apeworx.io/ape/stable/userguides/console.html). + +See the following user-guides for more in-depth tutorials: + +- [Accounts][accounts-guide] +- [Networks][networks-guide] +- [Projects][projects-guide] +- [Compiling][compile-guide] +- [Testing][testing-guide] +- [Console][console-guide] +- [Scripting][scripting-guide] +- [Logging][logging-guide] + +## Plugin System + +Ape's modular plugin system allows users to have an interoperable experience with Web3. + +- Learn about **installing** plugins from following this [installing user guide](https://docs.apeworx.io/ape/stable/userguides/installing_plugins.html). + +- Learn more about **developing** your own plugins from this [developing user guide](https://docs.apeworx.io/ape/stable/userguides/developing_plugins.html). + +```{note} +If a plugin does not originate from the [ApeWorX GitHub Organization](https://github.com/ApeWorX?q=ape&type=all), you will get a warning about installing 3rd-party plugins. +Install 3rd party plugins at your own risk. +``` + +[accounts-guide]: https://docs.apeworx.io/ape/stable/userguides/accounts.html +[actions-badge]: https://github.com/ApeWorX/ape/actions/workflows/test.yaml/badge.svg +[actions-url]: https://github.com/ApeWorX/ape/actions?query=branch%3Amain+event%3Apush +[compile-guide]: https://docs.apeworx.io/ape/stable/userguides/compile.html +[console-guide]: https://docs.apeworx.io/ape/stable/userguides/console.html +[contributing-badge]: https://img.shields.io/badge/CONTRIBUTING-guidelines-brightgreen?style=flat-square +[contributing-url]: https://github.com/ApeWorX/ape?tab=contributing-ov-file +[discord-badge]: https://img.shields.io/discord/922917176040640612.svg?logo=discord&style=flat-square +[discord-url]: https://discord.gg/apeworx +[license-badge]: https://img.shields.io/github/license/ApeWorX/ape?color=blue +[license-url]: https://github.com/ApeWorX/ape?tab=License-1-ov-file +[logging-guide]: https://docs.apeworx.io/ape/stable/userguides/logging.html +[networks-guide]: https://docs.apeworx.io/ape/stable/userguides/networks.html +[projects-guide]: https://docs.apeworx.io/ape/stable/userguides/projects.html +[pypi-badge]: https://img.shields.io/pypi/dm/eth-ape?label=pypi.org +[pypi-url]: https://pypi.org/project/eth-ape/ +[scripting-guide]: https://docs.apeworx.io/ape/stable/userguides/scripts.html +[testing-guide]: https://docs.apeworx.io/ape/stable/userguides/testing.html +[twitter-badge]: https://img.shields.io/twitter/follow/ApeFramework +[twitter-url]: https://twitter.com/ApeFramework diff --git a/data/readmes/apisix-3141.md b/data/readmes/apisix-3141.md new file mode 100644 index 0000000..35605ac --- /dev/null +++ b/data/readmes/apisix-3141.md @@ -0,0 +1,248 @@ +# APISIX - README (3.14.1) + +**Repository**: https://github.com/apache/apisix +**Version**: 3.14.1 + +--- + + + +# Apache APISIX API Gateway | AI Gateway + +APISIX logo + +[![Build Status](https://github.com/apache/apisix/actions/workflows/build.yml/badge.svg?branch=master)](https://github.com/apache/apisix/actions/workflows/build.yml) +[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://github.com/apache/apisix/blob/master/LICENSE) +[![Commit activity](https://img.shields.io/github/commit-activity/m/apache/apisix)](https://github.com/apache/apisix/graphs/commit-activity) +[![Average time to resolve an issue](http://isitmaintained.com/badge/resolution/apache/apisix.svg)](http://isitmaintained.com/project/apache/apisix "Average time to resolve an issue") +[![Percentage of issues still open](http://isitmaintained.com/badge/open/apache/apisix.svg)](http://isitmaintained.com/project/apache/apisix "Percentage of issues still open") +[![Slack](https://badgen.net/badge/Slack/Join%20Apache%20APISIX?icon=slack)](https://apisix.apache.org/slack) + +**Apache APISIX** is a dynamic, real-time, high-performance API Gateway. + +APISIX API Gateway provides rich traffic management features such as load balancing, dynamic upstream, canary release, circuit breaking, authentication, observability, and more. + +APISIX can serve as an **[AI Gateway](https://apisix.apache.org/ai-gateway/)** through its flexible plugin system, providing AI proxying, load balancing for LLMs, retries and fallbacks, token-based rate limiting, and robust security to ensure the efficiency and reliability of AI agents. APISIX also provides the [`mcp-bridge`](https://apisix.apache.org/blog/2025/04/21/host-mcp-server-with-api-gateway/) plugin to seamlessly convert stdio-based MCP servers to scalable HTTP SSE services. + +You can use APISIX API Gateway to handle traditional north-south traffic, as well as east-west traffic between services. It can also be used as a [k8s ingress controller](https://github.com/apache/apisix-ingress-controller). + +The technical architecture of Apache APISIX: + +![Technical architecture of Apache APISIX](docs/assets/images/apisix.png) + +## Community + +- [Kindly Write a Review](https://www.g2.com/products/apache-apisix/reviews) for APISIX in G2. +- Mailing List: Mail to dev-subscribe@apisix.apache.org, follow the reply to subscribe to the mailing list. +- Slack Workspace - [invitation link](https://apisix.apache.org/slack) (Please open an [issue](https://apisix.apache.org/docs/general/submit-issue) if this link is expired), and then join the #apisix channel (Channels -> Browse channels -> search for "apisix"). +- ![Twitter Follow](https://img.shields.io/twitter/follow/ApacheAPISIX?style=social) - follow and interact with us using hashtag `#ApacheAPISIX` +- [Documentation](https://apisix.apache.org/docs/) +- [Discussions](https://github.com/apache/apisix/discussions) +- [Blog](https://apisix.apache.org/blog) + +## Features + +You can use APISIX API Gateway as a traffic entrance to process all business data, including dynamic routing, dynamic upstream, dynamic certificates, +A/B testing, canary release, blue-green deployment, limit rate, defense against malicious attacks, metrics, monitoring alarms, service observability, service governance, etc. + +- **All platforms** + + - Cloud-Native: Platform agnostic, No vendor lock-in, APISIX API Gateway can run from bare-metal to Kubernetes. + - Supports ARM64: Don't worry about the lock-in of the infra technology. + +- **Multi protocols** + + - [TCP/UDP Proxy](docs/en/latest/stream-proxy.md): Dynamic TCP/UDP proxy. + - [Dubbo Proxy](docs/en/latest/plugins/dubbo-proxy.md): Dynamic HTTP to Dubbo proxy. + - [Dynamic MQTT Proxy](docs/en/latest/plugins/mqtt-proxy.md): Supports to load balance MQTT by `client_id`, both support MQTT [3.1.\*](http://docs.oasis-open.org/mqtt/mqtt/v3.1.1/os/mqtt-v3.1.1-os.html), [5.0](https://docs.oasis-open.org/mqtt/mqtt/v5.0/mqtt-v5.0.html). + - [gRPC proxy](docs/en/latest/grpc-proxy.md): Proxying gRPC traffic. + - [gRPC Web Proxy](docs/en/latest/plugins/grpc-web.md): Proxying gRPC Web traffic to gRPC Service. + - [gRPC transcoding](docs/en/latest/plugins/grpc-transcode.md): Supports protocol transcoding so that clients can access your gRPC API by using HTTP/JSON. + - Proxy Websocket + - Proxy Protocol + - HTTP(S) Forward Proxy + - [SSL](docs/en/latest/certificate.md): Dynamically load an SSL certificate + - [HTTP/3 with QUIC](docs/en/latest/http3.md) + +- **Full Dynamic** + + - [Hot Updates And Hot Plugins](docs/en/latest/terminology/plugin.md): Continuously updates its configurations and plugins without restarts! + - [Proxy Rewrite](docs/en/latest/plugins/proxy-rewrite.md): Support rewrite the `host`, `uri`, `schema`, `method`, `headers` of the request before send to upstream. + - [Response Rewrite](docs/en/latest/plugins/response-rewrite.md): Set customized response status code, body and header to the client. + - Dynamic Load Balancing: Round-robin load balancing with weight. + - Hash-based Load Balancing: Load balance with consistent hashing sessions. + - [Health Checks](docs/en/latest/tutorials/health-check.md): Enable health check on the upstream node and will automatically filter unhealthy nodes during load balancing to ensure system stability. + - Circuit-Breaker: Intelligent tracking of unhealthy upstream services. + - [Proxy Mirror](docs/en/latest/plugins/proxy-mirror.md): Provides the ability to mirror client requests. + - [Traffic Split](docs/en/latest/plugins/traffic-split.md): Allows users to incrementally direct percentages of traffic between various upstreams. + +- **Fine-grained routing** + + - [Supports full path matching and prefix matching](docs/en/latest/router-radixtree.md#how-to-use-libradixtree-in-apisix) + - [Support all Nginx built-in variables as conditions for routing](docs/en/latest/router-radixtree.md#how-to-filter-route-by-nginx-builtin-variable), so you can use `cookie`, `args`, etc. as routing conditions to implement canary release, A/B testing, etc. + - Support [various operators as judgment conditions for routing](https://github.com/iresty/lua-resty-radixtree#operator-list), for example `{"arg_age", ">", 24}` + - Support [custom route matching function](https://github.com/iresty/lua-resty-radixtree/blob/master/t/filter-fun.t#L10) + - IPv6: Use IPv6 to match the route. + - Support [TTL](docs/en/latest/admin-api.md#route) + - [Support priority](docs/en/latest/router-radixtree.md#3-match-priority) + - [Support Batch Http Requests](docs/en/latest/plugins/batch-requests.md) + - [Support filtering route by GraphQL attributes](docs/en/latest/router-radixtree.md#how-to-filter-route-by-graphql-attributes) + +- **Security** + + - Rich authentication & authorization support: + * [key-auth](docs/en/latest/plugins/key-auth.md) + * [JWT](docs/en/latest/plugins/jwt-auth.md) + * [basic-auth](docs/en/latest/plugins/basic-auth.md) + * [wolf-rbac](docs/en/latest/plugins/wolf-rbac.md) + * [casbin](docs/en/latest/plugins/authz-casbin.md) + * [keycloak](docs/en/latest/plugins/authz-keycloak.md) + * [casdoor](docs/en/latest/plugins/authz-casdoor.md) + - [IP Whitelist/Blacklist](docs/en/latest/plugins/ip-restriction.md) + - [Referer Whitelist/Blacklist](docs/en/latest/plugins/referer-restriction.md) + - [IdP](docs/en/latest/plugins/openid-connect.md): Support external Identity platforms, such as Auth0, okta, etc.. + - [Limit-req](docs/en/latest/plugins/limit-req.md) + - [Limit-count](docs/en/latest/plugins/limit-count.md) + - [Limit-concurrency](docs/en/latest/plugins/limit-conn.md) + - Anti-ReDoS(Regular expression Denial of Service): Built-in policies to Anti ReDoS without configuration. + - [CORS](docs/en/latest/plugins/cors.md) Enable CORS(Cross-origin resource sharing) for your API. + - [URI Blocker](docs/en/latest/plugins/uri-blocker.md): Block client request by URI. + - [Request Validator](docs/en/latest/plugins/request-validation.md) + - [CSRF](docs/en/latest/plugins/csrf.md) Based on the [`Double Submit Cookie`](https://en.wikipedia.org/wiki/Cross-site_request_forgery#Double_Submit_Cookie) way, protect your API from CSRF attacks. + +- **OPS friendly** + + - Zipkin tracing: [Zipkin](docs/en/latest/plugins/zipkin.md) + - Open source APM: support [Apache SkyWalking](docs/en/latest/plugins/skywalking.md) + - Works with external service discovery: In addition to the built-in etcd, it also supports [Consul](docs/en/latest/discovery/consul.md), [Consul_kv](docs/en/latest/discovery/consul_kv.md), [Nacos](docs/en/latest/discovery/nacos.md), [Eureka](docs/en/latest/discovery/eureka.md) and [Zookeeper (CP)](https://github.com/api7/apisix-seed/blob/main/docs/en/latest/zookeeper.md). + - Monitoring And Metrics: [Prometheus](docs/en/latest/plugins/prometheus.md) + - Clustering: APISIX nodes are stateless, creates clustering of the configuration center, please refer to [etcd Clustering Guide](https://etcd.io/docs/v3.5/op-guide/clustering/). + - High availability: Support to configure multiple etcd addresses in the same cluster. + - [Dashboard](https://github.com/apache/apisix-dashboard) + - Version Control: Supports rollbacks of operations. + - CLI: start\stop\reload APISIX through the command line. + - [Standalone](docs/en/latest/deployment-modes.md#standalone): Supports to load route rules from local YAML file, it is more friendly such as under the kubernetes(k8s). + - [Global Rule](docs/en/latest/terminology/global-rule.md): Allows to run any plugin for all request, eg: limit rate, IP filter etc. + - High performance: The single-core QPS reaches 18k with an average delay of fewer than 0.2 milliseconds. + - [Fault Injection](docs/en/latest/plugins/fault-injection.md) + - [REST Admin API](docs/en/latest/admin-api.md): Using the REST Admin API to control Apache APISIX, which only allows 127.0.0.1 access by default, you can modify the `allow_admin` field in `conf/config.yaml` to specify a list of IPs that are allowed to call the Admin API. Also, note that the Admin API uses key auth to verify the identity of the caller. + - External Loggers: Export access logs to external log management tools. ([HTTP Logger](docs/en/latest/plugins/http-logger.md), [TCP Logger](docs/en/latest/plugins/tcp-logger.md), [Kafka Logger](docs/en/latest/plugins/kafka-logger.md), [UDP Logger](docs/en/latest/plugins/udp-logger.md), [RocketMQ Logger](docs/en/latest/plugins/rocketmq-logger.md), [SkyWalking Logger](docs/en/latest/plugins/skywalking-logger.md), [Alibaba Cloud Logging(SLS)](docs/en/latest/plugins/sls-logger.md), [Google Cloud Logging](docs/en/latest/plugins/google-cloud-logging.md), [Splunk HEC Logging](docs/en/latest/plugins/splunk-hec-logging.md), [File Logger](docs/en/latest/plugins/file-logger.md), [SolarWinds Loggly Logging](docs/en/latest/plugins/loggly.md), [TencentCloud CLS](docs/en/latest/plugins/tencent-cloud-cls.md)). + - [ClickHouse](docs/en/latest/plugins/clickhouse-logger.md): push logs to ClickHouse. + - [Elasticsearch](docs/en/latest/plugins/elasticsearch-logger.md): push logs to Elasticsearch. + - [Datadog](docs/en/latest/plugins/datadog.md): push custom metrics to the DogStatsD server, comes bundled with [Datadog agent](https://docs.datadoghq.com/agent/), over the UDP protocol. DogStatsD basically is an implementation of StatsD protocol which collects the custom metrics for Apache APISIX agent, aggregates it into a single data point and sends it to the configured Datadog server. + - [Helm charts](https://github.com/apache/apisix-helm-chart) + - [HashiCorp Vault](https://www.vaultproject.io/): Support secret management solution for accessing secrets from Vault secure storage backed in a low trust environment. Currently, RS256 keys (public-private key pairs) or secret keys can be linked from vault in jwt-auth authentication plugin using [APISIX Secret](docs/en/latest/terminology/secret.md) resource. + +- **Highly scalable** + - [Custom plugins](docs/en/latest/plugin-develop.md): Allows hooking of common phases, such as `rewrite`, `access`, `header filter`, `body filter` and `log`, also allows to hook the `balancer` stage. + - [Plugin can be written in Java/Go/Python](docs/en/latest/external-plugin.md) + - [Plugin can be written with Proxy Wasm SDK](docs/en/latest/wasm.md) + - Custom load balancing algorithms: You can use custom load balancing algorithms during the `balancer` phase. + - Custom routing: Support users to implement routing algorithms themselves. + +- **Multi-Language support** + - Apache APISIX is a multi-language gateway for plugin development and provides support via `RPC` and `Wasm`. + ![Multi Language Support into Apache APISIX](docs/assets/images/external-plugin.png) + - The RPC way, is the current way. Developers can choose the language according to their needs and after starting an independent process with the RPC, it exchanges data with APISIX through local RPC communication. Till this moment, APISIX has support for [Java](https://github.com/apache/apisix-java-plugin-runner), [Golang](https://github.com/apache/apisix-go-plugin-runner), [Python](https://github.com/apache/apisix-python-plugin-runner) and Node.js. + - The Wasm or WebAssembly, is an experimental way. APISIX can load and run Wasm bytecode via APISIX [wasm plugin](https://github.com/apache/apisix/blob/master/docs/en/latest/wasm.md) written with the [Proxy Wasm SDK](https://github.com/proxy-wasm/spec#sdks). Developers only need to write the code according to the SDK and then compile it into a Wasm bytecode that runs on Wasm VM with APISIX. + +- **Serverless** + - [Lua functions](docs/en/latest/plugins/serverless.md): Invoke functions in each phase in APISIX. + - [AWS Lambda](docs/en/latest/plugins/aws-lambda.md): Integration with AWS Lambda function as a dynamic upstream to proxy all requests for a particular URI to the AWS API gateway endpoint. Supports authorization via api key and AWS IAM access secret. + - [Azure Functions](docs/en/latest/plugins/azure-functions.md): Seamless integration with Azure Serverless Function as a dynamic upstream to proxy all requests for a particular URI to the Microsoft Azure cloud. + - [Apache OpenWhisk](docs/en/latest/plugins/openwhisk.md): Seamless integration with Apache OpenWhisk as a dynamic upstream to proxy all requests for a particular URI to your own OpenWhisk cluster. + +## Get Started + +1. Installation + + Please refer to [install documentation](https://apisix.apache.org/docs/apisix/installation-guide/). + +2. Getting started + + The getting started guide is a great way to learn the basics of APISIX. Just follow the steps in [Getting Started](https://apisix.apache.org/docs/apisix/getting-started/). + + Further, you can follow the documentation to try more [plugins](docs/en/latest/plugins). + +3. Admin API + + Apache APISIX provides [REST Admin API](docs/en/latest/admin-api.md) to dynamically control the Apache APISIX cluster. + +4. Plugin development + + You can refer to [plugin development guide](docs/en/latest/plugin-develop.md), and sample plugin `example-plugin`'s code implementation. + Reading [plugin concept](docs/en/latest/terminology/plugin.md) would help you learn more about the plugin. + +For more documents, please refer to [Apache APISIX Documentation site](https://apisix.apache.org/docs/apisix/getting-started/) + +## Benchmark + +Using AWS's eight-core server, APISIX's QPS reaches 140,000 with a latency of only 0.2 ms. + +[Benchmark script](benchmark/run.sh) has been open sourced, welcome to try and contribute. + +[APISIX also works perfectly in AWS graviton3 C7g.](https://apisix.apache.org/blog/2022/06/07/installation-performance-test-of-apigateway-apisix-on-aws-graviton3) + +## User Stories + +- [European eFactory Platform: API Security Gateway – Using APISIX in the eFactory Platform](https://www.efactory-project.eu/post/api-security-gateway-using-apisix-in-the-efactory-platform) +- [Copernicus Reference System Software](https://github.com/COPRS/infrastructure/wiki/Networking-trade-off) +- [More Stories](https://apisix.apache.org/blog/tags/case-studies/) + +## Who Uses APISIX API Gateway? + +A wide variety of companies and organizations use APISIX API Gateway for research, production and commercial product, below are some of them: + +- Airwallex +- Bilibili +- CVTE +- European eFactory Platform +- European Copernicus Reference System +- Geely +- HONOR +- Horizon Robotics +- iQIYI +- Lenovo +- NASA JPL +- Nayuki +- OPPO +- QingCloud +- Swisscom +- Tencent Game +- Travelsky +- vivo +- Sina Weibo +- WeCity +- WPS +- XPENG +- Zoom + +## Logos + +- [Apache APISIX logo(PNG)](https://github.com/apache/apisix/tree/master/logos/apache-apisix.png) +- [Apache APISIX logo source](https://apache.org/logos/#apisix) + +## Acknowledgments + +Inspired by Kong and Orange. + +## License + +[Apache 2.0 License](https://github.com/apache/apisix/tree/master/LICENSE) diff --git a/data/readmes/apisix-dashboard-notice.md b/data/readmes/apisix-dashboard-notice.md new file mode 100644 index 0000000..f42786f --- /dev/null +++ b/data/readmes/apisix-dashboard-notice.md @@ -0,0 +1,38 @@ +# APISIX-Dashboard - README (notice) + +**Repository**: https://github.com/apache/apisix-dashboard +**Version**: notice + +--- + +# Apache APISIX Dashboard + +[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://github.com/apache/apisix-dashboard/blob/master/LICENSE) +[![Slack](https://badgen.net/badge/Slack/Join%20Apache%20APISIX?icon=slack)](https://apisix.apache.org/slack) + +

+ Website • + Docs • + Twitter +

+ +- The master version should be used with Apache APISIX master version. +- The project will not be released independently but will use a fixed git tag for each APISIX release. + +## What's Apache APISIX Dashboard + +The Apache APISIX Dashboard is designed to make it as easy as possible for users to operate [Apache APISIX](https://github.com/apache/apisix) through a frontend interface. + +## Development + +Pull requests are encouraged and always welcome. [Pick an issue](https://github.com/apache/apisix-dashboard/issues?q=is%3Aopen+is%3Aissue+label%3A%22good+first+issue%22) and help us out! + +Please refer to the [Development Guide](./docs/en/development.md). + +## Contributing + +Please refer to the [Contribution Guide](./CONTRIBUTING.md) for a more detailed information. + +## License + +[Apache License 2.0](./LICENSE) diff --git a/data/readmes/aptos-aptos-node-v1384-rc.md b/data/readmes/aptos-aptos-node-v1384-rc.md new file mode 100644 index 0000000..ff20e38 --- /dev/null +++ b/data/readmes/aptos-aptos-node-v1384-rc.md @@ -0,0 +1,34 @@ +# Aptos - README (aptos-node-v1.38.4-rc) + +**Repository**: https://github.com/aptos-labs/aptos-core +**Version**: aptos-node-v1.38.4-rc + +--- + + + Aptos Banner + + +--- + +[![License](https://img.shields.io/badge/license-Apache-green.svg)](LICENSE) +[![Lint+Test](https://github.com/aptos-labs/aptos-core/actions/workflows/lint-test.yaml/badge.svg)](https://github.com/aptos-labs/aptos-core/actions/workflows/lint-test.yaml) +[![codecov](https://codecov.io/gh/aptos-labs/aptos-core/branch/main/graph/badge.svg?token=X01RKXSGDE)](https://codecov.io/gh/aptos-labs/aptos-core) +[![Discord chat](https://img.shields.io/discord/945856774056083548?style=flat-square)](https://discord.gg/aptosnetwork) + +Aptos is a layer 1 blockchain bringing a paradigm shift to Web3 through better technology and user experience. Built with Move to create a home for developers building next-gen applications. + +## Getting Started + +* [Aptos Foundation](https://aptosfoundation.org/) +* [Aptos Developer Network](https://aptos.dev) +* [Guide - Integrate with the Aptos Blockchain](https://aptos.dev/guides/system-integrators-guide) +* [Tutorials](https://aptos.dev/tutorials) +* Follow us on [Twitter](https://twitter.com/Aptos). +* Join us on the [Aptos Discord](https://discord.gg/aptosnetwork). + +## Contributing + +You can learn more about contributing to the Aptos project by reading our [Contribution Guide](https://github.com/aptos-labs/aptos-core/blob/main/CONTRIBUTING.md) and by viewing our [Code of Conduct](https://github.com/aptos-labs/aptos-core/blob/main/CODE_OF_CONDUCT.md). + +Aptos Core is licensed under [Innovation-Enabling Source Code License](https://github.com/aptos-labs/aptos-core/blob/main/LICENSE). diff --git a/data/readmes/arbitrum-v394-rc2.md b/data/readmes/arbitrum-v394-rc2.md new file mode 100644 index 0000000..7e1d074 --- /dev/null +++ b/data/readmes/arbitrum-v394-rc2.md @@ -0,0 +1,63 @@ +# Arbitrum - README (v3.9.4-rc.2) + +**Repository**: https://github.com/OffchainLabs/nitro +**Version**: v3.9.4-rc.2 + +--- + +
+

+ + Logo + + +

Arbitrum Nitro

+ +

+ Next Generation Ethereum L2 Technology » +
+

+

+ +## About Arbitrum Nitro + +Logo + +Nitro is the latest iteration of the Arbitrum technology. It is a fully integrated, complete +layer 2 optimistic rollup system, including fraud proofs, the sequencer, the token bridges, +advanced calldata compression, and more. + +See the live docs-site [here](https://developer.arbitrum.io/) (or [here](https://github.com/OffchainLabs/arbitrum-docs) for markdown docs source.) + +See [here](https://docs.arbitrum.io/audit-reports) for security audit reports. + +The Nitro stack is built on several innovations. At its core is a new prover, which can do Arbitrum’s classic +interactive fraud proofs over WASM code. That means the L2 Arbitrum engine can be written and compiled using +standard languages and tools, replacing the custom-designed language and compiler used in previous Arbitrum +versions. In normal execution, +validators and nodes run the Nitro engine compiled to native code, switching to WASM if a fraud proof is needed. +We compile the core of Geth, the EVM engine that practically defines the Ethereum standard, right into Arbitrum. +So the previous custom-built EVM emulator is replaced by Geth, the most popular and well-supported Ethereum client. + +The last piece of the stack is a slimmed-down version of our ArbOS component, rewritten in Go, which provides the +rest of what’s needed to run an L2 chain: things like cross-chain communication, and a new and improved batching +and compression system to minimize L1 costs. + +Essentially, Nitro runs Geth at layer 2 on top of Ethereum, and can prove fraud over the core engine of Geth +compiled to WASM. + +Arbitrum One successfully migrated from the Classic Arbitrum stack onto Nitro on 8/31/22. (See [state migration](https://developer.arbitrum.io/migration/state-migration) and [dapp migration](https://developer.arbitrum.io/migration/dapp_migration) for more info). + +## License + +Nitro is currently licensed under a [Business Source License](./LICENSE.md), similar to our friends at Uniswap and Aave, with an "Additional Use Grant" to ensure that everyone can have full comfort using and running nodes on all public Arbitrum chains. + +The Additional Use Grant also permits the deployment of the Nitro software, in a permissionless fashion and without cost, as a new blockchain provided that the chain settles to either Arbitrum One or Arbitrum Nova. + +For those that prefer to deploy the Nitro software either directly on Ethereum (i.e. an L2) or have it settle to another Layer-2 on top of Ethereum, the [Arbitrum Expansion Program (the "AEP")](https://docs.arbitrum.foundation/aep/ArbitrumExpansionProgramTerms.pdf) was recently established. The AEP allows for the permissionless deployment in the aforementioned fashion provided that 10% of net revenue (as more fully described in the AEP) is contributed back to the Arbitrum community in accordance with the requirements of the AEP. + +## Contact + +Discord - [Arbitrum](https://discord.com/invite/5KE54JwyTs) + +Twitter: [Arbitrum](https://twitter.com/arbitrum) diff --git a/data/readmes/argo-v321.md b/data/readmes/argo-v321.md new file mode 100644 index 0000000..4c23213 --- /dev/null +++ b/data/readmes/argo-v321.md @@ -0,0 +1,96 @@ +# Argo - README (v3.2.1) + +**Repository**: https://github.com/argoproj/argo-cd +**Version**: v3.2.1 + +--- + +**Releases:** +[![Release Version](https://img.shields.io/github/v/release/argoproj/argo-cd?label=argo-cd)](https://github.com/argoproj/argo-cd/releases/latest) +[![Artifact HUB](https://img.shields.io/endpoint?url=https://artifacthub.io/badge/repository/argo-cd)](https://artifacthub.io/packages/helm/argo/argo-cd) +[![SLSA 3](https://slsa.dev/images/gh-badge-level3.svg)](https://slsa.dev) + +**Code:** +[![Integration tests](https://github.com/argoproj/argo-cd/workflows/Integration%20tests/badge.svg?branch=master)](https://github.com/argoproj/argo-cd/actions?query=workflow%3A%22Integration+tests%22) +[![codecov](https://codecov.io/gh/argoproj/argo-cd/branch/master/graph/badge.svg)](https://codecov.io/gh/argoproj/argo-cd) +[![CII Best Practices](https://bestpractices.coreinfrastructure.org/projects/4486/badge)](https://bestpractices.coreinfrastructure.org/projects/4486) +[![OpenSSF Scorecard](https://api.securityscorecards.dev/projects/github.com/argoproj/argo-cd/badge)](https://scorecard.dev/viewer/?uri=github.com/argoproj/argo-cd) + +**Social:** +[![Twitter Follow](https://img.shields.io/twitter/follow/argoproj?style=social)](https://twitter.com/argoproj) +[![Slack](https://img.shields.io/badge/slack-argoproj-brightgreen.svg?logo=slack)](https://argoproj.github.io/community/join-slack) +[![LinkedIn](https://img.shields.io/badge/LinkedIn-argoproj-blue.svg?logo=linkedin)](https://www.linkedin.com/company/argoproj/) + +# Argo CD - Declarative Continuous Delivery for Kubernetes + +## What is Argo CD? + +Argo CD is a declarative, GitOps continuous delivery tool for Kubernetes. + +![Argo CD UI](docs/assets/argocd-ui.gif) + +[![Argo CD Demo](https://img.youtube.com/vi/0WAm0y2vLIo/0.jpg)](https://youtu.be/0WAm0y2vLIo) + +## Why Argo CD? + +1. Application definitions, configurations, and environments should be declarative and version controlled. +1. Application deployment and lifecycle management should be automated, auditable, and easy to understand. + +## Who uses Argo CD? + +[Official Argo CD user list](USERS.md) + +## Documentation + +To learn more about Argo CD [go to the complete documentation](https://argo-cd.readthedocs.io/). +Check live demo at https://cd.apps.argoproj.io/. + +## Community + +### Contribution, Discussion and Support + + You can reach the Argo CD community and developers via the following channels: + +* Q & A : [Github Discussions](https://github.com/argoproj/argo-cd/discussions) +* Chat : [The #argo-cd Slack channel](https://argoproj.github.io/community/join-slack) +* Contributors Office Hours: [Every Thursday](https://calendar.google.com/calendar/u/0/embed?src=argoproj@gmail.com) | [Agenda](https://docs.google.com/document/d/1xkoFkVviB70YBzSEa4bDnu-rUZ1sIFtwKKG1Uw8XsY8) +* User Community meeting: [First Wednesday of the month](https://calendar.google.com/calendar/u/0/embed?src=argoproj@gmail.com) | [Agenda](https://docs.google.com/document/d/1ttgw98MO45Dq7ZUHpIiOIEfbyeitKHNfMjbY5dLLMKQ) + + +Participation in the Argo CD project is governed by the [CNCF Code of Conduct](https://github.com/cncf/foundation/blob/master/code-of-conduct.md) + + +### Blogs and Presentations + +1. [Awesome-Argo: A Curated List of Awesome Projects and Resources Related to Argo](https://github.com/terrytangyuan/awesome-argo) +1. [Unveil the Secret Ingredients of Continuous Delivery at Enterprise Scale with Argo CD](https://akuity.io/blog/secret-ingredients-of-continuous-delivery-at-enterprise-scale-with-argocd/) +1. [GitOps Without Pipelines With ArgoCD Image Updater](https://youtu.be/avPUQin9kzU) +1. [Combining Argo CD (GitOps), Crossplane (Control Plane), And KubeVela (OAM)](https://youtu.be/eEcgn_gU3SM) +1. [How to Apply GitOps to Everything - Combining Argo CD and Crossplane](https://youtu.be/yrj4lmScKHQ) +1. [Couchbase - How To Run a Database Cluster in Kubernetes Using Argo CD](https://youtu.be/nkPoPaVzExY) +1. [Automation of Everything - How To Combine Argo Events, Workflows & Pipelines, CD, and Rollouts](https://youtu.be/XNXJtxkUKeY) +1. [Environments Based On Pull Requests (PRs): Using Argo CD To Apply GitOps Principles On Previews](https://youtu.be/cpAaI8p4R60) +1. [Argo CD: Applying GitOps Principles To Manage Production Environment In Kubernetes](https://youtu.be/vpWQeoaiRM4) +1. [Creating Temporary Preview Environments Based On Pull Requests With Argo CD And Codefresh](https://codefresh.io/continuous-deployment/creating-temporary-preview-environments-based-pull-requests-argo-cd-codefresh/) +1. [Tutorial: Everything You Need To Become A GitOps Ninja](https://www.youtube.com/watch?v=r50tRQjisxw) 90m tutorial on GitOps and Argo CD. +1. [Comparison of Argo CD, Spinnaker, Jenkins X, and Tekton](https://www.inovex.de/blog/spinnaker-vs-argo-cd-vs-tekton-vs-jenkins-x/) +1. [Simplify and Automate Deployments Using GitOps with IBM Multicloud Manager 3.1.2](https://www.ibm.com/cloud/blog/simplify-and-automate-deployments-using-gitops-with-ibm-multicloud-manager-3-1-2) +1. [GitOps for Kubeflow using Argo CD](https://v0-6.kubeflow.org/docs/use-cases/gitops-for-kubeflow/) +1. [GitOps Toolsets on Kubernetes with CircleCI and Argo CD](https://www.digitalocean.com/community/tutorials/webinar-series-gitops-tool-sets-on-kubernetes-with-circleci-and-argo-cd) +1. [CI/CD in Light Speed with K8s and Argo CD](https://www.youtube.com/watch?v=OdzH82VpMwI&feature=youtu.be) +1. [Machine Learning as Code](https://www.youtube.com/watch?v=VXrGp5er1ZE&t=0s&index=135&list=PLj6h78yzYM2PZf9eA7bhWnIh_mK1vyOfU). Among other things, describes how Kubeflow uses Argo CD to implement GitOPs for ML +1. [Argo CD - GitOps Continuous Delivery for Kubernetes](https://www.youtube.com/watch?v=aWDIQMbp1cc&feature=youtu.be&t=1m4s) +1. [Introduction to Argo CD : Kubernetes DevOps CI/CD](https://www.youtube.com/watch?v=2WSJF7d8dUg&feature=youtu.be) +1. [GitOps Deployment and Kubernetes - using Argo CD](https://medium.com/riskified-technology/gitops-deployment-and-kubernetes-f1ab289efa4b) +1. [Deploy Argo CD with Ingress and TLS in Three Steps: No YAML Yak Shaving Required](https://itnext.io/deploy-argo-cd-with-ingress-and-tls-in-three-steps-no-yaml-yak-shaving-required-bc536d401491) +1. [GitOps Continuous Delivery with Argo and Codefresh](https://codefresh.io/events/cncf-member-webinar-gitops-continuous-delivery-argo-codefresh/) +1. [Stay up to date with Argo CD and Renovate](https://mjpitz.com/blog/2020/12/03/renovate-your-gitops/) +1. [Setting up Argo CD with Helm](https://www.arthurkoziel.com/setting-up-argocd-with-helm/) +1. [Applied GitOps with Argo CD](https://thenewstack.io/applied-gitops-with-argocd/) +1. [Solving configuration drift using GitOps with Argo CD](https://www.cncf.io/blog/2020/12/17/solving-configuration-drift-using-gitops-with-argo-cd/) +1. [Decentralized GitOps over environments](https://blogs.sap.com/2021/05/06/decentralized-gitops-over-environments/) +1. [Getting Started with ArgoCD for GitOps Deployments](https://youtu.be/AvLuplh1skA) +1. [Using Argo CD & Datree for Stable Kubernetes CI/CD Deployments](https://youtu.be/17894DTru2Y) +1. [How to create Argo CD Applications Automatically using ApplicationSet? "Automation of GitOps"](https://amralaayassen.medium.com/how-to-create-argocd-applications-automatically-using-applicationset-automation-of-the-gitops-59455eaf4f72) +1. [Progressive Delivery with Service Mesh – Argo Rollouts with Istio](https://www.cncf.io/blog/2022/12/16/progressive-delivery-with-service-mesh-argo-rollouts-with-istio/) + diff --git a/data/readmes/armada-v02021.md b/data/readmes/armada-v02021.md new file mode 100644 index 0000000..674fe3a --- /dev/null +++ b/data/readmes/armada-v02021.md @@ -0,0 +1,230 @@ +# Armada - README (v0.20.21) + +**Repository**: https://github.com/armadaproject/armada +**Version**: v0.20.21 + +--- + +
+ Armada logo +

+ CircleCI + Go Report Card + Artifact Hub + LFX Health Score +

+
+ +# Armada + +Armada is a system built on top of [Kubernetes](https://kubernetes.io/docs/concepts/overview/) for running batch workloads. With Armada as middleware for batch, Kubernetes can be a common substrate for batch and service workloads. Armada is used in production and can run millions of jobs per day across tens of thousands of nodes. + +Armada addresses the following limitations of Kubernetes: + +1. Scaling a single Kubernetes cluster beyond a certain size is [challenging](https://openai.com/blog/scaling-kubernetes-to-7500-nodes/). Hence, Armada is designed to effectively schedule jobs across many Kubernetes clusters. Many thousands of nodes can be managed by Armada in this way. +2. Achieving very high throughput using the in-cluster storage backend, etcd, is [challenging](https://etcd.io/docs/v3.5/op-guide/performance/). Hence, Armada performs queueing and scheduling out-of-cluster using a specialized storage layer. This allows Armada to maintain queues composed of millions of jobs. +3. The default [kube-scheduler](https://kubernetes.io/docs/reference/command-line-tools-reference/kube-scheduler/) is not suitable for batch. Instead, Armada includes a novel multi-Kubernetes cluster scheduler with support for important batch scheduling features, such as: + * Fair queuing and scheduling across multiple users. Based on dominant resource fairness. + * Resource and job scheduling rate limits. + * Gang-scheduling, i.e., atomically scheduling sets of related jobs. + * Job preemption, both to run urgent jobs in a timely fashion and to balance resource allocation between users. + +Armada also provides features to help manage large compute clusters effectively, including: + +* Detailed analytics exposed via [Prometheus](https://prometheus.io/) showing how the system behaves and how resources are allocated. +* Automatically removing nodes exhibiting high failure rates from consideration for scheduling. +* A mechanism to earmark nodes for a particular set of jobs, but allowing them to be used by other jobs when not used for their primary purpose. + +Armada is designed with the enterprise in mind; all components are secure and highly available. + +Armada is a [CNCF](https://www.cncf.io/) Sandbox project and is used in production at [G-Research](https://www.gresearch.co.uk/). + +For an overview of Armada, see the following videos: + +- [Armada - high-throughput batch scheduling](https://www.youtube.com/watch?v=FT8pXYciD9A) +- [Building Armada - Running Batch Jobs at Massive Scale on Kubernetes](https://www.youtube.com/watch?v=B3WPxw3OUl4) + +The Armada project adheres to the CNCF [Code of Conduct](https://github.com/cncf/foundation/blob/master/code-of-conduct.md). + +## Installation + +### Armada Operator + +For installation instructions, easiest way is to use the Armada Operator. +For more information, see the [Armada Operator repository](https://github.com/armadaproject/armada-operator). + +Alternatively, you can install Armada manually by using the Helm charts defined in the `deployment` directory. + +### armadactl + +Armada also provides a command-line interface, `armadactl`, which can be used to interact with the Armada system. + +To install `armadactl`, run the following script: +```bash +scripts/get-armadactl.sh +``` + +Or download it from the [GitHub Release](https://github.com/armadaproject/armada/releases/latest) page for your platform. + +## Local Development + +### Local Development with Goreman + +[Goreman](https://github.com/mattn/goreman) is a Go-based clone of [Foreman](https://github.com/ddollar/foreman) that manages Procfile-based applications, +allowing you to run multiple processes with a single command. + +Goreman will build the components from source and run them locally, making it easy to test changes quickly. + +1. Install `goreman`: + ```shell + go install github.com/mattn/goreman@latest + ``` +2. Start dependencies: + ```shell + docker-compose -f _local/docker-compose-deps.yaml up -d + ``` + - **Note**: Images can be overridden using environment variables: + `REDIS_IMAGE`, `POSTGRES_IMAGE`, `PULSAR_IMAGE`, `KEYCLOAK_IMAGE` +3. Initialize databases and Kubernetes resources: + ```shell + scripts/localdev-init.sh + ``` +4. Start Armada components: + ```shell + goreman -f _local/procfiles/no-auth.Procfile start + ``` + +### Local Development with Authentication + +To run Armada with OIDC authentication enabled using Keycloak: + +1. Start dependencies with the auth profile: + ```shell + docker-compose -f _local/docker-compose-deps.yaml --profile auth up -d + ``` + This starts Redis, PostgreSQL, Pulsar, and Keycloak with a pre-configured realm. + +2. Initialize databases and Kubernetes resources: + ```shell + scripts/localdev-init.sh + ``` + +3. Start Armada components with auth configuration: + ```shell + goreman -f _local/procfiles/auth.Procfile start + ``` + +4. Use armadactl with OIDC authentication: + ```shell + armadactl --config _local/.armadactl.yaml --context auth-oidc get queues + ``` + +#### Authentication Configuration + +The auth profile configures: +- **Keycloak**: OIDC provider running on http://localhost:8180 with pre-configured realm, users, and clients +- **Users**: `admin/admin` (admin group), `user/password` (users group) for both OIDC and basic auth +- **Service accounts**: Executor and Scheduler use OIDC Client Credentials flow for service-to-service authentication +- **APIs**: Server, Lookout, and Binoculars APIs are secured with OIDC and basic auth +- **Web UIs**: Lookout UI uses OIDC for user authentication +- **armadactl**: Supports multiple authentication flows - OIDC PKCE flow (`auth-oidc`), OIDC Device flow (`auth-oidc-device`), OIDC Password flow (`auth-oidc-password`), and basic auth (`auth-basic`) + +All components support both OIDC and basic auth for convenience. + +### Local Development with Fake Executor + +For testing Armada without a real Kubernetes cluster, you can use the fake executor that simulates a Kubernetes environment: + +```shell +goreman -f _local/procfiles/fake-executor.Procfile start +``` + +The fake executor simulates: +- 2 virtual nodes with 8 CPUs and 32Gi memory each +- Pod lifecycle management without actual container execution +- Resource allocation and job state transitions + +This is useful for: +- Testing Armada's scheduling logic +- Development when Kubernetes is not available +- Integration testing of job flows + +### Available Procfiles + +All Procfiles are located in `_local/procfiles/`: + +| Procfile | Description | +|--------------------------|---------------------------------------------------| +| `no-auth.Procfile` | Standard setup without authentication | +| `auth.Procfile` | Standard setup with OIDC authentication | +| `fake-executor.Procfile` | Uses fake executor for testing without Kubernetes | + +Restart individual processes with `goreman restart ` (e.g., `goreman restart server`). + +### Service Ports + +Run `goreman run status` to check the status of the processes (running processes are prefixed with `*`): +```shell +$ goreman run status +*server +*scheduler +*scheduleringester +*eventingester +*executor +*lookout +*lookoutingester +*binoculars +*lookoutui +``` + +Goreman exposes services on the following ports: + +| Service | Port | Description | +|----------------------------|-------|---------------------| +| Server gRPC | 50051 | Armada gRPC API | +| Server HTTP | 8081 | REST API & Health | +| Server Metrics | 9000 | Prometheus metrics | +| Scheduler gRPC | 50052 | Scheduler API | +| Scheduler Metrics | 9001 | Prometheus metrics | +| Scheduler Ingester Metrics | 9006 | Prometheus metrics | +| Lookout UI | 3000 | Frontend dev server | +| Lookout Metrics | 9003 | Prometheus metrics | +| Lookout Ingester Metrics | 9005 | Prometheus metrics | +| Executor Metrics | 9002 | Prometheus metrics | +| Event Ingester Metrics | 9004 | Prometheus metrics | +| Executor HTTP | 8082 | Executor HTTP | +| Binoculars HTTP | 8084 | Binoculars HTTP | +| Binoculars gRPC | 50053 | Binoculars gRPC | +| Binoculars Metrics | 9007 | Prometheus metrics | +| Redis | 6379 | Cache & events | +| PostgreSQL | 5432 | Database | +| Pulsar | 6650 | Message broker | + +## Documentation + +For documentation, see the following: + +- [System overview](./docs/system_overview.md) +- [Scheduler](./docs/scheduler.md) +- [User guide](./docs/user.md) +- [Development guide](./docs/developer.md) +- [Release notes/Version history](https://github.com/armadaproject/armada/releases) +- [API Documentation](./docs/developer/api.md) + +We expect readers of the documentation to have a basic understanding of Docker and Kubernetes; see, e.g., the following links: + +- [Docker overiew](https://docs.docker.com/get-started/overview/) +- [Kubernetes overview](https://kubernetes.io/docs/concepts/overview/) + +## Contributions + +Thank you for considering contributing to Armada! +We want everyone to feel that they can contribute to the Armada Project. +Your contributions are valuable, whether it's fixing a bug, implementing a new feature, improving documentation, or suggesting enhancements. +We appreciate your time and effort in helping make this project better for everyone. +For more information about contributing to Armada see [CONTRIBUTING.md](https://github.com/armadaproject/armada/blob/master/CONTRIBUTING.md) and before proceeding to contributions see [CODE_OF_CONDUCT.md](CODE_OF_CONDUCT.md) + +## Discussion + +If you are interested in discussing Armada you can find us on [![slack](https://img.shields.io/badge/slack-armada-brightgreen.svg?logo=slack)](https://cloud-native.slack.com/?redir=%2Farchives%2FC03T9CBCEMC) + diff --git a/data/readmes/artifact-hub-v1220.md b/data/readmes/artifact-hub-v1220.md new file mode 100644 index 0000000..0852433 --- /dev/null +++ b/data/readmes/artifact-hub-v1220.md @@ -0,0 +1,119 @@ +# Artifact Hub - README (v1.22.0) + +**Repository**: https://github.com/artifacthub/hub +**Version**: v1.22.0 + +--- + +# Artifact Hub + +[![Go Report Card](https://goreportcard.com/badge/github.com/artifacthub/hub)](https://goreportcard.com/report/github.com/artifacthub/hub) +[![CII Best Practices](https://bestpractices.coreinfrastructure.org/projects/4106/badge)](https://bestpractices.coreinfrastructure.org/projects/4106) +[![Artifact HUB](https://img.shields.io/endpoint?url=https://artifacthub.io/badge/repository/artifact-hub)](https://artifacthub.io/packages/helm/artifact-hub/artifact-hub) +[![CLOMonitor](https://img.shields.io/endpoint?url=https://clomonitor.io/api/projects/cncf/artifact-hub/badge)](https://clomonitor.io/projects/cncf/artifact-hub) +[![OpenSSF Scorecard](https://api.securityscorecards.dev/projects/github.com/artifacthub/hub/badge)](https://securityscorecards.dev/viewer/?uri=github.com/artifacthub/hub) +[![Gitpod Ready-to-Code](https://img.shields.io/badge/Gitpod-ready--to--code-blue?logo=gitpod)](https://gitpod.io/#https://github.com/artifacthub/hub) +[![Licenses](https://app.fossa.io/api/projects/git%2Bhttps%3A%2F%2Fgithub.com%2Fartifacthub%2Fhub.svg?type=shield)](https://app.fossa.io/projects/git%2Bhttps%3A%2F%2Fgithub.com%2Fartifacthub%2Fhub?ref=badge_shield) + +[Artifact Hub](https://artifacthub.io) is a web-based application that enables finding, installing, and publishing packages and configurations for Cloud Native packages. + +Discovering artifacts to use with CNCF projects can be difficult. If every CNCF project that needs to share artifacts creates its own Hub this creates a fair amount of repeat work for each project and a fractured experience for those trying to find the artifacts to consume. The Artifact Hub attempts to solve that by providing a single experience for consumers that any CNCF project can leverage. + +At the moment, the following artifacts kinds are supported *(with plans to support more projects to follow)*: + +- [Argo templates](https://argoproj.github.io/argo-workflows/) +- [Backstage plugins](https://backstage.io) +- [Bootable containers](https://containers.github.io/bootc/) +- [Containers images](https://opencontainers.org) +- [CoreDNS plugins](https://coredns.io/) +- [Falco configurations](https://falco.org/) +- [Gatekeeper policies](https://open-policy-agent.github.io/gatekeeper/website/docs/) +- [Headlamp plugins](https://headlamp.dev) +- [Helm charts](https://helm.sh/) +- [Helm plugins](https://helm.sh/docs/topics/plugins/) +- [Inspektor Gadgets](https://www.inspektor-gadget.io) +- [Kagent agents](https://kagent.dev) +- [KCL modules](https://kcl-lang.io) +- [KEDA scalers](https://keda.sh/) +- [Keptn integrations](https://keptn.sh) +- [Knative client plugins](https://knative.dev) +- [KubeArmor policies](https://kubearmor.io) +- [Kubectl plugins (Krew)](https://krew.sigs.k8s.io/) +- [Kubewarden policies](https://www.kubewarden.io) +- [Kyverno policies](https://kyverno.io) +- [Meshery designs](https://meshery.io) +- [OLM operators](https://github.com/operator-framework) +- [OpenCost plugins](https://www.opencost.io) +- [Open Policy Agent (OPA) policies](https://www.openpolicyagent.org/) +- [Radius Recipes](https://radapp.io) +- [Tekton tasks, pipelines and stepactions](https://tekton.dev/) +- [Tinkerbell actions](https://tinkerbell.org/) + +You can use Artifact Hub to: + +- [Discover](https://artifacthub.io/packages/search), [install](https://artifacthub.io/packages/helm/artifact-hub/artifact-hub?modal=install) and [publish](https://artifacthub.io/docs/topics/repositories/) packages and configurations +- Explore content like Helm charts [schemas](https://artifacthub.io/packages/helm/artifact-hub/artifact-hub?modal=values-schema) and [templates](https://artifacthub.io/packages/helm/artifact-hub/artifact-hub/0.20.0?modal=template&template=db_migrator_install_job.yaml) in an interactive way +- Subscribe to packages' new releases and security alerts notifications, via email or webhooks +- Visualize packages' [security reports](https://artifacthub.io/packages/helm/artifact-hub/artifact-hub/0.19.0?modal=security-report) +- Inspect packages' [changelog](https://artifacthub.io/packages/helm/artifact-hub/artifact-hub?modal=changelog) + +Feel free to ask any questions on the #artifact-hub channel in the CNCF Slack. To get an invite please visit [http://slack.cncf.io/](http://slack.cncf.io/). + +Artifact Hub is a [CNCF Incubating Project](https://www.cncf.io/projects/). + +
+ + + + + + + + + + + +
+ +## Getting started + +[Artifact Hub](https://artifacthub.io) allows publishers to list their content in an automated way. Please check out the [repositories guide](https://artifacthub.io/docs/topics/repositories/) for more details about how to add your repositories. + +If you want to run your own Artifact Hub instance in your Kubernetes cluster, the easiest way is by deploying the Helm chart provided. For more details, please see the [Helm chart documentation in Artifact Hub](https://artifacthub.io/packages/helm/artifact-hub/artifact-hub). + +## Contributing + +Please see [CONTRIBUTING.md](./CONTRIBUTING.md) for more details. + +## Community + +The Artifact Hub is an open source project. Aside from contributing code and feature suggestions you can also engage via: + +- Attending a meeting. Meetings are on the 2nd Tuesday of the month at 10:30am PT / 1:30pm ET. [Meeting minutes and agenda are in Google Docs](https://docs.google.com/document/d/1nkIgFh4dNPawoDD_9fV7vicVSeKk2Zcdd0C5yovSiKQ/edit). +- Joining [CNCF slack](https://cloud-native.slack.com) ([join link](https://slack.cncf.io/)) and joining the room #artifact-hub. + +## Changelog + +The *changelog* is [available on Artifact Hub](https://artifacthub.io/packages/helm/artifact-hub/artifact-hub?modal=changelog). + +## Code of Conduct + +This project follows the [CNCF Code of Conduct](https://github.com/cncf/foundation/blob/master/code-of-conduct.md). + +## Roadmap + +Please see [ROADMAP.md](./ROADMAP.md) for more details. + +## Security + +To report a security problem in Artifact Hub, please contact the Maintainers Team at . Please see [SECURITY.md](./SECURITY.md) for more details. + +## CLOMonitor Report + +[![CloMonitor report summary](https://clomonitor.io/api/projects/cncf/artifact-hub/report-summary?theme=light)](https://clomonitor.io/projects/cncf/artifact-hub) + +## License + +Artifact Hub is an Open Source project licensed under the [Apache License 2.0](https://www.apache.org/licenses/LICENSE-2.0). + +[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bhttps%3A%2F%2Fgithub.com%2Fartifacthub%2Fhub.svg?type=large)](https://app.fossa.io/projects/git%2Bhttps%3A%2F%2Fgithub.com%2Fartifacthub%2Fhub?ref=badge_large) diff --git a/data/readmes/athenz-v11231.md b/data/readmes/athenz-v11231.md new file mode 100644 index 0000000..577c49f --- /dev/null +++ b/data/readmes/athenz-v11231.md @@ -0,0 +1,122 @@ +# Athenz - README (v1.12.31) + +**Repository**: https://github.com/AthenZ/athenz +**Version**: v1.12.31 + +--- + +![Athenz](docs/images/athenz-logo.png) + +# Athenz + +[![GitHub_Actions Workflow](https://github.com/AthenZ/athenz/actions/workflows/main-branch-push.yaml/badge.svg)](https://github.com/AthenZ/athenz/actions) +[![SourceSpy Dashboard](https://sourcespy.com/shield.svg)](https://sourcespy.com/github/athenzathenz/) +[![CII Best Practices](https://bestpractices.coreinfrastructure.org/projects/4681/badge)](https://bestpractices.coreinfrastructure.org/projects/4681) +[![Licenses](https://app.fossa.io/api/projects/git%2Bhttps%3A%2F%2Fgithub.com%2FAthenZ%2Fathenz.svg?type=shield)](https://app.fossa.io/projects/git%2Bhttps%3A%2F%2Fgithub.com%2FAthenZ%2Fathenz?ref=badge_shield) + +> Athenz is an open source platform for X.509 certificate based service authentication and fine-grained +> access control in dynamic infrastructures. It supports provisioning and configuration (centralized +> authorization) use cases as well as serving/runtime (decentralized authorization) use cases. Athenz +> authorization system utilizes x.509 certificates and industry standard mutual TLS bound oauth2 access +> tokens. The name “Athenz” is derived from “AuthNZ” (N for authentication and Z for authorization). + +## Table of Contents + +* [Background](#background) +* [Install](#install) +* [Usage](#usage) +* [Contribute](#contribute) +* [License](#license) + +## Background + +Athenz is an open source platform for X.509 certificate based service authentication +and fine-grained role based access control in dynamic infrastructures. It provides +support for the following three major functional areas. + +### Service Authentication + +Athenz provides secure identity in the form of short-lived X.509 certificate +for every workload or service deployed in private (e.g. Openstack, K8S, Screwdriver) +or public cloud (e.g. AWS EC2, ECS, Fargate, Lambda). Using these X.509 certificates +clients and services establish secure connections and through mutual TLS authentication verify +each other's identity. The service identity certificates are valid for 30 days only, +and the service identity agents (SIA) part of those frameworks automatically refresh +them daily. The term service within Athenz is more generic than a traditional service. +A service identity could represent a command, job, daemon, workflow, as well as both an +application client, and an application service. + +Since Athenz service authentication is based on +[X.509 certificates](https://en.wikipedia.org/wiki/X.509), it is +important that you have a good understanding of what X.509 certificates are +and how they're used to establish secure connections in Internet protocols +such as [TLS](https://en.wikipedia.org/wiki/Transport_Layer_Security). + +### Role-Based Authorization (RBAC) + +Once the client is authenticated with its x.509 certificate, the service +can then check if the given client is authorized to carry out the requested +action. Athenz provides fine-grained role-based access control (RBAC) support +for a centralized management system with support for control-plane access control +decisions and a decentralized enforcement mechanism suitable for data-plane +access control decisions. It also provides a delegated management model that +supports multi-tenant and self-service concepts. + +### AWS Temporary Credentials Support + +When working with AWS, Athenz provides support to access AWS services +from on-prem services with using AWS temporary credentials rather than +static credentials. Athenz ZTS server can be used to request AWS temporary +credentials for configured AWS IAM roles. + +## Install + +* [Development Environment](docs/dev_environment.md) +* Local/Development/Production Environment Setup + * [ZMS Server](docs/setup_zms.md) + * [ZTS Server](docs/setup_zts.md) + * [UI Server](docs/setup_ui.md) +* AWS Production Environment Setup + * [Introduction](docs/aws_athenz_setup.md) + +## Usage + +* Architecture + * [Data Model](docs/data_model.md) + * [System View](docs/system_view.md) + * [Authorization Flow](docs/auth_flow.md) +* Features + * [Service Identity X.509 Certificates - Copper Argos](docs/copper_argos.md) +* Developer Guide + * [Centralized Access Control](docs/cent_authz_flow.md) + * [Java Client/Servlet Example](docs/example_java_centralized_access.md) + * [Go Client/Server Example](docs/example_go_centralized_access.md) + * [Decentralized Access Control](docs/decent_authz_flow.md) + * [Java Client/Servlet Example](docs/example_java_decentralized_access.md) +* Customizing Athenz + * [Principal Authentication](docs/principal_authentication.md) + * [Private Key Store](docs/private_key_store.md) + * [Certificate Signer](docs/cert_signer.md) + * [Service Identity X.509 Certificate Support Requirements - Copper Argos](docs/copper_argos_dev.md) + * [OIDC Authentication Provider Support for AWS EKS](docs/oidc_aws_eks.md) +* User Guide + * [ZMS Client Utility](docs/zms_client.md) + * [ZPU Utility](docs/setup_zpu.md) + * [Registering ZMS Service Identity](docs/reg_service_guide.md) + * [ZMS API](docs/zms_api.md) + * [ZTS API](docs/zts_api.md) + +## Contribute + +Please refer to the [contributing file](CONTRIBUTING.md) for information about how to get involved. We welcome issues, questions, and pull requests. + +You can also contact us for any user and development discussions through our groups: + +* [Athenz-Dev](https://groups.google.com/d/forum/athenz-dev) for development discussions +* [Athenz-Users](https://groups.google.com/d/forum/athenz-users) for users questions + +The [sourcespy dashboard](https://sourcespy.com/github/yahooathenz/) provides a high level overview of the repository including [module dependencies](https://sourcespy.com/github/yahooathenz/xx-omodulesc-.html), [module hierarchy](https://sourcespy.com/github/yahooathenz/xx-omodules-.html), [external libraries](https://sourcespy.com/github/yahooathenz/xx-ojavalibs-.html), [web services](https://sourcespy.com/github/yahooathenz/xx-owebservices-.html), and other components of the system. + +## License + +Licensed under the Apache License, Version 2.0: [http://www.apache.org/licenses/LICENSE-2.0](http://www.apache.org/licenses/LICENSE-2.0) diff --git a/data/readmes/atlantis-v0371.md b/data/readmes/atlantis-v0371.md new file mode 100644 index 0000000..573b1af --- /dev/null +++ b/data/readmes/atlantis-v0371.md @@ -0,0 +1,49 @@ +# Atlantis - README (v0.37.1) + +**Repository**: https://github.com/runatlantis/atlantis +**Version**: v0.37.1 + +--- + +# Atlantis + +[![Latest Release](https://img.shields.io/github/release/runatlantis/atlantis.svg)](https://github.com/runatlantis/atlantis/releases/latest) +[![SuperDopeBadge](./runatlantis.io/public/hightower-super-dope.svg)](https://twitter.com/kelseyhightower/status/893260922222813184) +[![Go Report Card](https://goreportcard.com/badge/github.com/runatlantis/atlantis)](https://goreportcard.com/report/github.com/runatlantis/atlantis) +[![Go Reference](https://pkg.go.dev/badge/github.com/runatlantis/atlantis.svg)](https://pkg.go.dev/github.com/runatlantis/atlantis) +[![Slack](https://img.shields.io/badge/Join-Atlantis%20Community%20Slack-red)](https://slack.cncf.io/) +[![OpenSSF Scorecard](https://api.scorecard.dev/projects/github.com/runatlantis/atlantis/badge)](https://scorecard.dev/viewer/?uri=github.com/runatlantis/atlantis) +[![OpenSSF Best Practices](https://www.bestpractices.dev/projects/9428/badge)](https://www.bestpractices.dev/projects/9428) + +

+ Atlantis Logo

+ Terraform Pull Request Automation +

+ +- [Resources](#resources) +- [What is Atlantis?](#what-is-atlantis) +- [What does it do?](#what-does-it-do) +- [Why should you use it?](#why-should-you-use-it) +- [Stargazers over time](#stargazers-over-time) + +## Resources +* How to get started: [www.runatlantis.io/guide](https://www.runatlantis.io/guide) +* Full documentation: [www.runatlantis.io/docs](https://www.runatlantis.io/docs) +* Download the latest release: [github.com/runatlantis/atlantis/releases/latest](https://github.com/runatlantis/atlantis/releases/latest) +* Get help in our [Slack channel](https://slack.cncf.io/) in channel #atlantis and development in #atlantis-contributors +* Start Contributing: [CONTRIBUTING.md](CONTRIBUTING.md) + +## What is Atlantis? +A self-hosted golang application that listens for Terraform pull request events via webhooks. + +## What does it do? +Runs `terraform plan`, `import`, `apply` remotely and comments back on the pull request with the output. + +## Why should you use it? +* Make Terraform changes visible to your whole team. +* Enable non-operations engineers to collaborate on Terraform. +* Standardize your Terraform workflows. + +## Stargazers over time + +[![Stargazers over time](https://starchart.cc/runatlantis/atlantis.svg)](https://starchart.cc/runatlantis/atlantis) diff --git a/data/readmes/avalanche-v1140.md b/data/readmes/avalanche-v1140.md new file mode 100644 index 0000000..a07818f --- /dev/null +++ b/data/readmes/avalanche-v1140.md @@ -0,0 +1,257 @@ +# Avalanche - README (v1.14.0) + +**Repository**: https://github.com/ava-labs/avalanchego +**Version**: v1.14.0 + +--- + +
+ +
+ +--- + +Node implementation for the [Avalanche](https://avax.network) network - +a blockchains platform with high throughput, and blazing fast transactions. + +## Installation + +Avalanche is an incredibly lightweight protocol, so the minimum computer requirements are quite modest. +Note that as network usage increases, hardware requirements may change. + +The minimum recommended hardware specification for nodes connected to Mainnet is: + +- CPU: Equivalent of 8 AWS vCPU +- RAM: 16 GiB +- Storage: 1 TiB + - Nodes running for very long periods of time or nodes with custom configurations may observe higher storage requirements. +- OS: Ubuntu 22.04/24.04 or macOS >= 12 +- Network: Reliable IPv4 or IPv6 network connection, with an open public port. + +If you plan to build AvalancheGo from source, you will also need the following software: + +- [Go](https://golang.org/doc/install) version >= 1.24.9 +- [gcc](https://gcc.gnu.org/) +- g++ + +### Building From Source + +#### Clone The Repository + +Clone the AvalancheGo repository: + +```sh +git clone git@github.com:ava-labs/avalanchego.git +cd avalanchego +``` + +This will clone and checkout the `master` branch. + +#### Building AvalancheGo + +Build AvalancheGo by running the build task: + +```sh +./scripts/run_task.sh build +``` + +The `avalanchego` binary is now in the `build` directory. To run: + +```sh +./build/avalanchego +``` + +### Binary Repository + +Install AvalancheGo using an `apt` repository. + +#### Adding the APT Repository + +If you already have the APT repository added, you do not need to add it again. + +To add the repository on Ubuntu, run: + +```sh +sudo su - +wget -qO - https://downloads.avax.network/avalanchego.gpg.key | tee /etc/apt/trusted.gpg.d/avalanchego.asc +source /etc/os-release && echo "deb https://downloads.avax.network/apt $UBUNTU_CODENAME main" > /etc/apt/sources.list.d/avalanche.list +exit +``` + +#### Installing the Latest Version + +After adding the APT repository, install `avalanchego` by running: + +```sh +sudo apt update +sudo apt install avalanchego +``` + +### Binary Install + +Download the [latest build](https://github.com/ava-labs/avalanchego/releases/latest) for your operating system and architecture. + +The Avalanche binary to be executed is named `avalanchego`. + +### Docker Install + +Make sure Docker is installed on the machine - so commands like `docker run` etc. are available. + +Building the Docker image of latest `avalanchego` branch can be done by running: + +```sh +./scripts/run-task.sh build-image +``` + +To check the built image, run: + +```sh +docker image ls +``` + +The image should be tagged as `avaplatform/avalanchego:xxxxxxxx`, where `xxxxxxxx` is the shortened commit of the Avalanche source it was built from. To run the Avalanche node, run: + +```sh +docker run -ti -p 9650:9650 -p 9651:9651 avaplatform/avalanchego:xxxxxxxx /avalanchego/build/avalanchego +``` + +## Running Avalanche + +### Connecting to Mainnet + +To connect to the Avalanche Mainnet, run: + +```sh +./build/avalanchego +``` + +You should see some pretty ASCII art and log messages. + +You can use `Ctrl+C` to kill the node. + +### Connecting to Fuji + +To connect to the Fuji Testnet, run: + +```sh +./build/avalanchego --network-id=fuji +``` + +### Creating a Local Testnet + +The [avalanche-cli](https://github.com/ava-labs/avalanche-cli) is the easiest way to start a local network. + +```sh +avalanche network start +avalanche network status +``` + +## Bootstrapping + +A node needs to catch up to the latest network state before it can participate in consensus and serve API calls. This process (called bootstrapping) currently takes several days for a new node connected to Mainnet. + +A node will not [report healthy](https://build.avax.network/docs/api-reference/health-api) until it is done bootstrapping. + +Improvements that reduce the amount of time it takes to bootstrap are under development. + +The bottleneck during bootstrapping is typically database IO. Using a more powerful CPU or increasing the database IOPS on the computer running a node will decrease the amount of time bootstrapping takes. + +## Generating Code + +AvalancheGo uses multiple tools to generate efficient and boilerplate code. + +### Running protobuf codegen + +To regenerate the protobuf go code, run `scripts/run-task.sh generate-protobuf` from the root of the repo. + +This should only be necessary when upgrading protobuf versions or modifying .proto definition files. + +To use this script, you must have [buf](https://docs.buf.build/installation) (v1.31.0), protoc-gen-go (v1.33.0) and protoc-gen-go-grpc (v1.3.0) installed. + +To install the buf dependencies: + +```sh +go install google.golang.org/protobuf/cmd/protoc-gen-go@v1.33.0 +go install google.golang.org/grpc/cmd/protoc-gen-go-grpc@v1.3.0 +``` + +If you have not already, you may need to add `$GOPATH/bin` to your `$PATH`: + +```sh +export PATH="$PATH:$(go env GOPATH)/bin" +``` + +If you extract buf to ~/software/buf/bin, the following should work: + +```sh +export PATH=$PATH:~/software/buf/bin/:~/go/bin +go get google.golang.org/protobuf/cmd/protoc-gen-go +go get google.golang.org/protobuf/cmd/protoc-gen-go-grpc +scripts/run_task.sh generate-protobuf +``` + +For more information, refer to the [GRPC Golang Quick Start Guide](https://grpc.io/docs/languages/go/quickstart/). + +### Running mock codegen + +See [the Contributing document autogenerated mocks section](CONTRIBUTING.md####Autogenerated-mocks). + +## Versioning + +### Version Semantics + +AvalancheGo is first and foremost a client for the Avalanche network. The versioning of AvalancheGo follows that of the Avalanche network. + +- `v0.x.x` indicates a development network version. +- `v1.x.x` indicates a production network version. +- `vx.[Upgrade].x` indicates the number of network upgrades that have occurred. +- `vx.x.[Patch]` indicates the number of client upgrades that have occurred since the last network upgrade. + +### Library Compatibility Guarantees + +Because AvalancheGo's version denotes the network version, it is expected that interfaces exported by AvalancheGo's packages may change in `Patch` version updates. + +### API Compatibility Guarantees + +APIs exposed when running AvalancheGo will maintain backwards compatibility, unless the functionality is explicitly deprecated and announced when removed. + +## Supported Platforms + +AvalancheGo can run on different platforms, with different support tiers: + +- **Tier 1**: Fully supported by the maintainers, guaranteed to pass all tests including e2e and stress tests. +- **Tier 2**: Passes all unit and integration tests but not necessarily e2e tests. +- **Tier 3**: Builds but lightly tested (or not), considered _experimental_. +- **Not supported**: May not build and not tested, considered _unsafe_. To be supported in the future. + +The following table lists currently supported platforms and their corresponding +AvalancheGo support tiers: + +| Architecture | Operating system | Support tier | +| :----------: | :--------------: | :-----------: | +| amd64 | Linux | 1 | +| arm64 | Linux | 2 | +| arm64 | Darwin | 2 | +| amd64 | Darwin | Not supported | +| amd64 | Windows | Not supported | +| arm | Linux | Not supported | +| i386 | Linux | Not supported | + +To officially support a new platform, one must satisfy the following requirements: + +| AvalancheGo continuous integration | Tier 1 | Tier 2 | Tier 3 | +| ---------------------------------- | :-----: | :-----: | :-----: | +| Build passes | ✓ | ✓ | ✓ | +| Unit and integration tests pass | ✓ | ✓ | | +| End-to-end and stress tests pass | ✓ | | | + +## Security Bugs + +**We and our community welcome responsible disclosures.** + +Please refer to our [Security Policy](SECURITY.md) and [Security Advisories](https://github.com/ava-labs/avalanchego/security/advisories). + +## Licenses + +Unless otherwise stated, all code in this repository is licensed under BSD-3. See our [licensing](LICENSE) for more details. Specifically, [grafted repositories](graft/) may use +a different license, and one must refer to that project's README and LICENSE for more details diff --git a/data/readmes/aws-cli-200dev0.md b/data/readmes/aws-cli-200dev0.md new file mode 100644 index 0000000..c3ead82 --- /dev/null +++ b/data/readmes/aws-cli-200dev0.md @@ -0,0 +1,443 @@ +# AWS CLI - README (2.0.0dev0) + +**Repository**: https://github.com/aws/aws-cli +**Version**: 2.0.0dev0 +**Branch**: 2.0.0dev0 + +--- + +======= +aws-cli +======= + +.. image:: https://travis-ci.org/aws/aws-cli.svg?branch=develop + :target: https://travis-ci.org/aws/aws-cli + :alt: Build Status + +.. image:: https://badges.gitter.im/aws/aws-cli.svg + :target: https://gitter.im/aws/aws-cli + :alt: Gitter + + +This package provides a unified command line interface to Amazon Web Services. + +The aws-cli package works on Python versions: + +* 2.7.9 and greater +* 3.5.x and greater +* 3.6.x and greater +* 3.7.x and greater + +.. attention:: + We recommend that all customers regularly monitor the + `Amazon Web Services Security Bulletins website`_ for any important security bulletins related to + aws-cli. + + +------------ +Installation +------------ + +The easiest way to install aws-cli is to use `pip`_ in a ``virtualenv``:: + + $ pip install awscli + +or, if you are not installing in a ``virtualenv``, to install globally:: + + $ sudo pip install awscli + +or for your user:: + + $ pip install --user awscli + +If you have the aws-cli installed and want to upgrade to the latest version +you can run:: + + $ pip install --upgrade awscli + +.. note:: + + On OS X, if you see an error regarding the version of six that came with + distutils in El Capitan, use the ``--ignore-installed`` option:: + + $ sudo pip install awscli --ignore-installed six + + +This will install the aws-cli package as well as all dependencies. You can +also just `download the tarball`_. Once you have the +awscli directory structure on your workstation, you can just run:: + + $ cd + $ python setup.py install + +If you want to run the ``develop`` branch of the CLI, see the +"CLI Dev Version" section below. + + +------------ +CLI Releases +------------ + +The release notes for the AWS CLI can be found `here `__. + + +------------------ +Command Completion +------------------ + +The aws-cli package includes a very useful command completion feature. +This feature is not automatically installed so you need to configure it manually. +To enable tab completion for bash either use the built-in command ``complete``:: + + $ complete -C aws_completer aws + +Or add ``bin/aws_bash_completer`` file under ``/etc/bash_completion.d``, +``/usr/local/etc/bash_completion.d`` or any other ``bash_completion.d`` location. + +For tcsh:: + + $ complete aws 'p/*/`aws_completer`/' + +You should add this to your startup scripts to enable it for future sessions. + +For zsh please refer to ``bin/aws_zsh_completer.sh``. Source that file, e.g. +from your ``~/.zshrc``, and make sure you run ``compinit`` before:: + + $ source bin/aws_zsh_completer.sh + +For now the bash compatibility auto completion (``bashcompinit``) is used. +For further details please refer to the top of ``bin/aws_zsh_completer.sh``. + +--------------- +Getting Started +--------------- + +Before using aws-cli, you need to tell it about your AWS credentials. You +can do this in several ways: + +* Environment variables +* Shared credentials file +* Config file +* IAM Role + +The quickest way to get started is to run the ``aws configure`` command:: + + $ aws configure + AWS Access Key ID: foo + AWS Secret Access Key: bar + Default region name [us-west-2]: us-west-2 + Default output format [None]: json + +To use environment variables, do the following:: + + $ export AWS_ACCESS_KEY_ID= + $ export AWS_SECRET_ACCESS_KEY= + +To use the shared credentials file, create an INI formatted file like this:: + + [default] + aws_access_key_id=foo + aws_secret_access_key=bar + + [testing] + aws_access_key_id=foo + aws_secret_access_key=bar + +and place it in ``~/.aws/credentials`` (or in +``%UserProfile%\.aws/credentials`` on Windows). If you wish to place the +shared credentials file in a different location than the one specified above, +you need to tell aws-cli where to find it. Do this by setting +the appropriate environment variable:: + + $ export AWS_SHARED_CREDENTIALS_FILE=/path/to/shared_credentials_file + +To use a config file, create a configuration file like this:: + + [default] + aws_access_key_id= + aws_secret_access_key= + # Optional, to define default region for this profile. + region=us-west-1 + + [profile testing] + aws_access_key_id= + aws_secret_access_key= + region=us-west-2 + +and place it in ``~/.aws/config`` (or in ``%UserProfile%\.aws\config`` on Windows). If you wish to place the config file in a different location than the one +specified above, you need to tell aws-cli where to find it. Do this by setting +the appropriate environment variable:: + + $ export AWS_CONFIG_FILE=/path/to/config_file + +As you can see, you can have multiple ``profiles`` defined in both the shared +credentials file and the configuration file. You can then specify which +profile to use by using the ``--profile`` option. If no profile is specified +the ``default`` profile is used. + +In the config file, except for the default profile, you +**must** prefix each config section of a profile group with ``profile``. +For example, if you have a profile named "testing" the section header would +be ``[profile testing]``. + +The final option for credentials is highly recommended if you are +using aws-cli on an EC2 instance. IAM Roles are +a great way to have credentials installed automatically on your +instance. If you are using IAM Roles, aws-cli will find them and use +them automatically. + +---------------------------- +Other Configurable Variables +---------------------------- + +In addition to credentials, a number of other variables can be +configured either with environment variables, configuration file +entries or both. The following table documents these. + +============================= =========== ============================= ================================= ================================== +Variable Option Config Entry Environment Variable Description +============================= =========== ============================= ================================= ================================== +profile --profile profile AWS_PROFILE Default profile name +----------------------------- ----------- ----------------------------- --------------------------------- ---------------------------------- +region --region region AWS_DEFAULT_REGION Default AWS Region +----------------------------- ----------- ----------------------------- --------------------------------- ---------------------------------- +config_file AWS_CONFIG_FILE Alternate location of config +----------------------------- ----------- ----------------------------- --------------------------------- ---------------------------------- +credentials_file AWS_SHARED_CREDENTIALS_FILE Alternate location of credentials +----------------------------- ----------- ----------------------------- --------------------------------- ---------------------------------- +output --output output AWS_DEFAULT_OUTPUT Default output style +----------------------------- ----------- ----------------------------- --------------------------------- ---------------------------------- +ca_bundle --ca-bundle ca_bundle AWS_CA_BUNDLE CA Certificate Bundle +----------------------------- ----------- ----------------------------- --------------------------------- ---------------------------------- +access_key aws_access_key_id AWS_ACCESS_KEY_ID AWS Access Key +----------------------------- ----------- ----------------------------- --------------------------------- ---------------------------------- +secret_key aws_secret_access_key AWS_SECRET_ACCESS_KEY AWS Secret Key +----------------------------- ----------- ----------------------------- --------------------------------- ---------------------------------- +token aws_session_token AWS_SESSION_TOKEN AWS Token (temp credentials) +----------------------------- ----------- ----------------------------- --------------------------------- ---------------------------------- +cli_timestamp_format cli_timestamp_format Output format of timestamps +----------------------------- ----------- ----------------------------- --------------------------------- ---------------------------------- +metadata_service_timeout metadata_service_timeout AWS_METADATA_SERVICE_TIMEOUT EC2 metadata timeout +----------------------------- ----------- ----------------------------- --------------------------------- ---------------------------------- +metadata_service_num_attempts metadata_service_num_attempts AWS_METADATA_SERVICE_NUM_ATTEMPTS EC2 metadata retry count +----------------------------- ----------- ----------------------------- --------------------------------- ---------------------------------- +parameter_validation parameter_validation Toggles local parameter validation +============================= =========== ============================= ================================= ================================== + +^^^^^^^^ +Examples +^^^^^^^^ + +If you get tired of specifying a ``--region`` option on the command line +all of the time, you can specify a default region to use whenever no +explicit ``--region`` option is included using the ``region`` variable. +To specify this using an environment variable:: + + $ export AWS_DEFAULT_REGION=us-west-2 + +To include it in your config file:: + + [default] + aws_access_key_id= + aws_secret_access_key= + region=us-west-1 + +Similarly, the ``profile`` variable can be used to specify which profile to use +if one is not explicitly specified on the command line via the +``--profile`` option. To set this via environment variable:: + + $ export AWS_PROFILE=testing + +The ``profile`` variable can not be specified in the configuration file +since it would have to be associated with a profile and would defeat the +purpose. + +^^^^^^^^^^^^^^^^^^^ +Further Information +^^^^^^^^^^^^^^^^^^^ + +For more information about configuration options, please refer the +`AWS CLI Configuration Variables topic `_. You can access this topic +from the CLI as well by running ``aws help config-vars``. + + +---------------------------------------- +Accessing Services With Global Endpoints +---------------------------------------- + +Some services, such as *AWS Identity and Access Management* (IAM) +have a single, global endpoint rather than different endpoints for +each region. + +To make access to these services simpler, aws-cli will automatically +use the global endpoint unless you explicitly supply a region (using +the ``--region`` option) or a profile (using the ``--profile`` option). +Therefore, the following:: + + $ aws iam list-users + +will automatically use the global endpoint for the IAM service +regardless of the value of the ``AWS_DEFAULT_REGION`` environment +variable or the ``region`` variable specified in your profile. + +-------------------- +JSON Parameter Input +-------------------- + +Many options that need to be provided are simple string or numeric +values. However, some operations require JSON data structures +as input parameters either on the command line or in files. + +For example, consider the command to authorize access to an EC2 +security group. In this case, we will add ingress access to port 22 +for all IP addresses:: + + $ aws ec2 authorize-security-group-ingress --group-name MySecurityGroup \ + --ip-permissions '{"FromPort":22,"ToPort":22,"IpProtocol":"tcp","IpRanges":[{"CidrIp": "0.0.0.0/0"}]}' + +-------------------------- +File-based Parameter Input +-------------------------- + +Some parameter values are so large or so complex that it would be easier +to place the parameter value in a file and refer to that file rather than +entering the value directly on the command line. + +Let's use the ``authorize-security-group-ingress`` command shown above. +Rather than provide the value of the ``--ip-permissions`` parameter directly +in the command, you could first store the values in a file. Let's call +the file ``ip_perms.json``:: + + {"FromPort":22, + "ToPort":22, + "IpProtocol":"tcp", + "IpRanges":[{"CidrIp":"0.0.0.0/0"}]} + +Then, we could make the same call as above like this:: + + $ aws ec2 authorize-security-group-ingress --group-name MySecurityGroup \ + --ip-permissions file://ip_perms.json + +The ``file://`` prefix on the parameter value signals that the parameter value +is actually a reference to a file that contains the actual parameter value. +aws-cli will open the file, read the value and use that value as the +parameter value. + +This is also useful when the parameter is really referring to file-based +data. For example, the ``--user-data`` option of the ``aws ec2 run-instances`` +command or the ``--public-key-material`` parameter of the +``aws ec2 import-key-pair`` command. + +------------------------- +URI-based Parameter Input +------------------------- + +Similar to the file-based input described above, aws-cli also includes a +way to use data from a URI as the value of a parameter. The idea is exactly +the same except the prefix used is ``https://`` or ``http://``:: + + $ aws ec2 authorize-security-group-ingress --group-name MySecurityGroup \ + --ip-permissions http://mybucket.s3.amazonaws.com/ip_perms.json + +-------------- +Command Output +-------------- + +The default output for commands is currently JSON. You can use the +``--query`` option to extract the output elements from this JSON document. +For more information on the expression language used for the ``--query`` +argument, you can read the +`JMESPath Tutorial `__. + +^^^^^^^^ +Examples +^^^^^^^^ + +Get a list of IAM user names:: + + $ aws iam list-users --query Users[].UserName + +Get a list of key names and their sizes in an S3 bucket:: + + $ aws s3api list-objects --bucket b --query Contents[].[Key,Size] + +Get a list of all EC2 instances and include their Instance ID, State Name, +and their Name (if they've been tagged with a Name):: + + $ aws ec2 describe-instances --query \ + 'Reservations[].Instances[].[InstanceId,State.Name,Tags[?Key==`Name`] | [0].Value]' + + +You may also find the `jq `_ tool useful in +processing the JSON output for other uses. + +There is also an ASCII table format available. You can select this style with +the ``--output table`` option or you can make this style your default output +style via environment variable or config file entry as described above. +Try adding ``--output table`` to the above commands. + + +--------------- +CLI Dev Version +--------------- + +If you are just interested in using the latest released version of the AWS CLI, +please see the Installation_ section above. This section is for anyone who +wants to install the development version of the CLI. You normally would not +need to do this unless: + +* You are developing a feature for the CLI and plan on submitting a Pull + Request. +* You want to test the latest changes of the CLI before they make it into an + official release. + +The latest changes to the CLI are in the ``develop`` branch on github. This is +the default branch when you clone the git repository. + +Additionally, there are several other packages that are developed in lockstep +with the CLI. This includes: + +* `botocore `__ +* `jmespath `__ + +If you just want to install a snapshot of the latest development version of +the CLI, you can use the ``requirements.txt`` file included in this repo. +This file points to the development version of the above packages:: + + cd + pip install -r requirements.txt + pip install -e . + +However, to keep up to date, you will continually have to run the +``pip install -r requirements.txt`` file to pull in the latest changes +from the develop branches of botocore, jmespath, etc. + +You can optionally clone each of those repositories and run "pip install -e ." +for each repository:: + + git clone && cd jmespath/ + pip install -e . && cd .. + git clone && cd botocore/ + pip install -e . && cd .. + git clone && cd aws-cli/ + pip install -e . + + +------------ +Getting Help +------------ + +We use GitHub issues for tracking bugs and feature requests and have limited +bandwidth to address them. Please use these community resources for getting +help: + +* Ask a question on `Stack Overflow `__ and tag it with `aws-cli `__ +* Come join the AWS CLI community chat on `gitter `__ +* Open a support ticket with `AWS Support `__ +* If it turns out that you may have found a bug, please `open an issue `__ + + + +.. _`Amazon Web Services Security Bulletins website`: https://aws.amazon.com/security/security-bulletins +.. _pip: http://www.pip-installer.org/en/latest/ +.. _`download the tarball`: https://pypi.org/project/awscli/ diff --git a/data/readmes/azure-cli-azure-cli-2810.md b/data/readmes/azure-cli-azure-cli-2810.md new file mode 100644 index 0000000..52129ef --- /dev/null +++ b/data/readmes/azure-cli-azure-cli-2810.md @@ -0,0 +1,230 @@ +# Azure CLI - README (azure-cli-2.81.0) + +**Repository**: https://github.com/Azure/azure-cli +**Version**: azure-cli-2.81.0 + +--- + +# Microsoft Azure CLI + +[![Python](https://img.shields.io/pypi/pyversions/azure-cli.svg?maxAge=2592000)](https://pypi.python.org/pypi/azure-cli) +[![Build Status](https://dev.azure.com/azure-sdk/public/_apis/build/status/cli/Azure.azure-cli?branchName=dev)](https://dev.azure.com/azure-sdk/public/_build/latest?definitionId=246&branchName=dev) +[![Slack](https://img.shields.io/badge/Slack-azurecli.slack.com-blue.svg)](https://azurecli.slack.com) + +A great cloud needs great tools; we're excited to introduce *Azure CLI*, our next generation multi-platform command line experience for Azure. + +Take a test run now from [Azure Cloud Shell](https://portal.azure.com/#cloudshell)! + +## Installation + +Please refer to the [install guide](https://learn.microsoft.com/cli/azure/install-azure-cli) for detailed install instructions. + +A list of common install issues and their resolutions are available at [install troubleshooting](https://github.com/Azure/azure-cli/blob/dev/doc/install_troubleshooting.md). + +### Developer installation (see below) + +- [Docker](#docker) +- [Edge Builds](#edge-builds) +- [Developer Setup](#developer-setup) + +## Usage + +```bash +$ az [ group ] [ subgroup ] [ command ] {parameters} +``` + +### Get Started + +Please refer to the ["get started" guide](https://learn.microsoft.com/cli/azure/get-started-with-az-cli2) for in-depth instructions. + +For usage and help content, pass in the `-h` parameter, for example: + +```bash +$ az storage -h +$ az vm create -h +``` + +### Highlights + +Here are a few features and concepts that can help you get the most out of the Azure CLI. + +![Azure CLI Highlight Reel](doc/assets/AzBlogAnimation4.gif) + +The following examples are showing using the `--output table` format, you can change your default using the `az configure` command. + +#### Tab completion + +We support tab-completion for groups, commands, and some parameters + +```bash +# looking up resource group and name +$ az vm show -g [tab][tab] +AccountingGroup RGOne WebPropertiesRG + +$ az vm show -g WebPropertiesRG -n [tab][tab] +StoreVM Bizlogic + +$ az vm show -g WebPropertiesRG -n Bizlogic +``` + +#### Query + +You can use the `--query` parameter and the [JMESPath](http://jmespath.org/) query syntax to customize your output. + +```bash +$ az vm list --query "[?provisioningState=='Succeeded'].{ name: name, os: storageProfile.osDisk.osType }" +Name Os +---------------------- ------- +storevm Linux +bizlogic Linux +demo32111vm Windows +dcos-master-39DB807E-0 Linux +``` + +#### Exit codes + +For scripting purposes, we output certain exit codes for differing scenarios. + +|Exit Code |Scenario | +|---|---| +|0 |Command ran successfully. | +|1 |Generic error; server returned bad status code, CLI validation failed, etc. | +|2 |Parser error; check input to command line. | +|3 |Missing ARM resource; used for existence check from `show` commands. | + +### Common scenarios and use Azure CLI effectively + +Please check [Tips for using Azure CLI effectively](https://learn.microsoft.com/en-us/cli/azure/use-cli-effectively). It describes some common scenarios: + +- [Output formatting (json, table, or tsv)](https://learn.microsoft.com/en-us/cli/azure/use-cli-effectively#output-formatting-json-table-or-tsv) +- [Pass values from one command to another](https://learn.microsoft.com/en-us/cli/azure/use-cli-effectively#pass-values-from-one-command-to-another) +- [Async operations](https://learn.microsoft.com/en-us/cli/azure/use-cli-effectively#async-operations) +- [Generic update arguments](https://learn.microsoft.com/en-us/cli/azure/use-cli-effectively#generic-update-arguments) +- [Generic resource commands - `az resource`](https://learn.microsoft.com/en-us/cli/azure/use-cli-effectively#generic-resource-commands---az-resource) +- [REST API command - `az rest`](https://learn.microsoft.com/en-us/cli/azure/use-cli-effectively#rest-api-command---az-rest) +- [Quoting issues](https://learn.microsoft.com/en-us/cli/azure/use-cli-effectively#quoting-issues) +- [Work behind a proxy](https://learn.microsoft.com/en-us/cli/azure/use-cli-effectively#work-behind-a-proxy) +- [Concurrent builds](https://learn.microsoft.com/en-us/cli/azure/use-cli-effectively#concurrent-builds) + +### More samples and snippets + +For more usage examples, take a look at our [GitHub samples repo](http://github.com/Azure/azure-cli-samples) or [https://learn.microsoft.com/cli/azure/overview](https://learn.microsoft.com/cli/azure/overview). + +### Write and run commands in Visual Studio Code + +With the [Azure CLI Tools](https://marketplace.visualstudio.com/items?itemName=ms-vscode.azurecli) Visual Studio Code extension, you can create `.azcli` files and use these features: +- IntelliSense for commands and their arguments. +- Snippets for commands, inserting required arguments automatically. +- Run the current command in the integrated terminal. +- Run the current command and show its output in a side-by-side editor. +- Show documentation on mouse hover. +- Display current subscription and defaults in status bar. +- To enable IntelliSense for other file types like `.ps1` or `.sh`, see [microsoft/vscode-azurecli#48](https://github.com/microsoft/vscode-azurecli/issues/48). + +![Azure CLI Tools in Action](https://github.com/microsoft/vscode-azurecli/blob/main/images/in_action.gif?raw=true) + +## Data Collection + +The software may collect information about you and your use of the software and send it to Microsoft. Microsoft may use this information to provide services and improve our products and services. You may turn off the telemetry as described in the repository. There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with a copy of Microsoft's privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and use in the help documentation and our privacy statement. Your use of the software operates as your consent to these practices. + +### Telemetry Configuration + +Telemetry collection is on by default. To opt out, please run `az config set core.collect_telemetry=no` to turn it off. + +## Reporting issues and feedback + +If you encounter any bugs with the tool please file an issue in the [Issues](https://github.com/Azure/azure-cli/issues) section of our GitHub repo. + +To provide feedback from the command line, try the `az feedback` command. + +\[Microsoft internal] You may contact the developer team via azpycli@microsoft.com. + +## Developer installation + +### Docker + +We maintain a Docker image preconfigured with the Azure CLI. +See our [Docker tags](https://mcr.microsoft.com/v2/azure-cli/tags/list) for available versions. + +```bash +$ docker run -u $(id -u):$(id -g) -v ${HOME}:/home/az -e HOME=/home/az --rm -it mcr.microsoft.com/azure-cli: +``` + +### Edge builds + +If you want to get the latest build from the `dev` branch, you can use our "edge" builds. + +You can download the latest builds by following the links below: + +| Package | Link | +|:-----------------:|:-------------------------------------------| +| MSI | https://aka.ms/InstallAzureCliWindowsEdge | +| Homebrew Formula | https://aka.ms/InstallAzureCliHomebrewEdge | +| Ubuntu Bionic Deb | https://aka.ms/InstallAzureCliBionicEdge | +| Ubuntu Focal Deb | https://aka.ms/InstallAzureCliFocalEdge | +| Ubuntu Jammy Deb | https://aka.ms/InstallAzureCliJammyEdge | +| RPM el8 | https://aka.ms/InstallAzureCliRpmEl8Edge | + +On Windows, you need to uninstall the official version before installing the edge build. (See https://github.com/Azure/azure-cli/issues/25607#issuecomment-1452855212) + +You can easily install the latest Homebrew edge build with the following command: + +```bash +# You need to uninstall the stable version with `brew uninstall azure-cli` first +curl --location --silent --output azure-cli.rb https://aka.ms/InstallAzureCliHomebrewEdge +brew install --build-from-source azure-cli.rb +``` + +You can install the edge build on Ubuntu Jammy with the following command: + +```bash +curl --location --silent --output azure-cli_jammy.deb https://aka.ms/InstallAzureCliJammyEdge && dpkg -i azure-cli_jammy.deb +``` + +And install the edge build with rpm package on RHEL 8 or CentOS Stream 8: + +```bash +dnf install -y $(curl --location --silent --output /dev/null --write-out %{url_effective} https://aka.ms/InstallAzureCliRpmEl8Edge) +``` + +Here's an example of installing edge builds with pip3 in a virtual environment. The `--upgrade-strategy=eager` option will install the edge builds of dependencies as well. + +```bash +$ python3 -m venv env +$ . env/bin/activate +$ pip3 install --pre azure-cli --extra-index-url https://azurecliprod.blob.core.windows.net/edge --upgrade-strategy=eager +``` + +To upgrade your current edge build pass the `--upgrade` option. The `--no-cache-dir` option is also recommended since +the feed is frequently updated. + +```bash +$ pip3 install --upgrade --pre azure-cli --extra-index-url https://azurecliprod.blob.core.windows.net/edge --no-cache-dir --upgrade-strategy=eager +``` + +The edge build is generated for each PR merged to the `dev` branch as a part of the Azure DevOps Pipelines. + +### Get builds of arbitrary commit or PR + +If you would like to get builds of arbitrary commit or PR, see: + +[Try new features before release](doc/try_new_features_before_release.md) + +## Developer setup + +If you would like to setup a development environment and contribute to the CLI, see: + +[Configuring Your Machine](https://github.com/Azure/azure-cli/blob/dev/doc/configuring_your_machine.md) + +[Authoring Command Modules](https://github.com/Azure/azure-cli/tree/dev/doc/authoring_command_modules) + +[Code Generation](https://github.com/Azure/aaz-dev-tools) + +## Contribute code + +This project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/). + +For more information see the [Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/) or contact [opencode@microsoft.com](mailto:opencode@microsoft.com) with any additional questions or comments. + +If you would like to become an active contributor to this project please +follow the instructions provided in [Microsoft Open Source Guidelines](https://opensource.microsoft.com/collaborate). diff --git a/data/readmes/backstage-v1453.md b/data/readmes/backstage-v1453.md new file mode 100644 index 0000000..e32066d --- /dev/null +++ b/data/readmes/backstage-v1453.md @@ -0,0 +1,87 @@ +# Backstage - README (v1.45.3) + +**Repository**: https://github.com/backstage/backstage +**Version**: v1.45.3 + +--- + +[![headline](docs/assets/headline.png)](https://backstage.io/) + +# [Backstage](https://backstage.io) + +English \| [한국어](README-ko_kr.md) \| [中文版](README-zh_Hans.md) \| [Français](README-fr_FR.md) + +[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0) +[![CNCF Status](https://img.shields.io/badge/cncf%20status-incubation-blue.svg)](https://www.cncf.io/projects) +[![Discord](https://img.shields.io/discord/687207715902193673?logo=discord&label=Discord&color=5865F2&logoColor=white)](https://discord.gg/backstage-687207715902193673) +![Code style](https://img.shields.io/badge/code_style-prettier-ff69b4.svg) +[![Codecov](https://img.shields.io/codecov/c/github/backstage/backstage)](https://codecov.io/gh/backstage/backstage) +[![](https://img.shields.io/github/v/release/backstage/backstage)](https://github.com/backstage/backstage/releases) +[![OpenSSF Best Practices](https://bestpractices.coreinfrastructure.org/projects/7678/badge)](https://bestpractices.coreinfrastructure.org/projects/7678) +[![OpenSSF Scorecard](https://api.securityscorecards.dev/projects/github.com/backstage/backstage/badge)](https://securityscorecards.dev/viewer/?uri=github.com/backstage/backstage) + +## What is Backstage? + +[Backstage](https://backstage.io/) is an open source framework for building developer portals. Powered by a centralized software catalog, Backstage restores order to your microservices and infrastructure and enables your product teams to ship high-quality code quickly without compromising autonomy. + +Backstage unifies all your infrastructure tooling, services, and documentation to create a streamlined development environment from end to end. + +![software-catalog](docs/assets/header.png) + +Out of the box, Backstage includes: + +- [Backstage Software Catalog](https://backstage.io/docs/features/software-catalog/) for managing all your software such as microservices, libraries, data pipelines, websites, and ML models +- [Backstage Software Templates](https://backstage.io/docs/features/software-templates/) for quickly spinning up new projects and standardizing your tooling with your organization’s best practices +- [Backstage TechDocs](https://backstage.io/docs/features/techdocs/) for making it easy to create, maintain, find, and use technical documentation, using a "docs like code" approach +- Plus, a growing ecosystem of [open source plugins](https://github.com/backstage/backstage/tree/master/plugins) that further expand Backstage’s customizability and functionality + +Backstage was created by Spotify but is now hosted by the [Cloud Native Computing Foundation (CNCF)](https://www.cncf.io) as an Incubation level project. For more information, see the [announcement](https://backstage.io/blog/2022/03/16/backstage-turns-two#out-of-the-sandbox-and-into-incubation). + +## Project roadmap + +For information about the detailed project roadmap including delivered milestones, see [the Roadmap](https://backstage.io/docs/overview/roadmap). + +## Getting Started + +To start using Backstage, see the [Getting Started documentation](https://backstage.io/docs/getting-started). + +## Documentation + +The documentation of Backstage includes: + +- [Main documentation](https://backstage.io/docs) +- [Software Catalog](https://backstage.io/docs/features/software-catalog/) +- [Architecture](https://backstage.io/docs/overview/architecture-overview) ([Decisions](https://backstage.io/docs/architecture-decisions/)) +- [Designing for Backstage](https://backstage.io/docs/dls/design) +- [Storybook - UI components](https://backstage.io/storybook) + +## Community + +To engage with our community, you can use the following resources: + +- [Discord chatroom](https://discord.gg/backstage-687207715902193673) - Get support or discuss the project +- [Contributing to Backstage](https://github.com/backstage/backstage/blob/master/CONTRIBUTING.md) - Start here if you want to contribute +- [RFCs](https://github.com/backstage/backstage/labels/rfc) - Help shape the technical direction +- [FAQ](https://backstage.io/docs/faq) - Frequently Asked Questions +- [Code of Conduct](CODE_OF_CONDUCT.md) - This is how we roll +- [Adopters](ADOPTERS.md) - Companies already using Backstage +- [Blog](https://backstage.io/blog/) - Announcements and updates +- [Newsletter](https://spoti.fi/backstagenewsletter) - Subscribe to our email newsletter +- [Backstage Community Sessions](https://github.com/backstage/community) - Join monthly meetups and explore Backstage community +- Give us a star ⭐️ - If you are using Backstage or think it is an interesting project, we would love a star ❤️ + +## Governance + +See the [GOVERNANCE.md](https://github.com/backstage/community/blob/main/GOVERNANCE.md) document in the [backstage/community](https://github.com/backstage/community) repository. + +## License + +Copyright 2020-2025 © The Backstage Authors. All rights reserved. The Linux Foundation has registered trademarks and uses trademarks. For a list of trademarks of The Linux Foundation, please see our Trademark Usage page: https://www.linuxfoundation.org/trademark-usage + +Licensed under the Apache License, Version 2.0: http://www.apache.org/licenses/LICENSE-2.0 + +## Security + +Please report sensitive security issues using Spotify's [bug-bounty program](https://hackerone.com/spotify) rather than GitHub. + +For further details, see our complete [security release process](SECURITY.md). diff --git a/data/readmes/bank-vaults-v1320.md b/data/readmes/bank-vaults-v1320.md new file mode 100644 index 0000000..9f4671c --- /dev/null +++ b/data/readmes/bank-vaults-v1320.md @@ -0,0 +1,118 @@ +# Bank-Vaults - README (v1.32.0) + +**Repository**: https://github.com/bank-vaults/bank-vaults +**Version**: v1.32.0 + +--- + +

+ + Bank-Vaults logo + + +

+ Bank-Vaults +

+

+ +Bank-Vaults is now a [CNCF Sandbox](https://www.cncf.io/sandbox-projects/) project. + +[![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://github.com/bank-vaults/bank-vaults) +
+[![GitHub Workflow Status](https://img.shields.io/github/actions/workflow/status/bank-vaults/bank-vaults/ci.yaml?branch=main&style=flat-square)](https://github.com/bank-vaults/bank-vaults/actions/workflows/ci.yaml?query=workflow%3ACI) +[![OpenSSF Scorecard](https://api.securityscorecards.dev/projects/github.com/bank-vaults/bank-vaults/badge?style=flat-square)](https://api.securityscorecards.dev/projects/github.com/bank-vaults/bank-vaults) +[![OpenSSF Best Practices](https://www.bestpractices.dev/projects/7871/badge)](https://www.bestpractices.dev/projects/7871) + +*Bank Vaults is a thick, tricky, shifty right with a fast and intense tube for experienced surfers only, located on Mentawai. +Think heavy steel doors, secret unlocking combinations and burly guards with smack-down attitude. Watch out for clean-up sets.* + +--- + +Bank-Vaults is an umbrella project which provides various tools for Cloud Native secret management, including: + +- Bank-Vaults CLI to make configuring Hashicorp Vault easier +- [Vault Operator](https://github.com/bank-vaults/vault-operator/) to make operating Hashicorp Vault on top of Kubernetes easier +- [Secrets Webhook](https://github.com/bank-vaults/secrets-webhook) to inject secrets directly into Kubernetes pods +- [Vault SDK](https://github.com/bank-vaults/vault-sdk) to make working with Vault easier in Go +- and others + +## Usage + +Some of the usage patterns are highlighted through these blog posts: + +- [Authentication and authorization of Pipeline users with OAuth2 and Vault](https://outshift.cisco.com/blog/oauth2-vault/) +- [Dynamic credentials with Vault using Kubernetes Service Accounts](https://outshift.cisco.com/blog/vault-dynamic-secrets/) +- [Dynamic SSH with Vault and Pipeline](https://outshift.cisco.com/blog/vault-dynamic-ssh/) +- [Secure Kubernetes Deployments with Vault and Pipeline](https://outshift.cisco.com/blog/hashicorp-guest-post/) +- [Vault Operator](https://outshift.cisco.com/blog/vault-operator/) +- [Vault unseal flow with KMS](https://outshift.cisco.com/blog/vault-unsealing/) +- [Monitoring Vault on Kubernetes using Cloud Native technologies](https://web.archive.org/web/20231014000501/https://banzaicloud.com/blog/monitoring-vault-grafana/) +- [Inject secrets directly into pods from Vault](https://outshift.cisco.com/blog/inject-secrets-into-pods-vault-revisited/) +- [Backing up Vault with Velero](https://outshift.cisco.com/blog/vault-backup-velero/) +- [Vault replication across multiple datacenters on Kubernetes](https://outshift.cisco.com/blog/vault-multi-datacenter/) +- [Bank Vaults Configuration Helm Chart](https://github.com/rljohnsn/bank-vault-config/tree/main) + +## Documentation + +The official documentation is available at [https://bank-vaults.dev](https://bank-vaults.dev/). + +## Development + +Install [Go](https://go.dev/dl/) on your computer then run `make deps` to install the rest of the dependencies. + +Make sure Docker is installed with Compose and Buildx. + +Fetch required tools: + +```shell +make deps +``` + +Run project dependencies: + +```shell +make up +``` + +Run the test suite: + +```shell +make test +make test-integration +``` + +Run linters: + +```shell +make lint # pass -j option to run them in parallel +``` + +Some linter violations can automatically be fixed: + +```shell +make fmt +``` + +Build artifacts locally: + +```shell +make artifacts +``` + +Once you are done either stop or tear down dependencies: + +```shell +make stop + +# OR + +make down +``` + +## Credits + +Kudos to HashiCorp for open sourcing Vault and making secret management easier and more secure. + +## License + +The project is licensed under the [Apache 2.0 License](LICENSE). diff --git a/data/readmes/base-v0143.md b/data/readmes/base-v0143.md new file mode 100644 index 0000000..3c2a37c --- /dev/null +++ b/data/readmes/base-v0143.md @@ -0,0 +1,152 @@ +# Base - README (v0.14.3) + +**Repository**: https://github.com/base-org/node +**Version**: v0.14.3 + +--- + +![Base](logo.webp) + +# Base Node + +Base is a secure, low-cost, developer-friendly Ethereum L2 built on Optimism's [OP Stack](https://docs.optimism.io/). This repository contains Docker builds to run your own node on the Base network. + +[![Website base.org](https://img.shields.io/website-up-down-green-red/https/base.org.svg)](https://base.org) +[![Docs](https://img.shields.io/badge/docs-up-green)](https://docs.base.org/) +[![Discord](https://img.shields.io/discord/1067165013397213286?label=discord)](https://base.org/discord) +[![Twitter Base](https://img.shields.io/twitter/follow/Base?style=social)](https://x.com/Base) +[![Farcaster Base](https://img.shields.io/badge/Farcaster_Base-3d8fcc)](https://farcaster.xyz/base) + +## Quick Start + +1. Ensure you have an Ethereum L1 full node RPC available +2. Choose your network: + - For mainnet: Use `.env.mainnet` + - For testnet: Use `.env.sepolia` +3. Configure your L1 endpoints in the appropriate `.env` file: + ```bash + OP_NODE_L1_ETH_RPC= + OP_NODE_L1_BEACON= + OP_NODE_L1_BEACON_ARCHIVER= + ``` +4. Start the node: + + ```bash + # For mainnet (default): + docker compose up --build + + # For testnet: + NETWORK_ENV=.env.sepolia docker compose up --build + + # To use a specific client (optional): + CLIENT=reth docker compose up --build + + # For testnet with a specific client: + NETWORK_ENV=.env.sepolia CLIENT=reth docker compose up --build + ``` + +### Supported Clients + +- `reth` (default) +- `geth` +- `nethermind` + +## Requirements + +### Minimum Requirements + +- Modern Multicore CPU +- 32GB RAM (64GB Recommended) +- NVMe SSD drive +- Storage: (2 \* [current chain size](https://base.org/stats) + [snapshot size](https://basechaindata.vercel.app) + 20% buffer) (to accommodate future growth) +- Docker and Docker Compose + +### Production Hardware Specifications + +The following are the hardware specifications we use in production: + +#### Reth Archive Node (recommended) + +- **Instance**: AWS i7i.12xlarge +- **Storage**: RAID 0 of all local NVMe drives (`/dev/nvme*`) +- **Filesystem**: ext4 + +#### Geth Full Node + +- **Instance**: AWS i7i.12xlarge +- **Storage**: RAID 0 of all local NVMe drives (`/dev/nvme*`) +- **Filesystem**: ext4 + +> [!NOTE] +To run the node using a supported client, you can use the following command: +`CLIENT=supported_client docker compose up --build` + +Supported clients: + - reth (runs vanilla node by default, Flashblocks mode enabled by providing RETH_FB_WEBSOCKET_URL, see [Reth Node README](./reth/README.md)) + - geth + - nethermind + +## Configuration + +### Required Settings + +- L1 Configuration: + - `OP_NODE_L1_ETH_RPC`: Your Ethereum L1 node RPC endpoint + - `OP_NODE_L1_BEACON`: Your L1 beacon node endpoint + - `OP_NODE_L1_BEACON_ARCHIVER`: Your L1 beacon archiver endpoint + - `OP_NODE_L1_RPC_KIND`: The type of RPC provider being used (default: "debug_geth"). Supported values: + - `alchemy`: Alchemy RPC provider + - `quicknode`: QuickNode RPC provider + - `infura`: Infura RPC provider + - `parity`: Parity RPC provider + - `nethermind`: Nethermind RPC provider + - `debug_geth`: Debug Geth RPC provider + - `erigon`: Erigon RPC provider + - `basic`: Basic RPC provider (standard receipt fetching only) + - `any`: Any available RPC method + - `standard`: Standard RPC methods including newer optimized methods + +### Network Settings + +- Mainnet: + - `RETH_CHAIN=base` + - `OP_NODE_NETWORK=base-mainnet` + - Sequencer: `https://mainnet-sequencer.base.org` + +### Performance Settings + +- Cache Settings: + - `GETH_CACHE="20480"` (20GB) + - `GETH_CACHE_DATABASE="20"` (4GB) + - `GETH_CACHE_GC="12"` + - `GETH_CACHE_SNAPSHOT="24"` + - `GETH_CACHE_TRIE="44"` + +### Optional Features + +- EthStats Monitoring (uncomment to enable) +- Trusted RPC Mode (uncomment to enable) +- Snap Sync (experimental) + +For full configuration options, see the `.env.mainnet` file. + +## Snapshots + +Snapshots are available to help you sync your node more quickly. See [docs.base.org](https://docs.base.org/chain/run-a-base-node#snapshots) for links and more details on how to restore from a snapshot. + +## Supported Networks + +| Network | Status | +| ------- | ------ | +| Mainnet | ✅ | +| Testnet | ✅ | + +## Troubleshooting + +For support please join our [Discord](https://discord.gg/buildonbase) post in `🛠|node-operators`. You can alternatively open a new GitHub issue. + +## Disclaimer + +THE NODE SOFTWARE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. We make no guarantees about asset protection or security. Usage is subject to applicable laws and regulations. + +For more information, visit [docs.base.org](https://docs.base.org/). diff --git a/data/readmes/benthos-v4720.md b/data/readmes/benthos-v4720.md new file mode 100644 index 0000000..ce2a93e --- /dev/null +++ b/data/readmes/benthos-v4720.md @@ -0,0 +1,222 @@ +# Benthos - README (v4.72.0) + +**Repository**: https://github.com/benthosdev/benthos +**Version**: v4.72.0 + +--- + +Redpanda Connect +================ + +[![Build Status][actions-badge]][actions-url] + +API for Apache V2 builds: [![godoc for redpanda-data/connect ASL][godoc-badge]][godoc-url-apache] + +API for Enterprise builds: [![godoc for redpanda-data/connect RCL][godoc-badge]][godoc-url-enterprise] + +Redpanda Connect is a high performance and resilient stream processor, able to connect various [sources][inputs] and [sinks][outputs] in a range of brokering patterns and perform [hydration, enrichments, transformations and filters][processors] on payloads. + +It comes with a [powerful mapping language][bloblang-about], is easy to deploy and monitor, and ready to drop into your pipeline either as a static binary or docker image, making it cloud native as heck. + +Redpanda Connect is declarative, with stream pipelines defined in as few as a single config file, allowing you to specify connectors and a list of processing stages: + +```yaml +input: + gcp_pubsub: + project: foo + subscription: bar + +pipeline: + processors: + - mapping: | + root.message = this + root.meta.link_count = this.links.length() + root.user.age = this.user.age.number() + +output: + redis_streams: + url: tcp://TODO:6379 + stream: baz + max_in_flight: 20 +``` + +### !NEW! Check Out the Latest AI Goodies + +MCP Demo: + +[![MCP Demo](https://img.youtube.com/vi/JhF8HMpVmus/0.jpg)](https://www.youtube.com/watch?v=JhF8HMpVmus) + +Agentic AI Demo: + +[![Agentic AI Demo](https://img.youtube.com/vi/oi8qgtTqQRU/0.jpg)](https://www.youtube.com/watch?v=oi8qgtTqQRU) + +### Delivery Guarantees + +Delivery guarantees [can be a dodgy subject](https://youtu.be/QmpBOCvY8mY). Redpanda Connect processes and acknowledges messages using an in-process transaction model with no need for any disk persisted state, so when connecting to at-least-once sources and sinks it's able to guarantee at-least-once delivery even in the event of crashes, disk corruption, or other unexpected server faults. + +This behaviour is the default and free of caveats, which also makes deploying and scaling Redpanda Connect much simpler. + +## Supported Sources & Sinks + +AWS (DynamoDB, Kinesis, S3, SQS, SNS), Azure (Blob storage, Queue storage, Table storage), GCP (Pub/Sub, Cloud storage, Big query), Kafka, NATS (JetStream, Streaming), NSQ, MQTT, AMQP 0.91 (RabbitMQ), AMQP 1, Redis (streams, list, pubsub, hashes), Cassandra, Elasticsearch, HDFS, HTTP (server and client, including websockets), MongoDB, SQL (MySQL, PostgreSQL, Clickhouse, MSSQL), and [you know what just click here to see them all, they don't fit in a README][about-categories]. + +## Documentation + +If you want to dive fully into Redpanda Connect then don't waste your time in this dump, check out the [documentation site][general-docs]. + +For guidance on building your own custom plugins in Go check out [the public APIs](https://pkg.go.dev/github.com/redpanda-data/benthos/v4/public/service). + +## Install + +Install on Linux: + +```shell +curl -LO https://github.com/redpanda-data/redpanda/releases/latest/download/rpk-linux-amd64.zip +unzip rpk-linux-amd64.zip -d ~/.local/bin/ +``` + +Or use Homebrew: + +```shell +brew install redpanda-data/tap/redpanda +``` + +Or pull the docker image: + +```shell +docker pull docker.redpanda.com/redpandadata/connect +``` + +For more information check out the [getting started guide][getting-started]. + +## Run + +```shell +rpk connect run ./config.yaml +``` + +Or, with docker: + +```shell +# Using a config file +docker run --rm -v /path/to/your/config.yaml:/connect.yaml docker.redpanda.com/redpandadata/connect run + +# Using a series of -s flags +docker run --rm -p 4195:4195 docker.redpanda.com/redpandadata/connect run \ + -s "input.type=http_server" \ + -s "output.type=kafka" \ + -s "output.kafka.addresses=kafka-server:9092" \ + -s "output.kafka.topic=redpanda_topic" +``` + +## Monitoring + +### Health Checks + +Redpanda Connect serves two HTTP endpoints for health checks: +- `/ping` can be used as a liveness probe as it always returns a 200. +- `/ready` can be used as a readiness probe as it serves a 200 only when both the input and output are connected, otherwise a 503 is returned. + +### Metrics + +Redpanda Connect [exposes lots of metrics][metrics] either to Statsd, Prometheus, a JSON HTTP endpoint, [and more][metrics]. + +### Tracing + +Redpanda Connect also [emits open telemetry tracing events][tracers], which can be used to visualise the processors within a pipeline. + +## Configuration + +Redpanda Connect provides lots of tools for making configuration discovery, debugging and organisation easy. You can [read about them here][config-doc]. + +## Build + +Build with Go (any [currently supported version](https://go.dev/dl/)): + +```shell +git clone git@github.com:redpanda-data/connect +cd connect +task build:all +``` + +## Formatting and Linting + +Redpanda Connect uses [golangci-lint][golangci-lint] for formatting and linting. + +- `task fmt` to format the codebase, +- `task lint` to lint the codebase. + +Configure your editor to use `gofumpt` as a formatter, see the instructions for different editors [here](https://github.com/mvdan/gofumpt#installation). + +## Plugins + +It's pretty easy to write your own custom plugins for Redpanda Connect in Go, for information check out [the API docs][godoc-url], and for inspiration there's an [example repo][plugin-repo] demonstrating a variety of plugin implementations. + +## Extra Plugins + +By default Redpanda Connect does not build with components that require linking to external libraries, such as the `zmq4` input and outputs. If you wish to build Redpanda Connect locally with these dependencies then set the build tag `x_benthos_extra`: + +```shell +# With go +go install -tags "x_benthos_extra" github.com/redpanda-data/connect/v4/cmd/redpanda-connect@latest + +# Using task +TAGS=x_benthos_extra task build:all +``` + +Note that this tag may change or be broken out into granular tags for individual components outside of major version releases. If you attempt a build and these dependencies are not present you'll see error messages such as `ld: library not found for -lzmq`. + +## Docker Builds + +There's a multi-stage `Dockerfile` for creating a Redpanda Connect docker image which results in a minimal image from scratch. You can build it with: + +```shell +task docker:all +``` + +Then use the image: + +```shell +docker run --rm \ + -v /path/to/your/benthos.yaml:/config.yaml \ + -v /tmp/data:/data \ + -p 4195:4195 \ + docker.redpanda.com/redpandadata/connect run /config.yaml +``` + +## Contributing + +Contributions are welcome! To prevent CI errors, please always make sure a pull request has been: + +- Unit tested with `task test` +- Linted with `task lint` +- Formatted with `task fmt` + +Note: most integration tests need to spin up Docker containers, so they are skipped by `task test`. You can trigger +them individually via `go test -run "^Test.*Integration.*$" ./internal/impl//...`. + +[inputs]: https://docs.redpanda.com/redpanda-connect/components/inputs/about +[about-categories]: https://docs.redpanda.com/redpanda-connect/about#components +[processors]: https://docs.redpanda.com/redpanda-connect/components/processors/about +[outputs]: https://docs.redpanda.com/redpanda-connect/components/outputs/about +[metrics]: https://docs.redpanda.com/redpanda-connect/components/metrics/about +[tracers]: https://docs.redpanda.com/redpanda-connect/components/tracers/about +[config-interp]: https://docs.redpanda.com/redpanda-connect/configuration/interpolation +[streams-api]: https://docs.redpanda.com/redpanda-connect/guides/streams_mode/streams_api +[streams-mode]: https://docs.redpanda.com/redpanda-connect/guides/streams_mode/about +[general-docs]: https://docs.redpanda.com/redpanda-connect/about +[bloblang-about]: https://docs.redpanda.com/redpanda-connect/guides/bloblang/about +[config-doc]: https://docs.redpanda.com/redpanda-connect/configuration/about +[releases]: https://github.com/redpanda-data/connect/releases +[plugin-repo]: https://github.com/redpanda-data/redpanda-connect-plugin-example +[getting-started]: https://docs.redpanda.com/redpanda-connect/guides/getting_started + +[godoc-badge]: https://pkg.go.dev/badge/github.com/redpanda-data/benthos/v4/public +[godoc-url]: https://pkg.go.dev/github.com/redpanda-data/benthos/v4/public +[godoc-url-apache]: https://pkg.go.dev/github.com/redpanda-data/connect/public/bundle/free/v4 +[godoc-url-enterprise]: https://pkg.go.dev/github.com/redpanda-data/connect/public/bundle/enterprise/v4 +[actions-badge]: https://github.com/redpanda-data/connect/actions/workflows/test.yml/badge.svg +[actions-url]: https://github.com/redpanda-data/connect/actions/workflows/test.yml + +[golangci-lint]: https://golangci-lint.run/ +[jaeger]: https://www.jaegertracing.io/ diff --git a/data/readmes/besu-25110.md b/data/readmes/besu-25110.md new file mode 100644 index 0000000..e32146e --- /dev/null +++ b/data/readmes/besu-25110.md @@ -0,0 +1,79 @@ +# Besu - README (25.11.0) + +**Repository**: https://github.com/hyperledger/besu +**Version**: 25.11.0 + +--- + +# Besu Ethereum Client + [![CircleCI](https://circleci.com/gh/hyperledger/besu/tree/main.svg?style=svg)](https://circleci.com/gh/hyperledger/besu/tree/main) + [![CodeQL](https://github.com/hyperledger/besu/actions/workflows/codeql.yml/badge.svg)](https://github.com/hyperledger/besu/actions/workflows/codeql.yml) + [![CII Best Practices](https://bestpractices.coreinfrastructure.org/projects/3174/badge)](https://bestpractices.coreinfrastructure.org/projects/3174) + [![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://github.com/hyperledger/besu/blob/main/LICENSE) + [![Discord](https://img.shields.io/discord/905194001349627914?logo=Hyperledger&style=plastic)](https://discord.com/invite/hyperledger) + [![Twitter Follow](https://img.shields.io/twitter/follow/HyperledgerBesu)](https://twitter.com/HyperledgerBesu) + +[Download](https://github.com/hyperledger/besu/releases) + +Besu is an Apache 2.0 licensed, MainNet compatible, Ethereum client written in Java. + +## Useful Links + +* [Besu User Documentation] +* [Besu Issues] +* [Besu Wiki](https://lf-hyperledger.atlassian.net/wiki/spaces/BESU/) +* [How to Contribute to Besu](https://lf-hyperledger.atlassian.net/wiki/spaces/BESU/pages/22156850/How+to+Contribute) +* [Besu Roadmap & Planning](https://lf-hyperledger.atlassian.net/wiki/spaces/BESU/pages/22154278/Besu+Roadmap+Planning) + + +## Issues + +Besu issues are tracked [in the github issues tab][Besu Issues]. +See our [guidelines](https://lf-hyperledger.atlassian.net/wiki/spaces/BESU/pages/22154243/Issues) for more details on searching and creating issues. + +If you have any questions, queries or comments, [Besu channel on Discord] is the place to find us. + + +## Besu Users + +To install the Besu binary, follow [these instructions](https://besu.hyperledger.org/public-networks/get-started/install/binary-distribution). + +## Besu Developers + +* [Contributing Guidelines] +* [Coding Conventions](https://lf-hyperledger.atlassian.net/wiki/spaces/BESU/pages/22154259/Coding+Conventions) +* [Command Line Interface (CLI) Style Guide](https://lf-hyperledger.atlassian.net/wiki/spaces/BESU/pages/22154260/Besu+CLI+Style+Guide) +* [Besu User Documentation] for running and using Besu + + +### Development + +Instructions for how to get started with developing on the Besu codebase. Please also read the +[wiki](https://lf-hyperledger.atlassian.net/wiki/spaces/BESU/pages/22154251/Pull+Requests) for more details on how to submit a pull request (PR). + +* [Checking Out and Building](https://lf-hyperledger.atlassian.net/wiki/spaces/BESU/pages/22154264/Building+from+source) +* [Code Coverage](https://lf-hyperledger.atlassian.net/wiki/spaces/BESU/pages/22154288/Code+coverage) +* [Logging](https://lf-hyperledger.atlassian.net/wiki/spaces/BESU/pages/22154291/Logging) or the [Documentation's Logging section](https://besu.hyperledger.org/public-networks/how-to/monitor/logging) + +### Profiling Besu + +Besu supports performance profiling using [Async Profiler](https://github.com/async-profiler/async-profiler), a low-overhead sampling profiler. +You can find setup and usage instructions in the [Profiling Guide](docs/PROFILING.md). + +Profiling can help identify performance bottlenecks in block processing, transaction validation, and EVM execution. +Please ensure the profiler is run as the same user that started the Besu process. + +## Release Notes + +[Release Notes](CHANGELOG.md) + +## Reference Tests and JSON Tracing + +Besu includes support for running Ethereum reference tests and generating detailed EVM execution traces. + +To learn how to run the tests and enable opcode-level JSON tracing for debugging and correctness verification, see the [Reference Test Execution and Tracing Guide](REFERENCE_TESTS.md). + +[Besu Issues]: https://github.com/hyperledger/besu/issues +[Besu User Documentation]: https://besu.hyperledger.org +[Besu channel on Discord]: https://discord.com/invite/hyperledger +[Contributing Guidelines]: CONTRIBUTING.md diff --git a/data/readmes/bfe-v180.md b/data/readmes/bfe-v180.md new file mode 100644 index 0000000..29cc70d --- /dev/null +++ b/data/readmes/bfe-v180.md @@ -0,0 +1,95 @@ +# BFE - README (v1.8.0) + +**Repository**: https://github.com/bfenetworks/bfe +**Version**: v1.8.0 + +--- + +# BFE + +[![GitHub](https://img.shields.io/github/license/bfenetworks/bfe)](https://github.com/bfenetworks/bfe/blob/develop/LICENSE) +[![Travis](https://img.shields.io/travis/com/bfenetworks/bfe)](https://travis-ci.com/bfenetworks/bfe) +[![Go Report Card](https://goreportcard.com/badge/github.com/bfenetworks/bfe)](https://goreportcard.com/report/github.com/bfenetworks/bfe) +[![GoDoc](https://godoc.org/github.com/bfenetworks/bfe?status.svg)](https://godoc.org/github.com/bfenetworks/bfe/bfe_module) +[![Snap Status](https://snapcraft.io/bfe/badge.svg)](https://snapcraft.io/bfe) +[![CII Best Practices](https://bestpractices.coreinfrastructure.org/projects/3209/badge)](https://bestpractices.coreinfrastructure.org/projects/3209) +[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fbfenetworks%2Fbfe.svg?type=shield)](https://app.fossa.com/reports/1f05f9f0-ac3d-486e-8ba9-ad95dabd4768) +[![Slack Widget](https://img.shields.io/badge/join-us%20on%20slack-gray.svg?longCache=true&logo=slack&colorB=green)](https://slack.cncf.io) + +English | [中文](README-CN.md) + +BFE (Beyond Front End) is a modern layer 7 load balancer from baidu. + +bfe logo + +BFE is a [Cloud Native Computing Foundation](https://cncf.io/) (CNCF) sandbox project. + +![cncf-logo](./docs/images/cncf-logo.png) + +## Introduction + +BFE opensource project includes several components, which can be used together as a integrated layer 7 load balancer and traffic management solution. + +BFE system consists of data plane and control plane: + +- Data plane:responsible for forwarding user's traffic, including below component: + - BFE Server:BFE forward engine (this repository, bfenetworks/bfe). BFE Server performs content based routing, load balancing and forwards the traffic to backend servers. +- Control plane:responsible for management and configuration of BFE system, including below components: + - [API-Server](https://github.com/bfenetworks/api-server):provides API and handles update, storage and generation of BFE config + - [Conf-Agent](https://github.com/bfenetworks/conf-agent):component for loading config, fetches latest config from API-Server and triggers BFE Server to reload it + - [Dashboard](https://github.com/bfenetworks/dashboard):provides a graphic interface for user to manage and view major config of BFE + +Refer to [Overview](docs/en_us/introduction/overview.md) in BFE document for more information + +Besides, we also implement [BFE Ingress Controller](https://github.com/bfenetworks/ingress-bfe) based on BFE, to fulfill Ingress in Kubernetes + +## Advantages + +- Multiple protocols supported, including HTTP, HTTPS, SPDY, HTTP2, WebSocket, TLS, FastCGI, etc. +- Content based routing, support user-defined routing rule in advanced domain-specific language. +- Support multiple load balancing policies. +- Flexible plugin framework to extend functionality. Based on the framework, developer can add new features rapidly. +- Efficient, easy and centralized management, with RESTful API and Dashboard support. +- Detailed built-in metrics available for service status monitor. + +## Getting Started + +- Data plane: BFE Server [build and run](docs/en_us/installation/install_from_source.md) +- Control plane: English document coming soon. [Chinese version](https://github.com/bfenetworks/api-server/blob/develop/docs/zh_cn/deploy.md) + +## Running the tests + +- See [Build and run](docs/en_us/installation/install_from_source.md) + +## Documentation + +- [English version](https://www.bfe-networks.net/en_us/ABOUT/) +- [Chinese version](https://www.bfe-networks.net/zh_cn/ABOUT/) + +## Book + +- [In-depth Understanding of BFE](https://github.com/baidu/bfe-book) (Released in Feb 2023) + + This book focuses on BFE open source project, introduces the relevant technical principles of network access, explains the design idea of BFE open source software, and how to build a network front-end platform based on BFE open source software. Readers with development capabilities can also develop BFE extension modules according to their own needs or contribute code to BFE open source projects according to the instructions in this book. + + +## Contributing + +- Please create an issue in [issue list](http://github.com/bfenetworks/bfe/issues). +- Contact Committers/Owners for further discussion if needed. +- Following the golang coding standards. +- See the [CONTRIBUTING](CONTRIBUTING.md) file for details. + +## Authors + +- Owners: [MAINTAINERS](MAINTAINERS.md) +- Contributors: [CONTRIBUTORS](CONTRIBUTORS.md) + +## Communication + +- BFE community on Slack: [Sign up](https://slack.cncf.io/) CNCF Slack and join bfe channel. +- BFE developer group on WeChat: [Send a request mail](mailto:iyangsj@gmail.com) with your WeChat ID and a contribution you've made to BFE(such as a PR/Issue). We will invite you right away. + +## License + +BFE is under the Apache 2.0 license. See the [LICENSE](LICENSE) file for details. diff --git a/data/readmes/bitcoin-core-v283.md b/data/readmes/bitcoin-core-v283.md new file mode 100644 index 0000000..eb54fec --- /dev/null +++ b/data/readmes/bitcoin-core-v283.md @@ -0,0 +1,86 @@ +# Bitcoin Core - README (v28.3) + +**Repository**: https://github.com/bitcoin/bitcoin +**Version**: v28.3 + +--- + +Bitcoin Core integration/staging tree +===================================== + +https://bitcoincore.org + +For an immediately usable, binary version of the Bitcoin Core software, see +https://bitcoincore.org/en/download/. + +What is Bitcoin Core? +--------------------- + +Bitcoin Core connects to the Bitcoin peer-to-peer network to download and fully +validate blocks and transactions. It also includes a wallet and graphical user +interface, which can be optionally built. + +Further information about Bitcoin Core is available in the [doc folder](/doc). + +License +------- + +Bitcoin Core is released under the terms of the MIT license. See [COPYING](COPYING) for more +information or see https://opensource.org/license/MIT. + +Development Process +------------------- + +The `master` branch is regularly built (see `doc/build-*.md` for instructions) and tested, but it is not guaranteed to be +completely stable. [Tags](https://github.com/bitcoin/bitcoin/tags) are created +regularly from release branches to indicate new official, stable release versions of Bitcoin Core. + +The https://github.com/bitcoin-core/gui repository is used exclusively for the +development of the GUI. Its master branch is identical in all monotree +repositories. Release branches and tags do not exist, so please do not fork +that repository unless it is for development reasons. + +The contribution workflow is described in [CONTRIBUTING.md](CONTRIBUTING.md) +and useful hints for developers can be found in [doc/developer-notes.md](doc/developer-notes.md). + +Testing +------- + +Testing and code review is the bottleneck for development; we get more pull +requests than we can review and test on short notice. Please be patient and help out by testing +other people's pull requests, and remember this is a security-critical project where any mistake might cost people +lots of money. + +### Automated Testing + +Developers are strongly encouraged to write [unit tests](src/test/README.md) for new code, and to +submit new unit tests for old code. Unit tests can be compiled and run +(assuming they weren't disabled during the generation of the build system) with: `ctest`. Further details on running +and extending unit tests can be found in [/src/test/README.md](/src/test/README.md). + +There are also [regression and integration tests](/test), written +in Python. +These tests can be run (if the [test dependencies](/test) are installed) with: `build/test/functional/test_runner.py` +(assuming `build` is your build directory). + +The CI (Continuous Integration) systems make sure that every pull request is tested on Windows, Linux, and macOS. +The CI must pass on all commits before merge to avoid unrelated CI failures on new pull requests. + +### Manual Quality Assurance (QA) Testing + +Changes should be tested by somebody other than the developer who wrote the +code. This is especially important for large or high-risk changes. It is useful +to add a test plan to the pull request description if testing the changes is +not straightforward. + +Translations +------------ + +Changes to translations as well as new translations can be submitted to +[Bitcoin Core's Transifex page](https://explore.transifex.com/bitcoin/bitcoin/). + +Translations are periodically pulled from Transifex and merged into the git repository. See the +[translation process](doc/translation_process.md) for details on how this works. + +**Important**: We do not accept translation changes as GitHub pull requests because the next +pull from Transifex would automatically overwrite them again. diff --git a/data/readmes/bookkeeper-release-4172.md b/data/readmes/bookkeeper-release-4172.md new file mode 100644 index 0000000..c72af16 --- /dev/null +++ b/data/readmes/bookkeeper-release-4172.md @@ -0,0 +1,60 @@ +# Bookkeeper - README (release-4.17.2) + +**Repository**: https://github.com/apache/bookkeeper +**Version**: release-4.17.2 + +--- + +logo + +[![Maven Central](https://maven-badges.herokuapp.com/maven-central/org.apache.bookkeeper/bookkeeper/badge.svg)](https://maven-badges.herokuapp.com/maven-central/org.apache.bookkeeper/bookkeeper) + +# Apache BookKeeper + +Apache BookKeeper is a scalable, fault-tolerant and low latency storage service optimized for append-only workloads. + +It is suitable for being used in following scenarios: + +- WAL (Write-Ahead-Logging), e.g. HDFS NameNode, Pravega. +- Message Store, e.g. Apache Pulsar. +- Offset/Cursor Store, e.g. Apache Pulsar. +- Object/Blob Store, e.g. storing state machine snapshots. + +## Get Started + +* Checkout the project [website](https://bookkeeper.apache.org/). +* *Concepts*: Start with the [basic concepts](https://bookkeeper.apache.org/docs/getting-started/concepts) of Apache BookKeeper. + This will help you to fully understand the other parts of the documentation. +* Follow the [Installation](https://bookkeeper.apache.org/docs/getting-started/installation) guide to set up BookKeeper. + +## Documentation + +Please visit the [Documentation](https://bookkeeper.apache.org/docs/overview/) from the project website for more information. + +## Get In Touch + +### Report a Bug + +For filing bugs, suggesting improvements, or requesting new features, help us out by [opening a GitHub issue](https://github.com/apache/bookkeeper/issues). + +### Need Help? + +[Subscribe](mailto:user-subscribe@bookkeeper.apache.org) or [mail](mailto:user@bookkeeper.apache.org) the [user@bookkeeper.apache.org](mailto:user@bookkeeper.apache.org) list - Ask questions, find answers, and also help other users. + +[Subscribe](mailto:dev-subscribe@bookkeeper.apache.org) or [mail](mailto:dev@bookkeeper.apache.org) the [dev@bookkeeper.apache.org](mailto:dev@bookkeeper.apache.org) list - Join development discussions, propose new ideas and connect with contributors. + +[Join us on Slack](https://communityinviter.com/apps/apachebookkeeper/apache-bookkeeper) - This is the most immediate way to connect with Apache BookKeeper committers and contributors. + +## Contributing + +We feel that a welcoming open community is important and welcome contributions. + +### Contributing Code + +1. See our [installation guide](https://bookkeeper.apache.org/docs/next/getting-started/installation/) to get your local environment setup. + +2. Take a look at our open issues: [GitHub Issues](https://github.com/apache/bookkeeper/issues). + +3. Review our [coding style](https://bookkeeper.apache.org/community/coding-guide/) and follow our [pull requests](https://github.com/apache/bookkeeper/pulls) to learn more about our conventions. + +4. Make your changes according to our [contributing guide](https://bookkeeper.apache.org/community/contributing/) diff --git a/data/readmes/bootc-v1110.md b/data/readmes/bootc-v1110.md new file mode 100644 index 0000000..86ff60c --- /dev/null +++ b/data/readmes/bootc-v1110.md @@ -0,0 +1,81 @@ +# bootc - README (v1.11.0) + +**Repository**: https://github.com/bootc-dev/bootc +**Version**: v1.11.0 + +--- + +![bootc logo](https://raw.githubusercontent.com/containers/common/main/logos/bootc-logo-full-vert.png) +# bootc + +Transactional, in-place operating system updates using OCI/Docker container images. + +## Motivation + +The original Docker container model of using "layers" to model +applications has been extremely successful. This project +aims to apply the same technique for bootable host systems - using +standard OCI/Docker containers as a transport and delivery format +for base operating system updates. + +The container image includes a Linux kernel (in e.g. `/usr/lib/modules`), +which is used to boot. At runtime on a target system, the base userspace is +*not* itself running in a "container" by default. For example, assuming +systemd is in use, systemd acts as pid1 as usual - there's no "outer" process. +More about this in the docs; see below. + +## Status + +The CLI and API are considered stable. We will ensure that every existing system +can be upgraded in place seamlessly across any future changes. + +## Documentation + +See the [project documentation](https://bootc-dev.github.io/bootc/). + +## Versioning + +Although bootc is not released to crates.io as a library, version +numbers are expected to follow [semantic +versioning](https://semver.org/) standards. This practice began with +the release of version 1.2.0; versions prior may not adhere strictly +to semver standards. + +## Adopters (base and end-user images) + +The bootc CLI is just a client system; it is not tied to any particular +operating system or Linux distribution. You very likely want to actually +start by looking at [ADOPTERS.md](ADOPTERS.md). + +## Community discussion + +- [Github discussion forum](https://github.com/containers/bootc/discussions) for async discussion +- [#bootc-dev on CNCF Slack](https://cloud-native.slack.com/archives/C08SKSQKG1L) for live chat +- Recurring live meeting hosted on [CNCF Zoom](https://zoom-lfx.platform.linuxfoundation.org/meeting/96540875093?password=7889708d-c520-4565-90d3-ce9e253a1f65) each Friday at 15:30 UTC. + +This project is also tightly related to the previously mentioned Fedora/CentOS bootc project, +and many developers monitor the relevant discussion forums there. In particular there's a +Matrix channel and a weekly video call meeting for example: . + +## Developing bootc + +Are you interested in working on bootc? Great! See our [CONTRIBUTING.md](CONTRIBUTING.md) guide. +There is also a list of [MAINTAINERS.md](MAINTAINERS.md). + +## Governance +See [GOVERNANCE.md](GOVERNANCE.md) for project governance details. + +## Badges + +[![OpenSSF Best Practices](https://www.bestpractices.dev/projects/10113/badge)](https://www.bestpractices.dev/projects/10113) +[![LFX Health Score](https://insights.linuxfoundation.org/api/badge/health-score?project=bootc)](https://insights.linuxfoundation.org/project/bootc) +[![LFX Contributors](https://insights.linuxfoundation.org/api/badge/contributors?project=bootc)](https://insights.linuxfoundation.org/project/bootc) +[![LFX Active Contributors](https://insights.linuxfoundation.org/api/badge/active-contributors?project=bootc)](https://insights.linuxfoundation.org/project/bootc) + +### Code of Conduct + +The bootc project is a [Cloud Native Computing Foundation (CNCF) Sandbox project](https://www.cncf.io/sandbox-projects/) +and adheres to the [CNCF Community Code of Conduct](https://github.com/cncf/foundation/blob/main/code-of-conduct.md). + +--- +The Linux Foundation® (TLF) has registered trademarks and uses trademarks. For a list of TLF trademarks, see [Trademark Usage](https://www.linuxfoundation.org/trademark-usage/). diff --git a/data/readmes/bpfman-v056.md b/data/readmes/bpfman-v056.md new file mode 100644 index 0000000..3b04783 --- /dev/null +++ b/data/readmes/bpfman-v056.md @@ -0,0 +1,133 @@ +# bpfman - README (v0.5.6) + +**Repository**: https://github.com/bpfman/bpfman +**Version**: v0.5.6 + +--- + +![bpfman logo](./docs/img/horizontal/color/bpfman-horizontal-color.png) + +# bpfman: An eBPF Manager + +[![License][apache2-badge]][apache2-url] +[![License][bsd2-badge]][bsd2-url] +[![License][gpl-badge]][gpl-url] +![Build status][build-badge] +[![Book][book-badge]][book-url] +[![Netlify Status][netlify-badge]][netlify-url] +[![Copr build status][copr-badge]][copr-url] +[![OpenSSF Scorecard][openssf-badge]][openssf-url] +[![OpenSSF Best Practices][openssf-best-practices-badge]][openssf-best-practices-url] +[![FOSSA Status][fossa-badge]][fossa-url] +[![Ask DeepWiki](https://deepwiki.com/badge.svg)](https://deepwiki.com/bpfman/bpfman) + +[apache2-badge]: https://img.shields.io/badge/License-Apache%202.0-blue.svg +[apache2-url]: https://opensource.org/licenses/Apache-2.0 +[bsd2-badge]: https://img.shields.io/badge/License-BSD%202--Clause-orange.svg +[bsd2-url]: https://opensource.org/licenses/BSD-2-Clause +[gpl-badge]: https://img.shields.io/badge/License-GPL%20v2-blue.svg +[gpl-url]: https://opensource.org/licenses/GPL-2.0 +[build-badge]: https://img.shields.io/github/actions/workflow/status/bpfman/bpfman/build.yml?branch=main +[book-badge]: https://img.shields.io/badge/read%20the-book-9cf.svg +[book-url]: https://bpfman.io/ +[copr-badge]: https://copr.fedorainfracloud.org/coprs/g/ebpf-sig/bpfman-next/package/bpfman/status_image/last_build.png +[copr-url]: https://copr.fedorainfracloud.org/coprs/g/ebpf-sig/bpfman-next/package/bpfman/ +[netlify-badge]: https://api.netlify.com/api/v1/badges/557ca612-4b7f-480d-a1cc-43b453502992/deploy-status +[netlify-url]: https://app.netlify.com/sites/bpfman/deploys +[openssf-badge]: https://api.scorecard.dev/projects/github.com/bpfman/bpfman/badge +[openssf-url]: https://scorecard.dev/viewer/?uri=github.com/bpfman/bpfman +[openssf-best-practices-badge]: https://www.bestpractices.dev/projects/10169/badge +[openssf-best-practices-url]: https://www.bestpractices.dev/projects/10169 +[fossa-badge]: https://app.fossa.com/api/projects/git%2Bgithub.com%2Fbpfman%2Fbpfman.svg?type=shield +[fossa-url]: https://app.fossa.com/projects/git%2Bgithub.com%2Fbpfman%2Fbpfman?ref=badge_shield + +_Formerly know as `bpfd`_ + +bpfman is a Cloud Native Computing Foundation Sandbox project + + + + + CNCF Logo + + +## Welcome to bpfman + +bpfman operates as an eBPF manager, focusing on simplifying the deployment and administration of eBPF programs. Its notable features encompass: + +- **System Overview**: Provides insights into how eBPF is utilized in your system. +- **eBPF Program Loader**: Includes a built-in program loader that supports program cooperation for XDP and TC programs, as well as deployment of eBPF programs from OCI images. +- **eBPF Filesystem Management**: Manages the eBPF filesystem, facilitating the deployment of eBPF applications without requiring additional privileges. + +Our program loader and eBPF filesystem manager ensure the secure deployment of eBPF applications. +Furthermore, bpfman includes a Kubernetes operator, extending these capabilities to Kubernetes. +This allows users to confidently deploy eBPF through custom resource definitions across nodes in a cluster. + +Here are some links to help in your bpfman journey (all links are from the bpfman website ): + +- [Welcome to bpfman](https://bpfman.io/) for overview of bpfman. +- [Quick Start](https://bpfman.io/main/quick-start) for a quick installation of bpfman without having to download or + build the code from source. + Good for just getting familiar with bpfman and playing around with it. +- [Deploying Example eBPF Programs On Local Host](https://bpfman.io/main/getting-started/example-bpf-local/) + for some examples of running `bpfman` on local host and using the CLI to install + eBPF programs on the host. +- [Deploying Example eBPF Programs On Kubernetes](https://bpfman.io/main/getting-started/example-bpf-k8s/) + for some examples of deploying eBPF programs through `bpfman` in a Kubernetes deployment. +- [Setup and Building bpfman](https://bpfman.io/main/getting-started/building-bpfman/) for instructions + on setting up your development environment and building bpfman. +- [Example eBPF Programs](https://bpfman.io/main/getting-started/example-bpf/) for some + examples of eBPF programs written in Go, interacting with `bpfman`. +- [Deploying the bpfman-operator](https://bpfman.io/main/getting-started/develop-operator/) for details on launching + bpfman in a Kubernetes cluster. +- [Meet the Community](https://bpfman.io/main/governance/meetings/) for details on community meeting details. + +## Issues + +Would you like to report a bug? Feel free to [add an issue](https://github.com/bpfman/bpfman/issues). + +Would you like to start a conversation on a specific topic? Please, [open a discussion](https://github.com/bpfman/bpfman/discussions). + +## License + +With the exception of eBPF code, everything is distributed under the terms of +the [Apache License] (version 2.0). + +[![FOSSA Status](https://app.fossa.com/api/projects/git%2Bgithub.com%2Fbpfman%2Fbpfman.svg?type=large)](https://app.fossa.com/projects/git%2Bgithub.com%2Fbpfman%2Fbpfman?ref=badge_large) + +### eBPF + +All eBPF code is distributed under either: + +- The terms of the [GNU General Public License, Version 2] or the + [BSD 2 Clause] license, at your option. +- The terms of the [GNU General Public License, Version 2]. + +The exact license text varies by file. Please see the SPDX-License-Identifier +header in each file for details. + +Files that originate from the authors of bpfman use +`(GPL-2.0-only OR BSD-2-Clause)` - for example the [TC dispatcher] or our +own example programs. + +Files that were originally created in [libxdp] use `GPL-2.0-only`. + +Unless you explicitly state otherwise, any contribution intentionally submitted +for inclusion in this project by you, as defined in the GPL-2 license, shall be +dual licensed as above, without any additional terms or conditions. + +[Apache license]: LICENSE-APACHE +[GNU General Public License, Version 2]: LICENSE-GPL2 +[BSD 2 Clause]: LICENSE-BSD2 +[libxdp]: https://github.com/xdp-project/xdp-tools +[TC dispatcher]:https://github.com/bpfman/bpfman/blob/main/bpf/tc_dispatcher.bpf.c + +## Star History + + + + + + Star History Chart + + diff --git a/data/readmes/brigade-v260.md b/data/readmes/brigade-v260.md new file mode 100644 index 0000000..1783d00 --- /dev/null +++ b/data/readmes/brigade-v260.md @@ -0,0 +1,89 @@ +# Brigade - README (v2.6.0) + +**Repository**: https://github.com/brigadecore/brigade +**Version**: v2.6.0 + +--- + +> # ⚠️ Brigade is an [_archived_ CNCF project](https://www.cncf.io/archived-projects/). + +
+ +# Brigade: Event-Driven Scripting for Kubernetes + +![build](https://badgr.brigade2.io/v1/github/checks/brigadecore/brigade/badge.svg?appID=99005&branch=main) +[![slack](https://img.shields.io/badge/slack-brigade-brightgreen.svg?logo=slack)](https://kubernetes.slack.com/messages/C87MF1RFD) +[![Netlify Status](https://api.netlify.com/api/v1/badges/82538e29-5fcd-4196-8fa5-8de57cc096ed/deploy-status)](https://app.netlify.com/sites/brigade-docs/deploys) + + + +Brigade is a full-featured, event-driven scripting platform built on top of +Kubernetes. It integrates with many different event sources, more are always +being added, and it's easy to create your own if you need something specific. +And the best part -- Kubernetes is well-abstracted so even team members without +extensive Kubernetes experience or without direct access to a cluster can be +productive. + +
+ +> ⚠️ You are viewing docs and code for Brigade 2. If you are looking for legacy +> Brigade 1.x documentation and code, visit +> [the v1 branch](https://github.com/brigadecore/brigade/tree/v1) + +## Getting Started + +Ready to get started? Check out our +[QuickStart](https://docs.brigade.sh/intro/quickstart/) for comprehensive +instructions. + +## The Brigade Ecosystem + +Brigade's API makes it easy to create all manner of peripherals-- tooling, event +gateways, and more. + +### Gateways + +Our event gateways receive events from upstream systems (the "outside world") +and convert them to Brigade events that are emitted into Brigade's event bus. + +* [Bitbucket Gateway](https://github.com/brigadecore/brigade-bitbucket-gateway/tree/v2) +* [CloudEvents Gateway](https://github.com/brigadecore/brigade-cloudevents-gateway) +* [Docker Hub Gateway](https://github.com/brigadecore/brigade-dockerhub-gateway) +* [GitHub Gateway](https://github.com/brigadecore/brigade-github-gateway) +* [Slack Gateway](https://github.com/brigadecore/brigade-slack-gateway) + +### Other Event Sources + +* [Cron Event Source](https://github.com/brigadecore/brigade-cron-event-source) +* [Brigade Noisy Neighbor](https://github.com/brigadecore/brigade-noisy-neighbor) + +### Monitoring + +[Brigade Metrics](https://github.com/brigadecore/brigade-metrics) is a great way +to obtain operational insights into a Brigade installation. + +### SDKs + +Use any of these to develop your own integrations! + +* [Brigade SDK for Go](https://github.com/brigadecore/brigade/tree/main/sdk) (used by Brigade itself) +* [Brigade SDK for JavaScript](https://github.com/krancour/brigade-sdk-for-js) (and TypeScript) + +## Contributing + +The Brigade project accepts contributions via GitHub pull requests. The +[Contributing](CONTRIBUTING.md) document outlines the process to help get your +contribution accepted. + +## Support & Feedback + +We have a slack channel! +[Kubernetes/#brigade](https://kubernetes.slack.com/messages/C87MF1RFD) Feel free +to join for any support questions or feedback, we are happy to help. To report +an issue or to request a feature open an issue +[here](https://github.com/brigadecore/brigade/issues) + +## Code of Conduct + +Participation in the Brigade project is governed by the +[CNCF Code of Conduct](https://github.com/cncf/foundation/blob/master/code-of-conduct.md). diff --git a/data/readmes/buildah-v1422.md b/data/readmes/buildah-v1422.md new file mode 100644 index 0000000..b3bd264 --- /dev/null +++ b/data/readmes/buildah-v1422.md @@ -0,0 +1,143 @@ +# Buildah - README (v1.42.2) + +**Repository**: https://github.com/containers/buildah +**Version**: v1.42.2 + +--- + +![buildah logo (light)](logos/buildah-logo_large.png#gh-light-mode-only) +![buildah logo (dark)](logos/buildah-logo_reverse_large.png#gh-dark-mode-only) + +# [Buildah](https://www.youtube.com/embed/YVk5NgSiUw8) - a tool that facilitates building [Open Container Initiative (OCI)](https://www.opencontainers.org/) container images + +[![Go Report Card](https://goreportcard.com/badge/github.com/containers/buildah)](https://goreportcard.com/report/github.com/containers/buildah) +[![OpenSSF Best Practices](https://www.bestpractices.dev/projects/10579/badge)](https://www.bestpractices.dev/projects/10579) + + +The Buildah package provides a command line tool that can be used to +* create a working container, either from scratch or using an image as a starting point +* create an image, either from a working container or via the instructions in a Dockerfile +* images can be built in either the OCI image format or the traditional upstream docker image format +* mount a working container's root filesystem for manipulation +* unmount a working container's root filesystem +* use the updated contents of a container's root filesystem as a filesystem layer to create a new image +* delete a working container or an image +* rename a local container + +## Buildah Information for Developers + +For blogs, release announcements and more, please checkout the [buildah.io](https://buildah.io) website! + +**[Buildah Container Images](https://github.com/containers/image_build/blob/main/buildah/README.md)** + +**[Buildah Demos](demos)** + +**[Changelog](CHANGELOG.md)** + +**[Contributing](CONTRIBUTING.md)** + +**[Development Plan](developmentplan.md)** + +**[Installation notes](install.md)** + +**[Troubleshooting Guide](troubleshooting.md)** + +**[Tutorials](docs/tutorials)** + +## Buildah and Podman relationship + +Buildah and Podman are two complementary open-source projects that are +available on most Linux platforms and both projects reside at +[GitHub.com](https://github.com) with Buildah +[here](https://github.com/containers/buildah) and Podman +[here](https://github.com/containers/podman). Both, Buildah and Podman are +command line tools that work on Open Container Initiative (OCI) images and +containers. The two projects differentiate in their specialization. + +Buildah specializes in building OCI images. Buildah's commands replicate all +of the commands that are found in a Dockerfile. This allows building images +with and without Dockerfiles while not requiring any root privileges. +Buildah’s ultimate goal is to provide a lower-level coreutils interface to +build images. The flexibility of building images without Dockerfiles allows +for the integration of other scripting languages into the build process. +Buildah follows a simple fork-exec model and does not run as a daemon +but it is based on a comprehensive API in golang, which can be vendored +into other tools. + +Podman specializes in all of the commands and functions that help you to maintain and modify +OCI images, such as pulling and tagging. It also allows you to create, run, and maintain those containers +created from those images. For building container images via Dockerfiles, Podman uses Buildah's +golang API and can be installed independently from Buildah. + +A major difference between Podman and Buildah is their concept of a container. Podman +allows users to create "traditional containers" where the intent of these containers is +to be long lived. While Buildah containers are really just created to allow content +to be added back to the container image. An easy way to think of it is the +`buildah run` command emulates the RUN command in a Dockerfile while the `podman run` +command emulates the `docker run` command in functionality. Because of this and their underlying +storage differences, you can not see Podman containers from within Buildah or vice versa. + +In short, Buildah is an efficient way to create OCI images while Podman allows +you to manage and maintain those images and containers in a production environment using +familiar container cli commands. For more details, see the +[Container Tools Guide](https://github.com/containers/buildah/tree/main/docs/containertools). + +## Example + +From [`./examples/lighttpd.sh`](examples/lighttpd.sh): + +```bash +$ cat > lighttpd.sh <<"EOF" +#!/usr/bin/env bash + +set -x + +ctr1=$(buildah from "${1:-fedora}") + +## Get all updates and install our minimal httpd server +buildah run "$ctr1" -- dnf update -y +buildah run "$ctr1" -- dnf install -y lighttpd + +## Include some buildtime annotations +buildah config --annotation "com.example.build.host=$(uname -n)" "$ctr1" + +## Run our server and expose the port +buildah config --cmd "/usr/sbin/lighttpd -D -f /etc/lighttpd/lighttpd.conf" "$ctr1" +buildah config --port 80 "$ctr1" + +## Commit this container to an image name +buildah commit "$ctr1" "${2:-$USER/lighttpd}" +EOF + +$ chmod +x lighttpd.sh +$ ./lighttpd.sh +``` + +## Commands +| Command | Description | +| ---------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | +| [buildah-add(1)](/docs/buildah-add.1.md) | Add the contents of a file, URL, or a directory to the container. | +| [buildah-build(1)](/docs/buildah-build.1.md) | Build an image using instructions from Containerfiles or Dockerfiles. | +| [buildah-commit(1)](/docs/buildah-commit.1.md) | Create an image from a working container. | +| [buildah-config(1)](/docs/buildah-config.1.md) | Update image configuration settings. | +| [buildah-containers(1)](/docs/buildah-containers.1.md) | List the working containers and their base images. | +| [buildah-copy(1)](/docs/buildah-copy.1.md) | Copies the contents of a file, URL, or directory into a container's working directory. | +| [buildah-from(1)](/docs/buildah-from.1.md) | Creates a new working container, either from scratch or using a specified image as a starting point. | +| [buildah-images(1)](/docs/buildah-images.1.md) | List images in local storage. | +| [buildah-info(1)](/docs/buildah-info.1.md) | Display Buildah system information. | +| [buildah-inspect(1)](/docs/buildah-inspect.1.md) | Inspects the configuration of a container or image. | +| [buildah-mount(1)](/docs/buildah-mount.1.md) | Mount the working container's root filesystem. | +| [buildah-pull(1)](/docs/buildah-pull.1.md) | Pull an image from the specified location. | +| [buildah-push(1)](/docs/buildah-push.1.md) | Push an image from local storage to elsewhere. | +| [buildah-rename(1)](/docs/buildah-rename.1.md) | Rename a local container. | +| [buildah-rm(1)](/docs/buildah-rm.1.md) | Removes one or more working containers. | +| [buildah-rmi(1)](/docs/buildah-rmi.1.md) | Removes one or more images. | +| [buildah-run(1)](/docs/buildah-run.1.md) | Run a command inside of the container. | +| [buildah-tag(1)](/docs/buildah-tag.1.md) | Add an additional name to a local image. | +| [buildah-umount(1)](/docs/buildah-umount.1.md) | Unmount a working container's root file system. | +| [buildah-unshare(1)](/docs/buildah-unshare.1.md) | Launch a command in a user namespace with modified ID mappings. | +| [buildah-version(1)](/docs/buildah-version.1.md) | Display the Buildah Version Information | + +**Future goals include:** +* more CI tests +* additional CLI commands (?) diff --git a/data/readmes/buildpacks-v0390.md b/data/readmes/buildpacks-v0390.md new file mode 100644 index 0000000..7d53524 --- /dev/null +++ b/data/readmes/buildpacks-v0390.md @@ -0,0 +1,52 @@ +# Buildpacks - README (v0.39.0) + +**Repository**: https://github.com/buildpacks/pack +**Version**: v0.39.0 + +--- + +# pack - Buildpack CLI + +[![Build results](https://github.com/buildpacks/pack/workflows/build/badge.svg)](https://github.com/buildpacks/pack/actions) +[![Go Report Card](https://goreportcard.com/badge/github.com/buildpacks/pack)](https://goreportcard.com/report/github.com/buildpacks/pack) +[![codecov](https://codecov.io/gh/buildpacks/pack/branch/main/graph/badge.svg)](https://codecov.io/gh/buildpacks/pack) +[![GoDoc](https://godoc.org/github.com/buildpacks/pack?status.svg)](https://godoc.org/github.com/buildpacks/pack) +[![GitHub license](https://img.shields.io/github/license/buildpacks/pack)](https://github.com/buildpacks/pack/blob/main/LICENSE) +[![CII Best Practices](https://bestpractices.coreinfrastructure.org/projects/4748/badge)](https://bestpractices.coreinfrastructure.org/projects/4748) +[![Slack](https://img.shields.io/badge/slack-join-ff69b4.svg?logo=slack)](https://slack.cncf.io/) +[![Gitpod ready-to-code](https://img.shields.io/badge/Gitpod-ready--to--code-blue?logo=gitpod)](https://gitpod.io/#https://github.com/buildpacks/pack) + +`pack` makes it easy for... +- [**App Developers**][app-dev] to use buildpacks to convert code into runnable images. +- [**Buildpack Authors**][bp-author] to develop and package buildpacks for distribution. +- [**Operators**][operator] to package buildpacks for distribution and maintain applications. + +## Usage + + + +## Getting Started +Get started by running through our tutorial: [An App’s Brief Journey from Source to Image][getting-started] + +## Contributing +- [CONTRIBUTING](CONTRIBUTING.md) - Information on how to contribute, including the pull request process. +- [DEVELOPMENT](DEVELOPMENT.md) - Further detail to help you during the development process. +- [RELEASE](RELEASE.md) - Further details about our release process. + +## Documentation +Check out the command line documentation [here][pack-docs] + +## Specifications +`pack` is a CLI implementation of the [Platform Interface Specification][platform-spec] for [Cloud Native Buildpacks][buildpacks.io]. + +To learn more about the details, check out the [specs repository][specs]. + +[app-dev]: https://buildpacks.io/docs/for-app-developers/ +[bp-author]: https://buildpacks.io/docs/for-buildpack-authors/ +[operator]: https://buildpacks.io/docs/for-platform-operators/ +[buildpacks.io]: https://buildpacks.io/ +[install-pack]: https://buildpacks.io/docs/install-pack/ +[getting-started]: https://buildpacks.io/docs/app-journey +[specs]: https://github.com/buildpacks/spec/ +[platform-spec]: https://github.com/buildpacks/spec/blob/main/platform.md +[pack-docs]: https://buildpacks.io/docs/tools/pack/cli/pack/ diff --git a/data/readmes/caddy-v2110-beta1.md b/data/readmes/caddy-v2110-beta1.md new file mode 100644 index 0000000..06186ed --- /dev/null +++ b/data/readmes/caddy-v2110-beta1.md @@ -0,0 +1,209 @@ +# Caddy - README (v2.11.0-beta.1) + +**Repository**: https://github.com/caddyserver/caddy +**Version**: v2.11.0-beta.1 + +--- + +

+ + + + + Caddy + + +
+

a project

+

+
+

Every site on HTTPS

+

Caddy is an extensible server platform that uses TLS by default.

+

+ + + +
+ @caddyserver on Twitter + Caddy Forum +
+ Caddy on Sourcegraph + Cloudsmith +

+

+ Releases · + Documentation · + Get Help +

+ + + +### Menu + +- [Features](#features) +- [Install](#install) +- [Build from source](#build-from-source) + - [For development](#for-development) + - [With version information and/or plugins](#with-version-information-andor-plugins) +- [Quick start](#quick-start) +- [Overview](#overview) +- [Full documentation](#full-documentation) +- [Getting help](#getting-help) +- [About](#about) + +

+ Powered by +
+ + + + + CertMagic + + +

+ + +## [Features](https://caddyserver.com/features) + +- **Easy configuration** with the [Caddyfile](https://caddyserver.com/docs/caddyfile) +- **Powerful configuration** with its [native JSON config](https://caddyserver.com/docs/json/) +- **Dynamic configuration** with the [JSON API](https://caddyserver.com/docs/api) +- [**Config adapters**](https://caddyserver.com/docs/config-adapters) if you don't like JSON +- **Automatic HTTPS** by default + - [ZeroSSL](https://zerossl.com) and [Let's Encrypt](https://letsencrypt.org) for public names + - Fully-managed local CA for internal names & IPs + - Can coordinate with other Caddy instances in a cluster + - Multi-issuer fallback + - Encrypted ClientHello (ECH) support +- **Stays up when other servers go down** due to TLS/OCSP/certificate-related issues +- **Production-ready** after serving trillions of requests and managing millions of TLS certificates +- **Scales to hundreds of thousands of sites** as proven in production +- **HTTP/1.1, HTTP/2, and HTTP/3** all supported by default +- **Highly extensible** [modular architecture](https://caddyserver.com/docs/architecture) lets Caddy do anything without bloat +- **Runs anywhere** with **no external dependencies** (not even libc) +- Written in Go, a language with higher **memory safety guarantees** than other servers +- Actually **fun to use** +- So much more to [discover](https://caddyserver.com/features) + +## Install + +The simplest, cross-platform way to get started is to download Caddy from [GitHub Releases](https://github.com/caddyserver/caddy/releases) and place the executable file in your PATH. + +See [our online documentation](https://caddyserver.com/docs/install) for other install instructions. + +## Build from source + +Requirements: + +- [Go 1.25.0 or newer](https://golang.org/dl/) + +### For development + +_**Note:** These steps [will not embed proper version information](https://github.com/golang/go/issues/29228). For that, please follow the instructions in the next section._ + +```bash +$ git clone "https://github.com/caddyserver/caddy.git" +$ cd caddy/cmd/caddy/ +$ go build +``` + +When you run Caddy, it may try to bind to low ports unless otherwise specified in your config. If your OS requires elevated privileges for this, you will need to give your new binary permission to do so. On Linux, this can be done easily with: `sudo setcap cap_net_bind_service=+ep ./caddy` + +If you prefer to use `go run` which only creates temporary binaries, you can still do this with the included `setcap.sh` like so: + +```bash +$ go run -exec ./setcap.sh main.go +``` + +If you don't want to type your password for `setcap`, use `sudo visudo` to edit your sudoers file and allow your user account to run that command without a password, for example: + +``` +username ALL=(ALL:ALL) NOPASSWD: /usr/sbin/setcap +``` + +replacing `username` with your actual username. Please be careful and only do this if you know what you are doing! We are only qualified to document how to use Caddy, not Go tooling or your computer, and we are providing these instructions for convenience only; please learn how to use your own computer at your own risk and make any needful adjustments. + +### With version information and/or plugins + +Using [our builder tool, `xcaddy`](https://github.com/caddyserver/xcaddy)... + +``` +$ xcaddy build +``` + +...the following steps are automated: + +1. Create a new folder: `mkdir caddy` +2. Change into it: `cd caddy` +3. Copy [Caddy's main.go](https://github.com/caddyserver/caddy/blob/master/cmd/caddy/main.go) into the empty folder. Add imports for any custom plugins you want to add. +4. Initialize a Go module: `go mod init caddy` +5. (Optional) Pin Caddy version: `go get github.com/caddyserver/caddy/v2@version` replacing `version` with a git tag, commit, or branch name. +6. (Optional) Add plugins by adding their import: `_ "import/path/here"` +7. Compile: `go build -tags=nobadger,nomysql,nopgx` + + + + +## Quick start + +The [Caddy website](https://caddyserver.com/docs/) has documentation that includes tutorials, quick-start guides, reference, and more. + +**We recommend that all users -- regardless of experience level -- do our [Getting Started](https://caddyserver.com/docs/getting-started) guide to become familiar with using Caddy.** + +If you've only got a minute, [the website has several quick-start tutorials](https://caddyserver.com/docs/quick-starts) to choose from! However, after finishing a quick-start tutorial, please read more documentation to understand how the software works. 🙂 + + + + +## Overview + +Caddy is most often used as an HTTPS server, but it is suitable for any long-running Go program. First and foremost, it is a platform to run Go applications. Caddy "apps" are just Go programs that are implemented as Caddy modules. Two apps -- `tls` and `http` -- ship standard with Caddy. + +Caddy apps instantly benefit from [automated documentation](https://caddyserver.com/docs/json/), graceful on-line [config changes via API](https://caddyserver.com/docs/api), and unification with other Caddy apps. + +Although [JSON](https://caddyserver.com/docs/json/) is Caddy's native config language, Caddy can accept input from [config adapters](https://caddyserver.com/docs/config-adapters) which can essentially convert any config format of your choice into JSON: Caddyfile, JSON 5, YAML, TOML, NGINX config, and more. + +The primary way to configure Caddy is through [its API](https://caddyserver.com/docs/api), but if you prefer config files, the [command-line interface](https://caddyserver.com/docs/command-line) supports those too. + +Caddy exposes an unprecedented level of control compared to any web server in existence. In Caddy, you are usually setting the actual values of the initialized types in memory that power everything from your HTTP handlers and TLS handshakes to your storage medium. Caddy is also ridiculously extensible, with a powerful plugin system that makes vast improvements over other web servers. + +To wield the power of this design, you need to know how the config document is structured. Please see [our documentation site](https://caddyserver.com/docs/) for details about [Caddy's config structure](https://caddyserver.com/docs/json/). + +Nearly all of Caddy's configuration is contained in a single config document, rather than being scattered across CLI flags and env variables and a configuration file as with other web servers. This makes managing your server config more straightforward and reduces hidden variables/factors. + + +## Full documentation + +Our website has complete documentation: + +**https://caddyserver.com/docs/** + +The docs are also open source. You can contribute to them here: https://github.com/caddyserver/website + + + +## Getting help + +- We advise companies using Caddy to secure a support contract through [Ardan Labs](https://www.ardanlabs.com) before help is needed. + +- A [sponsorship](https://github.com/sponsors/mholt) goes a long way! We can offer private help to sponsors. If Caddy is benefitting your company, please consider a sponsorship. This not only helps fund full-time work to ensure the longevity of the project, it provides your company the resources, support, and discounts you need; along with being a great look for your company to your customers and potential customers! + +- Individuals can exchange help for free on our community forum at https://caddy.community. Remember that people give help out of their spare time and good will. The best way to get help is to give it first! + +Please use our [issue tracker](https://github.com/caddyserver/caddy/issues) only for bug reports and feature requests, i.e. actionable development items (support questions will usually be referred to the forums). + + + +## About + +Matthew Holt began developing Caddy in 2014 while studying computer science at Brigham Young University. (The name "Caddy" was chosen because this software helps with the tedious, mundane tasks of serving the Web, and is also a single place for multiple things to be organized together.) It soon became the first web server to use HTTPS automatically and by default, and now has hundreds of contributors and has served trillions of HTTPS requests. + +**The name "Caddy" is trademarked.** The name of the software is "Caddy", not "Caddy Server" or "CaddyServer". Please call it "Caddy" or, if you wish to clarify, "the Caddy web server". Caddy is a registered trademark of Stack Holdings GmbH. + +- _Project on X: [@caddyserver](https://x.com/caddyserver)_ +- _Author on X: [@mholt6](https://x.com/mholt6)_ + +Caddy is a project of [ZeroSSL](https://zerossl.com), a Stack Holdings company. + +Debian package repository hosting is graciously provided by [Cloudsmith](https://cloudsmith.com). Cloudsmith is the only fully hosted, cloud-native, universal package management solution, that enables your organization to create, store and share packages in any format, to any place, with total confidence. diff --git a/data/readmes/cadence-workflow-v137-prerelease23.md b/data/readmes/cadence-workflow-v137-prerelease23.md new file mode 100644 index 0000000..d40f4f8 --- /dev/null +++ b/data/readmes/cadence-workflow-v137-prerelease23.md @@ -0,0 +1,123 @@ +# Cadence Workflow - README (v1.3.7-prerelease23) + +**Repository**: https://github.com/cadence-workflow/cadence +**Version**: v1.3.7-prerelease23 + +--- + +# Cadence +[![Build Status](https://github.com/cadence-workflow/cadence/actions/workflows/ci-checks.yml/badge.svg)](https://github.com/cadence-workflow/cadence/actions/workflows/ci-checks.yml) +[![Coverage](https://codecov.io/gh/cadence-workflow/cadence/graph/badge.svg?token=7SD244ImNF)](https://codecov.io/gh/cadence-workflow/cadence) +[![Slack Status](https://img.shields.io/badge/slack-join_chat-white.svg?logo=slack&style=social)](https://communityinviter.com/apps/cloud-native/cncf) +[![Github release](https://img.shields.io/github/v/release/cadence-workflow/cadence.svg)](https://github.com/cadence-workflow/cadence/releases) +[![License](https://img.shields.io/github/license/cadence-workflow/cadence.svg)](http://www.apache.org/licenses/LICENSE-2.0) + +Cadence Workflow is an open-source platform since 2017 for building and running scalable, fault-tolerant, and long-running workflows. This repository contains the core orchestration engine and tools including CLI, schema managment, benchmark and canary. + + +## Getting Started + +Cadence backend consists of multiple services, a database (Cassandra/MySQL/PostgreSQL) and optionally Kafka+Elasticsearch. +As a user, you need a worker which contains your workflow implementation. +Once you have Cadence backend and worker(s) running, you can trigger workflows by using SDKs or via CLI. + +1. Start cadence backend components locally + +``` +docker compose -f docker/docker-compose.yml up +``` + +2. Run the Samples + +Try out the sample recipes for [Go](https://github.com/cadence-workflow/cadence-samples) or [Java](https://github.com/cadence-workflow/cadence-java-samples). + +3. Visit UI + +Visit http://localhost:8088 to check workflow histories and detailed traces. + + +### Client Libraries +You can implement your workflows with one of our client libraries: +- [Official Cadence Go SDK](https://github.com/cadence-workflow/cadence-go-client) +- [Official Cadence Java SDK](https://github.com/cadence-workflow/cadence-java-client) +There are also unofficial [Python](https://github.com/firdaus/cadence-python) and [Ruby](https://github.com/coinbase/cadence-ruby) SDKs developed by the community. + +You can also use [iWF](https://github.com/indeedeng/iwf) as a DSL framework on top of Cadence. + +### CLI + +Cadence CLI can be used to operate workflows, tasklist, domain and even the clusters. + +You can use the following ways to install Cadence CLI: +* Use brew to install CLI: `brew install cadence-workflow` + * Follow the [instructions](https://github.com/cadence-workflow/cadence/discussions/4457) if you need to install older versions of CLI via homebrew. Usually this is only needed when you are running a server of a too old version. +* Use docker image for CLI: `docker run --rm ubercadence/cli:` or `docker run --rm ubercadence/cli:master ` . Be sure to update your image when you want to try new features: `docker pull ubercadence/cli:master ` +* Build the CLI binary yourself, check out the repo and run `make cadence` to build all tools. See [CONTRIBUTING](CONTRIBUTING.md) for prerequisite of make command. +* Build the CLI image yourself, see [instructions](docker/README.md#diy-building-an-image-for-any-tag-or-branch) + +Cadence CLI is a powerful tool. The commands are organized by tabs. E.g. `workflow`->`batch`->`start`, or `admin`->`workflow`->`describe`. + +Please read the [documentation](https://cadenceworkflow.io/docs/cli/#documentation) and always try out `--help` on any tab to learn & explore. + +### UI + +Try out [Cadence Web UI](https://github.com/cadence-workflow/cadence-web) to view your workflows on Cadence. +(This is already available at localhost:8088 if you run Cadence with docker compose) + + +### Other binaries in this repo + +#### Bench/stress test workflow tools +See [bench documentation](./bench/README.md). + +#### Periodical feature health check workflow tools(aka Canary) +See [canary documentation](./canary/README.md). + +#### Schema tools for SQL and Cassandra +The tools are for [manual setup or upgrading database schema](docs/persistence.md) + + * If server runs with Cassandra, Use [Cadence Cassandra tool](tools/cassandra/README.md) + * If server runs with SQL database, Use [Cadence SQL tool](tools/sql/README.md) + +The easiest way to get the schema tool is via homebrew. + +`brew install cadence-workflow` also includes `cadence-sql-tool` and `cadence-cassandra-tool`. + * The schema files are located at `/usr/local/etc/cadence/schema/`. + * To upgrade, make sure you remove the old ElasticSearch schema first: `mv /usr/local/etc/cadence/schema/elasticsearch /usr/local/etc/cadence/schema/elasticsearch.old && brew upgrade cadence-workflow`. Otherwise ElasticSearch schemas may not be able to get updated. + * Follow the [instructions](https://github.com/cadence-workflow/cadence/discussions/4457) if you need to install older versions of schema tools via homebrew. + However, easier way is to use new versions of schema tools with old versions of schemas. + All you need is to check out the older version of schemas from this repo. Run `git checkout v0.21.3` to get the v0.21.3 schemas in [the schema folder](/schema). + + +## Contributing + +We'd love your help in making Cadence great. Please review our [contribution guide](CONTRIBUTING.md). + +If you'd like to propose a new feature, first join the [CNCF Slack workspace](https://communityinviter.com/apps/cloud-native/cncf) in the **#cadence-users** channel to start a discussion. + +Please visit our [documentation](https://cadenceworkflow.io/docs/operation-guide/) site for production/cluster setup. + + +### Learning Resources +See Maxim's talk at [Data@Scale Conference](https://atscaleconference.com/videos/cadence-microservice-architecture-beyond-requestreply) for an architectural overview of Cadence. + +Visit [cadenceworkflow.io](https://cadenceworkflow.io) to learn more about Cadence. Join us in [Cadence Documentation](https://github.com/cadence-workflow/Cadence-Docs) project. Feel free to raise an Issue or Pull Request there. + +### Community +* [Github Discussion](https://github.com/cadence-workflow/cadence/discussions) + * Best for Q&A, support/help, general discusion, and annoucement +* [Github Issues](https://github.com/cadence-workflow/cadence/issues) + * Best for reporting bugs and feature requests +* [StackOverflow](https://stackoverflow.com/questions/tagged/cadence-workflow) + * Best for Q&A and general discusion +* [Slack](https://communityinviter.com/apps/cloud-native/cncf) - Join **#cadence-users** channel on CNCF Slack + * Best for contributing/development discussion + + +## Stars over time +[![Stargazers over time](https://starchart.cc/uber/cadence.svg?variant=adaptive)](https://starchart.cc/uber/cadence) + + +## License + +Apache 2.0 License, please see [LICENSE](https://github.com/cadence-workflow/cadence/blob/master/LICENSE) for details. diff --git a/data/readmes/camel-camel-4160.md b/data/readmes/camel-camel-4160.md new file mode 100644 index 0000000..e7f60b0 --- /dev/null +++ b/data/readmes/camel-camel-4160.md @@ -0,0 +1,115 @@ +# Camel - README (camel-4.16.0) + +**Repository**: https://github.com/apache/camel +**Version**: camel-4.16.0 + +--- + +# Apache Camel + +[![Maven Central](https://maven-badges.herokuapp.com/maven-central/org.apache.camel/apache-camel/badge.svg?style=flat-square)](https://maven-badges.herokuapp.com/maven-central/org.apache.camel/apache-camel) +[![Javadocs](https://www.javadoc.io/badge/org.apache.camel/apache-camel.svg?color=brightgreen)](https://www.javadoc.io/doc/org.apache.camel/camel-api) +[![Stack Overflow](https://img.shields.io/:stack%20overflow-apache--camel-brightgreen.svg)](http://stackoverflow.com/questions/tagged/apache-camel) +[![Chat](https://img.shields.io/badge/zulip-join_chat-brightgreen.svg)](https://camel.zulipchat.com/) +[![Twitter](https://img.shields.io/twitter/follow/ApacheCamel.svg?label=Follow&style=social)](https://twitter.com/ApacheCamel) + + +[Apache Camel](https://camel.apache.org/) is an Open Source integration framework that empowers you to quickly and easily integrate various systems consuming or producing data. + +### Introduction + +Camel empowers you to define routing and mediation rules in a variety of domain-specific languages (DSL, such as Java, XML, Groovy and YAML). This means you get smart completion of routing rules in your IDE, whether in a Java or XML editor. + +Apache Camel uses URIs to enable easier integration with all kinds of +transport or messaging model including HTTP, ActiveMQ, JMS, JBI, SCA, MINA +or CXF together with working with pluggable Data Format options. +Apache Camel is a small library that has minimal dependencies for easy embedding +in any Java application. Apache Camel lets you work with the same API regardless of the +transport type, making it possible to interact with all the components provided out-of-the-box, +with a good understanding of the API. + +Apache Camel has powerful Bean Binding and integrated seamlessly with +popular frameworks such as Spring, Quarkus, and CDI. + +Apache Camel has extensive testing support allowing you to easily +unit test your routes. + +## Components + +Apache Camel comes alongside several artifacts with components, data formats, languages, and kinds. +The up-to-date list is available online at the Camel website: + +* Components: +* Data Formats: +* Languages: +* Miscellaneous: + +## Examples + +Apache Camel comes with many examples. +The up to date list is available online at GitHub: + +* Examples: + +## Getting Started + +To help you get started, try the following links: + +**Getting Started** + + + +The beginner examples are another powerful alternative pathway for getting started with Apache Camel. + +* Examples: + +**Building** + + + +**Contributions** + +We welcome all kinds of contributions, the details of which are specified here: + + + + +Please refer to the website for details of finding the issue tracker, +email lists, GitHub, chat + +Website: + +GitHub (source): + +Issue tracker: + +Mailing-list: + +Chat: + +StackOverflow: + +Twitter: + + +**Support** + +For additional help, support, we recommend referencing this page first: + + + +**Getting Help** + +If you get stuck somewhere, please feel free to reach out to us on either StackOverflow, Chat, or the email mailing list. + +Please help us make Apache Camel better — we appreciate any feedback you may have. + +Enjoy! + +----------------- +The Camel riders! + +# Licensing + +The terms for software licensing are detailed in the `LICENSE.txt` file, +located in the working directory. diff --git a/data/readmes/capsule-v0120.md b/data/readmes/capsule-v0120.md new file mode 100644 index 0000000..3f6bf87 --- /dev/null +++ b/data/readmes/capsule-v0120.md @@ -0,0 +1,140 @@ +# Capsule - README (v0.12.0) + +**Repository**: https://github.com/projectcapsule/capsule +**Version**: v0.12.0 + +--- + + +

+ + + + + + + + + + + + + + + + + + + + +

+ +

+ +

+ +--- + +**Join the community** on the [#capsule](https://kubernetes.slack.com/archives/C03GETTJQRL) channel in the [Kubernetes Slack](https://slack.k8s.io/). + +# Kubernetes multi-tenancy made easy + +**Capsule** implements a multi-tenant and policy-based environment in your Kubernetes cluster. It is designed as a micro-services-based ecosystem with the minimalist approach, leveraging only on upstream Kubernetes. + +# What's the problem with the current status? + +Kubernetes introduces the _Namespace_ object type to create logical partitions of the cluster as isolated *slices*. However, implementing advanced multi-tenancy scenarios, it soon becomes complicated because of the flat structure of Kubernetes namespaces and the impossibility to share resources among namespaces belonging to the same tenant. To overcome this, cluster admins tend to provision a dedicated cluster for each groups of users, teams, or departments. As an organization grows, the number of clusters to manage and keep aligned becomes an operational nightmare, described as the well known phenomena of the _clusters sprawl_. + +# Entering Capsule + +Capsule takes a different approach. In a single cluster, the Capsule Controller aggregates multiple namespaces in a lightweight abstraction called _Tenant_, basically a grouping of Kubernetes Namespaces. Within each tenant, users are free to create their namespaces and share all the assigned resources. + +On the other side, the Capsule Policy Engine keeps the different tenants isolated from each other. _Network and Security Policies_, _Resource Quota_, _Limit Ranges_, _RBAC_, and other policies defined at the tenant level are automatically inherited by all the namespaces in the tenant. Then users are free to operate their tenants in autonomy, without the intervention of the cluster administrator. + +# Features + +## Self-Service + +Leave developers the freedom to self-provision their cluster resources according to the assigned boundaries. + +## Preventing Clusters Sprawl + +Share a single cluster with multiple teams, groups of users, or departments by saving operational and management efforts. + +## Governance + +Leverage Kubernetes Admission Controllers to enforce the industry security best practices and meet policy requirements. + +## Resources Control + +Take control of the resources consumed by users while preventing them to overtake. + +## Native Experience + +Provide multi-tenancy with a native Kubernetes experience without introducing additional management layers, plugins, or customized binaries. + +## GitOps ready + +Capsule is completely declarative and GitOps ready. + +## Bring your own device (BYOD) + +Assign to tenants a dedicated set of compute, storage, and network resources and avoid the noisy neighbors' effect. + +# Documentation + +Please check the project [documentation](https://projectcapsule.dev) for the cool things you can do with Capsule. + +# Contributions + +Capsule is Open Source with Apache 2 license and any contribution is welcome. + +## Community meeting + +Join the community, share and learn from it. You can find all the resources to how to contribute code and docs, connect with people in the [community repository](https://github.com/projectcapsule/capsule-community). + +Please read the [code of conduct](CODE_OF_CONDUCT.md). + +## Adopters + +See the [ADOPTERS.md](ADOPTERS.md) file for a list of companies that are using Capsule. + +# Project Governance + +You can find how the Capsule project is governed [here](https://projectcapsule.dev/project/governance/). + +## Maintainers + +Please refer to the maintainers file available [here](.github/maintainers.yaml). + +## CLOMonitor + +CLOMonitor is a tool that periodically checks open source project repositories to verify they meet certain project health best practices. + +[![CloMonitor report summary](https://clomonitor.io/api/projects/cncf/capsule/report-summary?theme=light)](https://clomonitor.io/projects/cncf/capsule) + +### Changelog + +Read how we log changes [here](CHANGELOG.md) + +### Software Bill of Materials + +All OCI release artifacts include a Software Bill of Materials (SBOM) in CycloneDX JSON format. More information about this is available [here](SECURITY.md#software-bill-of-materials-sbom) + +# FAQ + +- Q. How do you pronounce Capsule? + + A. It should be pronounced as `/ˈkæpsjuːl/`. + +- Q. Is it production grade? + + A. Although under frequent development and improvement, Capsule is ready to be used in production environments as currently, people are using it in public and private deployments. Check out the [release](https://github.com/projectcapsule/capsule/releases) page for a detailed list of available versions. + +- Q. Does it work with my Kubernetes XYZ distribution? + + A. We tested Capsule with vanilla Kubernetes 1.16+ on private environments and public clouds. We expect it to work smoothly on any other Kubernetes distribution. Please let us know if you find it doesn't. + +- Q. Do you provide commercial support? + + A. Yes, we're available to help and provide commercial support. [Clastix](https://clastix.io) is the company behind Capsule. Please, contact us for a quote. diff --git a/data/readmes/cardano-1061.md b/data/readmes/cardano-1061.md new file mode 100644 index 0000000..3cdfc49 --- /dev/null +++ b/data/readmes/cardano-1061.md @@ -0,0 +1,74 @@ +# Cardano - README (10.6.1) + +**Repository**: https://github.com/IntersectMBO/cardano-node +**Version**: 10.6.1 + +--- + +

+ + + + + GitHub Workflow Status (master) + + + GitHub Workflow Status (nightly) + +

+ +# `cardano-node` + +The `cardano-node` repository is the point of integration of the +[ledger](https://github.com/IntersectMBO/cardano-ledger), +[consensus](https://github.com/IntersectMBO/ouroboros-consensus), +[networking](https://github.com/IntersectMBO/ouroboros-network) +and [logging](https://github.com/IntersectMBO/cardano-node/tree/master/trace-dispatcher) +layers. It provides the `cardano-node` executable which is used to participate in the Cardano network. + +This is an approximate diagram of the dependencies among the different components: + +```mermaid +stateDiagram-v2 + cn: cardano-node + tr: trace-dispatcher/iohk-monitoring-framework + ca: cardano-api + co: ouroboros-consensus + on: ouroboros-network + cl: cardano-ledger + p: plutus + cn --> ca + cn --> tr + ca --> co + ca --> on + co --> on + co --> cl + ca --> cl + cl --> p +``` + + +# Instructions + +The process for getting a `cardano-node` executable can be found in the +[Cardano Developer +Portal](https://developers.cardano.org/docs/operate-a-stake-pool/node-operations/installing-cardano-node). + +The configuration and files required to run a `cardano-node` in one of the +supported networks are described also in the [Cardano Developer +Portal](https://developers.cardano.org/docs/operate-a-stake-pool/node-operations/running-cardano). + +# Using `cardano-node` and dependencies as a library + +The API documentation is published on [the +webpage](https://cardano-node.cardano.intersectmbo.org/). If you want to use the +`cardano-node` Haskell packages from another Haskell project, you should set up +[CHaP](https://chap.intersectmbo.org) to get the packages defined in this +repository. + +# Troubleshooting + +For some troubleshooting help with building or running `cardano-node`, +the wiki has a [troubleshooting +page](https://github.com/input-output-hk/cardano-node-wiki/wiki/Troubleshooting) +that documents some common gotchas. diff --git a/data/readmes/carina-v0140.md b/data/readmes/carina-v0140.md new file mode 100644 index 0000000..26f2a37 --- /dev/null +++ b/data/readmes/carina-v0140.md @@ -0,0 +1,184 @@ +# Carina - README (v0.14.0) + +**Repository**: https://github.com/carina-io/carina +**Version**: v0.14.0 + +--- + + + +# Carina + +[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://github.com/carina-io/carina/blob/main/LICENSE) +[![FOSSA Status](https://app.fossa.com/api/projects/git%2Bgithub.com%2Fcarina-io%2Fcarina.svg?type=shield)](https://app.fossa.com/projects/git%2Bgithub.com%2Fcarina-io%2Fcarina?ref=badge_shield) + +[![OpenSSF Best Practices](https://bestpractices.coreinfrastructure.org/projects/6908/badge)](https://bestpractices.coreinfrastructure.org/projects/6908) + +> English | [中文](README_zh.md) + +## Background + +Storage systems are complex! There are more and more kubernetes native storage systems nowadays and stateful applications are shifting into cloud native world, for example, modern databases and middlewares. However, both modern databases and its storage providers try to solve some common problems in their own way. For example, they both deal with data replications and consistency. This introduces a giant waste of both capacity and performance and needs more mantainness effort. And besides that, stateful applications strive to be more peformant, eliminating every possible latency, which is unavoidable for modern distributed storage systems. Enters carina. + +Carina is a standard kubernetes CSI plugin. Users can use standard kubernetes storage resources like storageclass/PVC/PV to request storage media. The key considerations of carina includes: + +* Workloads need different storage systems. Carina will focus on cloudnative database scenario usage only. +* Completely kubernetes native and easy to install. +* Using local disks and group them as needed, user can provison different type of disks using different storage class. +* Scaning physical disks and building a RAID as required. If disk fails, just plugin a new one and it's done. +* Node capacity and performance aware, so scheduling pods more smartly. +* Extremly low overhead. Carina sit besides the core data path and provide raw disk performance to applications. +* Auto tiering. Admins can configure carina to combine the large-capacity-but-low-performant disk and small-capacity-but-high-performant disks as one storageclass, so user can benifit both from capacity and performance. +* If nodes fails, carina will automatically detach the local volume from pods thus pods can be rescheduled. +* Middleware runs on baremetals for decades. There are many valueable optimizations and enhancements which are definitely not outdated even in cloudnative era. Let carina be an DBA expert of the storage domain for cloudnative databases! + + +**In short, Carina strives to provide extremely-low-latency and noOps storage system for cloudnative databases and be DBA expert of the storage domain in cloudnative era!** + +# Running Environments + +* Kubernetes:(CSI_VERSION=1.5.0) +* Node OS:Linux +* Filesystems:ext4,xfs + +* If Kubelet is running in containerized mode, you need to mount the host /dev:/dev directory +* Each node in the cluster has 1..N Bare disks, supporting SSDS and HDDS. (You can run the LSBLK --output NAME,ROTA command to view the disk type. If ROTA=1 is HDD,ROTA =0 is SSD.) +* The capacity of a raw disk must be greater than 10 GB +* If the server does not support the bcache kernel module, see [FAQ](docs/manual/FAQ.md), Modify yamL deployment + +### Kubernetes compatiblity +| kubernetes | v0.9 | v0.9.1 | v0.10 | v0.11.0 | v1.0 | +| ---------- | ---------- | ---------- | ---------- | ------------ | ----------- | +| >=1.18 | support | support | support | support | not released | +| >=1.25 | nonsupport | nonsupport | nonsupport | experimental | not released | + +# Carina architecture + +Carina is built for cloudnative stateful applications with raw disk performance and ops-free maintainess. Carina can scan local disks and classify them by disk types, for example, one node can have 10 HDDs and 2 SSDs. Carina then will group them into different disk pools and user can request different disk type by using different storage class. For data HA, carina now leverages STORCLI to build RAID groups. + +![carina-arch](docs/img/architecture.png) + +# Carina components + +It has three componets: carina-scheduler, carina-controller and carina-node. + +* carina-scheduler is an kubernetes scheduler plugin, sorting nodes based on the requested PV size、node's free disk space and node IO perf stats. By default, carina-scheduler supports binpack and spreadout policies. +* carina-controller is the controll plane of carina, which watches PVC resources and maintain the internal logivalVolume object. +* carina-node is an agent which runs on each node. It manage local disks using LVM. + +# Features + +* [disk management](docs/manual/disk-manager.md) +* [device registration](docs/manual/device-register.md) +* [volume mode: filesystem](docs/manual/pvc-xfs.md) +* [volume mode: block](docs/manual/pvc-device.md) +* [PVC resizing](docs/manual/pvc-expand.md) +* [scheduing based on capacity](docs/manual/capacity-scheduler.md) +* [volume tooplogy](docs/manual/topology.md) +* [PVC autotiering](docs/manual/pvc-bcache.md) +* [RAID management](docs/manual/raid-manager.md) +* [failover](docs/manual/failover.md) +* [io throttling](docs/manual/disk-speed-limit.md) +* [metrics](docs/manual/metrics.md) +* [API](docs/manual/api.md) + +# Quickstart + +## Install by shell + +- In this deployment mode, the image TAG is Latest. If you want to deploy a specific version of Carina, you need to change the image address + +```shell +$ cd deploy/kubernetes +# install, The default installation is kube-system. +$ ./deploy.sh + +# uninstall +$ ./deploy.sh uninstall +``` + +## Install by helm3 + +- Support installation of specified versions of Carina + +```bash +helm repo add carina-csi-driver https://carina-io.github.io + +helm search repo -l carina-csi-driver + +helm install carina-csi-driver carina-csi-driver/carina-csi-driver --namespace kube-system --version v0.11.0 +``` + +* [deployment guide](docs/manual/install.md) +* [user guide](docs/user-guide.md) + +## Upgrading + +- Uninstall the old version `./deploy.sh uninstall` and then install the new version `./deploy.sh` (uninstalling carina will not affect volume usage) + +# Contribution Guide + +* [development guide](docs/manual/development.md) +* [build local runtime](docs/manual/runtime-container.md) + +# Blogs + +* [blogs](http://www.opencarina.io/blog) + +# Roadmap + +* [roadmap](docs/roadmap/roadmap.md) + +# Typical storage providers + +| | NFS/NAS | SAN | Ceph | Carina | +| ---------- | --------| ----| -----| -------| +| typical usage | general storage | high performance block device | extremly scalability | high performance block device for cloudnative applications | +| filesystem | yes | yes | yes | yes | +| filesystem type | NFS | driver specific | ext4/xfs | ext4/xfs | +| block | no | yes | yes | yes | +| bandwidth | standard | standard | high | high | +| IOPS | standard | high | standard | high | +| latency | standard | low | standard | low | +| CSI support| yes | yes | yes | yes | +| snapshot | no | driver specific| yes | no| +| clone | no | driver specific | yes | not yet, comming soon | +| quota| no | yes | yes | yes | +| resizing | yes | driver specific | yes | yes | +| data HA | RAID or NAS appliacne | yes | yes | RAID | +| ease of maintainess | driver specific | multiple drivers for multiple SAN | high maintainess effort | ops-free | +| budget | high for NAS | high | high | low, using the extra disks in existing kubernetes cluster | +| others | data migrates with pods | data migrates with pods | data migrates with pods |*binpack or spreadout scheduling policy
* data doesn't migrate with pods
* inplace rebulid if pod fails | + +# FAQ + +- [FAQ](docs/manual/FAQ.md) + +# Similar projects + +* [openebs](https://openebs.io/) +* [topolvm](https://github.com/topolvm/topolvm) +* [csi-driver-host-path](https://github.com/kubernetes-csi/csi-driver-host-path) +* [local-path-provisioner](https://github.com/rancher/local-path-provisioner) + +# Known Users +Welcome to register the company name in [ADOPTERS.md](ADOPTERS.md) + +![bocloud](static/bocloud.png) + +# Community + +- For wechat users + +![carina-wx](docs/img/carina-wx.png) + +# License + +Carina is under the Apache 2.0 license. See the [LICENSE](https://github.com/FabEdge/fabedge/blob/main/LICENSE) file for details. + + +[![FOSSA Status](https://app.fossa.com/api/projects/git%2Bgithub.com%2Fcarina-io%2Fcarina.svg?type=large)](https://app.fossa.com/projects/git%2Bgithub.com%2Fcarina-io%2Fcarina?ref=badge_large) + +# Code of Conduct + +Please refer to our [Carina Community Code of Conduct](https://github.com/carina-io/community/blob/main/code-of-conduct.md) \ No newline at end of file diff --git a/data/readmes/cartography-01220.md b/data/readmes/cartography-01220.md new file mode 100644 index 0000000..c4a4dbb --- /dev/null +++ b/data/readmes/cartography-01220.md @@ -0,0 +1,161 @@ +# Cartography - README (0.122.0) + +**Repository**: https://github.com/cartography-cncf/cartography +**Version**: 0.122.0 + +--- + +![Cartography](docs/root/images/logo-horizontal.png) + +[![OpenSSF Scorecard](https://api.scorecard.dev/projects/github.com/cartography-cncf/cartography/badge)](https://scorecard.dev/viewer/?uri=github.com/cartography-cncf/cartography) +[![OpenSSF Best Practices](https://www.bestpractices.dev/projects/9637/badge)](https://www.bestpractices.dev/projects/9637) +![build](https://github.com/cartography-cncf/cartography/actions/workflows/publish-to-ghcr-and-pypi.yml/badge.svg) + + + +Cartography is a Python tool that consolidates infrastructure assets and the relationships between them in an intuitive graph view powered by a [Neo4j](https://www.neo4j.com) database. + +![Visualization of RDS nodes and AWS nodes](docs/root/images/accountsandrds.png) + +## Why Cartography? +Cartography aims to enable a broad set of exploration and automation scenarios. It is particularly good at exposing otherwise hidden dependency relationships between your service's assets so that you may validate assumptions about security risks. + +Service owners can generate asset reports, Red Teamers can discover attack paths, and Blue Teamers can identify areas for security improvement. All can benefit from using the graph for manual exploration through a web frontend interface, or in an automated fashion by calling the APIs. + +Cartography is not the only [security](https://github.com/dowjones/hammer) [graph](https://github.com/BloodHoundAD/BloodHound) [tool](https://github.com/Netflix/security_monkey) [out](https://github.com/vysecurity/ANGRYPUPPY) [there](https://github.com/duo-labs/cloudmapper), but it differentiates itself by being fully-featured yet generic and [extensible](https://cartography-cncf.github.io/cartography/dev/writing-analysis-jobs.html) enough to help make anyone better understand their risk exposure, regardless of what platforms they use. Rather than being focused on one core scenario or attack vector like the other linked tools, Cartography focuses on flexibility and exploration. + +You can learn more about the story behind Cartography in our [presentation at BSidesSF 2019](https://www.youtube.com/watch?v=ZukUmZSKSek). + + +## Supported platforms +- [Airbyte](https://cartography-cncf.github.io/cartography/modules/airbyte/index.html) - Organization, Workspace, User, Source, Destination, Connection, Tag, Stream +- [Amazon Web Services](https://cartography-cncf.github.io/cartography/modules/aws/index.html) - ACM, API Gateway, CloudWatch, CodeBuild, Config, Cognito, EC2, ECS, ECR (including multi-arch images, image layers, and attestations), EFS, Elasticsearch, Elastic Kubernetes Service (EKS), DynamoDB, Glue, GuardDuty, IAM, Inspector, KMS, Lambda, RDS, Redshift, Route53, S3, Secrets Manager(Secret Versions), Security Hub, SNS, SQS, SSM, STS, Tags +- [Anthropic](https://cartography-cncf.github.io/cartography/modules/anthropic/index.html) - Organization, ApiKey, User, Workspace +- [BigFix](https://cartography-cncf.github.io/cartography/modules/bigfix/index.html) - Computers +- [Cloudflare](https://cartography-cncf.github.io/cartography/modules/cloudflare/index.html) - Account, Role, Member, Zone, DNSRecord +- [Crowdstrike Falcon](https://cartography-cncf.github.io/cartography/modules/crowdstrike/index.html) - Hosts, Spotlight vulnerabilities, CVEs +- [DigitalOcean](https://cartography-cncf.github.io/cartography/modules/digitalocean/index.html) +- [Duo](https://cartography-cncf.github.io/cartography/modules/duo/index.html) - Users, Groups, Endpoints +- [GitHub](https://cartography-cncf.github.io/cartography/modules/github/index.html) - repos, branches, users, teams, dependency graph manifests, dependencies +- [Google Cloud Platform](https://cartography-cncf.github.io/cartography/modules/gcp/index.html) - Bigtable, Cloud Resource Manager, Compute, DNS, Storage, Google Kubernetes Engine +- [Google GSuite](https://cartography-cncf.github.io/cartography/modules/gsuite/index.html) - users, groups (deprecated - use Google Workspace instead) +- [Google Workspace](https://cartography-cncf.github.io/cartography/modules/googleworkspace/index.html) - users, groups, devices, OAuth apps +- [Kandji](https://cartography-cncf.github.io/cartography/modules/kandji/index.html) - Devices +- [Keycloak](https://cartography-cncf.github.io/cartography/modules/keycloak/index.html) - Realms, Users, Groups, Roles, Scopes, Clients, IdentityProviders, Authentication Flows, Authentication Executions, Organizations, Organization Domains +- [Kubernetes](https://cartography-cncf.github.io/cartography/modules/kubernetes/index.html) - Cluster, Namespace, Service, Pod, Container, ServiceAccount, Role, RoleBinding, ClusterRole, ClusterRoleBinding, OIDCProvider +- [Lastpass](https://cartography-cncf.github.io/cartography/modules/lastpass/index.html) - users +- [Microsoft Azure](https://cartography-cncf.github.io/cartography/modules/azure/index.html) - App Service, Container Instance, CosmosDB, Data Factory, Event Grid, Functions, Azure Kubernetes Service (AKS), Load Balancer, Logic Apps, Resource Group, SQL, Storage, Virtual Machine, Virtual Networks +- [Microsoft Entra ID](https://cartography-cncf.github.io/cartography/modules/entra/index.html) - Users, Groups, Applications, OUs, App Roles, federation to AWS Identity Center +- [NIST CVE](https://cartography-cncf.github.io/cartography/modules/cve/index.html) - Common Vulnerabilities and Exposures (CVE) data from NIST database +- [Okta](https://cartography-cncf.github.io/cartography/modules/okta/index.html) - users, groups, organizations, roles, applications, factors, trusted origins, reply URIs, federation to AWS roles, federation to AWS Identity Center +- [OpenAI](https://cartography-cncf.github.io/cartography/modules/openai/index.html) - Organization, AdminApiKey, User, Project, ServiceAccount, ApiKey +- [Oracle Cloud Infrastructure](https://cartography-cncf.github.io/cartography/modules/oci/index.html) - IAM +- [PagerDuty](https://cartography-cncf.github.io/cartography/modules/pagerduty/index.html) - Users, teams, services, schedules, escalation policies, integrations, vendors +- [Scaleway](https://cartography-cncf.github.io/cartography/modules/scaleway/index.html) - Projects, IAM, Local Storage, Instances +- [SentinelOne](https://cartography-cncf.github.io/cartography/modules/sentinelone/index.html) - Accounts, Agents +- [Slack](https://cartography-cncf.github.io/cartography/modules/slack/index.html) - Teams, Users, UserGroups, Channels +- [SnipeIT](https://cartography-cncf.github.io/cartography/modules/snipeit/index.html) - Users, Assets +- [Tailscale](https://cartography-cncf.github.io/cartography/modules/tailscale/index.html) - Tailnet, Users, Devices, Groups, Tags, PostureIntegrations +- [Trivy Scanner](https://cartography-cncf.github.io/cartography/modules/trivy/index.html) - AWS ECR Images + + +## Philosophy +Here are some points that can help you decide if adopting Cartography is a good fit for your problem. + +### What Cartography is +- A simple Python script that pulls data from multiple providers and writes it to a Neo4j graph database in batches. +- A powerful analysis tool that captures the current snapshot of the environment, building a uniquely useful inventory where you can ask complex questions such as: + - Which identities have access to which datastores? + - What are the cross-tenant permission relationships in the environment? + - What are the network paths in and out of the environment? + - What are the backup policies for my datastores? +- Battle-tested in production by [many companies](#who-uses-cartography). +- Straightforward to extend with your own custom plugins. +- Provides a useful data-plane that you can build automation and CSPM (Cloud Security Posture Management) applications on top of. + +### What Cartography is not +- A near-real time capability. + - Cartography is not designed for very fast updates. Cartography writes to the database in a batches (not streamed). + - Cartography is also limited by how most upstream sources only provide APIs to retrieve assets in a batched manner. +- By itself, Cartography does not capture data changes over time. + - Although we do include a [drift detection](https://cartography-cncf.github.io/cartography/usage/drift-detect.html) feature. + - It's also possible to implement other processes in your Cartography installation to make this happen. + + +## Install and configure + +### Trying out Cartography on a test machine +Start [here](https://cartography-cncf.github.io/cartography/install.html) to set up a test graph and get data into it. + +### Setting up Cartography in production +When you are ready to try it in production, read [here](https://cartography-cncf.github.io/cartography/ops.html) for recommendations on getting cartography spun up in your environment. + +## Usage + +### Running rules + +You can check your environment against common security frameworks using the `cartography-rules` command. + +```bash +cartography-rules run all +``` + +See [the rules docs](https://cartography-cncf.github.io/cartography/usage/rules.html) for more detail. + + +### Querying the database directly + +![poweruser.png](docs/root/images/poweruser.png) + +Now that data is in the graph, you can quickly start with our [querying tutorial](https://cartography-cncf.github.io/cartography/usage/tutorial.html). Our [data schema](https://cartography-cncf.github.io/cartography/usage/schema.html) is a helpful reference when you get stuck. + +### Building applications around Cartography +Directly querying Neo4j is already very useful as a sort of "swiss army knife" for security data problems, but you can also build applications and data pipelines around Cartography. View this doc on [applications](https://cartography-cncf.github.io/cartography/usage/applications.html). + + +## Docs + +See [here](https://cartography-cncf.github.io/cartography/) + +## Community + +- Hang out with us on Slack: Join the CNCF Slack workspace [here](https://communityinviter.com/apps/cloud-native/cncf), and then join the `#cartography` channel. +- Talk to us and see what we're working on at our [monthly community meeting](https://zoom-lfx.platform.linuxfoundation.org/meetings/cartography?view=week). + - Meeting minutes are [here](https://docs.google.com/document/d/1VyRKmB0dpX185I15BmNJZpfAJ_Ooobwz0U1WIhjDxvw). + - Recorded videos from before 2025 are posted [here](https://www.youtube.com/playlist?list=PLMga2YJvAGzidUWJB_fnG7EHI4wsDDsE1). + +## License + +This project is licensed under the [Apache 2.0 License](LICENSE). + +## Contributing +Thank you for considering contributing to Cartography! + +### Code of conduct +All contributors and participants of this project must follow the [CNCF code of conduct](https://github.com/cncf/foundation/blob/main/code-of-conduct.md). + +### Bug reports and feature requests and discussions +Submit a GitHub issue to report a bug or request a new feature. If we decide that the issue needs more discussion - usually because the scope is too large or we need to make careful decision - we will convert the issue to a [GitHub Discussion](https://github.com/cartography-cncf/cartography/discussions). + +### Developing Cartography + +Get started with our [developer documentation](https://cartography-cncf.github.io/cartography/dev/developer-guide.html). Please feel free to submit your own PRs to update documentation if you've found a better way to explain something. + +## Who uses Cartography? + +1. [Lyft](https://www.lyft.com) +1. [Thought Machine](https://thoughtmachine.net/) +1. [MessageBird](https://messagebird.com) +1. [Cloudanix](https://www.cloudanix.com/) +1. [Corelight](https://www.corelight.com/) +1. [SubImage](https://subimage.io) +1. {Your company here} :-) + +If your organization uses Cartography, please file a PR and update this list. Say hi on Slack too! + +--- + +Cartography is a [Cloud Native Computing Foundation](https://www.cncf.io/) sandbox project.
+
+ CNCF Logo +
diff --git a/data/readmes/carvel-v0521.md b/data/readmes/carvel-v0521.md new file mode 100644 index 0000000..39d5771 --- /dev/null +++ b/data/readmes/carvel-v0521.md @@ -0,0 +1,49 @@ +# Carvel - README (v0.52.1) + +**Repository**: https://github.com/carvel-dev/ytt +**Version**: v0.52.1 + +--- + +![logo](docs/CarvelLogo.png) + +[![OpenSSF Best Practices](https://bestpractices.coreinfrastructure.org/projects/7746/badge)](https://bestpractices.coreinfrastructure.org/projects/7746) + +# ytt + +* Play: Jump right in by trying out the [online playground](https://carvel.dev/ytt/#playground) +* Discover `ytt` in [video](https://youtu.be/WJw1MDFMVuk) +* For more information about annotations, data values, overlays and other features see [Docs](https://carvel.dev/ytt/docs/latest/) page +* Slack: [#carvel in Kubernetes slack](https://slack.kubernetes.io/) +* Install: Grab prebuilt binaries from the [Releases page](https://github.com/carvel-dev/ytt/releases) or [Homebrew Carvel tap](https://github.com/carvel-dev/homebrew) +* Backlog: [See what we're up to]([https://app.zenhub.com/workspaces/carvel-backlog-6013063a24147d0011410709/board?repos=173207060). (Note: we use ZenHub which requires GitHub authorization](https://github.com/orgs/carvel-dev/projects/1/views/1?filterQuery=repo%3A%22vmware-tanzu%2Fcarvel-ytt%22)). + +## Overview + +`ytt` (pronounced spelled out) is a templating tool that understands YAML structure. It helps you easily configure complex software via reusable templates and user provided values. Ytt includes the following features: +- Structural templating: understands yaml structure so users can focus on their configuration instead of issues associated with text templating, such as YAML value quoting or manual template indentation +- Built-in programming language: includes the "fully featured" Python-like programming language Starlark which helps ease the burden of configuring complex software through a richer set of functionality. +- Reusable configuration: You can reuse the same configuration in different environments by applying environment-specific values. +- Custom validations: coupled with the fast and deterministic execution, allows you to take advantage of faster feedback loops when creating and testing templates +- Overlays: this advanced configuration helps users manage the customization required for complex software. For more, see [this example](https://carvel.dev/ytt/#example:example-overlay-files) in the online playground. +- Sandboxing: provides a secure, deterministic environment for execution of templates + +## Try it + +To get started with `ytt` and to see examples, you use the online playground or download the binaries and run the playground locally. + +- Try out the [online playground](https://carvel.dev/ytt/#playground) +- Download the latest binaries from the [releases page](https://github.com/carvel-dev/ytt/releases) and run the playground locally: `ytt website` +- See the examples used in the playground on the [examples](https://github.com/carvel-dev/ytt/tree/develop/examples/playground) page +- Editor Extensions: [vscode syntax highlighting](https://marketplace.visualstudio.com/items?itemName=ewrenn.vscode-ytt) + +### Join the Community and Make Carvel Better +Carvel is better because of our contributors and maintainers. It is because of you that we can bring great software to the community. Please join us during our online community meetings. Details can be found on our [Carvel website](https://carvel.dev/community/). + +You can chat with us on Kubernetes Slack in the #carvel channel and follow us on Twitter at @carvel_dev. + +Check out which organizations are using and contributing to Carvel: [Adopter's list](https://github.com/carvel-dev/carvel/blob/master/ADOPTERS.md) + +### Integrating with ytt + +If you want to integrate `ytt` within your own tooling, review our [APIs](examples/integrating-with-ytt/apis.md). diff --git a/data/readmes/cassandra-cassandra-506.md b/data/readmes/cassandra-cassandra-506.md new file mode 100644 index 0000000..f78f911 --- /dev/null +++ b/data/readmes/cassandra-cassandra-506.md @@ -0,0 +1,96 @@ +# Cassandra - README (cassandra-5.0.6) + +**Repository**: https://github.com/apache/cassandra +**Version**: cassandra-5.0.6 +**Branch**: cassandra-5.0.6 + +--- + +Apache Cassandra +----------------- + +Apache Cassandra is a highly-scalable partitioned row store. Rows are organized into tables with a required primary key. + +https://cwiki.apache.org/confluence/display/CASSANDRA2/Partitioners[Partitioning] means that Cassandra can distribute your data across multiple machines in an application-transparent matter. Cassandra will automatically repartition as machines are added and removed from the cluster. + +https://cwiki.apache.org/confluence/display/CASSANDRA2/DataModel[Row store] means that like relational databases, Cassandra organizes data by rows and columns. The Cassandra Query Language (CQL) is a close relative of SQL. + +For more information, see http://cassandra.apache.org/[the Apache Cassandra web site]. + +Issues should be reported on https://issues.apache.org/jira/projects/CASSANDRA/issues/[The Cassandra Jira]. + +Requirements +------------ +- Java: see supported versions in build.xml (search for property "java.supported"). +- Python: for `cqlsh`, see `bin/cqlsh` (search for function "is_supported_version"). + + +Getting started +--------------- + +This short guide will walk you through getting a basic one node cluster up +and running, and demonstrate some simple reads and writes. For a more-complete guide, please see the Apache Cassandra website's https://cassandra.apache.org/doc/latest/cassandra/getting_started/index.html[Getting Started Guide]. + +First, we'll unpack our archive: + + $ tar -zxvf apache-cassandra-$VERSION.tar.gz + $ cd apache-cassandra-$VERSION + +After that we start the server. Running the startup script with the -f argument will cause +Cassandra to remain in the foreground and log to standard out; it can be stopped with ctrl-C. + + $ bin/cassandra -f + +Now let's try to read and write some data using the Cassandra Query Language: + + $ bin/cqlsh + +The command line client is interactive so if everything worked you should +be sitting in front of a prompt: + +---- +Connected to Test Cluster at localhost:9160. +[cqlsh 6.2.0 | Cassandra 5.0-SNAPSHOT | CQL spec 3.4.7 | Native protocol v5] +Use HELP for help. +cqlsh> +---- + +As the banner says, you can use 'help;' or '?' to see what CQL has to +offer, and 'quit;' or 'exit;' when you've had enough fun. But lets try +something slightly more interesting: + +---- +cqlsh> CREATE KEYSPACE schema1 + WITH replication = { 'class' : 'SimpleStrategy', 'replication_factor' : 1 }; +cqlsh> USE schema1; +cqlsh:Schema1> CREATE TABLE users ( + user_id varchar PRIMARY KEY, + first varchar, + last varchar, + age int + ); +cqlsh:Schema1> INSERT INTO users (user_id, first, last, age) + VALUES ('jsmith', 'John', 'Smith', 42); +cqlsh:Schema1> SELECT * FROM users; + user_id | age | first | last +---------+-----+-------+------- + jsmith | 42 | john | smith +cqlsh:Schema1> +---- + +If your session looks similar to what's above, congrats, your single node +cluster is operational! + +For more on what commands are supported by CQL, see +https://cassandra.apache.org/doc/5.0/cassandra/developing/cql/index.html[the CQL reference]. A +reasonable way to think of it is as, "SQL minus joins and subqueries, plus collections." + +Wondering where to go from here? + + * Join us in #cassandra on the https://s.apache.org/slack-invite[ASF Slack] and ask questions. + * Subscribe to the Users mailing list by sending a mail to + user-subscribe@cassandra.apache.org. + * Subscribe to the Developer mailing list by sending a mail to + dev-subscribe@cassandra.apache.org. + * Visit the http://cassandra.apache.org/community/[community section] of the Cassandra website for more information on getting involved. + * Visit the http://cassandra.apache.org/doc/latest/development/index.html[development section] of the Cassandra website for more information on how to contribute. diff --git a/data/readmes/cdk-for-kubernetes-cdk8s-redirect.md b/data/readmes/cdk-for-kubernetes-cdk8s-redirect.md new file mode 100644 index 0000000..02cfee1 --- /dev/null +++ b/data/readmes/cdk-for-kubernetes-cdk8s-redirect.md @@ -0,0 +1,120 @@ +# CDK for Kubernetes (CDK8s) - README (redirect) + +**Repository**: https://github.com/cdk8s-team/cdk8s +**Version**: redirect + +--- + +# Cloud Development Kit for Kubernetes + +![](./website/static/images/animation.gif) + +[![Website](https://github.com/cdk8s-team/cdk8s/workflows/website/badge.svg)](https://github.com/cdk8s-team/cdk8s/actions/workflows/website.yml) + +[![View on Construct Hub](https://constructs.dev/badge?package=cdk8s)](https://constructs.dev/packages/cdk8s) + +**cdk8s** is an open-source software development framework for defining Kubernetes applications and reusable abstractions using familiar +programming languages and rich object-oriented APIs. cdk8s apps synthesize into standard Kubernetes +manifests which can be applied to any Kubernetes cluster. + +cdk8s is a [Cloud Native Computing Foundation](https://www.cncf.io) Sandbox Project, built with ❤️ at AWS. We encourage you to [try it out](#getting-started), [leave feedback](#help--feedback), and [jump in to help](#contributing)! + +Contents: + +- [Repositories](#repositories) +- [Overview](#overview) +- [Getting Started](#getting-started) +- [Help \& Feedback](#help--feedback) +- [Documentation](#documentation) +- [Examples](#examples) +- [Roadmap](#roadmap) +- [Community](#community) +- [Contributing](#contributing) +- [CDK8s.io website](#cdk8sio-website) +- [License](#license) + +## Repositories + +This project consists of multiple packages, maintained and released via the following repositories: + +- [cdk8s](https://github.com/cdk8s-team/cdk8s-core) - Core library. For historical reasons note that the [`cdk8s`](https://www.npmjs.com/package/cdk8s) package is maintained in the `cdk8s-team/cdk8s-core` repository. +- [cdk8s-cli](https://github.com/cdk8s-team/cdk8s-cli) - Command-Line interface. +- [cdk8s-plus](https://github.com/cdk8s-team/cdk8s-plus) - High-Level constructs for Kubernetes core. + +The current repository acts as an umbrella repository for cross module concerns, as well as the deployment of [`cdk8s.io`](https://cdk8s.io) + +## Overview + +**cdk8s** apps are programs written in one of the supported programming +languages. They are structured as a tree of +[constructs](https://github.com/aws/constructs). + +The root of the tree is an `App` construct. Within an app, users define any +number of charts (classes that extend the `Chart` class). Each chart is +synthesized into a separate Kubernetes manifest file. Charts are, in turn, +composed of any number of constructs, and eventually from resources, which +represent any Kubernetes resource, such as `Pod`, `Service`, `Deployment`, +`ReplicaSet`, etc. + +cdk8s apps only ***define*** Kubernetes applications, they don't actually apply +them to the cluster. When an app is executed, it *synthesizes* all the charts +defined within the app into the `dist` directory, and then those charts can be +applied to any Kubernetes cluster using `kubectl apply -f dist/chart.k8s.yaml` or a GitOps tool like [Flux](https://fluxcd.io/). + +> **cdk8s** is based on the design concepts and technologies behind the [AWS +Cloud Development Kit](https://aws.amazon.com/cdk), and can interoperate with +AWS CDK constructs to define cloud-native applications that include both +Kubernetes resources and other CDK constructs as first class citizens. + +Read [our blog](https://aws.amazon.com/blogs/containers/introducing-cdk-for-kubernetes/) or [watch our CNCF webinar](https://www.cncf.io/webinars/end-yaml-engineering-with-cdk8s/) to learn more and see a live demo of cdk8s in action. + +## Getting Started + +See the [Getting Started](https://cdk8s.io/docs/latest/get-started) guide in +[cdk8s Documentation](https://cdk8s.io/docs/). + +## Help & Feedback + +Interacting with the community and the development team is a great way to +contribute to the project. Please consider the following venues (in order): + +- Search [open issues](https://github.com/cdk8s-team/cdk8s/issues) +- Stack Overflow: [cdk8s](https://stackoverflow.com/questions/tagged/cdk8s) +- File a [new issue](https://github.com/cdk8s-team/cdk8s/issues/new/choose) +- Slack: #cdk8s channel in [cdk.dev](https://cdk.dev) + +## Documentation + +See [cdk8s Documentation](https://cdk8s.io/docs). + +## Examples + +See our [Examples Directory](./examples). + +## Roadmap + +See our [roadmap](https://github.com/cdk8s-team/cdk8s/projects/1) for details about our plans for the project. + +## Community + +See [Awesome cdk8s](https://github.com/dungahk/awesome-cdk8s). + +If you're a cdk8s user please consider adding your name to the [ADOPTERS](./ADOPTERS.md) file. + +## Contributing + +The cdk8s project adheres to the [CNCF Code of +Conduct](https://github.com/cncf/foundation/blob/master/code-of-conduct.md). + +We welcome community contributions and pull requests. See our [contribution +guide](./CONTRIBUTING.md) for more information on how to report issues, set up a +development environment and submit code. + +## CDK8s.io website + +See [Docs Directory](./docs/README.md). + +## License + +This project is distributed under the [Apache License, Version 2.0](./LICENSE). + diff --git a/data/readmes/cert-manager-v1200-alpha0.md b/data/readmes/cert-manager-v1200-alpha0.md new file mode 100644 index 0000000..01e123c --- /dev/null +++ b/data/readmes/cert-manager-v1200-alpha0.md @@ -0,0 +1,132 @@ +# cert-manager - README (v1.20.0-alpha.0) + +**Repository**: https://github.com/cert-manager/cert-manager +**Version**: v1.20.0-alpha.0 + +--- + + +

+ cert-manager project logo +

+ + +

+ +Build Status + + +Go Report Card +
+Artifact Hub +Scorecard score +CLOMonitor +
+ +

+ +# cert-manager + +cert-manager adds certificates and certificate issuers as resource types in Kubernetes clusters, and simplifies the process of obtaining, renewing and using those certificates. + +It supports issuing certificates from a variety of sources, including Let's Encrypt (ACME), HashiCorp Vault, and Venafi TPP / TLS Protect Cloud, as well as local in-cluster issuance. + +cert-manager also ensures certificates remain valid and up to date, attempting to renew certificates at an appropriate time before expiry to reduce the risk of outages and remove toil. + +![cert-manager high level overview diagram](https://cert-manager.io/images/high-level-overview.svg) + +## Documentation + +Documentation for cert-manager can be found at [cert-manager.io](https://cert-manager.io/docs/). + +For the common use-case of automatically issuing TLS certificates for +Ingress resources, see the [cert-manager nginx-ingress quick start guide](https://cert-manager.io/docs/tutorials/acme/nginx-ingress/). + +For a more comprehensive guide to issuing your first certificate, see our [getting started guide](https://cert-manager.io/docs/getting-started/). + +### Installation + +[Installation](https://cert-manager.io/docs/installation/) is documented on the website, with a variety of supported methods. + +## Developing cert-manager + +We actively welcome contributions and we support both Linux and macOS environments for development. + +Different platforms have different requirements; we document everything on our [Building cert-manager](https://cert-manager.io/docs/contributing/building/) +website page. + +Note in particular that macOS has several extra requirements, to ensure that modern tools are installed and available. Read the page before +getting started! + +## Troubleshooting + +If you encounter any issues whilst using cert-manager, we have a number of ways to get help: + +- A [troubleshooting guide](https://cert-manager.io/docs/faq/troubleshooting/) on our website. +- Our official [Kubernetes Slack channel](https://cert-manager.io/docs/contributing/#slack) - the quickest way to ask! ([#cert-manager](https://kubernetes.slack.com/messages/cert-manager) and [#cert-manager-dev](https://kubernetes.slack.com/messages/cert-manager-dev)) +- [Searching for an existing issue](https://github.com/cert-manager/cert-manager/issues). + +If you believe you've found a bug and cannot find an existing issue, feel free to [open a new issue](https://github.com/cert-manager/cert-manager/issues)! +Be sure to include as much information as you can about your environment. + +## Community + +The [`cert-manager-dev` Google Group](https://groups.google.com/forum/#!forum/cert-manager-dev) +is used for project wide announcements and development coordination. +Anybody with a Google account can join the group by visiting the group and clicking "Join Group". + +### Meetings + +We have several public meetings which any member of our Google Group is more than welcome to join! + +Check out the details on [our website](https://cert-manager.io/docs/contributing/#meetings). Feel +free to drop in and ask questions, chat with us or just to say hi! + +## Contributing + +We welcome pull requests with open arms! There's a lot of work to do here, and +we're especially concerned with ensuring the longevity and reliability of the +project. The [contributing guide](https://cert-manager.io/docs/contributing/) +will help you get started. + +## Coding Conventions + +Code style guidelines are documented on the [coding conventions](https://cert-manager.io/docs/contributing/coding-conventions/) page +of the cert-manager website. Please try to follow those guidelines if you're submitting a pull request for cert-manager. + +## Importing cert-manager as a Module + +⚠️ Please note that cert-manager **does not** currently provide a Go module compatibility guarantee. That means that +**most code under `pkg/` is subject to change in a breaking way**, even between minor or patch releases and even if +the code is currently publicly exported. + +The lack of a Go module compatibility guarantee does not affect API version guarantees +under the [Kubernetes Deprecation Policy](https://kubernetes.io/docs/reference/using-api/deprecation-policy/). + +For more details see [Importing cert-manager in Go](https://cert-manager.io/docs/contributing/importing/) on the +cert-manager website. + +The import path for cert-manager versions 1.8 and later is `github.com/cert-manager/cert-manager`. + +For all versions of cert-manager before 1.8, including minor and patch releases, the import path is `github.com/jetstack/cert-manager`. + +## Security Reporting + +Security is the number one priority for cert-manager. If you think you've found a security vulnerability, we'd love to hear from you. + +Follow the instructions in [SECURITY.md](./SECURITY.md) to make a report. + +## Changelog + +[Every release](https://github.com/cert-manager/cert-manager/releases) on GitHub has a changelog, +and we also publish release notes on [the website](https://cert-manager.io/docs/release-notes/). + +## History + +cert-manager is loosely based upon the work of [kube-lego](https://github.com/jetstack/kube-lego) +and has borrowed some wisdom from other similar projects such as [kube-cert-manager](https://github.com/PalmStoneGames/kube-cert-manager). + + +Logo design by [Zoe Paterson](https://zoepatersonmedia.com) diff --git a/data/readmes/certbot-v521.md b/data/readmes/certbot-v521.md new file mode 100644 index 0000000..7aae25f --- /dev/null +++ b/data/readmes/certbot-v521.md @@ -0,0 +1,9 @@ +# Certbot - README (v5.2.1) + +**Repository**: https://github.com/certbot/certbot +**Version**: v5.2.1 +**Branch**: v5.2.1 + +--- + +certbot/README.rst \ No newline at end of file diff --git a/data/readmes/chainlink-v2301.md b/data/readmes/chainlink-v2301.md new file mode 100644 index 0000000..9ee1fc0 --- /dev/null +++ b/data/readmes/chainlink-v2301.md @@ -0,0 +1,365 @@ +# Chainlink - README (v2.30.1) + +**Repository**: https://github.com/smartcontractkit/chainlink +**Version**: v2.30.1 + +--- + +
+

+ +Chainlink logo + +

+
+ +[![GitHub tag (latest SemVer)](https://img.shields.io/github/v/tag/smartcontractkit/chainlink?style=flat-square)](https://hub.docker.com/r/smartcontract/chainlink/tags) +[![GitHub license](https://img.shields.io/github/license/smartcontractkit/chainlink?style=flat-square)](https://github.com/smartcontractkit/chainlink/blob/master/LICENSE) +[![GitHub workflow changeset](https://img.shields.io/github/actions/workflow/status/smartcontractkit/chainlink/changeset.yml)](https://github.com/smartcontractkit/chainlink/actions/workflows/changeset.yml?query=workflow%3AChangeset) +[![GitHub contributors](https://img.shields.io/github/contributors-anon/smartcontractkit/chainlink?style=flat-square)](https://github.com/smartcontractkit/chainlink/graphs/contributors) +[![GitHub commit activity](https://img.shields.io/github/commit-activity/y/smartcontractkit/chainlink?style=flat-square)](https://github.com/smartcontractkit/chainlink/commits/master) +[![Official documentation](https://img.shields.io/static/v1?label=docs&message=latest&color=blue)](https://docs.chain.link/) + +[Chainlink](https://chain.link/) expands the capabilities of smart contracts by enabling access to real-world data and off-chain computation while maintaining the security and reliability guarantees inherent to blockchain technology. + +This repo contains the Chainlink core node and contracts. The core node is the bundled binary available to be run by node operators participating in a [decentralized oracle network](https://link.smartcontract.com/whitepaper). +All major release versions have pre-built docker images available for download from the [Chainlink dockerhub](https://hub.docker.com/r/smartcontract/chainlink/tags). +If you are interested in contributing please see our [contribution guidelines](./docs/CONTRIBUTING.md). +If you are here to report a bug or request a feature, please [check currently open Issues](https://github.com/smartcontractkit/chainlink/issues). +For more information about how to get started with Chainlink, check our [official documentation](https://docs.chain.link/). + +## Community + +Chainlink has an active and ever growing community. [Discord](https://discordapp.com/invite/aSK4zew) +is the primary communication channel used for day to day communication, +answering development questions, and aggregating Chainlink related content. Take +a look at the [community docs](./docs/COMMUNITY.md) for more information +regarding Chainlink social accounts, news, and networking. + +## Build Chainlink + +1. [Install Go 1.23](https://golang.org/doc/install), and add your GOPATH's [bin directory to your PATH](https://golang.org/doc/code.html#GOPATH) + - Example Path for macOS `export PATH=$GOPATH/bin:$PATH` & `export GOPATH=/Users/$USER/go` +2. Install [NodeJS v20](https://nodejs.org/en/download/package-manager/) & [pnpm v10 via npm](https://pnpm.io/installation#using-npm). + - It might be easier long term to use [nvm](https://nodejs.org/en/download/package-manager/#nvm) to switch between node versions for different projects. For example, assuming $NODE_VERSION was set to a valid version of NodeJS, you could run: `nvm install $NODE_VERSION && nvm use $NODE_VERSION` +3. Install [Postgres (>= 12.x)](https://wiki.postgresql.org/wiki/Detailed_installation_guides). It is recommended to run the latest major version of postgres. + - Note if you are running the official Chainlink docker image, the highest supported Postgres version is 16.x due to the bundled client. + - You should [configure Postgres](https://www.postgresql.org/docs/current/ssl-tcp.html) to use SSL connection (or for testing you can set `?sslmode=disable` in your Postgres query string). +4. Download Chainlink: `git clone https://github.com/smartcontractkit/chainlink && cd chainlink` +5. Build and install Chainlink: `make install` +6. Run the node: `chainlink help` + +For the latest information on setting up a development environment, see the [Development Setup Guide](https://github.com/smartcontractkit/chainlink/wiki/Development-Setup-Guide). + +### Build from PR + +To build an unofficial testing-only image from a feature branch or PR. You can do one of the following: + +1. Send a workflow dispatch event from our [`docker-build` workflow](https://github.com/smartcontractkit/chainlink/actions/workflows/docker-build.yml). +2. Add the `build-publish` label to your PR and then either retry the `docker-build` workflow, or push a new commit. + +### Build Plugins + +Plugins are defined in yaml files within the `plugins/` directory. Each plugin file is a yaml file and has a `plugins.` prefix name. Plugins are installed with [loopinstall](https://github.com/smartcontractkit/chainlink-common/tree/main/pkg/loop/cmd/loopinstall). + +To install the plugins, run: + +```bash +make install-plugins +``` + +Some plugins (such as those in `plugins/plugins.private.yaml`) reference private GitHub repositories. To build these plugins, you must have a GITHUB_TOKEN environment variable set, or preferably use the [gh](https://cli.github.com/manual/gh) GitHub CLI tool to use the [GitHub CLI credential helper](https://cli.github.com/manual/gh_auth_setup-git) like: + +```shell +# Sets up a credential helper. +gh auth setup-git +``` + +Then you can build the plugins with: + +```shell +make install-plugins-private +``` + +### Docker Builds + +To build the experimental "plugins" Chainlink docker image, you can run this from the root of the repository: + +```shell +# The GITHUB_TOKEN is required to access private repos which are used by some plugins. +export GITHUB_TOKEN=$(gh auth token) # requires the `gh` cli tool. +make docker-plugins +``` + +### Ethereum Execution Client Requirements + +In order to run the Chainlink node you must have access to a running Ethereum node with an open websocket connection. +Any Ethereum based network will work once you've [configured](https://github.com/smartcontractkit/chainlink#configure) the chain ID. +Ethereum node versions currently tested and supported: + +[Officially supported] + +- [Parity/Openethereum](https://github.com/openethereum/openethereum) (NOTE: Parity is deprecated and support for this client may be removed in future) +- [Geth](https://github.com/ethereum/go-ethereum/releases) +- [Besu](https://github.com/hyperledger/besu) + +[Supported but broken] +These clients are supported by Chainlink, but have bugs that prevent Chainlink from working reliably on these execution clients. + +- [Nethermind](https://github.com/NethermindEth/nethermind) + Blocking issues: + - ~https://github.com/NethermindEth/nethermind/issues/4384~ +- [Erigon](https://github.com/ledgerwatch/erigon) + Blocking issues: + - https://github.com/ledgerwatch/erigon/discussions/4946 + - https://github.com/ledgerwatch/erigon/issues/4030#issuecomment-1113964017 + +We cannot recommend specific version numbers for ethereum nodes since the software is being continually updated, but you should usually try to run the latest version available. + +## Running a local Chainlink node + +**NOTE**: By default, chainlink will run in TLS mode. For local development you can disable this by using a `dev build` using `make chainlink-dev` and setting the TOML fields: + +```toml +[WebServer] +SecureCookies = false +TLS.HTTPSPort = 0 + +[Insecure] +DevWebServer = true +``` + +Alternatively, you can generate self signed certificates using `tools/bin/self-signed-certs` or [manually](https://github.com/smartcontractkit/chainlink/wiki/Creating-Self-Signed-Certificates). + +To start your Chainlink node, simply run: + +```bash +chainlink node start +``` + +By default this will start on port 6688. You should be able to access the UI at [http://localhost:6688/](http://localhost:6688/). + +Chainlink provides a remote CLI client as well as a UI. Once your node has started, you can open a new terminal window to use the CLI. You will need to log in to authorize the client first: + +```bash +chainlink admin login +``` + +(You can also set `ADMIN_CREDENTIALS_FILE=/path/to/credentials/file` in future if you like, to avoid having to login again). + +Now you can view your current jobs with: + +```bash +chainlink jobs list +``` + +To find out more about the Chainlink CLI, you can always run `chainlink help`. + +Check out the [doc](https://docs.chain.link/) pages on [Jobs](https://docs.chain.link/docs/jobs/) to learn more about how to create Jobs. + +### Configuration + +Node configuration is managed by a combination of environment variables and direct setting via API/UI/CLI. + +Check the [official documentation](https://docs.chain.link/docs/configuration-variables) for more information on how to configure your node. + +### External Adapters + +External adapters are what make Chainlink easily extensible, providing simple integration of custom computations and specialized APIs. A Chainlink node communicates with external adapters via a simple REST API. + +For more information on creating and using external adapters, please see our [external adapters page](https://docs.chain.link/docs/external-adapters). + +## Verify Official Chainlink Releases + +We use `cosign` with OIDC keyless signing during the [Build, Sign and Publish Chainlink](https://github.com/smartcontractkit/chainlink/actions/workflows/build-publish.yml) workflow. + +It is encourage for any node operator building from the official Chainlink docker image to verify the tagged release version was did indeed built from this workflow. + +You will need `cosign` in order to do this verification. [Follow the instruction here to install cosign](https://docs.sigstore.dev/system_config/installation/). + +```bash +# tag is the tagged release version - ie. 2.16.0 +cosign verify index.docker.io/smartcontract/chainlink:${tag} \ + --certificate-oidc-issuer https://token.actions.githubusercontent.com \ + --certificate-identity "https://github.com/smartcontractkit/chainlink/.github/workflows/build-publish.yml@refs/tags/v${tag}" +``` + +## Development + +### Running tests + +1. [Install pnpm 10 via npm](https://pnpm.io/installation#using-npm) + +2. Install [gencodec](https://github.com/fjl/gencodec) and [jq](https://stedolan.github.io/jq/download/) to be able to run `go generate ./...` and `make abigen` + +3. Install mockery + +`make mockery` + +Using the `make` command will install the correct version. + +4. Generate and compile static assets: + +```bash +make generate +``` + +5. Prepare your development environment: + +The tests require a postgres database. In turn, the environment variable +`CL_DATABASE_URL` must be set to value that can connect to `_test` database, and the user must be able to create and drop +the given `_test` database. + +Note: Other environment variables should not be set for all tests to pass + +There helper script for initial setup to create an appropriate test user. It requires postgres to be running on localhost at port 5432. You will be prompted for +the `postgres` user password + +```bash +make setup-testdb +``` + +This script will save the `CL_DATABASE_URL` in `.dbenv` + +Changes to database require migrations to be run. Similarly, `pull`'ing the repo may require migrations to run. +After the one-time setup above: + +``` +source .dbenv +make testdb +``` + +If you encounter the error `database accessed by other users (SQLSTATE 55006) exit status 1` +and you want force the database creation then use + +``` +source .dbenv +make testdb-force +``` + +7. Run tests: + +```bash +go test ./... +``` + +#### Notes + +- The `parallel` flag can be used to limit CPU usage, for running tests in the background (`-parallel=4`) - the default is `GOMAXPROCS` +- The `p` flag can be used to limit the number of _packages_ tested concurrently, if they are interferring with one another (`-p=1`) +- The `-short` flag skips tests which depend on the database, for quickly spot checking simpler tests in around one minute + +#### Race Detector + +As of Go 1.1, the runtime includes a data race detector, enabled with the `-race` flag. This is used in CI via the +`tools/bin/go_core_race_tests` script. If the action detects a race, the artifact on the summary page will include +`race.*` files with detailed stack traces. + +> _**It will not issue false positives, so take its warnings seriously.**_ + +For local, targeted race detection, you can run: + +```bash +GORACE="log_path=$PWD/race" go test -race ./core/path/to/pkg -count 10 +GORACE="log_path=$PWD/race" go test -race ./core/path/to/pkg -count 100 -run TestFooBar/sub_test +``` + +https://go.dev/doc/articles/race_detector + +#### Fuzz tests + +As of Go 1.18, fuzz tests `func FuzzXXX(*testing.F)` are included as part of the normal test suite, so existing cases are executed with `go test`. + +Additionally, you can run active fuzzing to search for new cases: + +```bash +go test ./pkg/path -run=XXX -fuzz=FuzzTestName +``` + +https://go.dev/doc/fuzz/ + +### Go Modules + +This repository contains three Go modules: + +```mermaid +flowchart RL + github.com/smartcontractkit/chainlink/v2 + github.com/smartcontractkit/chainlink/integration-tests --> github.com/smartcontractkit/chainlink/v2 + github.com/smartcontractkit/chainlink/core/scripts --> github.com/smartcontractkit/chainlink/v2 + +``` + +The `integration-tests` and `core/scripts` modules import the root module using a relative replace in their `go.mod` files, +so dependency changes in the root `go.mod` often require changes in those modules as well. After making a change, `go mod tidy` +can be run on all three modules using: + +``` +make gomodtidy +``` + +### Code Generation + +Go generate is used to generate mocks in this project. Mocks are generated with [mockery](https://github.com/vektra/mockery) and live in core/internal/mocks. + +### Nix + +A [shell.nix](https://nixos.wiki/wiki/Development_environment_with_nix-shell) is provided for use with the [Nix package manager](https://nixos.org/). By default,we utilize the shell through [Nix Flakes](https://nixos.wiki/wiki/Flakes). + +Nix defines a declarative, reproducible development environment. Flakes version use deterministic, frozen (`flake.lock`) dependencies to +gain more consistency/reproducibility on the built artifacts. + +To use it: + +1. Install [nix package manager](https://nixos.org/download.html) in your system. + +- Enable [flakes support](https://nixos.wiki/wiki/Flakes#Enable_flakes) + +2. Run `nix develop`. You will be put in shell containing all the dependencies. + +- Optionally, `nix develop --command $SHELL` will make use of your current shell instead of the default (bash). +- You can use `direnv` to enable it automatically when `cd`-ing into the folder; for that, enable [nix-direnv](https://github.com/nix-community/nix-direnv) and `use flake` on it. + +3. Create a local postgres database: + +```sh +mkdir -p $PGDATA && cd $PGDATA/ +initdb +pg_ctl -l postgres.log -o "--unix_socket_directories='$PWD'" start +createdb chainlink_test -h localhost +createuser --superuser --password chainlink -h localhost +# then type a test password, e.g.: chainlink, and set it in shell.nix CL_DATABASE_URL +``` + +4. When re-entering project, you can restart postgres: `cd $PGDATA; pg_ctl -l postgres.log -o "--unix_socket_directories='$PWD'" start` + Now you can run tests or compile code as usual. +5. When you're done, stop it: `cd $PGDATA; pg_ctl -o "--unix_socket_directories='$PWD'" stop` + +### Changesets + +We use [changesets](https://github.com/changesets/changesets) to manage versioning for libs and the services. + +Every PR that modifies any configuration or code, should most likely accompanied by a changeset file. + +To install `changesets`: + +1. Install `pnpm` if it is not already installed - [docs](https://pnpm.io/installation). +2. Run `pnpm install`. + +Either after or before you create a commit, run the `pnpm changeset` command to create an accompanying changeset entry which will reflect on the CHANGELOG for the next release. + +The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), + +and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). + +### Tips + +For more tips on how to build and test Chainlink, see our [development tips page](https://github.com/smartcontractkit/chainlink/wiki/Development-Tips). + +### Contributing + +Contributions are welcome to Chainlink's source code. + +Please check out our [contributing guidelines](./docs/CONTRIBUTING.md) for more details. + +Thank you! diff --git a/data/readmes/chaos-mesh-v280.md b/data/readmes/chaos-mesh-v280.md new file mode 100644 index 0000000..6031215 --- /dev/null +++ b/data/readmes/chaos-mesh-v280.md @@ -0,0 +1,153 @@ +# Chaos Mesh - README (v2.8.0) + +**Repository**: https://github.com/chaos-mesh/chaos-mesh +**Version**: v2.8.0 + +--- + +Chaos Mesh Logo +Chaos Mesh Logo + +--- + + + +[![LICENSE](https://img.shields.io/github/license/chaos-mesh/chaos-mesh.svg)](https://github.com/chaos-mesh/chaos-mesh/blob/master/LICENSE) +[![codecov](https://codecov.io/gh/chaos-mesh/chaos-mesh/branch/master/graph/badge.svg)](https://codecov.io/gh/chaos-mesh/chaos-mesh) +[![Go Report Card](https://goreportcard.com/badge/github.com/chaos-mesh/chaos-mesh)](https://goreportcard.com/report/github.com/chaos-mesh/chaos-mesh) +[![GoDoc](https://img.shields.io/badge/Godoc-reference-blue.svg)](https://godoc.org/github.com/chaos-mesh/chaos-mesh) +[![Upload Image](https://github.com/chaos-mesh/chaos-mesh/actions/workflows/upload_image.yml/badge.svg?event=schedule)](https://github.com/chaos-mesh/chaos-mesh/actions/workflows/upload_image.yml) + +[![FOSSA Status](https://app.fossa.com/api/projects/git%2Bgithub.com%2Fchaos-mesh%2Fchaos-mesh.svg?type=shield)](https://app.fossa.com/projects/git%2Bgithub.com%2Fchaos-mesh%2Fchaos-mesh?ref=badge_shield) +[![CII Best Practices](https://bestpractices.coreinfrastructure.org/projects/3680/badge)](https://bestpractices.coreinfrastructure.org/projects/3680) +[![Artifact Hub](https://img.shields.io/endpoint?url=https%3A%2F%2Fartifacthub.io%2Fbadge%2Frepository%2Fchaos-mesh)](https://artifacthub.io/packages/helm/chaos-mesh/chaos-mesh) + + + +Chaos Mesh is an open source cloud-native Chaos Engineering platform. It offers various types of fault simulation and has an enormous capability to orchestrate fault scenarios. + +Using Chaos Mesh, you can conveniently simulate various abnormalities that might occur in reality during the development, testing, and production environments and find potential problems in the system. To lower the threshold for a Chaos Engineering project, Chaos Mesh provides you with a visualization operation. You can easily design your Chaos scenarios on the Web UI and monitor the status of Chaos experiments. + +![cncf_logo](./static/cncf.png#gh-light-mode-only) +![cncf_logo](./static/cncf-white.png#gh-dark-mode-only) + +Chaos Mesh is a [Cloud Native Computing Foundation (CNCF)](https://www.cncf.io/) incubating project. If you are an organization that wants to help shape the evolution of technologies that are container-packaged, dynamically-scheduled and microservices-oriented, consider joining the CNCF. For details about who's involved and how Chaos Mesh plays a role, read the CNCF [announcement](https://www.cncf.io/announcements/2020/09/02/cloud-native-computing-foundation-announces-tikv-graduation/). + +--- + +At the current stage, Chaos Mesh has the following components: + +- **Chaos Operator**: the core component for chaos orchestration. Fully open sourced. +- **Chaos Dashboard**: a Web UI for managing, designing, monitoring Chaos Experiments. + +See the following demo video for a quick view of Chaos Mesh: + +[![Watch the video](./static/demo.gif)](https://www.youtube.com/watch?v=ifZEwdJO868) + +## Chaos Operator + +Chaos Operator injects chaos into the applications and Kubernetes infrastructure in a manageable way, which provides easy, custom definitions for chaos experiments and automatic orchestration. There are two components at play: + +**Chaos Controller Manager**: is primarily responsible for the scheduling and management of Chaos experiments. This component contains several CRD Controllers, such as Workflow Controller, Scheduler Controller, and Controllers of various fault types. + +**Chaos Daemon**: runs as DaemonSet and has Privileged permission by default (which can be disabled). This component mainly interferes with specific network devices, file systems, kernels by hacking into the target Pod Namespace. + +![Chaos Operator](./static/chaos-mesh.png) + +Chaos Operator uses [CustomResourceDefinition (CRD)](https://kubernetes.io/docs/tasks/access-kubernetes-api/custom-resources/custom-resource-definitions/) to define chaos objects. + +The current implementation supports a few types of CRD objects for fault injection, namely `PodChaos`, `NetworkChaos`, `IOChaos`, `TimeChaos`, `StressChaos`, and so on. +You can get the full list of CRD objects and their specifications in the [Chaos Mesh Docs](https://chaos-mesh.org/docs/). + +## Quick start + +See [Quick Start](https://chaos-mesh.org/docs/quick-start) and [Install Chaos Mesh using Helm](https://chaos-mesh.org/docs/production-installation-using-helm/). + +## Contributing + +See the [contributing guide](./CONTRIBUTING.md) and [development guide](https://chaos-mesh.org/docs/developer-guide-overview). + +## Adopters + +See [ADOPTERS](ADOPTERS.md). + +## Blogs + +Blogs on Chaos Mesh design & implementation, features, chaos engineering, community updates, etc. See [Chaos Mesh Blogs](https://chaos-mesh.org/blog). Here are some recommended ones for you to start with: + +- [Chaos Mesh 2.0: To a Chaos Engineering Ecology](https://chaos-mesh.org/blog/chaos-mesh-2.0-to-a-chaos-engineering-ecology/) +- [Chaos Mesh - Your Chaos Engineering Solution for System Resiliency on Kubernetes](https://chaos-mesh.org/blog/chaos_mesh_your_chaos_engineering_solution/) +- [Run Your First Chaos Experiment in 10 Minutes](https://chaos-mesh.org/blog/run_your_first_chaos_experiment/) +- [How to Simulate I/O Faults at Runtime](https://chaos-mesh.org/blog/how-to-simulate-io-faults-at-runtime/) +- [Simulating Clock Skew in K8s Without Affecting Other Containers on the Node](https://chaos-mesh.org/blog/simulating-clock-skew-in-k8s-without-affecting-other-containers-on-node/) +- [Building an Automated Testing Framework Based on Chaos Mesh and Argo](https://chaos-mesh.org/blog/building_automated_testing_framework) + +## Community + +Please reach out for bugs, feature requests, and other issues via: + +- Following us on Twitter [@chaos_mesh](https://twitter.com/chaos_mesh). + +- Joining the `#project-chaos-mesh` channel in the [CNCF Slack](https://slack.cncf.io/) workspace. + +- Filling an issue or opening a PR against this repository. + +### Community meetings + +- Chaos Mesh Community Monthly (Community and project-level updates, community sharing/demo, office hours) + - Time: on the fourth Thursday of every month (unless otherwise specified) + - [RSVP here](https://community.cncf.io/chaos-mesh-community/) + - [Meeting minutes](https://docs.google.com/document/d/1H8IfmhIJiJ1ltg-XLjqR_P_RaMHUGrl1CzvHnKM_9Sc/edit?usp=sharing) + +- Chaos Mesh Development Meeting (Releases, roadmap/features/RFC planning and discussion, issue triage/discussion, etc) + - Time: Every other Tuesday (unless otherwise specified) + - [RSVP here](https://community.cncf.io/chaos-mesh-community/) + - [Meeting minutes](https://docs.google.com/document/d/1s9X6tTOy3OGZaLDZQesGw1BNOrxQfWExjBFIn5irpPE/edit) + +### Community blogs + +- Grant Tarrant-Fisher: [Integrate your Reliability Toolkit with Your World](https://medium.com/search?q=Integrate+your+Reliability+Toolkit+with+Your+World) +- Yoshinori Teraoka: [Streake: Chaos Mesh によるカオスエンジニアリング](https://medium.com/sreake-jp/chaos-mesh-%E3%81%AB%E3%82%88%E3%82%8B%E3%82%AB%E3%82%AA%E3%82%B9%E3%82%A8%E3%83%B3%E3%82%B8%E3%83%8B%E3%82%A2%E3%83%AA%E3%83%B3%E3%82%B0-46fa2897c742) +- Sébastien Prud'homme: [Chaos Mesh : un générateur de chaos pour Kubernetes](https://www.cowboysysop.com/post/chaos-mesh-un-generateur-de-chaos-pour-kubernetes/) +- Craig Morten + - [K8s Chaos Dive: Chaos-Mesh Part 1](https://dev.to/craigmorten/k8s-chaos-dive-2-chaos-mesh-part-1-2i96) + - [K8s Chaos Dive: Chaos-Mesh Part 2](https://dev.to/craigmorten/k8s-chaos-dive-chaos-mesh-part-2-536m) +- Ronak Banka: [Getting Started with Chaos Mesh and Kubernetes](https://itnext.io/getting-started-with-chaos-mesh-and-kubernetes-bfd98d25d481) +- kondoumh: [​Kubernetes ネイティブなカオスエンジニアリングツール Chaos Mesh を使ってみる](https://blog.kondoumh.com/entry/2020/10/23/123431) +- Vadim Tkachenko: [ChaosMesh to Create Chaos in Kubernetes](https://www.percona.com/blog/2020/11/05/chaosmesh-to-create-chaos-in-kubernetes/) +- Hui Zhang: [How a Top Game Company Uses Chaos Engineering to Improve Testing](https://chaos-mesh.org/blog/how-a-top-game-company-uses-chaos-engineering-to-improve-testing) +- Anurag Paliwal + - [Securing tenant services while using chaos mesh using OPA](https://anuragpaliwal-93749.medium.com/securing-tenant-services-while-using-chaos-mesh-using-opa-3ae80c7f4b85) + - [Securing namespaces using restrict authorization feature in chaos mesh](https://anuragpaliwal-93749.medium.com/securing-namespaces-using-restrict-authorization-feature-in-chaos-mesh-2e110c3e0fb7) +- Pavan Kumar: [Chaos Engineering in Kubernetes using Chaos Mesh](https://link.medium.com/1V90dEknugb) +- Jessica Cherry: [Test your Kubernetes experiments with an open source web interface](https://opensource.com/article/21/6/chaos-mesh-kubernetes) +- λ.eranga: [Chaos Engineering with Chaos Mesh](https://medium.com/rahasak/chaos-engineering-with-chaos-mesh-b040169b51bd) +- Tomáš Kubica: [Kubernetes prakticky: zlounství s Chaos Mesh a Azure Chaos Studio](https://www.tomaskubica.cz/post/2021/kubernetes-prakticky-zlounstvi-s-chaos-mesh-a-azure-chaos-studio2/) +- mend: [Chaos Meshで何ができるのか見てみた](https://qiita.com/mend/items/dcdfab5e980467bf58e9) + +### Community talks + +- Twain Taylor: [Chaos Mesh Simplifies & Organizes Chaos Engineering For Kubernetes](https://youtu.be/shbrjAY86ZQ) +- Saiyam Pathak + - [Let's explore chaos mesh](https://youtu.be/kMbTYItsTTI) + - [Chaos Mesh - Chaos Engineering for Kubernetes](https://youtu.be/HAU_cjW1bMw) + - [Chaos Mesh 2.0](https://youtu.be/HmQ9cFwxF7g) + +## Media coverage + +- CodeZine: [オープンソースのカオステストツール「Chaos Mesh 1.0」、一般提供を開始](https://codezine.jp/article/detail/12996) +- @IT atmarkit: [Kubernetes 向けカオスエンジニアリングプラットフォーム「Chaos Mesh 1.0」が公開](https://www.atmarkit.co.jp/ait/articles/2010/09/news108.html) +- Publickey: [Kubernetes の Pod やネットワークをわざと落としまくってカオスエンジニアリングのテストができる「Chaos Mesh」がバージョン 1.0 に到達](https://www.publickey1.jp/blog/20/kubernetespodchaos_mesh10.html) +- InfoQ: [Chaos Engineering on Kubernetes : Chaos Mesh Generally Available with v1.0](https://www.infoq.com/news/2020/10/kubernetes-chaos-mesh-ga/) +- TechGenix: [Chaos Mesh Promises to Bring Order to Chaos Engineering](http://techgenix.com/chaos-mesh-chaos-engineering/) + +## License + +Chaos Mesh is licensed under the Apache License, Version 2.0. See [LICENSE](./LICENSE) for the full content. + + +[![FOSSA Status](https://app.fossa.com/api/projects/git%2Bgithub.com%2Fchaos-mesh%2Fchaos-mesh.svg?type=large)](https://app.fossa.com/projects/git%2Bgithub.com%2Fchaos-mesh%2Fchaos-mesh?ref=badge_large) + +## Trademark + +Chaos Mesh is a trademark of The Linux Foundation. All rights reserved. diff --git a/data/readmes/chaosblade-v180.md b/data/readmes/chaosblade-v180.md new file mode 100644 index 0000000..78ec8fa --- /dev/null +++ b/data/readmes/chaosblade-v180.md @@ -0,0 +1,100 @@ +# Chaosblade - README (v1.8.0) + +**Repository**: https://github.com/chaosblade-io/chaosblade +**Version**: v1.8.0 + +--- + +![logo](https://chaosblade.oss-cn-hangzhou.aliyuncs.com/doc/image/chaosblade-logo.png) + +# Chaosblade: An Easy to Use and Powerful Chaos Engineering Toolkit +[![Build Status](https://travis-ci.org/chaosblade-io/chaosblade.svg?branch=master)](https://travis-ci.org/chaosblade-io/chaosblade) +[![Financial Contributors on Open Collective](https://opencollective.com/chaosblade/all/badge.svg?label=financial+contributors)](https://opencollective.com/chaosblade) [![codecov](https://codecov.io/gh/chaosblade-io/chaosblade/branch/master/graph/badge.svg)](https://codecov.io/gh/chaosblade-io/chaosblade) +![license](https://img.shields.io/github/license/chaosblade-io/chaosblade.svg) +[![CII Best Practices](https://bestpractices.coreinfrastructure.org/projects/5032/badge)](https://bestpractices.coreinfrastructure.org/projects/5032) + +中文版 [README](README_CN.md) +Wiki: [DeepWiki](https://deepwiki.com/chaosblade-io/chaosblade-for-deepwiki) +## Introduction + +ChaosBlade is an Alibaba open source experimental injection tool that follows the principles of chaos engineering and chaos experimental models to help enterprises improve the fault tolerance of distributed systems and ensure business continuity during the process of enterprises going to cloud or moving to cloud native systems. + +Chaosblade is an internal open source project of MonkeyKing. It is based on Alibaba's nearly ten years of failure testing and drill practice, and combines the best ideas and practices of the Group's businesses. + +ChaosBlade is not only easy to use, but also supports rich experimental scenarios. The scenarios include: +* Basic resources: such as CPU, memory, network, disk, process and other experimental scenarios; +* Java applications: such as databases, caches, messages, JVM itself, microservices, etc. You can also specify any class method to inject various complex experimental scenarios; +* C ++ applications: such as specifying arbitrary methods or experimental lines of code injection delay, tampering with variables and return values; +* container: such as killing the container, the CPU in the container, memory, network, disk, process and other experimental scenarios; +* Cloud-native platforms: For example, CPU, memory, network, disk, and process experimental scenarios on Kubernetes platform nodes, Pod network and Pod itself experimental scenarios such as killing Pods, and container experimental scenarios such as the aforementioned Docker container experimental scenario; + +Encapsulating scenes by domain into individual projects can not only standardize the scenes in the domain, but also facilitate the horizontal and vertical expansion of the scenes. By following the chaos experimental model, the chaosblade cli can be called uniformly. The items currently included are: +* [chaosblade](https://github.com/chaosblade-io/chaosblade): Chaos experiment management tool, including commands for creating experiments, destroying experiments, querying experiments, preparing experimental environments, and canceling experimental environments. It is the execution of chaotic experiments. Tools, execution methods include CLI and HTTP. Provides complete commands, experimental scenarios, and scenario parameter descriptions, and the operation is simple and clear. +* [chaosblade-spec-go](https://github.com/chaosblade-io/chaosblade-spec-go): Chaos experimental model Golang language definition, scenes implemented using Golang language are easy to implement based on this specification. +* [chaosblade-exec-os](https://github.com/chaosblade-io/chaosblade-exec-os): Implementation of basic resource experimental scenarios. +* [chaosblade-exec-docker](https://github.com/chaosblade-io/chaosblade-exec-docker): Docker container experimental scenario implementation, standardized by calling the Docker API. +* [chaosblade-exec-cri](https://github.com/chaosblade-io/chaosblade-exec-cri): Container experimental scenario implementation, standardized by calling the CRI. +* [chaosblade-operator](https://github.com/chaosblade-io/chaosblade-operator): Kubernetes platform experimental scenario is implemented, chaos experiments are defined by Kubernetes standard CRD method, it is very convenient to use Kubernetes resource operation method To create, update, and delete experimental scenarios, including using kubectl, client-go, etc., and also using the chaosblade cli tool described above. +* [chaosblade-exec-jvm](https://github.com/chaosblade-io/chaosblade-exec-jvm): Java application experimental scenario implementation, using Java Agent technology to mount dynamically, without any access, zero-cost use It also supports uninstallation and completely recycles various resources created by the Agent. +* [chaosblade-exec-cplus](https://github.com/chaosblade-io/chaosblade-exec-cplus): C ++ application experimental scenario implementation, using GDB technology to implement method and code line level experimental scenario injection. +* [chaosblade-box](https://github.com/chaosblade-io/chaosblade-box): Possessing chaos engineering platform and resilience testing platform capabilities.For more information on the resilience testing platform capabilities, see the [main2](https://github.com/chaosblade-io/chaosblade-box/tree/main2) branch. + +## CLI Command +You can download the latest chaosblade toolkit from [Releases](https://github.com/chaosblade-io/chaosblade/releases) and extract it and use it. If you want to inject Kubernetes related fault scenarios, you need to install [chaosblade-operator](https://github.com/chaosblade-io/chaosblade-operator/releases). For detailed Chinese usage documents, please see [chaosblade-help-zh-cn ](https://chaosblade-io.gitbook.io/chaosblade-help-zh-cn/). + +chaosblade supports CLI and HTTP invocation methods. The supported commands are as follows: +* **prepare**: alias is p, preparation before the chaos engineering experiment, such as drilling Java applications, you need to attach the java agent. For example, to drill an application whose application name is business, execute `blade p jvm --process business` on the target host. If the attach is successful, return the uid for status query or agent revoke. +* **revoke**: alias is r, undo chaos engineering experiment preparation before, such as detaching java agent. The command is `blade revoke UID` +* **create**: alias is c, create a chaos engineering experiment. The command is `blade create [TARGET] [ACTION] [FLAGS]`. For example, if you implement a Dubbo consumer call xxx.xxx.Service interface delay 3s, the command executed is `blade create dubbo delay --consumer --time 3000 --Service xxx.xxx.Service`, if the injection is successful, return the experimental uid for status query and destroy the experiment. +* **destroy**: alias is d, destroy a chaos engineering experiment, such as destroying the Dubbo delay experiment mentioned above, the command is `blade destroy UID` +* **status**: alias s, query preparation stage or experiment status, the command is `blade status UID` or `blade status --type create` +* **server**: start the web server, expose the HTTP service, and call chaosblade through HTTP requests. For example, execute on the target machine xxxx: `blade server start -p 9526` to perform a CPU full load experiment:` curl "http://xxxx:9526/chaosblade?cmd=create%20cpu%20fullload" ` + +Use the `blade help [COMMAND]` or `blade [COMMAND] -h` command to view help + +## Experience Demo +Download the chaosblade demo image and experience the use of the blade toolkit + +![demo.gif](https://chaosblade.oss-cn-hangzhou.aliyuncs.com/agent/release/chaosblade-demo-0.0.1.gif) + +Download image command: +```shell script +docker pull chaosbladeio/chaosblade-demo +``` +Run the demo container: +```shell script +docker run -it --privileged chaosbladeio/chaosblade-demo +``` +After entering the container, you can read the README.txt file to implement the chaos experiment, Enjoy it. + +## Cloud Native +[chaosblade-operator](https://github.com/chaosblade-io/chaosblade-operator) The project is a chaos experiment injection tool for cloud-native platforms. It follows the chaos experiment model to standardize the experimental scenario and defines the experiment as Kubernetes CRD Resources, mapping experimental models to Kubernetes resource attributes, and very friendly combination of chaotic experimental models with Kubernetes declarative design. While relying on chaotic experimental models to conveniently develop scenarios, it can also well integrate Kubernetes design concepts, through kubectl or Write code to directly call the Kubernetes API to create, update, and delete chaotic experiments, and the resource status can clearly indicate the execution status of the experiment, and standardize Kubernetes fault injection. In addition to using the above methods to perform experiments, you can also use the chaosblade cli method to execute kubernetes experimental scenarios and query the experimental status very conveniently. For details, please read the chinese document: [Chaos Engineering Practice under Cloud Native](CLOUDNATIVE.md) + +## Compile +See [BUILD.md](BUILD.md) for the details. + +## Bugs and Feedback +For bug report, questions and discussions please submit [GitHub Issues](https://github.com/chaosblade-io/chaosblade/issues). + +You can also contact us via: +* Dingding group (recommended for chinese): 23177705 +* Slack group: [chaosblade-io](https://join.slack.com/t/chaosblade-io/shared_invite/zt-f0d3r3f4-TDK13Wr3QRUrAhems28p1w) +* Gitter room: [chaosblade community](https://gitter.im/chaosblade-io/community) +* Email: chaosblade.io.01@gmail.com +* Twitter: [chaosblade.io](https://twitter.com/ChaosbladeI) + +## Contributing +We welcome every contribution, even if it is just punctuation. See details of [CONTRIBUTING](CONTRIBUTING.md). For the promotion ladder of specific community participation students, see: ([Contributor Ladder](https://github.com/chaosblade-io/community/blob/main/Contributor_Ladder.md)) + +## Business Registration +The original intention of our open source project is to lower the threshold for chaos engineering to be implemented in enterprises, so we highly value the use of the project in enterprises. Welcome everyone here [ISSUE](https://github.com/chaosblade-io/chaosblade/issues/32). After registration, you will be invited to join the corporate mail group to discuss the problems encountered by Chaos Engineering in the landing of the company and share the landing experience. + +## Contributors + +### Code Contributors + +This project exists thanks to all the people who contribute. [[Contribute](CONTRIBUTING.md)]. + + +## License +Chaosblade is licensed under the Apache License, Version 2.0. See [LICENSE](LICENSE) for the full license text. diff --git a/data/readmes/checkov-32495.md b/data/readmes/checkov-32495.md new file mode 100644 index 0000000..6956d9f --- /dev/null +++ b/data/readmes/checkov-32495.md @@ -0,0 +1,511 @@ +# Checkov - README (3.2.495) + +**Repository**: https://github.com/bridgecrewio/checkov +**Version**: 3.2.495 + +--- + +[![checkov](https://raw.githubusercontent.com/bridgecrewio/checkov/main/docs/web/images/checkov_blue_logo.png)](#) + +[![Maintained by Prisma Cloud](https://img.shields.io/badge/maintained_by-Prisma_Cloud-blue)](https://prismacloud.io/?utm_source=github&utm_medium=organic_oss&utm_campaign=checkov) +[![build status](https://github.com/bridgecrewio/checkov/workflows/build/badge.svg)](https://github.com/bridgecrewio/checkov/actions?query=workflow%3Abuild) +[![security status](https://github.com/bridgecrewio/checkov/workflows/security/badge.svg)](https://github.com/bridgecrewio/checkov/actions?query=event%3Apush+branch%3Amaster+workflow%3Asecurity) +[![code_coverage](https://raw.githubusercontent.com/bridgecrewio/checkov/main/coverage.svg?sanitize=true)](https://github.com/bridgecrewio/checkov/actions?query=workflow%3Acoverage) +[![docs](https://img.shields.io/badge/docs-passing-brightgreen)](https://www.checkov.io/1.Welcome/What%20is%20Checkov.html?utm_source=github&utm_medium=organic_oss&utm_campaign=checkov) +[![PyPI](https://img.shields.io/pypi/v/checkov)](https://pypi.org/project/checkov/) +[![Python Version](https://img.shields.io/pypi/pyversions/checkov)](#) +[![Terraform Version](https://img.shields.io/badge/tf-%3E%3D0.12.0-blue.svg)](#) +[![Downloads](https://static.pepy.tech/badge/checkov)](https://pepy.tech/project/checkov) +[![Docker Pulls](https://img.shields.io/docker/pulls/bridgecrew/checkov.svg)](https://hub.docker.com/r/bridgecrew/checkov) +[![slack-community](https://img.shields.io/badge/Slack-4A154B?style=plastic&logo=slack&logoColor=white)](https://codifiedsecurity.slack.com/) + + +**Checkov** is a static code analysis tool for infrastructure as code (IaC) and also a software composition analysis (SCA) tool for images and open source packages. + +It scans cloud infrastructure provisioned using [Terraform](https://terraform.io/), [Terraform plan](https://github.com/bridgecrewio/checkov/blob/main/docs/7.Scan%20Examples/Terraform%20Plan%20Scanning.md), [Cloudformation](https://github.com/bridgecrewio/checkov/blob/main/docs/7.Scan%20Examples/Cloudformation.md), [AWS SAM](https://github.com/bridgecrewio/checkov/blob/main/docs/7.Scan%20Examples/AWS%20SAM.md), [Kubernetes](https://github.com/bridgecrewio/checkov/blob/main/docs/7.Scan%20Examples/Kubernetes.md), [Helm charts](https://github.com/bridgecrewio/checkov/blob/main/docs/7.Scan%20Examples/Helm.md), [Kustomize](https://github.com/bridgecrewio/checkov/blob/main/docs/7.Scan%20Examples/Kustomize.md), [Dockerfile](https://github.com/bridgecrewio/checkov/blob/main/docs/7.Scan%20Examples/Dockerfile.md), [Serverless](https://github.com/bridgecrewio/checkov/blob/main/docs/7.Scan%20Examples/Serverless%20Framework.md), [Bicep](https://github.com/bridgecrewio/checkov/blob/main/docs/7.Scan%20Examples/Bicep.md), [OpenAPI](https://github.com/bridgecrewio/checkov/blob/main/docs/7.Scan%20Examples/OpenAPI.md), [ARM Templates](https://github.com/bridgecrewio/checkov/blob/main/docs/7.Scan%20Examples/Azure%20ARM%20templates.md), or [OpenTofu](https://opentofu.org/) and detects security and compliance misconfigurations using graph-based scanning. + +It performs [Software Composition Analysis (SCA) scanning](docs/7.Scan%20Examples/Sca.md) which is a scan of open source packages and images for Common Vulnerabilities and Exposures (CVEs). + +Checkov also powers [**Prisma Cloud Application Security**](https://www.prismacloud.io/prisma/cloud/cloud-code-security/?utm_source=github&utm_medium=organic_oss&utm_campaign=checkov), the developer-first platform that codifies and streamlines cloud security throughout the development lifecycle. Prisma Cloud identifies, fixes, and prevents misconfigurations in cloud resources and infrastructure-as-code files. + + + + + + + + + + +## **Table of contents** + +- [Features](#features) +- [Screenshots](#screenshots) +- [Getting Started](#getting-started) +- [Disclaimer](#disclaimer) +- [Support](#support) +- [Migration - v2 to v3](https://github.com/bridgecrewio/checkov/blob/main/docs/1.Welcome/Migration.md) + + ## Features + + * [Over 1000 built-in policies](https://github.com/bridgecrewio/checkov/blob/main/docs/5.Policy%20Index/all.md) cover security and compliance best practices for AWS, Azure and Google Cloud. + * Scans Terraform, Terraform Plan, Terraform JSON, CloudFormation, AWS SAM, Kubernetes, Helm, Kustomize, Dockerfile, Serverless framework, Ansible, Bicep, ARM, and OpenTofu template files. + * Scans Argo Workflows, Azure Pipelines, BitBucket Pipelines, Circle CI Pipelines, GitHub Actions and GitLab CI workflow files + * Supports Context-awareness policies based on in-memory graph-based scanning. + * Supports Python format for attribute policies and YAML format for both attribute and composite policies. + * Detects [AWS credentials](https://github.com/bridgecrewio/checkov/blob/main/docs/2.Basics/Scanning%20Credentials%20and%20Secrets.md) in EC2 Userdata, Lambda environment variables and Terraform providers. + * [Identifies secrets](https://www.prismacloud.io/prisma/cloud/secrets-security) using regular expressions, keywords, and entropy based detection. + * Evaluates [Terraform Provider](https://registry.terraform.io/browse/providers) settings to regulate the creation, management, and updates of IaaS, PaaS or SaaS managed through Terraform. + * Policies support evaluation of [variables](https://github.com/bridgecrewio/checkov/blob/main/docs/2.Basics/Handling%20Variables.md) to their optional default value. + * Supports in-line [suppression](https://github.com/bridgecrewio/checkov/blob/main/docs/2.Basics/Suppressing%20and%20Skipping%20Policies.md) of accepted risks or false-positives to reduce recurring scan failures. Also supports global skip from using CLI. + * [Output](https://github.com/bridgecrewio/checkov/blob/main/docs/2.Basics/Reviewing%20Scan%20Results.md) currently available as CLI, [CycloneDX](https://cyclonedx.org), JSON, JUnit XML, CSV, SARIF and github markdown and link to remediation [guides](https://docs.prismacloud.io/en/enterprise-edition/policy-reference/). + +## Screenshots + +Scan results in CLI + +![scan-screenshot](https://raw.githubusercontent.com/bridgecrewio/checkov/main/docs/checkov-recording.gif) + +Scheduled scan result in Jenkins + +![jenikins-screenshot](https://raw.githubusercontent.com/bridgecrewio/checkov/main/docs/checkov-jenkins.png) + +## Getting started + +### Requirements + * Python >= 3.9, <=3.12 + * Terraform >= 0.12 + +### Installation + +To install pip follow the official [docs](https://pip.pypa.io/en/stable/cli/pip_install/) + +```sh +pip3 install checkov +``` + +Certain environments (e.g., Debian 12) may require you to install Checkov in a virtual environment + +```sh +# Create and activate a virtual environment +python3 -m venv /path/to/venv/checkov +cd /path/to/venv/checkov +source ./bin/activate + +# Install Checkov with pip +pip install checkov + +# Optional: Create a symlink for easy access +sudo ln -s /path/to/venv/checkov/bin/checkov /usr/local/bin/checkov +``` + +or with [Homebrew](https://formulae.brew.sh/formula/checkov) (macOS or Linux) + +```sh +brew install checkov +``` + +### Enabling bash autocomplete +```sh +source <(register-python-argcomplete checkov) +``` +### Upgrade + +if you installed checkov with pip3 +```sh +pip3 install -U checkov +``` + +or with Homebrew + +```sh +brew upgrade checkov +``` + +### Configure an input folder or file + +```sh +checkov --directory /user/path/to/iac/code +``` + +Or a specific file or files + +```sh +checkov --file /user/tf/example.tf +``` +Or +```sh +checkov -f /user/cloudformation/example1.yml -f /user/cloudformation/example2.yml +``` + +Or a terraform plan file in json format +```sh +terraform init +terraform plan -out tf.plan +terraform show -json tf.plan > tf.json +checkov -f tf.json +``` + +Note: `terraform show` output file `tf.json` will be a single line. +For that reason all findings will be reported line number 0 by Checkov + + +```sh +check: CKV_AWS_21: "Ensure all data stored in the S3 bucket have versioning enabled" + FAILED for resource: aws_s3_bucket.customer + File: /tf/tf.json:0-0 + Guide: https://docs.prismacloud.io/en/enterprise-edition/policy-reference/aws-policies/s3-policies/s3-16-enable-versioning + ``` + +If you have installed `jq` you can convert json file into multiple lines with the following command: +```sh +terraform show -json tf.plan | jq '.' > tf.json +``` +Scan result would be much user friendly. +```sh +checkov -f tf.json +Check: CKV_AWS_21: "Ensure all data stored in the S3 bucket have versioning enabled" + FAILED for resource: aws_s3_bucket.customer + File: /tf/tf1.json:224-268 + Guide: https://docs.prismacloud.io/en/enterprise-edition/policy-reference/aws-policies/s3-policies/s3-16-enable-versioning + + 225 | "values": { + 226 | "acceleration_status": "", + 227 | "acl": "private", + 228 | "arn": "arn:aws:s3:::mybucket", + +``` + +Alternatively, specify the repo root of the hcl files used to generate the plan file, using the `--repo-root-for-plan-enrichment` flag, to enrich the output with the appropriate file path, line numbers, and codeblock of the resource(s). An added benefit is that check suppressions will be handled accordingly. +```sh +checkov -f tf.json --repo-root-for-plan-enrichment /user/path/to/iac/code +``` + + +### Scan result sample (CLI) + +```sh +Passed Checks: 1, Failed Checks: 1, Suppressed Checks: 0 +Check: "Ensure all data stored in the S3 bucket is securely encrypted at rest" +/main.tf: + Passed for resource: aws_s3_bucket.template_bucket +Check: "Ensure all data stored in the S3 bucket is securely encrypted at rest" +/../regionStack/main.tf: + Failed for resource: aws_s3_bucket.sls_deployment_bucket_name +``` + +Start using Checkov by reading the [Getting Started](https://github.com/bridgecrewio/checkov/blob/main/docs/1.Welcome/Quick%20Start.md) page. + +### Using Docker + + +```sh +docker pull bridgecrew/checkov +docker run --tty --rm --volume /user/tf:/tf --workdir /tf bridgecrew/checkov --directory /tf +``` +Note: if you are using Python 3.6(Default version in Ubuntu 18.04) checkov will not work, and it will fail with `ModuleNotFoundError: No module named 'dataclasses'` error message. In this case, you can use the docker version instead. + +Note that there are certain cases where redirecting `docker run --tty` output to a file - for example, if you want to save the Checkov JUnit output to a file - will cause extra control characters to be printed. This can break file parsing. If you encounter this, remove the `--tty` flag. + +The `--workdir /tf` flag is optional to change the working directory to the mounted volume. If you are using the SARIF output `-o sarif` this will output the results.sarif file to the mounted volume (`/user/tf` in the example above). If you do not include that flag, the working directory will be "/". + +### Running or skipping checks + +By using command line flags, you can specify to run only named checks (allow list) or run all checks except +those listed (deny list). If you are using the platform integration via API key, you can also specify a severity threshold to skip and / or include. +Moreover, as json files can't contain comments, one can pass regex pattern to skip json file secret scan. + +See the docs for more detailed information about how these flags work together. + + +## Examples + +Allow only the two specified checks to run: +```sh +checkov --directory . --check CKV_AWS_20,CKV_AWS_57 +``` + +Run all checks except the one specified: +```sh +checkov -d . --skip-check CKV_AWS_20 +``` + +Run all checks except checks with specified patterns: +```sh +checkov -d . --skip-check CKV_AWS* +``` + +Run all checks that are MEDIUM severity or higher (requires API key): +```sh +checkov -d . --check MEDIUM --bc-api-key ... +``` + +Run all checks that are MEDIUM severity or higher, as well as check CKV_123 (assume this is a LOW severity check): +```sh +checkov -d . --check MEDIUM,CKV_123 --bc-api-key ... +``` + +Skip all checks that are MEDIUM severity or lower: +```sh +checkov -d . --skip-check MEDIUM --bc-api-key ... +``` + +Skip all checks that are MEDIUM severity or lower, as well as check CKV_789 (assume this is a high severity check): +```sh +checkov -d . --skip-check MEDIUM,CKV_789 --bc-api-key ... +``` + +Run all checks that are MEDIUM severity or higher, but skip check CKV_123 (assume this is a medium or higher severity check): +```sh +checkov -d . --check MEDIUM --skip-check CKV_123 --bc-api-key ... +``` + +Run check CKV_789, but skip it if it is a medium severity (the --check logic is always applied before --skip-check) +```sh +checkov -d . --skip-check MEDIUM --check CKV_789 --bc-api-key ... +``` + +For Kubernetes workloads, you can also use allow/deny namespaces. For example, do not report any results for the +kube-system namespace: +```sh +checkov -d . --skip-check kube-system +``` + +Run a scan of a container image. First pull or build the image then refer to it by the hash, ID, or name:tag: +```sh +checkov --framework sca_image --docker-image sha256:1234example --dockerfile-path /Users/path/to/Dockerfile --repo-id ... --bc-api-key ... + +checkov --docker-image :tag --dockerfile-path /User/path/to/Dockerfile --repo-id ... --bc-api-key ... +``` + +You can use --image flag also to scan container image instead of --docker-image for shortener: +```sh +checkov --image :tag --dockerfile-path /User/path/to/Dockerfile --repo-id ... --bc-api-key ... +``` + +Run an SCA scan of packages in a repo: +```sh +checkov -d . --framework sca_package --bc-api-key ... --repo-id +``` + +Run a scan of a directory with environment variables removing buffering, adding debug level logs: +```sh +PYTHONUNBUFFERED=1 LOG_LEVEL=DEBUG checkov -d . +``` +OR enable the environment variables for multiple runs +```sh +export PYTHONUNBUFFERED=1 LOG_LEVEL=DEBUG +checkov -d . +``` + +Run secrets scanning on all files in MyDirectory. Skip CKV_SECRET_6 check on json files that their suffix is DontScan +```sh +checkov -d /MyDirectory --framework secrets --repo-id ... --bc-api-key ... --skip-check CKV_SECRET_6:.*DontScan.json$ +``` + +Run secrets scanning on all files in MyDirectory. Skip CKV_SECRET_6 check on json files that contains "skip_test" in path +```sh +checkov -d /MyDirectory --framework secrets --repo-id ... --bc-api-key ... --skip-check CKV_SECRET_6:.*skip_test.*json$ +``` + +One can mask values from scanning results by supplying a configuration file (using --config-file flag) with mask entry. +The masking can apply on resource & value (or multiple values, separated with a comma). +Examples: +```sh +mask: +- aws_instance:user_data +- azurerm_key_vault_secret:admin_password,user_passwords +``` +In the example above, the following values will be masked: +- user_data for aws_instance resource +- both admin_password &user_passwords for azurerm_key_vault_secret + + +### Suppressing/Ignoring a check + +Like any static-analysis tool it is limited by its analysis scope. +For example, if a resource is managed manually, or using subsequent configuration management tooling, +suppression can be inserted as a simple code annotation. + +#### Suppression comment format + +To skip a check on a given Terraform definition block or CloudFormation resource, apply the following comment pattern inside it's scope: + +`checkov:skip=:` + +* `` is one of the [available check scanners](docs/5.Policy Index/all.md) +* `` is an optional suppression reason to be included in the output + +#### Example + +The following comment skips the `CKV_AWS_20` check on the resource identified by `foo-bucket`, where the scan checks if an AWS S3 bucket is private. +In the example, the bucket is configured with public read access; Adding the suppress comment would skip the appropriate check instead of the check to fail. + +```hcl-terraform +resource "aws_s3_bucket" "foo-bucket" { + region = var.region + #checkov:skip=CKV_AWS_20:The bucket is a public static content host + bucket = local.bucket_name + force_destroy = true + acl = "public-read" +} +``` + +The output would now contain a ``SKIPPED`` check result entry: + +```bash +... +... +Check: "S3 Bucket has an ACL defined which allows public access." + SKIPPED for resource: aws_s3_bucket.foo-bucket + Suppress comment: The bucket is a public static content host + File: /example_skip_acl.tf:1-25 + +... +``` +To skip multiple checks, add each as a new line. + +``` + #checkov:skip=CKV2_AWS_6 + #checkov:skip=CKV_AWS_20:The bucket is a public static content host +``` + +To suppress checks in Kubernetes manifests, annotations are used with the following format: +`checkov.io/skip#: =` + +For example: + +```bash +apiVersion: v1 +kind: Pod +metadata: + name: mypod + annotations: + checkov.io/skip1: CKV_K8S_20=I don't care about Privilege Escalation :-O + checkov.io/skip2: CKV_K8S_14 + checkov.io/skip3: CKV_K8S_11=I have not set CPU limits as I want BestEffort QoS +spec: + containers: +... +``` + +#### Logging + +For detailed logging to stdout set up the environment variable `LOG_LEVEL` to `DEBUG`. + +Default is `LOG_LEVEL=WARNING`. + +#### Skipping directories +To skip files or directories, use the argument `--skip-path`, which can be specified multiple times. This argument accepts regular expressions for paths relative to the current working directory. You can use it to skip entire directories and / or specific files. + +By default, all directories named `node_modules`, `.terraform`, and `.serverless` will be skipped, in addition to any files or directories beginning with `.`. +To cancel skipping directories beginning with `.` override `CKV_IGNORE_HIDDEN_DIRECTORIES` environment variable `export CKV_IGNORE_HIDDEN_DIRECTORIES=false` + +You can override the default set of directories to skip by setting the environment variable `CKV_IGNORED_DIRECTORIES`. + Note that if you want to preserve this list and add to it, you must include these values. For example, `CKV_IGNORED_DIRECTORIES=mynewdir` will skip only that directory, but not the others mentioned above. This variable is legacy functionality; we recommend using the `--skip-file` flag. + +#### Console Output + +The console output is in colour by default, to switch to a monochrome output, set the environment variable: +`ANSI_COLORS_DISABLED` + +#### VS Code Extension + +If you want to use Checkov within VS Code, give the [Prisma Cloud extension](https://marketplace.visualstudio.com/items?itemName=PrismaCloud.prisma-cloud) a try. + +### Configuration using a config file + +Checkov can be configured using a YAML configuration file. By default, checkov looks for a `.checkov.yaml` or `.checkov.yml` file in the following places in order of precedence: +* Directory against which checkov is run. (`--directory`) +* Current working directory where checkov is called. +* User's home directory. + +**Attention**: it is a best practice for checkov configuration file to be loaded from a trusted source composed by a verified identity, so that scanned files, check ids and loaded custom checks are as desired. + +Users can also pass in the path to a config file via the command line. In this case, the other config files will be ignored. For example: +```sh +checkov --config-file path/to/config.yaml +``` +Users can also create a config file using the `--create-config` command, which takes the current command line args and writes them out to a given path. For example: +```sh +checkov --compact --directory test-dir --docker-image sample-image --dockerfile-path Dockerfile --download-external-modules True --external-checks-dir sample-dir --quiet --repo-id prisma-cloud/sample-repo --skip-check CKV_DOCKER_3,CKV_DOCKER_2 --skip-framework dockerfile secrets --soft-fail --branch develop --check CKV_DOCKER_1 --create-config /Users/sample/config.yml +``` +Will create a `config.yaml` file which looks like this: +```yaml +branch: develop +check: + - CKV_DOCKER_1 +compact: true +directory: + - test-dir +docker-image: sample-image +dockerfile-path: Dockerfile +download-external-modules: true +evaluate-variables: true +external-checks-dir: + - sample-dir +external-modules-download-path: .external_modules +framework: + - all +output: cli +quiet: true +repo-id: prisma-cloud/sample-repo +skip-check: + - CKV_DOCKER_3 + - CKV_DOCKER_2 +skip-framework: + - dockerfile + - secrets +soft-fail: true +``` + +Users can also use the `--show-config` flag to view all the args and settings and where they came from i.e. commandline, config file, environment variable or default. For example: +```sh +checkov --show-config +``` +Will display: +```sh +Command Line Args: --show-config +Environment Variables: + BC_API_KEY: your-api-key +Config File (/Users/sample/.checkov.yml): + soft-fail: False + branch: master + skip-check: ['CKV_DOCKER_3', 'CKV_DOCKER_2'] +Defaults: + --output: cli + --framework: ['all'] + --download-external-modules:False + --external-modules-download-path:.external_modules + --evaluate-variables:True +``` + +## Contributing + +Contribution is welcomed! + +Start by reviewing the [contribution guidelines](https://github.com/bridgecrewio/checkov/blob/main/CONTRIBUTING.md). After that, take a look at a [good first issue](https://github.com/bridgecrewio/checkov/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22). + +You can even start this with one-click dev in your browser through Gitpod at the following link: + +[![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://github.com/bridgecrewio/checkov) + +Looking to contribute new checks? Learn how to write a new check (AKA policy) [here](https://github.com/bridgecrewio/checkov/blob/main/docs/6.Contribution/Contribution%20Overview.md). + +## Disclaimer +`checkov` does not save, publish or share with anyone any identifiable customer information. +No identifiable customer information is used to query Prisma Cloud's publicly accessible guides. +`checkov` uses Prisma Cloud's API to enrich the results with links to remediation guides. +To skip this API call use the flag `--skip-download`. + +## Support + +[Prisma Cloud](https://www.prismacloud.io/?utm_source=github&utm_medium=organic_oss&utm_campaign=checkov) builds and maintains Checkov to make policy-as-code simple and accessible. + +Start with our [Documentation](https://www.checkov.io/1.Welcome/Quick%20Start.html) for quick tutorials and examples. + +## Python Version Support +We follow the official support cycle of Python, and we use automated tests for supported versions of Python. +This means we currently support Python 3.9 - 3.13, inclusive. +Note that Python 3.8 reached EOL on October 2024 and Python 3.9 will reach EOL in October 2025. +If you run into any issues with any non-EOL Python version, please open an Issue. diff --git a/data/readmes/cilium-v1190-pre3.md b/data/readmes/cilium-v1190-pre3.md new file mode 100644 index 0000000..1a16b9a --- /dev/null +++ b/data/readmes/cilium-v1190-pre3.md @@ -0,0 +1,370 @@ +# Cilium - README (v1.19.0-pre.3) + +**Repository**: https://github.com/cilium/cilium +**Version**: v1.19.0-pre.3 +**Branch**: v1.19.0-pre.3 + +--- + +.. raw:: html + + + + Cilium Logo + + +|cii| |go-report| |clomonitor| |artifacthub| |slack| |go-doc| |rtd| |apache| |bsd| |gpl| |fossa| |gateway-api| |codespaces| + +Cilium is a networking, observability, and security solution with an eBPF-based +dataplane. It provides a simple flat Layer 3 network with the ability to span +multiple clusters in either a native routing or overlay mode. It is L7-protocol +aware and can enforce network policies on L3-L7 using an identity based security +model that is decoupled from network addressing. + +Cilium implements distributed load balancing for traffic between pods and to +external services, and is able to fully replace kube-proxy, using efficient +hash tables in eBPF allowing for almost unlimited scale. It also supports +advanced functionality like integrated ingress and egress gateway, bandwidth +management and service mesh, and provides deep network and security visibility and monitoring. + +A new Linux kernel technology called eBPF_ is at the foundation of Cilium. It +supports dynamic insertion of eBPF bytecode into the Linux kernel at various +integration points such as: network IO, application sockets, and tracepoints to +implement security, networking and visibility logic. eBPF is highly efficient +and flexible. To learn more about eBPF, visit `eBPF.io`_. + +.. image:: Documentation/images/cilium-overview.png + :alt: Overview of Cilium features for networking, observability, service mesh, and runtime security + +.. raw:: html + + + + + CNCF Graduated Project + + + + + + eBPF Logo + + + +Stable Releases +=============== + +The Cilium community maintains minor stable releases for the last three minor +Cilium versions. Older Cilium stable versions from minor releases prior to that +are considered EOL. + +For upgrades to new minor releases please consult the `Cilium Upgrade Guide`_. + +Listed below are the actively maintained release branches along with their latest +patch release, corresponding image pull tags and their release notes: + ++---------------------------------------------------------+------------+------------------------------------+----------------------------------------------------------------------------+ +| `v1.18 `__ | 2025-11-12 | ``quay.io/cilium/cilium:v1.18.4`` | `Release Notes `__ | ++---------------------------------------------------------+------------+------------------------------------+----------------------------------------------------------------------------+ +| `v1.17 `__ | 2025-11-12 | ``quay.io/cilium/cilium:v1.17.10`` | `Release Notes `__ | ++---------------------------------------------------------+------------+------------------------------------+----------------------------------------------------------------------------+ +| `v1.16 `__ | 2025-11-12 | ``quay.io/cilium/cilium:v1.16.17`` | `Release Notes `__ | ++---------------------------------------------------------+------------+------------------------------------+----------------------------------------------------------------------------+ + +Architectures +------------- + +Cilium images are distributed for AMD64 and AArch64 architectures. + +Software Bill of Materials +-------------------------- + +Starting with Cilium version 1.13.0, all images include a Software Bill of +Materials (SBOM). The SBOM is generated in `SPDX`_ format. More information +on this is available on `Cilium SBOM`_. + +.. _`SPDX`: https://spdx.dev/ +.. _`Cilium SBOM`: https://docs.cilium.io/en/latest/configuration/sbom/ + +Development +=========== + +For development and testing purpose, the Cilium community publishes snapshots, +early release candidates (RC) and CI container images build from the `main +branch `_. These images are +not for use in production. + +For testing upgrades to new development releases please consult the latest +development build of the `Cilium Upgrade Guide`_. + +Listed below are branches for testing along with their snapshots or RC releases, +corresponding image pull tags and their release notes where applicable: + ++----------------------------------------------------------------------------+------------+-----------------------------------------+---------------------------------------------------------------------------------+ +| `main `__ | daily | ``quay.io/cilium/cilium-ci:latest`` | N/A | ++----------------------------------------------------------------------------+------------+-----------------------------------------+---------------------------------------------------------------------------------+ +| `v1.19.0-pre.2 `__ | 2025-11-03 | ``quay.io/cilium/cilium:v1.19.0-pre.2`` | `Release Notes `__ | ++----------------------------------------------------------------------------+------------+-----------------------------------------+---------------------------------------------------------------------------------+ + +Functionality Overview +====================== + +.. begin-functionality-overview + +CNI (Container Network Interface) +--------------------------------- + +`Cilium as a CNI plugin `_ provides a +fast, scalable, and secure networking layer for Kubernetes clusters. Built +on eBPF, it offers several deployment options: + +* **Overlay networking:** encapsulation-based virtual network spanning all + hosts with support for VXLAN and Geneve. It works on almost any network + infrastructure as the only requirement is IP connectivity between hosts + which is typically already given. + +* **Native routing mode:** Use of the regular routing table of the Linux + host. The network is required to be capable of routing the IP addresses + of the application containers. It integrates with cloud routers, routing + daemons, and IPv6-native infrastructure. + +* **Flexible routing options:** Cilium can automate route learning and + advertisement in common topologies such as using L2 neighbor discovery + when nodes share a layer 2 domain, or BGP when routing across layer 3 + boundaries. + +Each mode is designed for maximum interoperability with existing +infrastructure while minimizing operational burden. + +Load Balancing +-------------- + +Cilium implements distributed load balancing for traffic between application +containers and to/from external services. The load balancing is implemented +in eBPF using efficient hashtables enabling high service density and low +latency at scale. + +* **East-west load balancing** rewrites service connections at the socket + level (``connect()``), avoiding the overhead of per-packet NAT and fully + `replacing kube-proxy `_. + +* **North-south load balancing** supports XDP for high-throughput scenarios + and `layer 4 load balancing `_ + including Direct Server Return (DSR), and Maglev consistent hashing. + +Cluster Mesh +------------ + +Cilium `Cluster Mesh `_ enables +secure, seamless connectivity across multiple Kubernetes clusters. For +operators running hybrid or multi-cloud environments, Cluster Mesh ensures +a consistent security and connectivity experience. + +* **Global service discovery**: Workloads across clusters can discover and + connect to services as if they were local. This enables fault tolerance, + like automatically failing over to backends in another cluster, and + exposes shared services like logging, auth, or databases across + environments. + +* **Unified identity model:** Security policies are enforced based on + identity, not IP address, across all clusters. + +Network Policy +-------------- + +Cilium `Network Policy `_ +provides identity-aware enforcement across L3-L7. Typical container +firewalls secure workloads by filtering on source IP addresses and +destination ports. This concept requires the firewalls on all servers to be +manipulated whenever a container is started anywhere in the cluster. + +In order to avoid this situation which limits scale, Cilium assigns a +security identity to groups of application containers which share identical +security policies. The identity is then associated with all network packets +emitted by the application containers, allowing to validate the identity at +the receiving node. + +* **Identity-based security** removes reliance on brittle IP addresses. + +* **L3/L4 policies** restrict traffic based on labels, protocols, and ports. + +* **DNS-based policies:** Allow or deny traffic to FQDNs or wildcard domains + (e.g., ``api.example.com``, ``*.trusted.com``). This is especially useful + for securing egress traffic to third-party services. + +* **L7-aware policies** allow filtering by HTTP method, URL path, gRPC call, + and more: + + * Example: Allow only GET requests to ``/public/.*``. + + * Enforce the presence of headers like ``X-Token: [0-9]+``. + +CIDR-based egress and ingress policies are also supported for controlling +access to external IPs, ideal for integrating with legacy systems or +regulatory boundaries. + +Service Mesh +------------ + +With Cilium `Service Mesh `_, +operators gain the benefits of fine-grained traffic control, encryption, observability, +access control, without the cost and complexity of traditional proxy-based +designs. Key features include: + +* **Mutual authentication** with automatic identity-based encryption between + workloads using IPSec or WireGuard. + +* **L7-aware policy enforcement** for security and compliance. + +* **Deep integration with the Kubernetes Gateway API :** Acts as a + `Gateway API `_ compliant data + plane, allowing you to declaratively manage ingress, traffic splitting, and + routing behavior using Kubernetes-native CRDs. + +Observability and Troubleshooting +--------------------------------- + +Observability is built into Cilium from the ground up, providing rich +visibility that helps operators diagnose and understand system behavior +including: + +* **Hubble**: A fully integrated observability platform that offers + real-time service maps, flow visibility with identity and label metadata, + and DNS-aware filtering and protocol-specific insights + +* **Metrics and alerting**: Integration with Prometheus, Grafana, and other + monitoring systems. + +* **Drop reasons and audit trails**: Get actionable insights into why traffic + was dropped, including policy or port violations and issues like failed + DNS lookups. + +.. end-functionality-overview + +Getting Started +=============== + +* `Why Cilium?`_ +* `Getting Started`_ +* `Architecture and Concepts`_ +* `Installing Cilium`_ +* `Frequently Asked Questions`_ +* Contributing_ + +Community +========= + +Slack +----- + +Join the Cilium `Slack channel `_ to chat with +Cilium developers and other Cilium users. This is a good place to learn about +Cilium, ask questions, and share your experiences. + +Special Interest Groups (SIG) +----------------------------- + +See `Special Interest groups +`_ for a list of all SIGs and their meeting times. + +Developer meetings +------------------ +The Cilium developer community hangs out on Zoom to chat. Everybody is welcome. + +* Weekly, Wednesday, + 5:00 pm `Europe/Zurich time `__ (CET/CEST), + usually equivalent to 8:00 am PT, or 11:00 am ET. `Meeting Notes and Zoom Info`_ +* Third Wednesday of each month, 9:00 am `Japan time `__ (JST). `APAC Meeting Notes and Zoom Info`_ + +eBPF & Cilium Office Hours livestream +------------------------------------- +We host a weekly community `YouTube livestream called eCHO `_ which (very loosely!) stands for eBPF & Cilium Office Hours. Join us live, catch up with past episodes, or head over to the `eCHO repo `_ and let us know your ideas for topics we should cover. + +Governance +---------- +The Cilium project is governed by a group of `Maintainers and Committers `__. +How they are selected and govern is outlined in our `governance document `__. + +Adopters +-------- +A list of adopters of the Cilium project who are deploying it in production, and of their use cases, +can be found in file `USERS.md `__. + +License +======= + +.. _apache-license: LICENSE +.. _bsd-license: bpf/LICENSE.BSD-2-Clause +.. _gpl-license: bpf/LICENSE.GPL-2.0 + +The Cilium user space components are licensed under the +`Apache License, Version 2.0 `__. +The BPF code templates are dual-licensed under the +`General Public License, Version 2.0 (only) `__ +and the `2-Clause BSD License `__ +(you can use the terms of either license, at your option). + +.. _`Cilium Upgrade Guide`: https://docs.cilium.io/en/stable/operations/upgrade/ +.. _`Why Cilium?`: https://docs.cilium.io/en/stable/overview/intro +.. _`Getting Started`: https://docs.cilium.io/en/stable/#getting-started +.. _`Architecture and Concepts`: https://docs.cilium.io/en/stable/overview/component-overview/ +.. _`Installing Cilium`: https://docs.cilium.io/en/stable/gettingstarted/k8s-install-default/ +.. _`Frequently Asked Questions`: https://github.com/cilium/cilium/issues?utf8=%E2%9C%93&q=is%3Aissue+label%3Akind%2Fquestion+ +.. _Contributing: https://docs.cilium.io/en/stable/contributing/development/ +.. _Prerequisites: https://docs.cilium.io/en/stable/operations/system_requirements/ +.. _`eBPF`: https://ebpf.io +.. _`eBPF.io`: https://ebpf.io +.. _`Meeting Notes and Zoom Info`: https://docs.google.com/document/d/1Y_4chDk4rznD6UgXPlPvn3Dc7l-ZutGajUv1eF0VDwQ/edit# +.. _`APAC Meeting Notes and Zoom Info`: https://docs.google.com/document/d/1egv4qLydr0geP-GjQexYKm4tz3_tHy-LCBjVQcXcT5M/edit# + +.. |go-report| image:: https://goreportcard.com/badge/github.com/cilium/cilium + :alt: Go Report Card + :target: https://goreportcard.com/report/github.com/cilium/cilium + +.. |go-doc| image:: https://godoc.org/github.com/cilium/cilium?status.svg + :alt: GoDoc + :target: https://godoc.org/github.com/cilium/cilium + +.. |rtd| image:: https://readthedocs.org/projects/docs/badge/?version=latest + :alt: Read the Docs + :target: https://docs.cilium.io/ + +.. |apache| image:: https://img.shields.io/badge/license-Apache-blue.svg + :alt: Apache licensed + :target: apache-license_ + +.. |bsd| image:: https://img.shields.io/badge/license-BSD-blue.svg + :alt: BSD licensed + :target: bsd-license_ + +.. |gpl| image:: https://img.shields.io/badge/license-GPL-blue.svg + :alt: GPL licensed + :target: gpl-license_ + +.. |slack| image:: https://img.shields.io/badge/slack-cilium-brightgreen.svg?logo=slack + :alt: Join the Cilium slack channel + :target: https://slack.cilium.io + +.. |cii| image:: https://bestpractices.coreinfrastructure.org/projects/1269/badge + :alt: CII Best Practices + :target: https://bestpractices.coreinfrastructure.org/projects/1269 + +.. |clomonitor| image:: https://img.shields.io/endpoint?url=https://clomonitor.io/api/projects/cncf/cilium/badge + :alt: CLOMonitor + :target: https://clomonitor.io/projects/cncf/cilium + +.. |artifacthub| image:: https://img.shields.io/endpoint?url=https://artifacthub.io/badge/repository/cilium + :alt: Artifact Hub + :target: https://artifacthub.io/packages/helm/cilium/cilium + +.. |fossa| image:: https://app.fossa.com/api/projects/custom%2B162%2Fgit%40github.com%3Acilium%2Fcilium.git.svg?type=shield + :alt: FOSSA Status + :target: https://app.fossa.com/projects/custom%2B162%2Fgit%40github.com%3Acilium%2Fcilium.git?ref=badge_shield + +.. |gateway-api| image:: https://img.shields.io/badge/Gateway%20API%20Conformance%20v1.2.0-Cilium-green + :alt: Gateway API Status + :target: https://github.com/kubernetes-sigs/gateway-api/tree/main/conformance/reports/v1.2.0/cilium-cilium + +.. |codespaces| image:: https://img.shields.io/badge/Open_in_GitHub_Codespaces-gray?logo=github + :alt: Github Codespaces + :target: https://github.com/codespaces/new?hide_repo_select=true&ref=master&repo=48109239&machine=standardLinux32gb&location=WestEurope diff --git a/data/readmes/cloud-custodian-09480.md b/data/readmes/cloud-custodian-09480.md new file mode 100644 index 0000000..9340774 --- /dev/null +++ b/data/readmes/cloud-custodian-09480.md @@ -0,0 +1,305 @@ +# Cloud Custodian - README (0.9.48.0) + +**Repository**: https://github.com/cloud-custodian/cloud-custodian +**Version**: 0.9.48.0 + +--- + +Cloud Custodian (c7n) +================= + +

Cloud Custodian Logo

+ +--- + +[![slack](https://img.shields.io/badge/slack-chat-yellow)](https://communityinviter.com/apps/cloud-custodian/c7n-chat) +[![CI](https://github.com/cloud-custodian/cloud-custodian/workflows/CI/badge.svg?event=push)](https://github.com/cloud-custodian/cloud-custodian/actions?query=workflow%3ACI+branch%3Amaster+event%3Apush) +[![](https://img.shields.io/badge/license-Apache%202-blue.svg)](https://www.apache.org/licenses/LICENSE-2.0) +[![](https://codecov.io/gh/cloud-custodian/cloud-custodian/branch/master/graph/badge.svg)](https://codecov.io/gh/cloud-custodian/cloud-custodian) +[![](https://requires.io/github/cloud-custodian/cloud-custodian/requirements.svg?branch=master)](https://requires.io/github/cloud-custodian/cloud-custodian/requirements/?branch=master) +[![CII Best Practices](https://bestpractices.coreinfrastructure.org/projects/3402/badge)](https://bestpractices.coreinfrastructure.org/projects/3402) + +Cloud Custodian, also known as c7n, is a rules engine for managing +public cloud accounts and resources. It allows users to define +policies to enable a well managed cloud infrastructure, that\'s both +secure and cost optimized. It consolidates many of the adhoc scripts +organizations have into a lightweight and flexible tool, with unified +metrics and reporting. + +Custodian can be used to manage AWS, Azure, and GCP environments by +ensuring real time compliance to security policies (like encryption and +access requirements), tag policies, and cost management via garbage +collection of unused resources and off-hours resource management. + +Custodian also supports running policies on infrastructure as code assets +to provide feedback directly on developer workstations or within CI pipelines. + +Custodian policies are written in simple YAML configuration files that +enable users to specify policies on a resource type (EC2, ASG, Redshift, +CosmosDB, PubSub Topic) and are constructed from a vocabulary of filters +and actions. + +It integrates with the cloud native serverless capabilities of each +provider to provide for real time enforcement of policies with builtin +provisioning. Or it can be run as a simple cron job on a server to +execute against large existing fleets. + +Cloud Custodian is a CNCF Incubating project, lead by a community of hundreds +of contributors. + +Features +-------- + +- Comprehensive support for public cloud services and resources with a + rich library of actions and filters to build policies with. +- Run policies on infrastructure as code (terraform, etc) assets. +- Supports arbitrary filtering on resources with nested boolean + conditions. +- Dry run any policy to see what it would do. +- Automatically provisions serverless functions and event sources ( + AWS CloudWatchEvents, AWS Config Rules, Azure EventGrid, GCP + AuditLog & Pub/Sub, etc) +- Cloud provider native metrics outputs on resources that matched a + policy +- Structured outputs into cloud native object storage of which + resources matched a policy. +- Intelligent cache usage to minimize api calls. +- Supports multi-account/subscription/project usage. +- Battle-tested - in production on some very large cloud environments. + +Links +----- + +- [Homepage](http://cloudcustodian.io) +- [Docs](http://cloudcustodian.io/docs/index.html) +- [Project Roadmap](https://github.com/orgs/cloud-custodian/projects/1) +- [Developer Install](https://cloudcustodian.io/docs/developer/installing.html) +- [Presentations](https://www.google.com/search?q=cloud+custodian&source=lnms&tbm=vid) +- [YouTube Channel](https://www.youtube.com/channel/UCdeXCdFLluylWnFfS0-jbDA) + +Quick Install +------------- + +Custodian is published on pypi as a series of packages with the `c7n` +prefix, its also available as a docker image. + +```shell +$ python3 -m venv custodian +$ source custodian/bin/activate +(custodian) $ pip install c7n +``` + + +Usage +----- + +The first step to using Cloud Custodian (c7n) is writing a YAML file +containing the policies that you want to run. Each policy specifies +the resource type that the policy will run on, a set of filters which +control resources will be affected by this policy, actions which the policy +with take on the matched resources, and a mode which controls which +how the policy will execute. + +The best getting started guides are the cloud provider specific tutorials. + + - [AWS Getting Started](https://cloudcustodian.io/docs/aws/gettingstarted.html) + - [Azure Getting Started](https://cloudcustodian.io/docs/azure/gettingstarted.html) + - [GCP Getting Started](https://cloudcustodian.io/docs/gcp/gettingstarted.html) + +As a quick walk through, below are some sample policies for AWS resources. + + 1. will enforce that no S3 buckets have cross-account access enabled. + 1. will terminate any newly launched EC2 instance that do not have an encrypted EBS volume. + 1. will tag any EC2 instance that does not have the follow tags + "Environment", "AppId", and either "OwnerContact" or "DeptID" to + be stopped in four days. + +```yaml +policies: + - name: s3-cross-account + description: | + Checks S3 for buckets with cross-account access and + removes the cross-account access. + resource: aws.s3 + region: us-east-1 + filters: + - type: cross-account + actions: + - type: remove-statements + statement_ids: matched + + - name: ec2-require-non-public-and-encrypted-volumes + resource: aws.ec2 + description: | + Provision a lambda and cloud watch event target + that looks at all new instances and terminates those with + unencrypted volumes. + mode: + type: cloudtrail + role: CloudCustodian-QuickStart + events: + - RunInstances + filters: + - type: ebs + key: Encrypted + value: false + actions: + - terminate + + - name: tag-compliance + resource: aws.ec2 + description: | + Schedule a resource that does not meet tag compliance policies to be stopped in four days. Note a separate policy using the`marked-for-op` filter is required to actually stop the instances after four days. + filters: + - State.Name: running + - "tag:Environment": absent + - "tag:AppId": absent + - or: + - "tag:OwnerContact": absent + - "tag:DeptID": absent + actions: + - type: mark-for-op + op: stop + days: 4 +``` + +You can validate, test, and run Cloud Custodian with the example policy with these commands: + +```shell +# Validate the configuration (note this happens by default on run) +$ custodian validate policy.yml + +# Dryrun on the policies (no actions executed) to see what resources +# match each policy. +$ custodian run --dryrun -s out policy.yml + +# Run the policy +$ custodian run -s out policy.yml +``` + +You can run Cloud Custodian via Docker as well: + +```shell +# Download the image +$ docker pull cloudcustodian/c7n +$ mkdir output + +# Run the policy +# +# This will run the policy using only the environment variables for authentication +$ docker run -it \ + -v $(pwd)/output:/home/custodian/output \ + -v $(pwd)/policy.yml:/home/custodian/policy.yml \ + --env-file <(env | grep "^AWS\|^AZURE\|^GOOGLE") \ + cloudcustodian/c7n run -v -s /home/custodian/output /home/custodian/policy.yml + +# Run the policy (using AWS's generated credentials from STS) +# +# NOTE: We mount the ``.aws/credentials`` and ``.aws/config`` directories to +# the docker container to support authentication to AWS using the same credentials +# credentials that are available to the local user if authenticating with STS. + +$ docker run -it \ + -v $(pwd)/output:/home/custodian/output \ + -v $(pwd)/policy.yml:/home/custodian/policy.yml \ + -v $(cd ~ && pwd)/.aws/credentials:/home/custodian/.aws/credentials \ + -v $(cd ~ && pwd)/.aws/config:/home/custodian/.aws/config \ + --env-file <(env | grep "^AWS") \ + cloudcustodian/c7n run -v -s /home/custodian/output /home/custodian/policy.yml +``` + +The [custodian cask +tool](https://cloudcustodian.io/docs/tools/cask.html) is a go binary +that provides a transparent front end to docker that mirors the regular +custodian cli, but automatically takes care of mounting volumes. + +Consult the documentation for additional information, or reach out on gitter. + +Cloud Provider Specific Help +---------------------------- + +For specific instructions for AWS, Azure, and GCP, visit the relevant getting started page. + +- [AWS](https://cloudcustodian.io/docs/aws/gettingstarted.html) +- [Azure](https://cloudcustodian.io/docs/azure/gettingstarted.html) +- [GCP](https://cloudcustodian.io/docs/gcp/gettingstarted.html) + +Get Involved +------------ + +- [GitHub](https://github.com/cloud-custodian/cloud-custodian) - (This page) +- [Slack](https://communityinviter.com/apps/cloud-custodian/c7n-chat) - Real time chat if you're looking for help or interested in contributing to Custodian! + - [Gitter](https://gitter.im/cloud-custodian/cloud-custodian) - (Older real time chat, we're likely migrating away from this) +- [Linen.dev](https://www.linen.dev/s/cloud-custodian/c/general) - Follow our discussions on Linen +- [Mailing List](https://groups.google.com/forum/#!forum/cloud-custodian) - Our project mailing list, subscribe here for important project announcements, feel free to ask questions +- [Reddit](https://reddit.com/r/cloudcustodian) - Our subreddit +- [StackOverflow](https://stackoverflow.com/questions/tagged/cloudcustodian) - Q&A site for developers, we keep an eye on the `cloudcustodian` tag +- [YouTube Channel](https://www.youtube.com/channel/UCdeXCdFLluylWnFfS0-jbDA/) - We're working on adding tutorials and other useful information, as well as meeting videos + +Community Resources +------------------- + +We have a regular community meeting that is open to all users and developers of every skill level. +Joining the [mailing list](https://groups.google.com/forum/#!forum/cloud-custodian) will automatically send you a meeting invite. +See the notes below for more technical information on joining the meeting. + +- [Community Meeting Videos](https://www.youtube.com/watch?v=qy250y0UT-4&list=PLJ2Un8H_N5uBeAAWK95SnWvm_AuNJ8q2x) +- [Community Meeting Notes Archive](https://github.com/orgs/cloud-custodian/discussions/categories/announcements) +- [Upcoming Community Events](https://cloudcustodian.io/events/) +- [Cloud Custodian Annual Report 2021](https://github.com/cncf/toc/blob/main/reviews/2021-cloud-custodian-annual.md) - Annual health check provided to the CNCF outlining the health of the project +- [Ada Logics Third Party Security Audit](https://ostif.org/cc-audit-complete/) + + +Additional Tools +---------------- + +The Custodian project also develops and maintains a suite of additional +tools here +: + +- [**_Org_:**](https://cloudcustodian.io/docs/tools/c7n-org.html) Multi-account policy execution. + +- [**_ShiftLeft_:**](https://cloudcustodian.io/docs/tools/c7n-left.html) Shift Left ~ run policies against Infrastructure as Code assets like terraform. + +- [**_PolicyStream_:**](https://cloudcustodian.io/docs/tools/c7n-policystream.html) Git history as stream of logical policy changes. + +- [**_Salactus_:**](https://cloudcustodian.io/docs/tools/c7n-salactus.html) Scale out s3 scanning. + +- [**_Mailer_:**](https://cloudcustodian.io/docs/tools/c7n-mailer.html) A reference implementation of sending messages to users to notify them. + +- [**_Trail Creator_:**](https://cloudcustodian.io/docs/tools/c7n-trailcreator.html) Retroactive tagging of resources creators from CloudTrail + +- **_TrailDB_:** Cloudtrail indexing and time series generation for dashboarding. + +- [**_LogExporter_:**](https://cloudcustodian.io/docs/tools/c7n-logexporter.html) Cloud watch log exporting to s3 + +- [**_Cask_:**](https://cloudcustodian.io/docs/tools/cask.html) Easy custodian exec via docker + +- [**_Guardian_:**](https://cloudcustodian.io/docs/tools/c7n-guardian.html) Automated multi-account Guard Duty setup + +- [**_Omni SSM_:**](https://cloudcustodian.io/docs/tools/omnissm.html) EC2 Systems Manager Automation + +- [**_Mugc_:**](https://github.com/cloud-custodian/cloud-custodian/tree/master/tools/ops#mugc) A utility used to clean up Cloud Custodian Lambda policies that are deployed in an AWS environment. + +Contributing +------------ + +See + +Security +-------- + +If you've found a security related issue, a vulnerability, or a +potential vulnerability in Cloud Custodian please let the Cloud +[Custodian Security Team](mailto:security@cloudcustodian.io) know with +the details of the vulnerability. We'll send a confirmation email to +acknowledge your report, and we'll send an additional email when we've +identified the issue positively or negatively. + +Code of Conduct +--------------- + +This project adheres to the [CNCF Code of Conduct](https://github.com/cncf/foundation/blob/master/code-of-conduct.md) + +By participating, you are expected to honor this code. + diff --git a/data/readmes/cloudevents-cev102.md b/data/readmes/cloudevents-cev102.md new file mode 100644 index 0000000..cd89abb --- /dev/null +++ b/data/readmes/cloudevents-cev102.md @@ -0,0 +1,153 @@ +# CloudEvents - README (ce@v1.0.2) + +**Repository**: https://github.com/cloudevents/spec +**Version**: ce@v1.0.2 + +--- + +# CloudEvents + + + +![CloudEvents logo](https://github.com/cncf/artwork/blob/master/projects/cloudevents/horizontal/color/cloudevents-horizontal-color.png) + +Events are everywhere. However, event producers tend to describe events +differently. + +The lack of a common way of describing events means developers must constantly +re-learn how to consume events. This also limits the potential for libraries, +tooling and infrastructure to aide the delivery of event data across +environments, like SDKs, event routers or tracing systems. The portability and +productivity we can achieve from event data is hindered overall. + +CloudEvents is a specification for describing event data in common formats to +provide interoperability across services, platforms and systems. + +CloudEvents has received a large amount of industry interest, ranging from major +cloud providers to popular SaaS companies. CloudEvents is hosted by the +[Cloud Native Computing Foundation](https://cncf.io) (CNCF) and was approved as +a Cloud Native sandbox level project on +[May 15, 2018](https://docs.google.com/presentation/d/1KNSv70fyTfSqUerCnccV7eEC_ynhLsm9A_kjnlmU_t0/edit#slide=id.g37acf52904_1_41). + +## CloudEvents Documents + +The following documents are available ([Release Notes](misc/RELEASE_NOTES.md)): + +| | Latest Release | Working Draft | +| :---------------------------- | :-----------------------------------------------------------------------------: | :--------------------------------------------------------------------------------------: | +| **Core Specification:** | +| CloudEvents | [v1.0.2](cloudevents/spec.md) | [WIP](https://github.com/cloudevents/spec/tree/main/cloudevents/spec.md) | +| | +| **Optional Specifications:** | +| AMQP Protocol Binding | [v1.0.2](cloudevents/bindings/amqp-protocol-binding.md) | [WIP](https://github.com/cloudevents/spec/blob/main/cloudevents/bindings/amqp-protocol-binding.md) | +| AVRO Event Format | [v1.0.2](cloudevents/formats/avro-format.md) | [WIP](https://github.com/cloudevents/spec/blob/main/cloudevents/formats/avro-format.md) | +| HTTP Protocol Binding | [v1.0.2](cloudevents/bindings/http-protocol-binding.md) | [WIP](https://github.com/cloudevents/spec/blob/main/cloudevents/bindings/http-protocol-binding.md) | +| JSON Event Format | [v1.0.2](cloudevents/formats/json-format.md) | [WIP](https://github.com/cloudevents/spec/blob/main/cloudevents/formats/json-format.md) | +| Kafka Protocol Binding | [v1.0.2](cloudevents/bindings/kafka-protocol-binding.md) | [WIP](https://github.com/cloudevents/spec/blob/main/cloudevents/bindings/kafka-protocol-binding.md) | +| MQTT Protocol Binding | [v1.0.2](cloudevents/bindings/mqtt-protocol-binding.md) | [WIP](https://github.com/cloudevents/spec/blob/main/cloudevents/bindings/mqtt-protocol-binding.md) | +| NATS Protocol Binding | [v1.0.2](cloudevents/bindings/nats-protocol-binding.md) | [WIP](https://github.com/cloudevents/spec/blob/main/cloudevents/bindings/nats-protocol-binding.md) | +| WebSockets Protocol Binding | - | [WIP](https://github.com/cloudevents/spec/blob/main/cloudevents/bindings/websockets-protocol-binding.md) | +| Protobuf Event Format | [v1.0.2](cloudevents/formats/protobuf-format.md) | [WIP](https://github.com/cloudevents/spec/blob/main/cloudevents/formats/protobuf-format.md) | +| Web hook | [v1.0.2](cloudevents/http-webhook.md) | [WIP](https://github.com/cloudevents/spec/blob/main/cloudevents/http-webhook.md) | +| | +| **Additional Documentation:** | +| CloudEvents Adapters | - | [WIP](https://github.com/cloudevents/spec/blob/main/cloudevents/adapters.md) | +| CloudEvents SDK Requirements | - | [WIP](https://github.com/cloudevents/spec/blob/main/cloudevents/SDK.md) | +| Documented Extensions | - | [WIP](https://github.com/cloudevents/spec/blob/main/cloudevents/documented-extensions.md) | +| Primer | [v1.0.2](cloudevents/primer.md) | [WIP](https://github.com/cloudevents/spec/blob/main/cloudevents/primer.md) | +| Proprietary Specifications | - | [WIP](https://github.com/cloudevents/spec/blob/main/cloudevents/proprietary-specs.md) | + +There might be additional work-in-progress specifications being developed +in the [`main`](https://github.com/cloudevents/spec/tree/main) branch. + +If you are new to CloudEvents, it is recommended that you start by reading the +[Primer](cloudevents/primer.md) for an overview of the specification's goals +and design decisions, and then move on to the +[core specification](cloudevents/spec.md). + +Since not all event producers generate CloudEvents by default, there is +documentation describing the recommended process for adapting some popular +events into CloudEvents, see +[CloudEvents Adapters](https://github.com/cloudevents/spec/blob/main/cloudevents/adapters.md). + +## SDKs + +In addition to the documentation mentioned above, there is also an +[SDK proposal](cloudevents/SDK.md). A set of SDKs is also being developed: + +- [CSharp](https://github.com/cloudevents/sdk-csharp) +- [Go](https://github.com/cloudevents/sdk-go) +- [Java](https://github.com/cloudevents/sdk-java) +- [Javascript](https://github.com/cloudevents/sdk-javascript) +- [PHP](https://github.com/cloudevents/sdk-php) +- [PowerShell](https://github.com/cloudevents/sdk-powershell) +- [Python](https://github.com/cloudevents/sdk-python) +- [Ruby](https://github.com/cloudevents/sdk-ruby) +- [Rust](https://github.com/cloudevents/sdk-rust) + +## Community + +Learn more about the people and organizations who are creating a dynamic cloud +native ecosystem by making our systems interoperable with CloudEvents. + +- Our [Governance](community/GOVERNANCE.md) documentation. +- How to [contribute](community/CONTRIBUTING.md) via issues and pull requests. +- [Contributors](community/contributors.md): people and organizations who helped + us get started or are actively working on the CloudEvents specification. +- [Demos & open source](community/README.md) -- if you have something to share + about your use of CloudEvents, please submit a PR! + +## Process + +The CloudEvents project is working to formalize the +[specification](cloudevents/spec.md) based on +[design goals](cloudevents/primer.md#design-goals) which focus on +interoperability between systems which generate and respond to events. + +In order to achieve these goals, the project must describe: + +- Common attributes of an _event_ that facilitate interoperability +- One or more common architectures that are in active use today or planned to be + built by its members +- How events are transported from producer to consumer via at least one protocol +- Identify and resolve whatever else is needed for interoperability + +## Communications + +The main mailing list for e-mail communications: + +- Send emails to: [cncf-cloudevents](mailto:cncf-cloudevents@lists.cncf.io) +- To subscribe see: https://lists.cncf.io/g/cncf-cloudevents +- Archives are at: https://lists.cncf.io/g/cncf-cloudevents/topics + +And a #cloudevents Slack channel under +[CNCF's Slack workspace](http://slack.cncf.io/). + +For SDK related comments and questions: + +- Email to: [cncf-cloudevents-sdk](mailto:cncf-cloudevents-sdk@lists.cncf.io) +- To subscribe see: https://lists.cncf.io/g/cncf-cloudevents-sdk +- Archives are at: https://lists.cncf.io/g/cncf-cloudevents-sdk/topics +- Slack: #cloudeventssdk on [CNCF's Slack workspace](http://slack.cncf.io/) + +## Meeting Time + +See the [CNCF public events calendar](https://www.cncf.io/community/calendar/). +This specification is being developed by the +[CNCF Serverless Working Group](https://github.com/cncf/wg-serverless). This +working group meets every Thursday at 9AM PT (USA Pacific) +([World Time Zone Converter](http://www.thetimezoneconverter.com/?t=9:00%20am&tz=San%20Francisco&)): + +Please see the +[meeting minutes doc](https://docs.google.com/document/d/1OVF68rpuPK5shIHILK9JOqlZBbfe91RNzQ7u_P7YCDE/edit#) +for the latest information on how to join the calls. + +Recording from our calls are available +[here](https://www.youtube.com/channel/UC70hQml92GsoNgnB-CKNEXg/videos), and +older ones are +[here](https://www.youtube.com/playlist?list=PLj6h78yzYM2Ph7YoBIgsZNW_RGJvNlFOt). + +Periodically, the group may have in-person meetings that coincide with a major +conference. Please see the +[meeting minutes doc](https://docs.google.com/document/d/1OVF68rpuPK5shIHILK9JOqlZBbfe91RNzQ7u_P7YCDE/edit#) +for any future plans. diff --git a/data/readmes/cloudnativepg-v1280-rc2.md b/data/readmes/cloudnativepg-v1280-rc2.md new file mode 100644 index 0000000..22ad3b3 --- /dev/null +++ b/data/readmes/cloudnativepg-v1280-rc2.md @@ -0,0 +1,198 @@ +# CloudNativePG - README (v1.28.0-rc2) + +**Repository**: https://github.com/cloudnative-pg/cloudnative-pg +**Version**: v1.28.0-rc2 + +--- + +[![CNCF Landscape](https://img.shields.io/badge/CNCF%20Landscape-5699C6)][cncf-landscape] +[![Latest Release](https://img.shields.io/github/v/release/cloudnative-pg/cloudnative-pg.svg)][latest-release] +[![GitHub License](https://img.shields.io/github/license/cloudnative-pg/cloudnative-pg)][license] +[![OpenSSF Best Practices](https://www.bestpractices.dev/projects/9933/badge)][openssf] +[![OpenSSF Scorecard Badge][openssf-scorecard-badge]][openssf-socrecard-view] +[![Documentation][documentation-badge]][documentation] +[![Stack Overflow](https://img.shields.io/badge/stackoverflow-cloudnative--pg-blue?logo=stackoverflow&logoColor=%23F48024&link=https%3A%2F%2Fstackoverflow.com%2Fquestions%2Ftagged%2Fcloudnative-pg)][stackoverflow] +[![FOSSA Status][fossa-badge]][fossa] +[![CLOMonitor](https://img.shields.io/endpoint?url=https://clomonitor.io/api/projects/cncf/cloudnative-pg/badge)](https://clomonitor.io/projects/cncf/cloudnative-pg) +[![Artifact Hub](https://img.shields.io/endpoint?url=https://artifacthub.io/badge/repository/cloudnative-pg)](https://artifacthub.io/packages/search?repo=cloudnative-pg) + +# Welcome to the CloudNativePG Project! + +**CloudNativePG (CNPG)** is an open-source platform designed to seamlessly +manage [PostgreSQL](https://www.postgresql.org/) databases in Kubernetes +environments. It covers the entire operational lifecycle—from deployment to +ongoing maintenance—through its core component, the CloudNativePG operator. + +## Table of Contents + +- [Code of Conduct](CODE_OF_CONDUCT.md) +- [Governance Policies](https://github.com/cloudnative-pg/governance/blob/main/GOVERNANCE.md) +- [Contributing](CONTRIBUTING.md) +- [Adopters](ADOPTERS.md) +- [Commercial Support](https://cloudnative-pg.io/support/) +- [License](LICENSE) + +## Getting Started + +The best way to get started is the [Quickstart Guide](https://cloudnative-pg.io/documentation/current/quickstart/). + +## Scope + +### Mission + +CloudNativePG aims to increase PostgreSQL adoption within Kubernetes by making +it an integral part of the development process and GitOps-driven CI/CD +automation. + +### Core Principles & Features + +Designed by PostgreSQL experts for Kubernetes administrators, CloudNativePG +follows a Kubernetes-native approach to PostgreSQL primary/standby cluster +management. Instead of relying on external high-availability tools (like +Patroni, repmgr, or Stolon), it integrates directly with the Kubernetes API to +automate database operations that a skilled DBA would perform manually. + +Key design decisions include: + +- Direct integration with Kubernetes API: The PostgreSQL cluster’s status is + available directly in the `Cluster` resource, allowing users to inspect it + via the Kubernetes API. +- Operator pattern: The operator ensures that the desired PostgreSQL state is + reconciled automatically, following Kubernetes best practices. +- Immutable application containers: Updates follow an immutable infrastructure + model, as explained in + ["Why EDB Chose Immutable Application Containers"](https://www.enterprisedb.com/blog/why-edb-chose-immutable-application-containers). + +### How CloudNativePG Works + +The operator continuously monitors and updates the PostgreSQL cluster state. +Examples of automated actions include: + +- Failover management: If the primary instance fails, the operator elects a new + primary, updates the cluster status, and orchestrates the transition. +- Scaling read replicas: When the number of desired replicas changes, the + operator provisions or removes resources such as persistent volumes, secrets, + and config maps while managing streaming replication. +- Service updates: Kubernetes remains the single source of truth, ensuring + that PostgreSQL service endpoints are always up to date. +- Rolling updates: When an image is updated, the operator follows a rolling + strategy—first updating replica pods before performing a controlled + switchover for the primary. + +CloudNativePG manages additional Kubernetes resources to enhance PostgreSQL +management, including: `Backup`, `ClusterImageCatalog`, `Database`, +`ImageCatalog`, `Pooler`, `Publication`, `ScheduledBackup`, and `Subscription`. + +## Out of Scope + +- **Kubernetes only:** CloudNativePG is dedicated to vanilla Kubernetes + maintained by the [Cloud Native Computing Foundation + (CNCF)](https://kubernetes.io/). +- **PostgreSQL only:** CloudNativePG is dedicated to vanilla PostgreSQL + maintained by the [PostgreSQL Global Development Group + (PGDG)](https://www.postgresql.org/about/). +- **No support for forks:** Features from PostgreSQL forks will only be + considered if they can be integrated as extensions or pluggable frameworks. +- **Not a general-purpose database operator:** CloudNativePG does not support + other databases (e.g., MariaDB). + +CloudNativePG can be extended via the [CNPG-I plugin interface](https://github.com/cloudnative-pg/cnpg-i). + +## Communications + +- [Github Discussions](https://github.com/cloudnative-pg/cloudnative-pg/discussions) +- [Slack](https://cloud-native.slack.com/archives/C08MAUJ7NPM) + (join the [CNCF Slack Workspace](https://communityinviter.com/apps/cloud-native/cncf)). +- [Twitter](https://twitter.com/CloudNativePg) +- [Mastodon](https://mastodon.social/@CloudNativePG) +- [Bluesky](https://bsky.app/profile/cloudnativepg.bsky.social) + +## Resources + +- [Roadmap](ROADMAP.md) +- [Website](https://cloudnative-pg.io) +- [FAQ](docs/src/faq.md) +- [Blog](https://cloudnative-pg.io/blog/) +- [CloudNativePG plugin Interface (CNPG-I)](https://github.com/cloudnative-pg/cnpg-i). + +## Adopters + +A list of publicly known users of the CloudNativePG operator is in [ADOPTERS.md](ADOPTERS.md). +Help us grow our community and CloudNativePG by adding yourself and your +organization to this list! + +### CloudNativePG at KubeCon + +- November 10, 2025, KubeCon North America 2025 in Atlanta: ["Project Lightning Talk: CloudNativePG: Running Postgres The Kubernetes Way"](https://www.youtube.com/watch?v=pYwYwehQX3U&t=4s) - Gabriele Bartolini, EDB +- November 11, 2025, KubeCon North America 2025 in Atlanta: ["Modern PostgreSQL Authorization With Keycloak: Cloud Native Identity Meets Database Security"](https://www.youtube.com/watch?v=TYgPemq06fg) - Yoshiyuki Tabata, Hitachi, Ltd. & Gabriele Bartolini, EDB +- November 13, 2025, KubeCon North America 2025 in Atlanta: ["Quorum-Based Consistency for Cluster Changes With CloudNativePG Operator"](https://www.youtube.com/watch?v=iQUOO3-JRK4&list=PLj6h78yzYM2MLSW4tUDO2gs2pR5UpiD0C&index=67) - Jeremy Schneider, GEICO Tech & Gabriele Bartolini, EDB +- April 4, 2025, KubeCon Europe in London: ["Consistent Volume Group Snapshots, Unraveling the Magic"](https://sched.co/1tx8g) - Leonardo Cecchi (EDB) and Xing Yang (VMware) +- November 11, 2024, Cloud Native Rejekts NA 2024: ["Maximising Microservice Databases with Kubernetes, Postgres, and CloudNativePG"](https://www.youtube.com/watch?v=uBzl_stoxoc&ab_channel=CloudNativeRejekts) - Gabriele Bartolini (EDB) and Leonardo Cecchi (EDB) +- March 21, 2024, KubeCon Europe 2024 in Paris: ["Scaling Heights: Mastering Postgres Database Vertical Scalability with Kubernetes Storage Magic"](https://kccnceu2024.sched.com/event/1YeM4/scaling-heights-mastering-postgres-database-vertical-scalability-with-kubernetes-storage-magic-gabriele-bartolini-edb-gari-singh-google) - Gari Singh, Google & Gabriele Bartolini, EDB +- March 19, 2024, Data on Kubernetes Day at KubeCon Europe 2024 in Paris: ["From Zero to Hero: Scaling Postgres in Kubernetes Using the Power of CloudNativePG"](https://colocatedeventseu2024.sched.com/event/1YFha/from-zero-to-hero-scaling-postgres-in-kubernetes-using-the-power-of-cloudnativepg-gabriele-bartolini-edb) - Gabriele Bartolini, EDB +- November 7, 2023, KubeCon North America 2023 in Chicago: ["Disaster Recovery with Very Large Postgres Databases (in Kubernetes)"](https://kccncna2023.sched.com/event/1R2ml/disaster-recovery-with-very-large-postgres-databases-gabriele-bartolini-edb-michelle-au-google) - Michelle Au, Google & Gabriele Bartolini, EDB +- October 27, 2022, KubeCon North America 2022 in Detroit: ["Data On Kubernetes, Deploying And Running PostgreSQL And Patterns For Databases In a Kubernetes Cluster"](https://kccncna2022.sched.com/event/182GB/data-on-kubernetes-deploying-and-running-postgresql-and-patterns-for-databases-in-a-kubernetes-cluster-chris-milsted-ondat-gabriele-bartolini-edb) - Chris Milsted, Ondat & Gabriele Bartolini, EDB + +### Useful links + +- ["Quorum-Based Consistency for Cluster Changes With CloudNativePG Operator"](https://www.youtube.com/watch?v=sRF09UMAlsI) (webinar) - Jeremy Schneider, GEICO Tech & Leonardo Cecchi, EDB +- [Data on Kubernetes (DoK) Community](https://dok.community/) +- ["Cloud Neutral Postgres Databases with Kubernetes and CloudNativePG" by Gabriele Bartolini](https://www.cncf.io/blog/2024/11/20/cloud-neutral-postgres-databases-with-kubernetes-and-cloudnativepg/) (November 2024) +- ["How to migrate your PostgreSQL database in Kubernetes with ~0 downtime from anywhere" by Gabriele Bartolini](https://gabrielebartolini.it/articles/2024/03/cloudnativepg-recipe-5-how-to-migrate-your-postgresql-database-in-kubernetes-with-~0-downtime-from-anywhere/) (March 2024) +- ["Maximizing Microservice Databases with Kubernetes, Postgres, and CloudNativePG" by Gabriele Bartolini](https://gabrielebartolini.it/articles/2024/02/maximizing-microservice-databases-with-kubernetes-postgres-and-cloudnativepg/) (February 2024) +- ["Recommended Architectures for PostgreSQL in Kubernetes" by Gabriele Bartolini](https://www.cncf.io/blog/2023/09/29/recommended-architectures-for-postgresql-in-kubernetes/) (September 2023) +- ["The Current State of Major PostgreSQL Upgrades with CloudNativePG" by Gabriele Bartolini](https://www.enterprisedb.com/blog/current-state-major-postgresql-upgrades-cloudnativepg-kubernetes) (August 2023) +- ["The Rise of the Kubernetes Native Database" by Jeff Carpenter](https://thenewstack.io/the-rise-of-the-kubernetes-native-database/) (December 2022) +- ["Why Run Postgres in Kubernetes?" by Gabriele Bartolini](https://cloudnativenow.com/kubecon-cnc-eu-2022/why-run-postgres-in-kubernetes/) (May 2022) +- ["Shift-Left Security: The Path To PostgreSQL On Kubernetes" by Gabriele Bartolini](https://www.tfir.io/shift-left-security-the-path-to-postgresql-on-kubernetes/) (April 2021) +- ["Local Persistent Volumes and PostgreSQL usage in Kubernetes" by Gabriele Bartolini](https://www.2ndquadrant.com/en/blog/local-persistent-volumes-and-postgresql-usage-in-kubernetes/) (June 2020) + +--- + +

+We are a Cloud Native Computing Foundation Sandbox project. +

+ +

+ + + + CNCF logo + +

+ +--- + +

+CloudNativePG was originally built and sponsored by EDB. +

+ +

+ + + + EDB logo + +

+ +--- + +

+Postgres, PostgreSQL, and the Slonik Logo +are trademarks or registered trademarks of the PostgreSQL Community Association +of Canada, and used with their permission. +

+ +--- + +[cncf-landscape]: https://landscape.cncf.io/?item=app-definition-and-development--database--cloudnativepg +[stackoverflow]: https://stackoverflow.com/questions/tagged/cloudnative-pg +[latest-release]: https://github.com/cloudnative-pg/cloudnative-pg/releases/latest +[documentation]: https://cloudnative-pg.io/documentation/current/ +[license]: https://github.com/cloudnative-pg/cloudnative-pg?tab=Apache-2.0-1-ov-file#readme +[openssf]: https://www.bestpractices.dev/projects/9933 +[openssf-scorecard-badge]: https://api.scorecard.dev/projects/github.com/cloudnative-pg/cloudnative-pg/badge +[openssf-socrecard-view]: https://scorecard.dev/viewer/?uri=github.com/cloudnative-pg/cloudnative-pg +[documentation-badge]: https://img.shields.io/badge/Documentation-white?logo=data%3Aimage%2Fpng%3Bbase64%2CiVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAGN0lEQVR4nJRXXWwcVxU%2B8%2F%2BzP%2BPZtR2v7dqy07jUJUALNaiK6lZyUVVKWgGKaIv8QCMekBAVQlQICcEzVZFQVYFKQhASEBHlISJPCRJEshTFChgrIYHEiYMh69jetffHM7Mzc%2B9Bs7vjnTs7yZpZWbt37s%2F5zne%2Bc861CD0eXRkbHc3NfjeffvxNAGEAgULD2756v35%2B3qe1Nc4fnQVEXlA2LnOcXlCF8S%2B6vvVgq%2FL3M65X3e51PvfQCU4WJgZe%2B8GQ8fS7AKgjBB8KEHwjDXZSjkf0CREAaXM2eI9c65siqWxWl360Xl74ANHz%2Fy8AitxnTBfmz%2BhyYS4wGhwObQCIHSA0AigOMBzvOsXzd4pnjyL6NMmWEH8hi2b28Og3%2FqRJA0ewfQy0v1vGO2NovwPo%2FEU%2FwVgSU1PI%2BSu79v3lJAB8HM%2BTI%2FO%2FUUXzM4xHIe0xI4DdRqOAwnF%2F38ePPyzaDIDh%2FMxcWh462m08aojuGY97C0nrAEHg9BlF0fmeAPr0J15vbaKsp0BZQzEDEAlP9B209UIIVXUta%2FQEQHwxgxFjTc%2BRskAwrgVWmHtg22vMPJwLDqGUNJIAMHVAkGu3WdpZz6NAkgSXpINSycluV28er1a3rJ4M3F2%2F9AtCvXKycRrTQttrjINjxxxIL9jevxdaDHU%2FTBr6pL5ruzuLZubgUQBOY2hPij3GBUe7tBCMBRE2KrXVSz0BBI%2FtPVgtV%2F%2FxkZ5WSjI%2F%2BFIXC3sHJwgT4yFqrZFFTSlVrp3sGYLwcfxSmXCbS00j2Ms4K7qkOsFx6qdTuiHtG4AimfmM8NyvOvR2G48qXtZ2fsfrN7%2BqpcRyUp0glKiimDm4TwAcHBp%2B9WeA4ki0GMWNR9OVF8BZvn7xtI%2FF09H8jzLEgz6yLwCDuelnFXHkTZZOytCOEdqDOtGwsm%2BNj00fXt%2B6%2Bj4vcA7bwNrZwENmXwAKuZnvsNRThs5ozMPfPiHyoDF7xiduHcXb70A8dRFheHjiySQATBZk0nl9MHPkBEWUoEtYjyrPFNwGzfdlD37Zdu98KCv%2BMmD2BYpUCvcST39e0%2BS1Wr249FAAg7mPzWrS5NstEbE0xrsiA6QN1PfRFLnhr%2BspxVJTlY8Mw1DqNXeyCQFREEXz9cHB0QOev73QaNhOF4B%2B45PHFHFgDhJTqjuubJFqX1KQco7NTTuW8kq95k2G4eLEGzM7lfItnjNeTKcOfV%2FT8hOuV77A9IK0XjgMpCO0ZiuV3L%2F6njCFAOmucGB3OII5XgCXEJTDdZLElVbu3Vz0fWexvL30k0B6ggBACOmIUBAEUKX0dDTvW7RCYcdZPq6n%2FSsQnUO2RuyBRgQ9Rc5mMvJ6CNIj1nXfd9qWAsCkaZzJAk1L8UjVqY737dSjfCGrPHWqXL32Q0mB%2F2BXnke00WaEYv2aTzAbnuV5pcWkDGAAGJmhSafh6hjr%2BW2SVYHrP7bb%2BOdPW%2FUgflGlTM2gaK%2Ft7tp6%2BN6yixdN89DcIwGktIFPABfNbwoQqQWEUnDJzg1g0jDeK5p7Kp7nensXFI7uyAr%2FLyM7fYLnpa6LYScE8vDnot5hrKlslm%2BfE3nVxJgO4o3KcYu%2FF8XM8yFQ27n%2F65Te%2FzKl3Jhpjj6TCIDneRD5%2FItxr1vdkALw7p1qfeWPpjHxMtsXaPxu6FLc%2BrnbSB1r7fcrlr36nqwMzQfnplJDryQCGOh%2FbLjhcM%2FEvQ4Pdund9xRV5m1LfTXaF%2BK9gsLGB9nsgddcz8thM%2FarPzYM8%2FFazf9sMFaU%2Fi%2FwvNANwEhPvUGR8ozn7d%2BiDKXixtKpbHp81nV9E7puRy31ixKUbOe%2Fv3Ud891ghhDrL5Z975eaOvV%2BCNRp0Gfz%2BcJjDABdTwlpdfKbId0t5XYAcHz5D5ZVtWUp9%2Flog2L7PgVJqZx0HOE5Cqghemv1%2Bt%2FeGBmZ%2BdB2yNN72UEpnzXG32YADA186i3bIpPxMhuKrFK%2Fd77JUnbkKbYvRJlC8DzKSZK76Lq1he2dKy%2BZuSfesSz5a2xHDbLJ%2BJaqdv5H4EUY%2BzbG2m9HgN7mg81bfw4W1uu7AjvHaqDhqF%2FZ3Fq5XFy%2FcESSDsx5fvZ7wLEsNfXk%2BjlVHfpSCOB%2FAQAA%2F%2F8zd8orZc2N9AAAAABJRU5ErkJggg%3D%3D +[fossa-badge]: https://app.fossa.com/api/projects/git%2Bgithub.com%2Fcloudnative-pg%2Fcloudnative-pg.svg?type=small +[fossa]: https://app.fossa.com/projects/git%2Bgithub.com%2Fcloudnative-pg%2Fcloudnative-pg?ref=badge_small diff --git a/data/readmes/clusternet-v0181.md b/data/readmes/clusternet-v0181.md new file mode 100644 index 0000000..c9befff --- /dev/null +++ b/data/readmes/clusternet-v0181.md @@ -0,0 +1,156 @@ +# Clusternet - README (v0.18.1) + +**Repository**: https://github.com/clusternet/clusternet +**Version**: v0.18.1 + +--- + +
+ +[![GoPkg Widget](https://pkg.go.dev/badge/github.com/clusternet/clusternet.svg)](https://pkg.go.dev/github.com/clusternet/clusternet) +[![License](https://img.shields.io/github/license/clusternet/clusternet)](https://www.apache.org/licenses/LICENSE-2.0.html) +![GoVersion](https://img.shields.io/github/go-mod/go-version/clusternet/clusternet) +[![OpenSSF Best Practices](https://bestpractices.coreinfrastructure.org/projects/7185/badge)](https://bestpractices.coreinfrastructure.org/projects/7185) +[![Go Report Card](https://goreportcard.com/badge/github.com/clusternet/clusternet)](https://goreportcard.com/report/github.com/clusternet/clusternet) +![build](https://github.com/clusternet/clusternet/actions/workflows/ci.yml/badge.svg) +[![Version](https://img.shields.io/github/v/release/clusternet/clusternet)](https://github.com/clusternet/clusternet/releases) +[![codecov](https://codecov.io/gh/clusternet/clusternet/branch/main/graph/badge.svg)](https://codecov.io/gh/clusternet/clusternet) +[![FOSSA Status](https://app.fossa.com/api/projects/custom%2B162%2Fgithub.com%2Fclusternet%2Fclusternet.svg?type=shield&issueType=license)](https://app.fossa.com/projects/custom%2B162%2Fgithub.com%2Fclusternet%2Fclusternet?ref=badge_shield) + +---- + +Managing Your Clusters (including public, private, hybrid, edge, etc.) as easily as Visiting the Internet. + +Out of the Box. + +A CNCF([Cloud Native Computing Foundation](https://cncf.io/)) Sandbox Project. + +---- + +
+ +Clusternet (**Cluster** Inter**net**) is an open source ***add-on*** that helps you manage thousands of millions of +Kubernetes clusters as easily as visiting the Internet. No matter the clusters are running on public cloud, private +cloud, hybrid cloud, or at the edge, Clusternet helps setup network tunnels in a configurable way and lets you +manage/visit them all as if they were running locally. This also helps eliminate the need to juggle different management +tools for each cluster. + +**Clusternet can also help deploy and coordinate applications to multiple clusters from a single set of APIs in a +hosting cluster.** + +Clusternet also provides a Kubernetes-styled API, where you can continue using the Kubernetes way, such as KubeConfig, +to visit a certain managed Kubernetes cluster, or a Kubernetes service. + +Clusternet is multiple platforms supported now, including `linux/amd64`, `linux/arm64`, `linux/ppc64le`, `linux/s390x` +, `linux/386` , and `linux/arm`; + +---- + +## Core Features + +- Kubernetes Multi-Cluster Management and Governance + - managing Kubernetes clusters running in cloud providers, such as AWS, Google Cloud, Tencent Cloud, Alibaba Cloud, + etc. + - managing on-premise Kubernetes clusters + - managing any [Certified Kubernetes Distributions](https://www.cncf.io/certification/software-conformance/), such + as [k3s](https://github.com/k3s-io/k3s) + - managing Kubernetes clusters running at the edge + - automatically discovering and registering clusters created by [cluster-api](https://github.com/kubernetes-sigs/cluster-api) + - parent cluster can also register itself as a child cluster to run workloads + - managing Kubernetes above v1.17.x (Learn more + about [Kubernetes Version Skew](https://clusternet.io/docs/introduction/#kubernetes-version-skew)) + - visiting any managed clusters with dynamic RBAC rules (Learn more + from [this tutorial](https://clusternet.io/docs/tutorials/cluster-management/visiting-child-clusters-with-rbac/)) + - cluster auto-labelling based on [Node Feature Discovery](https://github.com/kubernetes-sigs/node-feature-discovery) +- Application Coordinations + - Scheduling **Framework** (`in-tree` plugins, `out-of-tree` plugins) + - Cross-Cluster Scheduling + - replication scheduling + - static dividing scheduling by weight + - dynamic dividing scheduling by capacity + - cluster resource predictor **framework** for `in-tree` and `out-of-tree` implementations + - various deployment topologies for cluster resource predictors + - subgroup cluster scheduling + - Various Resource Types + - Kubernetes native objects, such as `Deployment`, `StatefulSet`, etc. + - CRDs + - helm charts, including [OCI-based Helm charts](https://helm.sh/docs/topics/registries/) + - Resource interpretations with `in-tree` or `out-of-tree` controllers + - [Setting Overrides](https://clusternet.io/docs/tutorials/multi-cluster-apps/setting-overrides/) + - two-stage priority based override strategies + - enables easy rollback of overrides + - cross-cluster canary rollout + - Multi-Cluster Services + - multi-cluster services discovery with [mcs-api](https://github.com/kubernetes-sigs/mcs-api) +- CLI + - providing a kubectl plugin, which can be installed with `kubectl krew install clusternet` + - consistent user experience with `kubectl` + - create/update/watch/delete multi-cluster resources + - interacting with any child clusters the same as local cluster +- Client-go + - easy to integrate via + a [client-go wrapper](https://github.com/clusternet/clusternet/blob/main/examples/clientgo/READEME.md) + +## Architecture + +![](https://clusternet.io/images/clusternet-arch.png) + +Clusternet is a lightweight addon that consists of four components, `clusternet-agent`, `clusternet-scheduler`, +`clusternet-controller-manager` and `clusternet-hub`. + +Explore the architecture of Clusternet on [clusternet.io](https://clusternet.io/docs/introduction/#architecture). + +## To start using Clusternet + +| | Kubernetes >=v1.30 | >=v1.28, + + + +## Contact + +If you've got any questions, please feel free to contact us with following ways: + +- [open a github issue](https://github.com/clusternet/clusternet/issues/new/choose) +- [mailing list](mailto:clusternet@googlegroups.com) +- [join discussion group](https://groups.google.com/g/clusternet) + +## Contributing & Developing + +If you want to get participated and become a contributor to Clusternet, please don't hesitate to refer to our +[CONTRIBUTING](CONTRIBUTING.md) document for details. + +A [developer guide](https://clusternet.io/docs/developer-guide/) is ready to help you + +- build binaries for all platforms, such as `darwin/amd64`, `linux/amd64`, `linux/arm64`, etc.; +- build docker images for multiple platforms, such as `linux/amd64`, `linux/arm64`, etc.; + +--- + +
+ + +## License +[![FOSSA Status](https://app.fossa.com/api/projects/custom%2B162%2Fgithub.com%2Fclusternet%2Fclusternet.svg?type=large)](https://app.fossa.com/projects/custom%2B162%2Fgithub.com%2Fclusternet%2Fclusternet?ref=badge_large) diff --git a/data/readmes/clusterpedia-v090.md b/data/readmes/clusterpedia-v090.md new file mode 100644 index 0000000..03ad176 --- /dev/null +++ b/data/readmes/clusterpedia-v090.md @@ -0,0 +1,363 @@ +# Clusterpedia - README (v0.9.0) + +**Repository**: https://github.com/clusterpedia-io/clusterpedia +**Version**: v0.9.0 + +--- + +
+

+ The Encyclopedia of Kubernetes clusters +

+ +# Clusterpedia +![build](https://github.com/clusterpedia-io/clusterpedia/actions/workflows/ci.yml/badge.svg) +[![License](https://img.shields.io/github/license/clusterpedia-io/clusterpedia)](/LICENSE) +[![Go Report Card](https://goreportcard.com/badge/github.com/clusterpedia-io/clusterpedia)](https://goreportcard.com/report/github.com/clusterpedia-io/clusterpedia) +[![Release](https://img.shields.io/github/v/release/clusterpedia-io/clusterpedia)](https://github.com/clusterpedia-io/clusterpedia/releases) +[![Artifact Hub](https://img.shields.io/endpoint?url=https://artifacthub.io/badge/repository/clusterpedia)](https://artifacthub.io/packages/search?repo=clusterpedia) +[![CII Best Practices](https://bestpractices.coreinfrastructure.org/projects/5539/badge)](https://bestpractices.coreinfrastructure.org/projects/5539) +[![Join Slack channel](https://img.shields.io/badge/slack-@cncf/clusterpedia-30c000.svg?logo=slack)](https://cloud-native.slack.com/messages/clusterpedia) + +This name Clusterpedia is inspired by Wikipedia. It is an encyclopedia of multi-cluster to synchronize, search for, and simply control multi-cluster resources. + +Clusterpedia can synchronize resources with multiple clusters and provide more powerful search features on the basis of compatibility with Kubernetes OpenAPI to help you effectively get any multi-cluster resource that you are looking for in a quick and easy way. + +> The capability of Clusterpedia is not only to search for and view but also simply control resources in the future, just like Wikipedia that supports for editing entries. + + + +**Clusterpedia is a [Cloud Native Computing Foundation](https://cncf.io/) sandbox project.** +> If you want to join the clusterpedia channel on CNCF slack, please **[get invite to CNCF slack](https://slack.cncf.io/)** and then join the [#clusterpedia](https://cloud-native.slack.com/messages/clusterpedia) channel. + +## Why Clusterpedia +Clusterpedia can be deployed as a standalone platform or integrated with [Cluster API](https://github.com/kubernetes-sigs/cluster-api), [Karmada](https://github.com/karmada-io/karmada), [Clusternet](https://github.com/clusternet/clusternet), [vCluster](https://github.com/loft-sh/vcluster), [KubeVela](https://github.com/kubevela/kubevela) and other multi-cloud platforms + +### Automatic synchronization of clusters managed by multi-cloud platforms +The clusterpedia can automatically synchronize the resources within the cluster managed by the multi-cloud platform. + +Users do not need to maintain Clusterpedia manually, Clusterpedia can work as well as the internal components of the multi-cloud platforms. + +Lean More About [Interfacing to Multi-Cloud Platforms](https://clusterpedia.io/docs/usage/interfacing-to-multi-cloud-platforms/) + +### More retrieval features and compatibility with **Kubernetes OpenAPI** +* Support for retrieving resources using `kubectl`, `client-go` or `controller-runtime/client`, [client-go example](https://github.com/clusterpedia-io/client-go/blob/main/examples/list-clusterpedia-resources/main.go) +* The resource metadata can be retrived via API or [client-go/metadata](https://pkg.go.dev/k8s.io/client-go/metadata) +* Rich retrieval conditions: [Filter by cluster/namespace/name/creation](https://clusterpedia.io/docs/usage/search/multi-cluster/#basic-features), [Search by parent or ancestor owner](https://clusterpedia.io/docs/usage/search/multi-cluster/#search-by-parent-or-ancestor-owner),[Multi-Cluster Label Selector](https://clusterpedia.io/docs/usage/search/#label-selector), [Enhanced Field Selector](https://clusterpedia.io/docs/usage/search/#field-selector), [Custom Search Conditions](https://clusterpedia.io/docs/usage/search/#advanced-searchcustom-conditional-search), etc. +### Support for importing Kubernetes 1.10+ +### Automic conversion of different versions of Kube resources and support for multiple version of resources +* Even if you import different version of Kube, we can still use the same resource version to retrieve resources +> For example, we can use `v1`, `v1beta2`, `v1beta1` version to retrieve the Deployments resources in different clusters. +> +> Notes: The version of *deployments* is `v1beta1` in Kubernetes 1.10 and it is `v1` in Kubernetes 1.24. +```bash +$ kubectl get --raw "/apis/clusterpedia.io/v1beta1/resources/apis/apps" | jq +{ + "kind": "APIGroup", + "apiVersion": "v1", + "name": "apps", + "versions": [ + { + "groupVersion": "apps/v1", + "version": "v1" + }, + { + "groupVersion": "apps/v1beta2", + "version": "v1beta2" + }, + { + "groupVersion": "apps/v1beta1", + "version": "v1beta1" + } + ], + "preferredVersion": { + "groupVersion": "apps/v1", + "version": "v1" + } +} +``` +### A single API can be used to retrieve different types of resources +* Use [`Collection Resource`](https://clusterpedia.io/docs/concepts/collection-resource/) to retrieve different types of resources, such as `Deployment`, `DaemonSet`, `StatefulSet`. +```bash +$ kubectl get collectionresources +NAME RESOURCES +any * +workloads deployments.apps,daemonsets.apps,statefulsets.apps +kuberesources .*,*.admission.k8s.io,*.admissionregistration.k8s.io,*.apiextensions.k8s.io,*.apps,*.authentication.k8s.io,*.authorization.k8s.io,*.autoscaling,*.batch,*.certificates.k8s.io,*.coordination.k8s.io,*.discovery.k8s.io,*.events.k8s.io,*.extensions,*.flowcontrol.apiserver.k8s.io,*.imagepolicy.k8s.io,*.internal.apiserver.k8s.io,*.networking.k8s.io,*.node.k8s.io,*.policy,*.rbac.authorization.k8s.io,*.scheduling.k8s.io,*.storage.k8s.io +``` +### Diverse policies and intelligent synchronization +* [Wildcards](https://clusterpedia.io/docs/usage/sync-resources/#using-wildcards-to-sync-resources) can be used to sync all types of resources within a specified group or cluster. +* [Support for synchronizing all custom resources](https://clusterpedia.io/docs/usage/sync-resources/#sync-all-custom-resources) +* The type and version of resources that Clusterpedia is synchroizing with can be adapted to you CRD and AA changes +### Unify the search entry for master clusters and multi-cluster resources +* Based on [Aggregated API](https://kubernetes.io/docs/concepts/extend-kubernetes/api-extension/apiserver-aggregation/), the entry portal for multi-cluster retrieval is the same as that of the master cluster(IP:PORT) +### Very low memory usage and weak network optimization +* Optimized caches used by informer, so the memory usage is very low for resource synchronization. +* Automatic start/stop synchronization based on cluster health status +### High availability +### No dependency on specific storage components +Clusterpedia does not care about storage components and uses the storage layer to attach specific storage components, +and will also add storage layers for **graph databases** and **ES** in the future + +## Architecture +
+The architecture consists of four parts: + +* **Clusterpedia APIServer**: Register to `Kubernetes APIServer` by the means of [Aggregated API](https://kubernetes.io/docs/concepts/extend-kubernetes/api-extension/apiserver-aggregation/) and provide services through a unified entrance +* **ClusterSynchro Manager**: Manage the cluster synchro that is used to synchronize cluster resources +* **Storage Layer**: Connect with a specific storage component and then register to Clusterpedia APIServer and ClusterSynchro Manager via a storage layer interface +* **Storage Component**: A specific storage facility such as **MySQL**, **PostgreSQL**, **Redis** or other **Graph Databases** + +In addition, Clusterpedia will use the Custom Resource - *PediaCluster* to implement cluster authentication and configure resources for synchronization. + +Clusterpedia also provides a `Default Storage Layer` that can connect with **MySQL** and **PostgreSQL**. +> Clusterpedia does not care about the specific storage components used by users, +> you can choose or implement the storage layer according to your own needs, +> and then register the storage layer in Clusterpedia as a plug-in + +--- +[Installation](https://clusterpedia.io/docs/installation/) | [Import Clusters](https://clusterpedia.io/docs/usage/import-clusters/) | [Sync Cluster Resources](https://clusterpedia.io/docs/usage/sync-resources/) +--- + +## Search Label and URL Query +|Role| Search label key|URL query| +| -- | --------------- | ------- | +|Filter cluster names|`search.clusterpedia.io/clusters`|`clusters`| +|Filter namespaces|`search.clusterpedia.io/namespaces`|`namespaces`| +|Filter resource names|`search.clusterpedia.io/names`|`names`| +|Fuzzy Search by resource name|`internalstorage.clusterpedia.io/fuzzy-name`|-| +|Since creation time|`search.clusterpedia.io/since`|`since`| +|Before creation time|`search.clusterpedia.io/before`|`before`| +|Specified Owner UID|`search.clusterpedia.io/owner-uid`|`ownerUID`| +|Specified Owner Seniority|`search.clusterpedia.io/owner-seniority`|`ownerSeniority`| +|Specified Owner Name|`search.clusterpedia.io/owner-name`|`ownerName`| +|Specified Owner Group Resource|`search.clusterpedia.io/owner-gr`|`ownerGR`| +|Order by fields|`search.clusterpedia.io/orderby`|`orderby`| +|Set page size|`search.clusterpedia.io/size`|`limit`| +|Set page offset|`search.clusterpedia.io/offset`|`continue`| +|Response include Continue|`search.clusterpedia.io/with-continue`|`withContinue` +|Response include remaining count|`search.clusterpedia.io/with-remaining-count`|`withRemainingCount` +|[Custom Where SQL](https://clusterpedia.io/docs/usage/search/#advanced-searchcustom-conditional-search)|-|`whereSQL`| +|[Get only the metadata of the collection resource](https://clusterpedia.io/docs/usage/search/collection-resource#only-metadata) | - |`onlyMetadata` | +|[Specify the groups of `any collectionresource`](https://clusterpedia.io/docs/usage/search/collection-resource#any-collectionresource) | - | `groups` | +|[Specify the resources of `any collectionresource`](https://clusterpedia.io/docs/usage/search/collection-resource#any-collectionresource) | - | `resources` | + +**Both Search Labels and URL Query support same operators as Label Selector:** +* `exist`, `not exist` +* `=`, `==`, `!=` +* `in`, `notin` + +More information about [Search Conditions](https://clusterpedia.io/docs/usage/search/), +[Label Selector](https://clusterpedia.io/docs/usage/search/#label-selector) and [Field Selector](https://clusterpedia.io/docs/usage/search/#field-selector) + +## Usage Samples +You can search for resources configured in *PediaCluster*, Clusterpedia supports two types of resource search: +* Resources that are compatible with **Kubernetes OpenAPI** +* [`Collection Resource`](https://clusterpedia.io/docs/concepts/collection-resource/) +```sh +$ kubectl api-resources | grep clusterpedia.io +collectionresources clusterpedia.io/v1beta1 false CollectionResource +resources clusterpedia.io/v1beta1 false Resources +``` +### Use a compatible way with Kubernetes OpenAPI +It is possible to search resources via URL, but using `kubectl` may be more convenient if +you [configured the cluster shortcuts for `kubectl`](https://clusterpedia.io/docs/usage/access-clusterpedia/#configure-the-cluster-shortcut-for-kubectl). + +We can use `kubectl --cluster ` to specify the cluster, if `` is `clusterpedia`, +it meas it is a multi-cluster search operation. + +First check which resources are synchronized. We cannot find a resource until it is properly synchronized: +```sh +$ kubectl --cluster clusterpedia api-resources +NAME SHORTNAMES APIVERSION NAMESPACED KIND +configmaps cm v1 true ConfigMap +events ev v1 true Event +namespaces ns v1 false Namespace +nodes no v1 false Node +pods po v1 true Pod +services svc v1 true Service +daemonsets ds apps/v1 true DaemonSet +deployments deploy apps/v1 true Deployment +replicasets rs apps/v1 true ReplicaSet +statefulsets sts apps/v1 true StatefulSet +cronjobs cj batch/v1 true CronJob +jobs batch/v1 true Job +clusters cluster.kpanda.io/v1alpha1 false Cluster +ingressclasses networking.k8s.io/v1 false IngressClass +ingresses ing networking.k8s.io/v1 true Ingress +clusterrolebindings rbac.authorization.k8s.io/v1 false ClusterRoleBinding +clusterroles rbac.authorization.k8s.io/v1 false ClusterRole +roles rbac.authorization.k8s.io/v1 true Role + +$ kubectl --cluster cluster-1 api-resources +... +``` + +#### Search in Multiple Clusters +> Usage of [multi-cluster search](https://clusterpedia.io/docs/usage/search/multi-cluster/) in documents + +**Get deployments in the `kube-system` namespace of all clusters:** +```sh +$ kubectl --cluster clusterpedia get deployments -n kube-system +CLUSTER NAME READY UP-TO-DATE AVAILABLE AGE +cluster-1 coredns 2/2 2 2 68d +cluster-2 calico-kube-controllers 1/1 1 1 64d +cluster-2 coredns 2/2 2 2 64d +``` + +**Get deployments in the two namespaces `kube-system` and `default` of all clusters:** +```sh +$ kubectl --cluster clusterpedia get deployments -A -l "search.clusterpedia.io/namespaces in (kube-system, default)" +NAMESPACE CLUSTER NAME READY UP-TO-DATE AVAILABLE AGE +kube-system cluster-1 coredns 2/2 2 2 68d +kube-system cluster-2 calico-kube-controllers 1/1 1 1 64d +kube-system cluster-2 coredns 2/2 2 2 64d +default cluster-2 dd-airflow-scheduler 0/1 1 0 54d +default cluster-2 dd-airflow-web 0/1 1 0 54d +default cluster-2 hello-world-server 1/1 1 1 27d +default cluster-2 openldap 1/1 1 1 41d +default cluster-2 phpldapadmin 1/1 1 1 41d +``` + +**Get deployments in the `kube-system` and `default` namespaces in cluster-1 and cluster-2:** +```sh +$ kubectl --cluster clusterpedia get deployments -A -l "search.clusterpedia.io/clusters in (cluster-1, cluster-2),\ + search.clusterpedia.io/namespaces in (kube-system,default)" +NAMESPACE CLUSTER NAME READY UP-TO-DATE AVAILABLE AGE +kube-system cluster-1 coredns 2/2 2 2 68d +kube-system cluster-2 calico-kube-controllers 1/1 1 1 64d +kube-system cluster-2 coredns 2/2 2 2 64d +default cluster-2 dd-airflow-scheduler 0/1 1 0 54d +default cluster-2 dd-airflow-web 0/1 1 0 54d +default cluster-2 hello-world-server 1/1 1 1 27d +default cluster-2 openldap 1/1 1 1 41d +default cluster-2 phpldapadmin 1/1 1 1 41d +``` + +**Get deployments in the `kube-system` and `default` namespaces in cluster-1 and cluster-2:** +```sh +$ kubectl --cluster clusterpedia get deployments -A -l "search.clusterpedia.io/clusters in (cluster-1, cluster-2),\ + search.clusterpedia.io/namespaces in (kube-system,default),\ + search.clusterpedia.io/orderby=name" +NAMESPACE CLUSTER NAME READY UP-TO-DATE AVAILABLE AGE +kube-system cluster-2 calico-kube-controllers 1/1 1 1 64d +kube-system cluster-1 coredns 2/2 2 2 68d +kube-system cluster-2 coredns 2/2 2 2 64d +default cluster-2 dd-airflow-scheduler 0/1 1 0 54d +default cluster-2 dd-airflow-web 0/1 1 0 54d +default cluster-2 hello-world-server 1/1 1 1 27d +default cluster-2 openldap 1/1 1 1 41d +default cluster-2 phpldapadmin 1/1 1 1 41d +``` + +#### Search a specific cluster +> Usage of [specified cluster search](https://clusterpedia.io/docs/usage/search/specified-cluster/) in documents + +**If you want to search a specific cluster for any resource therein, you can add --cluster to specify the cluster name:** +```sh +$ kubectl --cluster cluster-1 get deployments -A +NAMESPACE CLUSTER NAME READY UP-TO-DATE AVAILABLE AGE +calico-apiserver cluster-1 calico-apiserver 1/1 1 1 68d +calico-system cluster-1 calico-kube-controllers 1/1 1 1 68d +calico-system cluster-1 calico-typha 1/1 1 1 68d +capi-system cluster-1 capi-controller-manager 1/1 1 1 42d +capi-kubeadm-bootstrap-system cluster-1 capi-kubeadm-bootstrap-controller-manager 1/1 1 1 42d +capi-kubeadm-control-plane-system cluster-1 capi-kubeadm-control-plane-controller-manager 1/1 1 1 42d +capv-system cluster-1 capv-controller-manager 1/1 1 1 42d +cert-manager cluster-1 cert-manager 1/1 1 1 42d +cert-manager cluster-1 cert-manager-cainjector 1/1 1 1 42d +cert-manager cluster-1 cert-manager-webhook 1/1 1 1 42d +clusterpedia-system cluster-1 clusterpedia-apiserver 1/1 1 1 27m +clusterpedia-system cluster-1 clusterpedia-clustersynchro-manager 1/1 1 1 27m +clusterpedia-system cluster-1 clusterpedia-internalstorage-mysql 1/1 1 1 29m +kube-system cluster-1 coredns 2/2 2 2 68d +tigera-operator cluster-1 tigera-operator 1/1 1 1 68d +``` +Except for `search.clusterpedia.io/clusters`, the support for other complex queries is same as that for multi-cluster search. + +If you want to learn about the details of a resource, you need to specify which cluster it is: +```sh +$ kubectl --cluster cluster-1 -n kube-system get deployments coredns -o wide +CLUSTER NAME READY UP-TO-DATE AVAILABLE AGE CONTAINERS IMAGES SELECTOR +cluster-1 coredns 2/2 2 2 68d coredns registry.aliyuncs.com/google_containers/coredns:v1.8.4 k8s-app=kube-dns +``` + +**Find the related pods by the name of the deployment** + +First view the deployments in default namespace +```sh +$ kubectl --cluster cluster-1 get deployments +NAME READY UP-TO-DATE AVAILABLE AGE +fake-pod 3/3 3 3 104d +test-controller-manager 0/0 0 0 7d21h +``` + +Use `owner-name` to specify Owner Name and use `owner-seniority` to promote the Owner's seniority. +``` +$ kubectl --cluster cluster-1 get pods -l "search.clusterpedia.io/owner-name=fake-pod,search.clusterpedia.io/owner-seniority=1" +NAME READY STATUS RESTARTS AGE +fake-pod-698dfbbd5b-74cjx 1/1 Running 0 12d +fake-pod-698dfbbd5b-tmcw7 1/1 Running 0 3s +fake-pod-698dfbbd5b-wvtvw 1/1 Running 0 3s +``` + +Lean More About [Search by Parent or Ancestor Owner](https://clusterpedia.io/docs/usage/search/specified-cluster/#search-by-parent-or-ancestor-owner) + +### Search for [Collection Resource](https://clusterpedia.io/docs/concepts/collection-resource/) +Clusterpedia can also perform more advanced aggregation of resources. For example, you can use `Collection Resource` to get a set of different resources at once. + +Let's first check which `Collection Resource` currently Clusterpedia supports: +```sh +$ kubectl get collectionresources +NAME RESOURCES +any * +workloads deployments.apps,daemonsets.apps,statefulsets.apps +kuberesources .*,*.admission.k8s.io,*.admissionregistration.k8s.io,*.apiextensions.k8s.io,*.apps,*.authentication.k8s.io,*.authorization.k8s.io,*.autoscaling,*.batch,*.certificates.k8s.io,*.coordination.k8s.io,*.discovery.k8s.io,*.events.k8s.io,*.extensions,*.flowcontrol.apiserver.k8s.io,*.imagepolicy.k8s.io,*.internal.apiserver.k8s.io,*.networking.k8s.io,*.node.k8s.io,*.policy,*.rbac.authorization.k8s.io,*.scheduling.k8s.io,*.storage.k8s.io +``` + +By getting workloads, you can get a set of resources aggregated by `deployments`, `daemonsets`, and `statefulsets`, and `Collection Resource` also supports for all complex queries. + +**`kubectl get collectionresources workloads` will get the corresponding resources of all namespaces in all clusters by default:** +```sh +$ kubectl get collectionresources workloads +CLUSTER GROUP VERSION KIND NAMESPACE NAME AGE +cluster-1 apps v1 DaemonSet kube-system vsphere-cloud-controller-manager 63d +cluster-2 apps v1 Deployment kube-system calico-kube-controllers 109d +cluster-2 apps v1 Deployment kube-system coredns-coredns 109d +``` +> Add the collection of Daemonset in cluster-1 and some of the above output is cut out + +Due to the limitation of kubectl, you cannot use complex queries in kubectl and can only be queried by `URL Query`. + +[Lean More](https://clusterpedia.io/docs/usage/search/collection-resource/) + +## Proposals +### Perform more complex control over resources +In addition to resource search, similar to Wikipedia, Clusterpedia should also have simple capability of resource control, such as watch, create, delete, update, and more. + +In fact, a write action is implemented by double write + warning response. + +**We will discuss this feature and decide whether we should implement it according to the community needs** + +## Notes +### Multi-cluster network connectivity +Clusterpedia does not actually solve the problem of network connectivity in a multi-cluster environment. You can use tools such as [tower](https://github.com/kubesphere/tower) to connect and access sub-clusters, or use [submariner](https://github.com/submariner-io/submariner) or [skupper](https://github.com/skupperproject/skupper) to solve cross-cluster network problems. + +## Contact +If you have any question, feel free to reach out to us in the following ways: +* [@cncf/clusterpedia slack](https://cloud-native.slack.com/messages/clusterpedia) + +> If you want to join the clusterpedia channel on CNCF slack, please **[get invite to CNCF slack](https://slack.cncf.io/)** and then join the [#clusterpedia](https://cloud-native.slack.com/messages/clusterpedia) channel. + +## Contributors + + + + + +Made with [contrib.rocks](https://contrib.rocks). + +## License +Copyright 2023 the Clusterpedia Authors. All rights reserved. + +Licensed under the Apache License, Version 2.0. diff --git a/data/readmes/cni-genie-v30.md b/data/readmes/cni-genie-v30.md new file mode 100644 index 0000000..23ac574 --- /dev/null +++ b/data/readmes/cni-genie-v30.md @@ -0,0 +1,83 @@ +# CNI-Genie - README (v3.0) + +**Repository**: https://github.com/cni-genie/CNI-Genie +**Version**: v3.0 + +--- + +# CNI-Genie + +CNI-Genie enables container orchestrators ([Kubernetes](https://github.com/kubernetes/kubernetes), [Mesos](https://mesosphere.com/)) to seamlessly connect to the choice of CNI plugins installed on a host, including +1. ['reference' CNI plugins](https://github.com/containernetworking/plugins), e.g., bridge, macvlan, ipvlan, loopback +2. '3rd-party' CNI plugins, e.g., ([Calico](https://github.com/projectcalico/calico), [Romana](https://github.com/romana/romana), [Weave-net](https://github.com/weaveworks/weave)) +3. 'specialized' CNI plugins, e.g., [SR-IOV](https://github.com/hustcat/sriov-cni), DPDK (work-in-progress) +4. any generic CNI plugin of choice installed on the host + +Without CNI-Genie, the orchestrator is bound to only a single CNI plugin. E.g., for the case of Kubernetes, without CNI-Genie, kubelet is bound to only a single CNI plugin passed to kubelet on start. CNI-Genie allows for the co-existance of multiple CNI plugins in runtime. + +[![Build Status](https://travis-ci.org/Huawei-PaaS/CNI-Genie.svg)](https://travis-ci.org/Huawei-PaaS/CNI-Genie) +[![Go Report Card](https://goreportcard.com/badge/github.com/Huawei-PaaS/CNI-Genie)](https://goreportcard.com/report/github.com/Huawei-PaaS/CNI-Genie) + +Please feel free to post your feedback, questions on CNI-Genie [Slack channel](https://cni-genie.slack.com/) + +## Demo +Here is a 6 minute demo video that demonstrates 3 scenarios +1. Assign an IP address to a pod from a particular network solution, e.g., 'Weave-net' +2. Assign multi-IP addresses to a pod from multiple network solutions, e.g., 1st IP address from 'Weave-net', 2nd IP address from 'Canal' +3. Assign an IP address to a pod from the "less congested" network solution, e.g., from 'Canal' that is less congested + +[![asciicast](https://asciinema.org/a/118191.png)](https://asciinema.org/a/118191) + +# Contributing +[Contributing](CONTRIBUTING.md) + +[Code of Conduct](CODE_OF_CONDUCT.md) + +# Why we created CNI-Genie? + +CNI Genie is an add-on to [Kuberenets](https://github.com/kubernetes/kubernetes) open-source project and is designed to provide the following features: + +1. [wide range of network offerings, CNI plugins](docs/multiple-cni-plugins/README.md), available to the users in runtime. This figure shows Kubernetes CNI Plugin landscape before and after CNI-Genie + ![image](docs/multiple-cni-plugins/what-cni-genie.png) + - User-story: based on "performance" requirements, "application" requirements, “workload placement” requirements, the user could be interested to use different CNI plugins for different application groups + - Different CNI plugins are different in terms of need for port-mapping, NAT, tunneling, interrupting host ports/interfaces + +[Watch multiple CNI plugins demo](https://github.com/Huawei-PaaS/CNI-Genie/blob/master/docs/multiple-cni-plugins/README.md#demo) + + +2. [Multiple NICs per container & per pod](docs/multiple-ips/README.md). The user can select multiple NICs to be added to a container upon creating them. Each NIC can get an IP address from an existing CNI plugin of choice. This makes the container reachable across multiple networks. Some use-cases from [SIG-Network](https://github.com/kubernetes/community/wiki/SIG-Network) are depicted in the figure below + ![image](docs/multiple-ips/multi-interface.PNG) + +[Watch multi-NICs per 'container' demo](https://github.com/Huawei-PaaS/CNI-Genie/blob/master/docs/multiple-ips/README.md#demo) + +[Watch multi-NICs per 'pod' demo](https://github.com/Huawei-PaaS/CNI-Genie/blob/master/docs/multiple-ips/README.md#feature-2-extension-cni-genie-multiple-ip-addresses-per-pod) (IP addresses assigned not only to the container, but also to the Pod) + +3. [Network Attachment Definition](docs/network-attachment-definitions/README.md). CNI-Genie supports [NPWG Multi-Network Specification v1](https://github.com/K8sNetworkPlumbingWG/multi-net-spec) style network attachment to pods, where pods can be assigned IP according to network-attachment-definition CRD objects created by user. + +4. The user can leave the CNI plugin selection to CNI-Genie. CNI-Genie watches the Key Performance Indicator (KPI) that is of interest to the user and [selects the CNI plugin](docs/smart-cni-genie/README.md), accordingly. + - CNI Genie watches KPI(s) of interest for existing CNI plugins, e.g., occupancy rate, number of subnets, latency, bandwidth + +[Watch Smart CNI Plugin Selection demo](https://github.com/Huawei-PaaS/CNI-Genie/blob/master/docs/smart-cni-genie/README.md#demo) + + +5. [Default plugin support](docs/default-plugin/README.md). Another useful feature from genie. Using this, we can ensure to get ip address(es) for a pod by selecting default set of plugins + + +6. Network isolation, i.e., + - Dedicated 'physical' network for a tenant + - Isolated 'logical' networks for different tenants on a shared 'physical'network + + Usecase : [Obtaining Pod Ip address from customized subnet](docs/network-isolation/README.md) + +7. [CNI-Genie network policy engine](docs/network-policy/README.md) for network level ACLs + +8. Real-time switching between different (physical or logical) networks for a given workload. This allows for + - Price minimization: dynamically switching workload to a cheaper network as network prices change + - Maximizing network utilization: dynamically switching workload to the less congested network at a threshold + + ![image](docs/network-switching.PNG) + +Note: CNI-Genie itself is NOT a routing solution! It makes a call to CNI plugins that provide routing service + +### More docs here [Getting started](docs/GettingStarted.md), [CNI-Genie Feature Set](docs/CNIGenieFeatureSet.md) + diff --git a/data/readmes/composefs-v108.md b/data/readmes/composefs-v108.md new file mode 100644 index 0000000..3f287b3 --- /dev/null +++ b/data/readmes/composefs-v108.md @@ -0,0 +1,202 @@ +# composefs - README (v1.0.8) + +**Repository**: https://github.com/composefs/composefs +**Version**: v1.0.8 + +--- + +# composefs: The reliability of disk images, the flexibility of files + +The composefs project combines several underlying Linux features +to provide a very flexible mechanism to support read-only +mountable filesystem trees, stacking on top of an underlying +"lower" Linux filesystem. + +The key technologies composefs uses are: + +- [overlayfs](https://www.kernel.org/doc/Documentation/filesystems/overlayfs.txt) as the kernel interface +- [EROFS](https://erofs.docs.kernel.org) for a mountable metadata tree +- [fs-verity](https://www.kernel.org/doc/html/next/filesystems/fsverity.html) (optional) from the lower filesystem + +The manner in which these technologies are combined is important. +First, to emphasize: composefs does not store any persistent data itself. +The underlying metadata and data files must be stored in a valid +"lower" Linux filesystem. Usually on most systems, this will be a +traditional writable persistent Linux filesystem such as `ext4`, `xfs`, `btrfs` etc. + +The "tagline" for this project is "The reliability of disk images, the flexibility of files", +and is worth explaining a bit more. Disk images have a lot of desirable +properties in contrast to other formats such as tar and zip: they're +efficiently kernel mountable and are very explicit about all details +of their layout. There are well known tools such as [dm-verity](https://docs.kernel.org/admin-guide/device-mapper/verity.html) +which can apply to disk images for robust security. However, disk +images have well known drawbacks such as commonly duplicating storage +space on disk, can be difficult to incrementally update, and are +generally inflexible. + +composefs aims to provide a similarly high level of reliability, +security, and Linux kernel integration; but with the *flexibility* of files +for content - avoiding doubling disk usage, worrying about partition +tables, etc. + +## Separation between metadata and data + +A key aspect of the way composefs works is that it's designed to +store "data" (i.e. non-empty regular files) distinct from "metadata" +(i.e. everything else). + +composefs reads and writes a filesystem image which is really +just an [EROFS](https://erofs.docs.kernel.org) +which today is loopback mounted. + +However, this EROFS filesystem tree is just metadata; the underlying +non-empty data files can be shared in a distinct "backing store" +directory. The EROFS filesystem includes `trusted.overlay.redirect` +extended attributes which tell the `overlayfs` mount +how to find the real underlying files. + +## Mounting multiple composefs with a shared backing store + +The key targeted use case for composefs is versioned, immutable executable +filesystem trees (i.e. container images and bootable host systems), where +some of these filesystems may share *parts* of their storage (i.e. some +files may be different, but not all). + +Composefs ships with a mount helper that allows you to easily mount +images by passing the image filename and the base directory for +the content files like this: + +```bash +mount -t composefs /path/to/image -o basedir=/path/to/content /mnt +``` + +By storing the files content-addressed (e.g. using the hash of the content to name +the file), shared files only need to be stored once, yet can appear in +multiple mounts. + +## Backing store shared on disk *and* in page cache + +A crucial advantage of composefs in contrast to other approaches +is that data files are shared in the [page cache](https://static.lwn.net/kerneldoc/admin-guide/mm/concepts.html#page-cache). + +This allows launching multiple container images that will +reliably share memory. + +## Filesystem integrity + +Composefs also supports [fs-verity](https://www.kernel.org/doc/html/latest/filesystems/fsverity.html) +validation of the content files. When using this, the digest of the +content files is stored in the image in the `trusted.overlay.metacopy` +extended attributes which tell overlayfs to validate that +the content file it uses has a matching enabled fs-verity digest. This +means that the backing content cannot be changed in any way (by +mistake or by malice) without this being detected when the file is +used. + +You can also use fs-verity on the image file itself, and pass the +expected fs-verity digest as a mount option, which composefs will +validate. In this case we have full trust of both data and metadata of +the mounted file. This solves a weakness that fs-verity has when used +on its own, in that it can only verify file data, not metadata (e.g. +inode bits like permissions and ownership, but also directory +structures). + +## Usecase: container images + +There are multiple container image systems; for those using e.g. +[OCI](https://github.com/opencontainers/image-spec/blob/main/spec.md) +a common approach (implemented by both docker and podman for example) +is to just untar each layer by itself, and then use `overlayfs` +to stitch them together at runtime. This is a partial inspiration +for composefs; notably this approach does ensure that *identical +layers* are shared. + +However if instead we store the file content in a content-addressed +fashion, and then we can generate a composefs file for each layer, +continuing to mount them with a chain of `overlayfs` *or* we +can generate a single composefs for the final merged filesystem tree. + +This allows sharing of content files between images, even if the +metadata (like the timestamps or file ownership) vary between images. + +Together with something like +[zstd:chunked](https://github.com/containers/storage/pull/775) this +will speed up pulling container images and make them available for +usage, without the need to even create these files if already present! + +## Usecase: Bootable host systems (e.g. OSTree) + +[OSTree](https://github.com/ostreedev/ostree) already uses a content-addressed +object store. However, normally this has to be checked out into a regular directory (using hardlinks +into the object store for regular files). This directory is then +bind-mounted as the rootfs when the system boots. + +OSTree already supports enabling fs-verity on the files in the store, +but nothing can protect against changes to the checkout directories. A +malicious user can add, remove or replace files there. We want to use +composefs to avoid this. + +Instead of checking out to a directory, we generate a composefs image +pointing into the object store and mount that as the root fs. We can +then enable fs-verity of the composefs image and embed the digest of +that in the kernel commandline which specifies the rootfs. Since +composefs generation is reproducible, we can even verify that the +composefs image we generated is correct by comparing its digest to one +in the ostree metadata that was generated when the ostree image was built. + +For more information on ostree and composefs, see [this tracking issue](https://github.com/ostreedev/ostree/issues/2867). + +## tools + +Composefs installs two main tools: + +- `mkcomposefs`: Creates a composefs image given a directory pathname. Can also compute digests and create a content store directory. +- `mount.composefs`: A mount helper that supports mounting composefs images. + +## mounting a composefs image + +The mount.composefs helper allows you to mount composefs images (of both types). + +The basic use is: + +```bash +mount -t composefs /path/to/image.cfs -o basedir=/path/to/datafiles /mnt +``` + +The default behaviour for fs-verity is that any image files that +specifies an expected digest needs the backing file to match that +fs-verity digest, at least if this is supported in the kernel. This +can be modified with the `verity` and `noverity` options. + +Mount options: + +- `basedir`: is the directory to use as a base when resolving relative content paths. +- `verity`: All image files must specify a fs-verity image. +- `noverity`: Don't verify fs-verity digests (useful for example if fs-verity is not supported on basedir). +- `digest`: A fs-verity sha256 digest that the image file must match. If set, `verity_check` defaults to 2. +- `upperdir`: Specify an upperdir for the overlayfs filesystem. +- `workdir`: Specify a workdir for the overlayfs filesystem. +- `idmap`: Specify a path to a user namespace that is used as an idmap. + +## Language bindings + +### Rust + +There is active work on a [composefs crate](https://github.com/containers/composefs-rs) +which has both wrappers for invocations of the `mkcomposefs` and `composefs-info` dump tooling, +as well as higher level repository functionality. + +### Go + +The containers/storage Go library has [code wrapping mkcomposefs](https://github.com/containers/storage/blob/5fe400b7aedc7385e07a938d393d50600ca06299/drivers/overlay/composefs.go#L41) +that could in theory be extracted to a helper package. + +## Community forums + +- Live chat: [Matrix channel](https://matrix.to/#/#composefs:matrix.org) +- Async forums: [Github discussions](https://github.com/containers/composefs/discussions) + +## Contributing + +We have a dedicated [CONTRIBUTING](CONTRIBUTING.md) document. + diff --git a/data/readmes/confidential-containers-v0170.md b/data/readmes/confidential-containers-v0170.md new file mode 100644 index 0000000..cecd3f9 --- /dev/null +++ b/data/readmes/confidential-containers-v0170.md @@ -0,0 +1,54 @@ +# Confidential Containers - README (v0.17.0) + +**Repository**: https://github.com/confidential-containers/confidential-containers +**Version**: v0.17.0 + +--- + +![logo](./images/coco_logo.png) + +# Confidential Containers + +[![CII Best Practices](https://bestpractices.dev/projects/5719/badge)](https://bestpractices.dev/projects/5719) + +## Welcome to confidential-containers + +Confidential Containers is an open source community working to leverage +[Trusted Execution Environments](https://en.wikipedia.org/wiki/Trusted_execution_environment) +to protect containers and data and to deliver cloud native +confidential computing. + +**We have a new release every 6 weeks!** +See [Release Notes](./releases/) or [Quickstart Guide](./quickstart.md) + +Our key considerations are: +- Allow cloud native application owners to enforce application security requirements +- Transparent deployment of unmodified containers +- Support for multiple TEE and hardware platforms +- A trust model which separates Cloud Service Providers (CSPs) from guest applications +- Least privilege principles for the Kubernetes cluster administration capabilities which impact +delivering Confidential Computing for guest applications or data inside the TEE + +### Get started quickly... +- [Kubernetes Operator for Confidential + Computing](https://github.com/confidential-containers/operator) : An + operator to deploy confidential containers runtime (and required configs) on a Kubernetes cluster + + +## Further Detail +[![asciicast](https://asciinema.org/a/eGHhZdQY3uYnDalFAfuB7VYqF.svg)](https://asciinema.org/a/eGHhZdQY3uYnDalFAfuB7VYqF) +[![FOSSA Status](https://app.fossa.com/api/projects/git%2Bgithub.com%2Fconfidential-containers%2Fcommunity.svg?type=shield)](https://app.fossa.com/projects/git%2Bgithub.com%2Fconfidential-containers%2Fcommunity?ref=badge_shield) + +- [Project Overview](./overview.md) +- [Project Architecture](./architecture.md) +- [Our Roadmap](./roadmap.md) +- [Our Release Content Planning](https://github.com/orgs/confidential-containers/projects/6) +- [Alignment with other Projects](alignment.md) + +## Contributing + +We welcome contributions from the community! Please see our [Contributing Guidelines](https://github.com/confidential-containers/confidential-containers/?tab=contributing-ov-file#readme) for details on how to get started. + +## License +[![FOSSA Status](https://app.fossa.com/api/projects/git%2Bgithub.com%2Fconfidential-containers%2Fcommunity.svg?type=large)](https://app.fossa.com/projects/git%2Bgithub.com%2Fconfidential-containers%2Fcommunity?ref=badge_large) + diff --git a/data/readmes/connect-rpc-v1191.md b/data/readmes/connect-rpc-v1191.md new file mode 100644 index 0000000..71528d5 --- /dev/null +++ b/data/readmes/connect-rpc-v1191.md @@ -0,0 +1,191 @@ +# Connect RPC - README (v1.19.1) + +**Repository**: https://github.com/connectrpc/connect-go +**Version**: v1.19.1 + +--- + +Connect +======= + +[![Build](https://github.com/connectrpc/connect-go/actions/workflows/ci.yaml/badge.svg?branch=main)](https://github.com/connectrpc/connect-go/actions/workflows/ci.yaml) +[![Report Card](https://goreportcard.com/badge/connectrpc.com/connect)](https://goreportcard.com/report/connectrpc.com/connect) +[![GoDoc](https://pkg.go.dev/badge/connectrpc.com/connect.svg)](https://pkg.go.dev/connectrpc.com/connect) +[![Slack](https://img.shields.io/badge/slack-buf-%23e01563)][slack] +[![OpenSSF Best Practices](https://www.bestpractices.dev/projects/8972/badge)](https://www.bestpractices.dev/projects/8972) + +Connect is a slim library for building browser and gRPC-compatible HTTP APIs. +You write a short [Protocol Buffer][protobuf] schema and implement your +application logic, and Connect generates code to handle marshaling, routing, +compression, and content type negotiation. It also generates an idiomatic, +type-safe client. Handlers and clients support three protocols: gRPC, gRPC-Web, +and Connect's own protocol. + +The [Connect protocol][protocol] is a simple protocol that works over HTTP/1.1 +or HTTP/2. It takes the best portions of gRPC and gRPC-Web, including +streaming, and packages them into a protocol that works equally well in +browsers, monoliths, and microservices. Calling a Connect API is as easy as +using `curl`. Try it with our live demo: + +``` +curl \ + --header "Content-Type: application/json" \ + --data '{"sentence": "I feel happy."}' \ + https://demo.connectrpc.com/connectrpc.eliza.v1.ElizaService/Say +``` + +Handlers and clients also support the gRPC and gRPC-Web protocols, including +streaming, headers, trailers, and error details. gRPC-compatible [server +reflection][grpcreflect] and [health checks][grpchealth] are available as +standalone packages. Instead of cURL, we could call our API with a gRPC client: + +``` +go install github.com/bufbuild/buf/cmd/buf@latest +buf curl --protocol grpc \ + --data '{"sentence": "I feel happy."}' \ + https://demo.connectrpc.com/connectrpc.eliza.v1.ElizaService/Say +``` + +Under the hood, Connect is just [Protocol Buffers][protobuf] and the standard +library: no custom HTTP implementation, no new name resolution or load +balancing APIs, and no surprises. Everything you already know about `net/http` +still applies, and any package that works with an `http.Server`, `http.Client`, +or `http.Handler` also works with Connect. + +For more on Connect, see the [announcement blog post][blog], the documentation +on [connectrpc.com][docs] (especially the [Getting Started] guide for Go), the +[demo service][examples-go], or the [protocol specification][protocol]. + +## A small example + +Curious what all this looks like in practice? From a [Protobuf +schema](internal/proto/connect/ping/v1/ping.proto), we generate [a small RPC +package](internal/gen/simple/connect/ping/v1/pingv1connect/ping.connect.go). Using that +package, we can build a server. This example is available at [internal/example](internal/example): + +```go +package main + +import ( + "context" + "log" + "net/http" + + "connectrpc.com/connect" + pingv1 "connectrpc.com/connect/internal/gen/connect/ping/v1" + "connectrpc.com/connect/internal/gen/simple/connect/ping/v1/pingv1connect" + "connectrpc.com/validate" +) + +type PingServer struct { + pingv1connect.UnimplementedPingServiceHandler // returns errors from all methods +} + +func (ps *PingServer) Ping(ctx context.Context, req *pingv1.PingRequest) (*pingv1.PingResponse, error) { + return &pingv1.PingResponse{ + Number: req.Number, + }, nil +} + +func main() { + mux := http.NewServeMux() + // The generated constructors return a path and a plain net/http + // handler. + mux.Handle( + pingv1connect.NewPingServiceHandler( + &PingServer{}, + // Validation via Protovalidate is almost always recommended + connect.WithInterceptors(validate.NewInterceptor()), + ), + ) + p := new(http.Protocols) + p.SetHTTP1(true) + // For gRPC clients, it's convenient to support HTTP/2 without TLS. + p.SetUnencryptedHTTP2(true) + s := &http.Server{ + Addr: "localhost:8080", + Handler: mux, + Protocols: p, + } + if err := s.ListenAndServe(); err != nil { + log.Fatalf("listen failed: %v", err) + } +} +``` + +With that server running, you can make requests with any gRPC or Connect +client. To write a client using Connect: + +```go +package main + +import ( + "context" + "log" + "net/http" + + pingv1 "connectrpc.com/connect/internal/gen/connect/ping/v1" + "connectrpc.com/connect/internal/gen/simple/connect/ping/v1/pingv1connect" +) + +func main() { + client := pingv1connect.NewPingServiceClient( + http.DefaultClient, + "http://localhost:8080/", + ) + req := &pingv1.PingRequest{Number: 42} + res, err := client.Ping(context.Background(), req) + if err != nil { + log.Fatalln(err) + } + log.Println(res) +} +``` + +Of course, `http.ListenAndServe` and `http.DefaultClient` aren't fit for +production use! See Connect's [deployment docs][docs-deployment] for a guide to +configuring timeouts, connection pools, observability, and h2c. + +## Ecosystem + +* [grpchealth]: gRPC-compatible health checks for connect-go +* [grpcreflect]: gRPC-compatible server reflection for connect-go +* [validate]: [Protovalidate][protovalidate] interceptor for connect-go +* [examples-go]: service powering [demo.connectrpc.com](https://demo.connectrpc.com), including bidi streaming +* [connect-es]: Type-safe APIs with Protobuf and TypeScript +* [Buf Studio]: web UI for ad-hoc RPCs +* [conformance]: Connect, gRPC, and gRPC-Web interoperability tests + +## Status: Stable + +This module is stable. It supports: + +* The two most recent major releases of Go (the same versions of Go that continue + to [receive security patches][go-support-policy]). +* [APIv2] of Protocol Buffers in Go (`google.golang.org/protobuf`). + +Within those parameters, `connect` follows semantic versioning. We will +_not_ make breaking changes in the 1.x series of releases. + +## Legal + +Offered under the [Apache 2 license][license]. + +[APIv2]: https://blog.golang.org/protobuf-apiv2 +[Buf Studio]: https://buf.build/studio +[Getting Started]: https://connectrpc.com/docs/go/getting-started +[blog]: https://buf.build/blog/connect-a-better-grpc +[conformance]: https://github.com/connectrpc/conformance +[grpchealth]: https://github.com/connectrpc/grpchealth-go +[grpcreflect]: https://github.com/connectrpc/grpcreflect-go +[connect-es]: https://github.com/connectrpc/connect-es +[examples-go]: https://github.com/connectrpc/examples-go +[docs-deployment]: https://connectrpc.com/docs/go/deployment +[docs]: https://connectrpc.com +[go-support-policy]: https://golang.org/doc/devel/release#policy +[license]: https://github.com/connectrpc/connect-go/blob/main/LICENSE +[protobuf]: https://developers.google.com/protocol-buffers +[protocol]: https://connectrpc.com/docs/protocol +[slack]: https://buf.build/links/slack +[validate]: https://github.com/connectrpc/validate-go +[protovalidate]: https://protovalidate.com diff --git a/data/readmes/consul-ent-changelog-1220.md b/data/readmes/consul-ent-changelog-1220.md new file mode 100644 index 0000000..83de4e2 --- /dev/null +++ b/data/readmes/consul-ent-changelog-1220.md @@ -0,0 +1,75 @@ +# Consul - README (ent-changelog-1.22.0) + +**Repository**: https://github.com/hashicorp/consul +**Version**: ent-changelog-1.22.0 + +--- + +

+ Consul logo + Consul +

+ +[![License: BUSL-1.1](https://img.shields.io/badge/License-BUSL--1.1-yellow.svg)](LICENSE) +[![Docker Pulls](https://img.shields.io/docker/pulls/hashicorp/consul.svg)](https://hub.docker.com/r/hashicorp/consul) +[![Go Report Card](https://goreportcard.com/badge/github.com/hashicorp/consul)](https://goreportcard.com/report/github.com/hashicorp/consul) + +Consul is a distributed, highly available, and data center aware solution to connect and configure applications across dynamic, distributed infrastructure. + +* Documentation and Tutorials: [https://developer.hashicorp.com/consul] +* Forum: [Discuss](https://discuss.hashicorp.com/c/consul) + +Consul provides several key features: + +* **Multi-Datacenter** - Consul is built to be datacenter aware, and can + support any number of regions without complex configuration. + +* **Service Mesh** - Consul Service Mesh enables secure service-to-service + communication with automatic TLS encryption and identity-based authorization. Applications + can use sidecar proxies in a service mesh configuration to establish TLS + connections for inbound and outbound connections with Transparent Proxy. + +* **API Gateway** - Consul API Gateway manages access to services within Consul Service Mesh, + allow users to define traffic and authorization policies to services deployed within the mesh. + +* **Service Discovery** - Consul makes it simple for services to register + themselves and to discover other services via a DNS or HTTP interface. + External services such as SaaS providers can be registered as well. + +* **Health Checking** - Health Checking enables Consul to quickly alert + operators about any issues in a cluster. The integration with service + discovery prevents routing traffic to unhealthy hosts and enables service + level circuit breakers. + +* **Dynamic App Configuration** - An HTTP API that allows users to store indexed objects within Consul, + for storing configuration parameters and application metadata. + +Consul runs on Linux, macOS, FreeBSD, Solaris, and Windows and includes an +optional [browser based UI](https://demo.consul.io). A commercial version +called [Consul Enterprise](https://developer.hashicorp.com/consul/docs/enterprise) is also +available. + +**Please note**: We take Consul's security and our users' trust very seriously. If you +believe you have found a security issue in Consul, please [responsibly disclose](https://www.hashicorp.com/security#vulnerability-reporting) +by contacting us at security@hashicorp.com. + +## Quick Start + +A few quick start guides are available on the Consul website: + +* **Standalone binary install:** https://learn.hashicorp.com/collections/consul/get-started-vms +* **Minikube install:** https://learn.hashicorp.com/tutorials/consul/kubernetes-minikube +* **Kind install:** https://learn.hashicorp.com/tutorials/consul/kubernetes-kind +* **Kubernetes install:** https://learn.hashicorp.com/tutorials/consul/kubernetes-deployment-guide +* **Deploy HCP Consul:** https://learn.hashicorp.com/tutorials/consul/hcp-gs-deploy + +## Documentation + +Full, comprehensive documentation is available on the Consul website: https://developer.hashicorp.com/consul/docs + +## Contributing + +Thank you for your interest in contributing! Please refer to [CONTRIBUTING.md](https://github.com/hashicorp/consul/blob/main/.github/CONTRIBUTING.md) +for guidance. For contributions specifically to the browser based UI, please +refer to the UI's [README.md](https://github.com/hashicorp/consul/blob/main/ui/packages/consul-ui/README.md) +for guidance. diff --git a/data/readmes/container-network-interface-cni-v130.md b/data/readmes/container-network-interface-cni-v130.md new file mode 100644 index 0000000..d8fb404 --- /dev/null +++ b/data/readmes/container-network-interface-cni-v130.md @@ -0,0 +1,227 @@ +# Container Network Interface (CNI) - README (v1.3.0) + +**Repository**: https://github.com/containernetworking/cni +**Version**: v1.3.0 + +--- + +![CNI Logo](logo.png) + +--- + +# CNI - the Container Network Interface + +[![CII Best Practices](https://bestpractices.coreinfrastructure.org/projects/2446/badge)](https://bestpractices.coreinfrastructure.org/projects/2446) +[![OpenSSF Scorecard](https://api.securityscorecards.dev/projects/github.com/containernetworking/cni/badge)](https://securityscorecards.dev/viewer/?uri=github.com/containernetworking/cni) + +## What is CNI? + +CNI (_Container Network Interface_), a [Cloud Native Computing Foundation](https://cncf.io) project, consists of a specification and libraries for writing plugins to configure network interfaces in Linux containers, along with a number of supported plugins. +CNI concerns itself only with network connectivity of containers and removing allocated resources when the container is deleted. +Because of this focus, CNI has a wide range of support and the specification is simple to implement. + +As well as the [specification](SPEC.md), this repository contains the Go source code of a [library for integrating CNI into applications](libcni) and an [example command-line tool](cnitool) for executing CNI plugins. A [separate repository contains reference plugins](https://github.com/containernetworking/plugins) and a template for making new plugins. + +The template code makes it straight-forward to create a CNI plugin for an existing container networking project. +CNI also makes a good framework for creating a new container networking project from scratch. + +Here are the recordings of two sessions that the CNI maintainers hosted at KubeCon/CloudNativeCon 2019: + +- [Introduction to CNI](https://youtu.be/YjjrQiJOyME) +- [CNI deep dive](https://youtu.be/zChkx-AB5Xc) + + +## Contributing to CNI + +We welcome contributions, including [bug reports](https://github.com/containernetworking/cni/issues), and code and documentation improvements. +If you intend to contribute to code or documentation, please read [CONTRIBUTING.md](CONTRIBUTING.md). Also see the [contact section](#contact) in this README. + +The CNI project has a [biweekly meeting](https://calendar.google.com/calendar/event?action=TEMPLATE&tmeid=Yzg1NDlibnA5Y2c0Nm5scDI4ZG5udWpmY2JfMjAyNTEwMTNUMTQwMDAwWiAyMmM0NjU1ZjFjMjkzZTg0NDRhNTU2OTVmNDIxODg3MDgwYzc1OWU0YTQ1MjVhYmQ2NTFmYmI2MGVlYTc2YzE5QGc&tmsrc=22c4655f1c293e8444a55695f421887080c759e4a4525abd651fbb60eea76c19%40group.calendar.google.com&scp=ALL) on [jitsi](https://meet.jit.si/CNIMaintainersMeeting) ([notes](https://github.com/containernetworking/meeting-notes)). It takes place Mondays at 10:00 US/Eastern. All are welcome to join. + +## Why develop CNI? + +Application containers on Linux are a rapidly evolving area, and within this area networking is not well addressed as it is highly environment-specific. +We believe that many container runtimes and orchestrators will seek to solve the same problem of making the network layer pluggable. + +To avoid duplication, we think it is prudent to define a common interface between the network plugins and container execution: hence we put forward this specification, along with libraries for Go and a set of plugins. + +## Who is using CNI? +### Container runtimes +- [Kubernetes - a system to simplify container operations](https://kubernetes.io/docs/concepts/extend-kubernetes/compute-storage-net/network-plugins/) +- [OpenShift - Kubernetes with additional enterprise features](https://github.com/openshift/origin/blob/master/docs/openshift_networking_requirements.md) +- [Cloud Foundry - a platform for cloud applications](https://github.com/cloudfoundry-incubator/cf-networking-release) +- [Apache Mesos - a distributed systems kernel](https://github.com/apache/mesos/blob/master/docs/cni.md) +- [Amazon ECS - a highly scalable, high performance container management service](https://aws.amazon.com/ecs/) +- [Singularity - container platform optimized for HPC, EPC, and AI](https://github.com/sylabs/singularity) +- [OpenSVC - orchestrator for legacy and containerized application stacks](https://docs.opensvc.com/latest/fr/agent.configure.cni.html) + +### 3rd party plugins +- [Project Calico - a layer 3 virtual network](https://github.com/projectcalico/calico) +- [Contiv Networking - policy networking for various use cases](https://github.com/contiv/netplugin) +- [SR-IOV](https://github.com/hustcat/sriov-cni) +- [Cilium - eBPF & XDP for containers](https://github.com/cilium/cilium) +- [Multus - a Multi plugin](https://github.com/k8snetworkplumbingwg/multus-cni) +- [Romana - Layer 3 CNI plugin supporting network policy for Kubernetes](https://github.com/romana/kube) +- [CNI-Genie - generic CNI network plugin](https://github.com/Huawei-PaaS/CNI-Genie) +- [Nuage CNI - Nuage Networks SDN plugin for network policy kubernetes support ](https://github.com/nuagenetworks/nuage-cni) +- [Linen - a CNI plugin designed for overlay networks with Open vSwitch and fit in SDN/OpenFlow network environment](https://github.com/John-Lin/linen-cni) +- [Vhostuser - a Dataplane network plugin - Supports OVS-DPDK & VPP](https://github.com/intel/vhost-user-net-plugin) +- [Amazon ECS CNI Plugins - a collection of CNI Plugins to configure containers with Amazon EC2 elastic network interfaces (ENIs)](https://github.com/aws/amazon-ecs-cni-plugins) +- [Bonding CNI - a Link aggregating plugin to address failover and high availability network](https://github.com/Intel-Corp/bond-cni) +- [ovn-kubernetes - an container network plugin built on Open vSwitch (OVS) and Open Virtual Networking (OVN) with support for both Linux and Windows](https://github.com/openvswitch/ovn-kubernetes) +- [Juniper Contrail](https://www.juniper.net/cloud) / [TungstenFabric](https://tungstenfabric.io) - Provides overlay SDN solution, delivering multicloud networking, hybrid cloud networking, simultaneous overlay-underlay support, network policy enforcement, network isolation, service chaining and flexible load balancing +- [Knitter - a CNI plugin supporting multiple networking for Kubernetes](https://github.com/ZTE/Knitter) +- [DANM - a CNI-compliant networking solution for TelCo workloads running on Kubernetes](https://github.com/nokia/danm) +- [cni-route-override - a meta CNI plugin that override route information](https://github.com/redhat-nfvpe/cni-route-override) +- [Terway - a collection of CNI Plugins based on alibaba cloud VPC/ECS network product](https://github.com/AliyunContainerService/terway) +- [Cisco ACI CNI - for on-prem and cloud container networking with consistent policy and security model.](https://github.com/noironetworks/aci-containers) +- [Kube-OVN - a CNI plugin that bases on OVN/OVS and provides advanced features like subnet, static ip, ACL, QoS, etc.](https://github.com/kubeovn/kube-ovn) +- [Project Antrea - an Open vSwitch k8s CNI](https://github.com/vmware-tanzu/antrea) +- [Azure CNI - a CNI plugin that natively extends Azure Virtual Networks to containers](https://github.com/Azure/azure-container-networking) +- [Hybridnet - a CNI plugin designed for hybrid clouds which provides both overlay and underlay networking for containers in one or more clusters. Overlay and underlay containers can run on the same node and have cluster-wide bidirectional network connectivity.](https://github.com/alibaba/hybridnet) +- [Spiderpool - An IP Address Management (IPAM) CNI plugin of Kubernetes for managing static ip for underlay network](https://github.com/spidernet-io/spiderpool) +- [AWS VPC CNI - Networking plugin for pod networking in Kubernetes using Elastic Network Interfaces on AWS](https://github.com/aws/amazon-vpc-cni-k8s) + +The CNI team also maintains some [core plugins in a separate repository](https://github.com/containernetworking/plugins). + + +## How do I use CNI? + +### Requirements + +The CNI spec is language agnostic. To use the Go language libraries in this repository, you'll need a recent version of Go. You can find the Go versions covered by our [automated tests](https://travis-ci.org/containernetworking/cni/builds) in [.travis.yaml](.travis.yml). + +### Reference Plugins + +The CNI project maintains a set of [reference plugins](https://github.com/containernetworking/plugins) that implement the CNI specification. +NOTE: the reference plugins used to live in this repository but have been split out into a [separate repository](https://github.com/containernetworking/plugins) as of May 2017. + +### Running the plugins + +After building and installing the [reference plugins](https://github.com/containernetworking/plugins), you can use the `priv-net-run.sh` and `docker-run.sh` scripts in the `scripts/` directory to exercise the plugins. + +**note - priv-net-run.sh depends on `jq`** + +Start out by creating a netconf file to describe a network: + +```bash +$ mkdir -p /etc/cni/net.d +$ cat >/etc/cni/net.d/10-mynet.conf </etc/cni/net.d/99-loopback.conf < +

An SSH Server that Launches Containers in Kubernetes and Docker

+ +[![Documentation: available](https://img.shields.io/badge/documentation-available-green)](https://containerssh.io/) +[![GitHub Workflow Status](https://img.shields.io/github/actions/workflow/status/ContainerSSH/ContainerSSH/main.yml?&branch=main)](https://github.com/containerssh/containerssh/actions) +[![GitHub release (latest SemVer)](https://img.shields.io/github/v/release/containerssh/containerssh?sort=semver)](https://github.com/containerssh/containerssh/releases) +[![Docker Image Size (latest by date)](https://img.shields.io/docker/image-size/containerssh/containerssh)](http://hub.docker.com/r/containerssh/containerssh) +[![Go Report Card](https://goreportcard.com/badge/github.com/containerssh/containerssh)](https://goreportcard.com/report/github.com/containerssh/containerssh) +[![License: Apache 2.0](https://img.shields.io/github/license/ContainerSSH/ContainerSSH)](LICENSE.md) +[![FOSSA Status](https://app.fossa.com/api/projects/git%2Bgithub.com%2FContainerSSH%2FContainerSSH.svg?type=shield&issueType=license)](https://app.fossa.com/projects/git%2Bgithub.com%2FContainerSSH%2FContainerSSH?ref=badge_shield&issueType=license) + +## ContainerSSH in One Minute + +In a hurry? This one-minute video explains everything you need to know about ContainerSSH. + +[![An image with a YouTube play button on it.](https://containerssh.io/images/containerssh-intro-preview.png)](https://youtu.be/Cs9OrnPi2IM) + +## Need help? + +[Join the #containerssh Slack channel on the CNCF Slack »](https://communityinviter.com/apps/cloud-native/cncf) + +## Use cases + +### Build a lab + +Building a lab environment can be time-consuming. ContainerSSH solves this by providing dynamic SSH access with APIs, automatic cleanup on logout using ephemeral containers, and persistent volumes for storing data. **Perfect for vendor and student labs.** + +[Read more »](https://containerssh.io/usecases/lab/) + +### Debug a production system + +Provide **production access to your developers**, give them their usual tools while logging all changes. Authorize their access and create short-lived credentials for the database using simple webhooks. Clean up the environment on disconnect. + +[Read more »](https://containerssh.io/usecases/debugging/) + +### Run a honeypot + +Study SSH attack patterns up close. Drop attackers safely into network-isolated containers or even virtual machines, and **capture their every move** using the audit logging ContainerSSH provides. The built-in S3 upload ensures you don't lose your data. + +[Read more »](https://containerssh.io/usecases/honeypots/) + +## How does it work? + +![](https://containerssh.io/images/architecture.svg) + +1. The user opens an SSH connection to ContainerSSH. +2. ContainerSSH calls the authentication server with the users username and password/pubkey to check if its valid. +3. ContainerSSH calls the config server to obtain backend location and configuration (if configured) +4. ContainerSSH calls the container backend to launch the container with the + specified configuration. All input from the user is sent directly to the backend, output from the container is sent + to the user. + +[▶️ Watch as video »](https://youtu.be/Cs9OrnPi2IM) | [🚀 Get started »](https://containerssh.io/quickstart/) + +## Demo + +![](https://containerssh.io/images/ssh-in-action.gif) + +[🚀 Get started »](https://containerssh.io/quickstart/) + +## Verify provenance + +Each of the releases come with a SLSA provenance data file `multiple.intoto.jsonl`. This file can be used to verify the source and provenance of the produced artifacts with [`slsa-verifier`](https://github.com/slsa-framework/slsa-verifier). + + +This aims to ensure the users that the artifacts are coming from containerssh. + +An example of verification : +```sh +slsa-verifier verify-artifact \ +--provenance-path \ +--source-uri github.com/containerssh/containerssh +``` + +If the verification is successful, the process should produce the following output : +``` +Verifying artifact : PASSED +PASSED: Verified SLSA provenance +``` + + +## Contributing + +If you would like to contribute, please check out our [Code of Conduct](https://github.com/ContainerSSH/community/blob/main/CODE_OF_CONDUCT.md) as well as our [contribution documentation](https://containerssh.io/development/). + +## Embedding ContainerSSH + +You can fully embed ContainerSSH into your own application. First, you will need to create the configuration structure: + +```go +cfg := config.AppConfig{} +// Set the default configuration: +cfg.Default() +``` + +You can then populate this config with your options and create a ContainerSSH instance like this: + +```go +pool, lifecycle, err := containerssh.New(cfg, loggerFactory) +if err != nil { + return err +} +``` + +You will receive a service pool and a lifecycle as a response. You can use these to start the service pool of ContainerSSH. This will block execution until ContainerSSH stops. + +```go +err := lifecycle.Run() +``` + +This will run ContainerSSH in the current Goroutine. You can also use the lifecycle to add hooks to lifecycle states of ContainerSSH. You must do this *before* you call `Run()`. For example: + +```go +lifecycle.OnStarting( + func(s service.Service, l service.Lifecycle) { + print("ContainerSSH is starting...") + }, +) +``` + +You can also have ContainerSSH stop gracefully by using the `Stop()` function on the lifecycle. This takes a context as an argument, which is taken as a timeout for the graceful shutdown. + +Finally, you can use the returned `pool` variable to rotate the logs. This will trigger all ContainerSSH services to close and reopen their log files. + +``` +pool.RotateLogs() +``` + +## Building an authentication webhook server + +## Building a configuration webhook server + +The configuration webhook lets you dynamically configure ContainerSSH. This library contains the tools to create a tiny webserver to serve these webhook requests. + +First, you need to fetch this library as a dependency using [go modules](https://blog.golang.org/using-go-modules): + +```bash +go get go.containerssh.io/containerssh +``` + +Next, you will have to write an implementation for the following interface: + +```go +package main + +import ( + "go.containerssh.io/containerssh/config" +) + +type ConfigRequestHandler interface { + OnConfig(request config.Request) (config.AppConfig, error) +} +``` + +The best way to do this is creating a struct and adding a method with a receiver: + +```go +type myConfigReqHandler struct { +} + +func (m *myConfigReqHandler) OnConfig( + request configuration.ConfigRequest, +) (config configuration.AppConfig, err error) { + // We recommend using an IDE to discover the possible options here. + if request.Username == "foo" { + config.Docker.Config.ContainerConfig.Image = "yourcompany/yourimage" + } + return config, err +} +``` + +**Warning!** Your `OnConfig` method should *only* return an error if it can genuinely not serve the request. This should not be used as a means to reject users. This should be done using the authentication server. If you return an error ContainerSSH will retry the request several times in an attempt to work around network failures. + +Once you have your handler implemented you must decide which method you want to use for integration. + +### The full server method + +This method is useful if you don't want to run anything else on the webserver, only the config endpoint. You can create a new server like this: + +```go +package main + +import ( + "signal" + + "go.containerssh.io/containerssh/config" + "go.containerssh.io/containerssh/config/webhook" + "go.containerssh.io/containerssh/log" + "go.containerssh.io/containerssh/service" +) + +func main() { + logger := log.NewLogger(&config.LogConfig{ + // Add logging configuration here + }) + // Create the webserver service + srv, err := webhook.NewServer( + config.HTTPServerConfiguration{ + Listen: "0.0.0.0:8080", + }, + &myConfigReqHandler{}, + logger, + ) + if err != nil { + panic(err) + } + + // Set up the lifecycle handler + lifecycle := service.NewLifecycle(srv) + + // Launch the webserver in the background + go func() { + //Ignore error, handled later. + _ = lifecycle.Run() + }() + + // Handle signals and terminate webserver gracefully when needed. + signals := make(chan os.Signal, 1) + signal.Notify(signals, syscall.SIGINT, syscall.SIGTERM) + go func() { + if _, ok := <-signals; ok { + // ok means the channel wasn't closed, let's trigger a shutdown. + // The context given is the timeout for the shutdown. + lifecycle.Stop( + context.WithTimeout( + context.Background(), + 20 * time.Second, + ), + ) + } + }() + // Wait for the service to terminate. + lastError := lifecycle.Wait() + // We are already shutting down, ignore further signals + signal.Ignore(syscall.SIGINT, syscall.SIGTERM) + // close signals channel so the signal handler gets terminated + close(signals) + + if lastError != nil { + // Exit with a non-zero signal + fmt.Fprintf( + os.Stderr, + "an error happened while running the server (%v)", + lastError, + ) + os.Exit(1) + } + os.Exit(0) +} +``` + +**Note:** We recommend securing client-server communication with certificates. Please see the [Securing webhooks section below](#securing-webhooks)/ + +### Integrating with an existing HTTP server + +Use this method if you want to integrate your handler with an existing Go HTTP server. This is rather simple: + +```go +handler, err := configuration.NewHandler(&myConfigReqHandler{}, logger) +``` + +You can now use the `handler` variable as a handler for the [`http` package](https://golang.org/pkg/net/http/) or a MUX like [gorilla/mux](https://github.com/gorilla/mux). + +## Using the config client + +This library also contains the components to call the configuration server in a simplified fashion. To create a client simply call the following method: + +```go +client, err := configuration.NewClient( + configuration.ClientConfig{ + http.ClientConfiguration{ + URL: "http://your-server/config-endpoint/" + } + }, + logger, + metricsCollector, +) +``` + +The `logger` is a logger from the [log library](https://github.com/ContainerSSH/ContainerSSH/tree/main/log), the `metricsCollector` is supplied by the [metrics library](https://github.com/containerssh/tree/main/metrics). + +You can now use the `client` variable to fetch the configuration specific to a connecting client: + +```go +connectionID := "0123456789ABCDEF" +appConfig, err := client.Get( + ctx, + "my-name-is-trinity", + net.TCPAddr{ + IP: net.ParseIP("127.0.0.1"), + Port: 2222, + }, + connectionID, +) (AppConfig, error) +``` + +Now you have the client-specific configuration in `appConfig`. + +**Note:** We recommend securing client-server communication with certificates. The details about securing your HTTP requests are documented in the [HTTP library](https://github.com/containerssh/containerssh/tree/main/http). + +## Loading the configuration from a file + +This library also provides simplified methods for reading the configuration from an `io.Reader` and writing it to an `io.Writer`. + +```go +file, err := os.Open("file.yaml") +// ... +loader, err := configuration.NewReaderLoader( + file, + logger, + configuration.FormatYAML, +) +// Read global config +appConfig := &configuration.AppConfig{} +err := loader.Load(ctx, appConfig) +// Read connection-specific config: +err := loader.LoadConnection( + ctx, + "my-name-is-trinity", + net.TCPAddr{ + IP: net.ParseIP("127.0.0.1"), + Port: 2222, + }, + connectionID, + appConfig, +) +``` + +As you can see these loaders are designed to be chained together. For example, you could add an HTTP loader after the file loader: + +```go +httpLoader, err := configuration.NewHTTPLoader(clientConfig, logger) +``` + +This HTTP loader calls the HTTP client described above. + +Conversely, you can write the configuration to a YAML format: + +```go +saver, err := configuration.NewWriterSaver( + os.Stdout, + logger, + configuration.FormatYAML, +) +err := saver.Save(appConfig) +``` + + +## Building a combined configuration-authentication webhook server + +## Securing webhooks + +## Reading audit logs diff --git a/data/readmes/contour-v1330.md b/data/readmes/contour-v1330.md new file mode 100644 index 0000000..b17552c --- /dev/null +++ b/data/readmes/contour-v1330.md @@ -0,0 +1,71 @@ +# Contour - README (v1.33.0) + +**Repository**: https://github.com/projectcontour/contour +**Version**: v1.33.0 + +--- + +# Contour + +![GitHub release](https://img.shields.io/github/release/projectcontour/contour.svg) [![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0) [![Slack](https://img.shields.io/badge/slack-join%20chat-e01563.svg?logo=slack)](https://kubernetes.slack.com/messages/contour) + +![Build and Test Pull Request](https://github.com/projectcontour/contour/workflows/Build%20and%20Test%20Pull%20Request/badge.svg) [![Go Report Card](https://goreportcard.com/badge/github.com/projectcontour/contour)](https://goreportcard.com/report/github.com/projectcontour/contour) [![OpenSSF Scorecard](https://api.securityscorecards.dev/projects/github.com/projectcontour/contour/badge)](https://securityscorecards.dev/viewer/?uri=github.com/projectcontour/contour) [![CII Best Practices](https://bestpractices.coreinfrastructure.org/projects/4141/badge)](https://bestpractices.coreinfrastructure.org/projects/4141) + + +![Contour is fun at parties!](contour.png) + +## Overview + +Contour is an [ingress controller](https://kubernetes.io/docs/concepts/services-networking/ingress-controllers/) for Kubernetes that works by deploying the [Envoy proxy](https://www.envoyproxy.io/) as a reverse proxy and load balancer. +Contour supports dynamic configuration updates out of the box while maintaining a lightweight profile. + +Contour supports multiple configuration APIs in order to meet the needs of as many users as possible: + +- **[Ingress](https://kubernetes.io/docs/concepts/services-networking/ingress/)** - A stable upstream API that enables basic ingress use cases. +- **[HTTPProxy](https://projectcontour.io/docs/main/config/fundamentals/)** - Contour's Custom Resource Definition (CRD) which expands upon the functionality of the Ingress API to allow for a richer user experience as well as solve shortcomings in the original design. +- **[Gateway API](https://gateway-api.sigs.k8s.io/)** - A new CRD-based API managed by the [Kubernetes SIG-Network community](https://github.com/kubernetes/community/tree/master/sig-network) that aims to evolve Kubernetes service networking APIs in a vendor-neutral way. + +## Prerequisites + +See the [compatibility matrix](https://projectcontour.io/resources/compatibility-matrix/) for the Kubernetes versions Contour is supported with. + +RBAC must be enabled on your cluster. + +## Get started + +Getting started with Contour is as simple as one command. +See the [Getting Started](https://projectcontour.io/getting-started) document. + +## Troubleshooting + +If you encounter issues, review the Troubleshooting section of [the docs](https://projectcontour.io/docs), [file an issue](https://github.com/projectcontour/contour/issue), or talk to us on the [#contour channel](https://kubernetes.slack.com/messages/contour) on the Kubernetes Slack server. + +## Contributing + +Thanks for taking the time to join our community and start contributing! + +- Please familiarize yourself with the [Code of Conduct](/CODE_OF_CONDUCT.md) before contributing. +- See [CONTRIBUTING.md](/CONTRIBUTING.md) for information about setting up your environment, the workflow that we expect, and instructions on the developer certificate of origin that we require. +- Check out the [open issues](https://github.com/projectcontour/contour/issues). +- Join our Kubernetes Slack channel: [#contour](https://kubernetes.slack.com/messages/contour/) +- Join the **Contour Community Meetings** - [schedule, notes, and recordings can be found here](https://projectcontour.io/community) +- Find GOVERNANCE in our [Community repo](https://github.com/projectcontour/community) +## Roadmap + +See [Contour's roadmap](https://github.com/projectcontour/community/blob/main/ROADMAP.md) to learn more about where we are headed. + +## Security + +### Security Audit + +A third party security audit was performed by Cure53 in December of 2020. You can see the full report [here](Contour_Security_Audit_Dec2020.pdf). + +### Reporting security vulnerabilities + +If you've found a security related issue, a vulnerability, or a potential vulnerability in Contour please let the [Contour Security Team](mailto:cncf-contour-maintainers@lists.cncf.io) know with the details of the vulnerability. We'll send a confirmation email to acknowledge your report, and we'll send an additional email when we've identified the issue positively or negatively. + +For further details please see our [security policy](SECURITY.md). + +## Changelog + +See [the list of releases](https://github.com/projectcontour/contour/releases) to find out about feature changes. diff --git a/data/readmes/copa-v0120.md b/data/readmes/copa-v0120.md new file mode 100644 index 0000000..74934b7 --- /dev/null +++ b/data/readmes/copa-v0120.md @@ -0,0 +1,69 @@ +# Copa - README (v0.12.0) + +**Repository**: https://github.com/project-copacetic/copacetic +**Version**: v0.12.0 + +--- + +# Project Copacetic: Directly patch container image vulnerabilities + +![GitHub](https://img.shields.io/github/license/project-copacetic/copacetic) +[![codecov](https://codecov.io/gh/project-copacetic/copacetic/branch/main/graph/badge.svg?token=PBC8EPNHRL)](https://codecov.io/gh/project-copacetic/copacetic) +[![OpenSSF Best Practices](https://www.bestpractices.dev/projects/8031/badge)](https://www.bestpractices.dev/projects/8031) +[![OpenSSF Scorecard](https://api.securityscorecards.dev/projects/github.com/project-copacetic/copacetic/badge)](https://api.securityscorecards.dev/projects/github.com/project-copacetic/copacetic) + +Copa logo +
+
+ +`copa` is a CLI tool written in [Go](https://golang.org) and based on [buildkit](https://github.com/moby/buildkit) that can be used to directly patch container images without full rebuilds. `copa` can also patch container images using the vulnerability scanning results from popular tools like [Trivy](https://github.com/aquasecurity/trivy). + +For more details and how to get started, please refer to [full documentation](https://project-copacetic.github.io/copacetic/). + +## Demo + +![intro](demo/copa-demo.gif) + +## Why? + +We needed the ability to patch containers quickly without going upstream for a full rebuild. As the window between [vulnerability disclosure and active exploitation continues to narrow](https://www.bleepingcomputer.com/news/security/hackers-scan-for-vulnerabilities-within-15-minutes-of-disclosure/), there is a growing operational need to patch critical security vulnerabilities in container images so they can be quickly redeployed into production. The need is especially acute when those vulnerabilities are: + +- inherited from base images several levels deep and waiting on updated releases to percolate through the supply chain is not an option +- found in 3rd party app images you don't maintain with update cadences that don't meet your security SLAs. + +![direct image patching](./website/static/img/direct-image-patching.png) + +In addition to filling the operational gap not met by left-shift security practices and tools, the ability of `copa` to patch a container without requiring a rebuild of the container image provides other benefits: + +- Allows users other than the image publishers to also patch container images, such as DevSecOps engineers. +- Reduces the storage and transmission costs of redistributing patched images by only creating an additional patch layer, instead of rebuilding the entire image which usually results in different layer hashes that break layer caching. +- Reduces the turnaround time for patching a container image by not having to wait for base image updates and being a faster operation than a full image rebuild. +- Reduces the complexity of patching the image from running a rebuild pipeline to running a single tool on the image. + +## How? + +The `copa` tool is an extensible engine that: + +1. Parses the needed update packages from the container image’s vulnerability report produced by a scanner like Trivy. New adapters can be written to accommodate more report formats. +2. Obtains and processes the needed update packages using the appropriate package manager tools such as apt, apk, etc. New adapters can be written to support more package managers. +3. Applies the resulting update binaries to the container image using buildkit. + +![report-driven vulnerability patching](./website/static/img/vulnerability-patch.png) + +This approach is motivated by the core principles of making direct container patching broadly applicable and accessible: + +- **Copa supports patching _existing_ container images**. + - Devs don't need to build their images using specific tools or modify them in some way just to support container patching. +- **Copa works with the existing vulnerability scanning and mitigation ecosystems**. + - Image publishers don't need to create new workflows for container patching since Copa supports patching container images using the security update packages already being published today. + - Consumers do not need to migrate to a new and potentially more limited support ecosystem for custom distros or change their container vulnerability scanning pipelines to include remediation, since Copa can be integrated seamlessly as an extra step to patch containers based on those scanning reports. +- **Copa reduces the technical expertise needed and waiting on dependencies needed to patch an image**. + - For OS package vulnerabilities, no specialized knowledge about a specific image is needed to be patch it as Copa relies on the vulnerability remediation knowledge already embedded in the reports produced by popular container scanning tools today. + +## Contributing +There are several ways to get involved: +* Join the [mailing list](https://groups.google.com/g/project-copa) to get notifications for releases, security announcements, etc. +* Join the [biweekly community meetings](https://docs.google.com/document/d/1QdskbeCtgKcdWYHI6EXkLFxyzTCyVT6e8MgB3CaAhWI/edit#heading=h.294j02tlxam) to discuss development, issues, use cases, etc. +* Join the [`#copacetic`](https://cloud-native.slack.com/archives/C071UU5QDKJ) channel on the [CNCF Slack](https://communityinviter.com/apps/cloud-native/cncf). + +The project welcomes contributions and suggestions that abide by the [CNCF Code of Conduct](./CODE_OF_CONDUCT.md). diff --git a/data/readmes/coredns-v1131.md b/data/readmes/coredns-v1131.md new file mode 100644 index 0000000..d9ebee6 --- /dev/null +++ b/data/readmes/coredns-v1131.md @@ -0,0 +1,319 @@ +# CoreDNS - README (v1.13.1) + +**Repository**: https://github.com/coredns/coredns +**Version**: v1.13.1 + +--- + +[![CoreDNS](https://coredns.io/images/CoreDNS_Colour_Horizontal.png)](https://coredns.io) + +[![Documentation](https://img.shields.io/badge/godoc-reference-blue.svg)](https://godoc.org/github.com/coredns/coredns) +![CodeQL](https://github.com/coredns/coredns/actions/workflows/codeql-analysis.yml/badge.svg) +![Go Tests](https://github.com/coredns/coredns/actions/workflows/go.test.yml/badge.svg) +[![CircleCI](https://circleci.com/gh/coredns/coredns.svg?style=shield)](https://circleci.com/gh/coredns/coredns) +[![Code Coverage](https://img.shields.io/codecov/c/github/coredns/coredns/master.svg)](https://codecov.io/github/coredns/coredns?branch=master) +[![Docker Pulls](https://img.shields.io/docker/pulls/coredns/coredns.svg)](https://hub.docker.com/r/coredns/coredns) +[![Go Report Card](https://goreportcard.com/badge/github.com/coredns/coredns)](https://goreportcard.com/report/coredns/coredns) +[![CII Best Practices](https://bestpractices.coreinfrastructure.org/projects/1250/badge)](https://bestpractices.coreinfrastructure.org/projects/1250) +[![OpenSSF Scorecard](https://api.scorecard.dev/projects/github.com/coredns/coredns/badge)](https://scorecard.dev/viewer/?uri=github.com/coredns/coredns) + +CoreDNS is a DNS server/forwarder, written in Go, that chains [plugins](https://coredns.io/plugins). +Each plugin performs a (DNS) function. + +CoreDNS is a [Cloud Native Computing Foundation](https://cncf.io) graduated project. + +CoreDNS is a fast and flexible DNS server. The key word here is *flexible*: with CoreDNS you +are able to do what you want with your DNS data by utilizing plugins. If some functionality is not +provided out of the box you can add it by [writing a plugin](https://coredns.io/explugins). + +CoreDNS can listen for DNS requests coming in over: +* UDP/TCP (go'old DNS). +* TLS - DoT ([RFC 7858](https://tools.ietf.org/html/rfc7858)). +* DNS over HTTP/2 - DoH ([RFC 8484](https://tools.ietf.org/html/rfc8484)). +* DNS over QUIC - DoQ ([RFC 9250](https://tools.ietf.org/html/rfc9250)). +* [gRPC](https://grpc.io) (not a standard). + +Currently CoreDNS is able to: + +* Serve zone data from a file; both DNSSEC (NSEC only) and DNS are supported (*file* and *auto*). +* Retrieve zone data from primaries, i.e., act as a secondary server (AXFR only) (*secondary*). +* Sign zone data on-the-fly (*dnssec*). +* Load balancing of responses (*loadbalance*). +* Allow for zone transfers, i.e., act as a primary server (*file* + *transfer*). +* Automatically load zone files from disk (*auto*). +* Caching of DNS responses (*cache*). +* Use etcd as a backend (replacing [SkyDNS](https://github.com/skynetservices/skydns)) (*etcd*). +* Use k8s (kubernetes) as a backend (*kubernetes*). +* Serve as a proxy to forward queries to some other (recursive) nameserver (*forward*). +* Provide metrics (by using Prometheus) (*prometheus*). +* Provide query (*log*) and error (*errors*) logging. +* Integrate with cloud providers (*route53*). +* Support the CH class: `version.bind` and friends (*chaos*). +* Support the RFC 5001 DNS name server identifier (NSID) option (*nsid*). +* Profiling support (*pprof*). +* Rewrite queries (qtype, qclass and qname) (*rewrite* and *template*). +* Block ANY queries (*any*). +* Provide DNS64 IPv6 Translation (*dns64*). + +And more. Each of the plugins is documented. See [coredns.io/plugins](https://coredns.io/plugins) +for all in-tree plugins, and [coredns.io/explugins](https://coredns.io/explugins) for all +out-of-tree plugins. + +## Compilation from Source + +To compile CoreDNS, we assume you have a working Go setup. See various tutorials if you don’t have +that already configured. + +First, make sure your golang version is 1.24.0 or higher as `go mod` support and other api is needed. +See [here](https://github.com/golang/go/wiki/Modules) for `go mod` details. +Then, check out the project and run `make` to compile the binary: + +~~~ +$ git clone https://github.com/coredns/coredns +$ cd coredns +$ make +~~~ + +> **_NOTE:_** extra plugins may be enabled when building by setting the `COREDNS_PLUGINS` environment variable with comma separate list of plugins in the same format as plugin.cfg + +This should yield a `coredns` binary. + +## Compilation with Docker + +CoreDNS requires Go to compile. However, if you already have docker installed and prefer not to +setup a Go environment, you could build CoreDNS easily: + +``` +docker run --rm -i -t \ + -v $PWD:/go/src/github.com/coredns/coredns -w /go/src/github.com/coredns/coredns \ + golang:1.24 sh -c 'GOFLAGS="-buildvcs=false" make gen && GOFLAGS="-buildvcs=false" make' +``` + +The above command alone will have `coredns` binary generated. + +## Examples + +When starting CoreDNS without any configuration, it loads the +[*whoami*](https://coredns.io/plugins/whoami) and [*log*](https://coredns.io/plugins/log) plugins +and starts listening on port 53 (override with `-dns.port`), it should show the following: + +~~~ txt +.:53 +CoreDNS-1.6.6 +linux/amd64, go1.16.10, aa8c32 +~~~ + +The following could be used to query the CoreDNS server that is running now: + +~~~ txt +dig @127.0.0.1 -p 53 www.example.com +~~~ + +Any query sent to port 53 should return some information; your sending address, port and protocol +used. The query should also be logged to standard output. + +The configuration of CoreDNS is done through a file named `Corefile`. When CoreDNS starts, it will +look for the `Corefile` from the current working directory. A `Corefile` for CoreDNS server that listens +on port `53` and enables `whoami` plugin is: + +~~~ corefile +.:53 { + whoami +} +~~~ + +Sometimes port number 53 is occupied by system processes. In that case you can start the CoreDNS server +while modifying the `Corefile` as given below so that the CoreDNS server starts on port 1053. + +~~~ corefile +.:1053 { + whoami +} +~~~ + +If you have a `Corefile` without a port number specified it will, by default, use port 53, but you can +override the port with the `-dns.port` flag: `coredns -dns.port 1053`, runs the server on port 1053. + +You may import other text files into the `Corefile` using the _import_ directive. You can use globs to match multiple +files with a single _import_ directive. + +~~~ txt +.:53 { + import example1.txt +} +import example2.txt +~~~ + +You can use environment variables in the `Corefile` with `{$VARIABLE}`. Note that each environment variable is inserted +into the `Corefile` as a single token. For example, an environment variable with a space in it will be treated as a single +token, not as two separate tokens. + +~~~ txt +.:53 { + {$ENV_VAR} +} +~~~ + +A Corefile for a CoreDNS server that forward any queries to an upstream DNS (e.g., `8.8.8.8`) is as follows: + +~~~ corefile +.:53 { + forward . 8.8.8.8:53 + log +} +~~~ + +Start CoreDNS and then query on that port (53). The query should be forwarded to 8.8.8.8 and the +response will be returned. Each query should also show up in the log which is printed on standard +output. + +To serve the (NSEC) DNSSEC-signed `example.org` on port 1053, with errors and logging sent to standard +output. Allow zone transfers to everybody, but specifically mention 1 IP address so that CoreDNS can +send notifies to it. + +~~~ txt +example.org:1053 { + file /var/lib/coredns/example.org.signed + transfer { + to * 2001:500:8f::53 + } + errors + log +} +~~~ + +Serve `example.org` on port 1053, but forward everything that does *not* match `example.org` to a +recursive nameserver *and* rewrite ANY queries to HINFO. + +~~~ txt +example.org:1053 { + file /var/lib/coredns/example.org.signed + transfer { + to * 2001:500:8f::53 + } + errors + log +} + +. { + any + forward . 8.8.8.8:53 + errors + log +} +~~~ + +IP addresses are also allowed. They are automatically converted to reverse zones: + +~~~ corefile +10.0.0.0/24 { + whoami +} +~~~ +Means you are authoritative for `0.0.10.in-addr.arpa.`. + +This also works for IPv6 addresses. If for some reason you want to serve a zone named `10.0.0.0/24` +add the closing dot: `10.0.0.0/24.` as this also stops the conversion. + +This even works for CIDR (See RFC 1518 and 1519) addressing, i.e. `10.0.0.0/25`, CoreDNS will then +check if the `in-addr` request falls in the correct range. + +Listening on TLS (DoT) and for gRPC? Use: + +~~~ corefile +tls://example.org grpc://example.org { + whoami +} +~~~ + +Similarly, for QUIC (DoQ): + +~~~ corefile +quic://example.org { + whoami + tls mycert mykey +} +~~~ + +And for DNS over HTTP/2 (DoH) use: + +~~~ corefile +https://example.org { + whoami + tls mycert mykey +} +~~~ +in this setup, the CoreDNS will be responsible for TLS termination + +you can also start DNS server serving DoH without TLS termination (plain HTTP), but beware that in such scenario there has to be some kind +of TLS termination proxy before CoreDNS instance, which forwards DNS requests otherwise clients will not be able to communicate via DoH with the server +~~~ corefile +https://example.org { + whoami +} +~~~ + +Specifying ports works in the same way: + +~~~ txt +grpc://example.org:1443 https://example.org:1444 { + # ... +} +~~~ + +When no transport protocol is specified the default `dns://` is assumed. + +## Community + +We're most active on GitHub (and Slack): + +- GitHub: +- Slack: #coredns on + +More resources can be found: + +- Website: +- Blog: +- Twitter: [@corednsio](https://twitter.com/corednsio) +- Mailing list/group: (not very active) + +## Contribution guidelines + +If you want to contribute to CoreDNS, be sure to review the [contribution +guidelines](./.github/CONTRIBUTING.md). + +## Deployment + +Examples for deployment via systemd and other use cases can be found in the [deployment +repository](https://github.com/coredns/deployment). + +## Deprecation Policy + +When there is a backwards incompatible change in CoreDNS the following process is followed: + +* Release x.y.z: Announce that in the next release we will make backward incompatible changes. +* Release x.y+1.0: Increase the minor version and set the patch version to 0. Make the changes, + but allow the old configuration to be parsed. I.e. CoreDNS will start from an unchanged + Corefile. +* Release x.y+1.1: Increase the patch version to 1. Remove the lenient parsing, so CoreDNS will + not start if those features are still used. + +E.g. 1.3.1 announce a change. 1.4.0 a new release with the change but backward compatible config. +And finally 1.4.1 that removes the config workarounds. + +## Security + +### Security Audits + +Third party security audits have been performed by: +* [Cure53](https://cure53.de) in March 2018. [Full Report](https://coredns.io/assets/DNS-01-report.pdf) +* [Trail of Bits](https://www.trailofbits.com) in March 2022. [Full Report](https://github.com/trailofbits/publications/blob/master/reviews/CoreDNS.pdf) + +### Reporting security vulnerabilities + +If you find a security vulnerability or any security related issues, please DO NOT file a public +issue, instead send your report privately to `security@coredns.io`. Security reports are greatly +appreciated and we will publicly thank you for it. + +Please consult [security vulnerability disclosures and security fix and release process +document](https://github.com/coredns/coredns/blob/master/.github/SECURITY.md) diff --git a/data/readmes/cortex-v1201.md b/data/readmes/cortex-v1201.md new file mode 100644 index 0000000..47cfc1b --- /dev/null +++ b/data/readmes/cortex-v1201.md @@ -0,0 +1,181 @@ +# Cortex - README (v1.20.1) + +**Repository**: https://github.com/cortexproject/cortex +**Version**: v1.20.1 + +--- + +

Cortex Logo

+ +[![OpenSSF Scorecard](https://api.securityscorecards.dev/projects/github.com/cortexproject/cortex/badge)](https://scorecard.dev/viewer/?uri=github.com/cortexproject/cortex) +[![CI](https://github.com/cortexproject/cortex/workflows/ci/badge.svg)](https://github.com/cortexproject/cortex/actions) +[![GoDoc](https://godoc.org/github.com/cortexproject/cortex?status.svg)](https://godoc.org/github.com/cortexproject/cortex) +Go Report Card +Slack + +[![CLOMonitor](https://img.shields.io/endpoint?url=https://clomonitor.io/api/projects/cncf/cortex/badge)](https://clomonitor.io/projects/cncf/cortex) + + +# Cortex + +Cortex is a horizontally scalable, highly available, multi-tenant, long-term storage solution for [Prometheus](https://prometheus.io) and [OpenTelemetry Metrics](https://opentelemetry.io/docs/specs/otel/metrics/). + +## Features + +- **Horizontally scalable:** Cortex can run across multiple machines in a cluster, exceeding the throughput and storage of a single machine. +- **Highly available:** When run in a cluster, Cortex can replicate data between machines. +- **Multi-tenant:** Cortex can isolate data and queries from multiple different independent Prometheus sources in a single cluster. +- **Long-term storage:** Cortex supports S3, GCS, Swift and Microsoft Azure for long-term storage of metric data. + +## Documentation + +- [Getting Started](https://cortexmetrics.io/docs/getting-started/) +- [Architecture Overview](https://cortexmetrics.io/docs/architecture/) +- [Configuration](https://cortexmetrics.io/docs/configuration/) +- [Guides](https://cortexmetrics.io/docs/guides/) +- [Security](https://cortexmetrics.io/docs/guides/security/) +- [Contributing](https://cortexmetrics.io/docs/contributing/) + +## Community and Support + +If you have any questions about Cortex, you can: + +- Ask a question on the [Cortex Slack channel](https://cloud-native.slack.com/messages/cortex/). To invite yourself to + the CNCF Slack, visit http://slack.cncf.io/. +- [File an issue](https://github.com/cortexproject/cortex/issues/new). +- Email [cortex-users@lists.cncf.io](mailto:cortex-users@lists.cncf.io). + +Your feedback is always welcome. + +For security issues see https://github.com/cortexproject/cortex/security/policy + +## Engage with Our Community + +We invite you to participate in the Cortex Community Calls, an exciting opportunity to connect with fellow +developers and enthusiasts. These meetings are held every 4 weeks on Thursdays at 1700 UTC, +providing a platform for open discussion, collaboration, and knowledge sharing. + +Our meeting notes are meticulously documented and can be +accessed [here](https://docs.google.com/document/d/1shtXSAqp3t7fiC-9uZcKkq3mgwsItAJlH6YW6x1joZo/edit), offering a +comprehensive overview of the topics discussed and decisions made. + +To ensure you never miss a meeting, we've made it easy for you to keep track: + +- View the Cortex Community Call schedule in your + browser [here](https://zoom-lfx.platform.linuxfoundation.org/meetings/cortex?view=month). +- Alternatively, download the .ics + file [here](https://webcal.prod.itx.linuxfoundation.org/lfx/a092M00001IfTjPQAV) for + use with any calendar application or service that supports the iCal format. + +Join us in shaping the future of Cortex, and let's build something amazing together! + +## Further reading + +### Talks + +- Apr 2025 KubeCon talk "Cortex: Insights, Updates and Roadmap" ([video](https://youtu.be/3aUg2qxfoZU), [slides](https://static.sched.com/hosted_files/kccnceu2025/6c/Cortex%20Talk%20KubeCon%20EU%202025.pdf)) +- Apr 2025 KubeCon talk "Taming 50 Billion Time Series: Operating Global-Scale Prometheus Deployments on Kubernetes" ([video](https://youtu.be/OqLpKJwKZlk), [slides](https://static.sched.com/hosted_files/kccnceu2025/b2/kubecon%20-%2050b%20-%20final.pdf)) +- Nov 2024 KubeCon talk "Cortex Intro: Multi-Tenant Scalable Prometheus" ([video](https://youtu.be/OGAEWCoM6Tw), [slides](https://static.sched.com/hosted_files/kccncna2024/0f/Cortex%20Talk%20KubeCon%20US%202024.pdf)) +- Mar 2024 KubeCon talk "Cortex Intro: Multi-Tenant Scalable Prometheus" ([video](https://youtu.be/by538PPSPQ0), [slides](https://static.sched.com/hosted_files/kccnceu2024/a1/Cortex%20Talk%20KubeConEU24.pptx.pdf)) +- Apr 2023 KubeCon talk "How to Run a Rock Solid Multi-Tenant Prometheus" ([video](https://youtu.be/Pl5hEoRPLJU), [slides](https://static.sched.com/hosted_files/kccnceu2023/49/Kubecon2023.pptx.pdf)) +- Oct 2022 KubeCon talk "Current State and the Future of Cortex" ([video](https://youtu.be/u1SfBAGWHgQ), [slides](https://static.sched.com/hosted_files/kccncna2022/93/KubeCon%20%2B%20CloudNativeCon%20NA%202022%20PowerPoint%20-%20Cortex.pdf)) +- Oct 2021 KubeCon talk "Cortex: Intro and Production Tips" ([video](https://youtu.be/zNE_kGcUGuI), [slides](https://static.sched.com/hosted_files/kccncna2021/8e/KubeCon%202021%20NA%20Cortex%20Maintainer.pdf)) +- Sep 2020 KubeCon talk "Scaling Prometheus: How We Got Some Thanos Into Cortex" ([video](https://www.youtube.com/watch?v=Z5OJzRogAS4), [slides](https://static.sched.com/hosted_files/kccnceu20/ec/2020-08%20-%20KubeCon%20EU%20-%20Cortex%20blocks%20storage.pdf)) +- Jul 2020 PromCon talk "Sharing is Caring: Leveraging Open Source to Improve Cortex & Thanos" ([video](https://www.youtube.com/watch?v=2oTLouUvsac), [slides](https://docs.google.com/presentation/d/1OuKYD7-k9Grb7unppYycdmVGWN0Bo0UwdJRySOoPdpg/edit)) +- Nov 2019 KubeCon talks "[Cortex 101: Horizontally Scalable Long Term Storage for Prometheus][kubecon-cortex-101]" ([video][kubecon-cortex-101-video], [slides][kubecon-cortex-101-slides]), "[Configuring Cortex for Max + Performance][kubecon-cortex-201]" ([video][kubecon-cortex-201-video], [slides][kubecon-cortex-201-slides], [write up][kubecon-cortex-201-writeup]) and "[Blazin' Fast PromQL][kubecon-blazin]" ([slides][kubecon-blazin-slides], [video][kubecon-blazin-video], [write up][kubecon-blazin-writeup]) +- Nov 2019 PromCon talk "[Two Households, Both Alike in Dignity: Cortex and Thanos][promcon-two-households]" ([video][promcon-two-households-video], [slides][promcon-two-households-slides], [write up][promcon-two-households-writeup]) +- May 2019 KubeCon talks; "[Cortex: Intro][kubecon-cortex-intro]" ([video][kubecon-cortex-intro-video], [slides][kubecon-cortex-intro-slides], [blog post][kubecon-cortex-intro-blog]) and "[Cortex: Deep Dive][kubecon-cortex-deepdive]" ([video][kubecon-cortex-deepdive-video], [slides][kubecon-cortex-deepdive-slides]) +- Nov 2018 CloudNative London meetup talk; "Cortex: Horizontally Scalable, Highly Available Prometheus" ([slides][cloudnative-london-2018-slides]) +- Aug 2018 PromCon panel; "[Prometheus Long-Term Storage Approaches][promcon-2018-panel]" ([video][promcon-2018-video]) +- Dec 2018 KubeCon talk; "[Cortex: Infinitely Scalable Prometheus][kubecon-2018-talk]" ([video][kubecon-2018-video], [slides][kubecon-2018-slides]) +- Aug 2017 PromCon talk; "[Cortex: Prometheus as a Service, One Year On][promcon-2017-talk]" ([video][promcon-2017-video], [slides][promcon-2017-slides], write up [part 1][promcon-2017-writeup-1], [part 2][promcon-2017-writeup-2], [part 3][promcon-2017-writeup-3]) +- Jun 2017 Prometheus London meetup talk; "Cortex: open-source, horizontally-scalable, distributed Prometheus" ([video][prometheus-london-2017-video]) +- Dec 2016 KubeCon talk; "Weave Cortex: Multi-tenant, horizontally scalable Prometheus as a Service" ([video][kubecon-2016-video], [slides][kubecon-2016-slides]) +- Aug 2016 PromCon talk; "Project Frankenstein: Multitenant, Scale-Out Prometheus": ([video][promcon-2016-video], [slides][promcon-2016-slides]) + +### Blog Posts + +- Dec 2020 blog post "[How AWS and Grafana Labs are scaling Cortex for the cloud](https://aws.amazon.com/blogs/opensource/how-aws-and-grafana-labs-are-scaling-cortex-for-the-cloud/)" +- Oct 2020 blog post "[How to switch Cortex from chunks to blocks storage (and why you won't look back)](https://grafana.com/blog/2020/10/19/how-to-switch-cortex-from-chunks-to-blocks-storage-and-why-you-wont-look-back/)" +- Oct 2020 blog post "[Now GA: Cortex blocks storage for running Prometheus at scale with reduced operational complexity](https://grafana.com/blog/2020/10/06/now-ga-cortex-blocks-storage-for-running-prometheus-at-scale-with-reduced-operational-complexity/)" +- Sep 2020 blog post "[A Tale of Tail Latencies](https://www.weave.works/blog/a-tale-of-tail-latencies)" +- Aug 2020 blog post "[Scaling Prometheus: How we're pushing Cortex blocks storage to its limit and beyond](https://grafana.com/blog/2020/08/12/scaling-prometheus-how-were-pushing-cortex-blocks-storage-to-its-limit-and-beyond/)" +- Jul 2020 blog post "[How blocks storage in Cortex reduces operational complexity for running Prometheus at massive scale](https://grafana.com/blog/2020/07/29/how-blocks-storage-in-cortex-reduces-operational-complexity-for-running-prometheus-at-massive-scale/)" +- Mar 2020 blog post "[Cortex: Zone Aware Replication](https://kenhaines.net/cortex-zone-aware-replication/)" +- Mar 2020 blog post "[How we're using gossip to improve Cortex and Loki availability](https://grafana.com/blog/2020/03/25/how-were-using-gossip-to-improve-cortex-and-loki-availability/)" +- Jan 2020 blog post "[The Future of Cortex: Into the Next Decade](https://grafana.com/blog/2020/01/21/the-future-of-cortex-into-the-next-decade/)" +- Feb 2019 blog post & podcast; "[Prometheus Scalability with Bryan Boreham][prometheus-scalability]" ([podcast][prometheus-scalability-podcast]) +- Feb 2019 blog post; "[How Aspen Mesh Runs Cortex in Production][aspen-mesh-2019]" +- Dec 2018 CNCF blog post; "[Cortex: a multi-tenant, horizontally scalable Prometheus-as-a-Service][cncf-2018-blog]" +- Nov 2018 CNCF TOC Presentation; "Horizontally Scalable, Multi-tenant Prometheus" ([slides][cncf-toc-presentation]) +- Sept 2018 blog post; "[What is Cortex?][what-is-cortex]" +- Jul 2018 design doc; "[Cortex Query Optimisations][cortex-query-optimisation-2018]" +- Jun 2016 design document; "[Project Frankenstein: A Multi Tenant, Scale Out Prometheus](http://goo.gl/prdUYV)" + +[kubecon-cortex-101]: https://kccncna19.sched.com/event/UaiH/cortex-101-horizontally-scalable-long-term-storage-for-prometheus-chris-marchbanks-splunk +[kubecon-cortex-101-video]: https://www.youtube.com/watch?v=f8GmbH0U_kI +[kubecon-cortex-101-slides]: https://static.sched.com/hosted_files/kccncna19/92/cortex_101.pdf +[kubecon-cortex-201]: https://kccncna19.sched.com/event/UagC/performance-tuning-and-day-2-operations-goutham-veeramachaneni-grafana-labs +[kubecon-cortex-201-slides]: https://static.sched.com/hosted_files/kccncna19/87/Taming%20Cortex_%20Configuring%20for%20maximum%20performance%281%29.pdf +[kubecon-cortex-201-video]: https://www.youtube.com/watch?v=VuE5aDHDexU +[kubecon-cortex-201-writeup]: https://grafana.com/blog/2019/12/02/kubecon-recap-configuring-cortex-for-maximum-performance-at-scale/ +[kubecon-blazin]: https://kccncna19.sched.com/event/UaWT/blazin-fast-promql-tom-wilkie-grafana-labs +[kubecon-blazin-slides]: https://static.sched.com/hosted_files/kccncna19/0b/2019-11%20Blazin%27%20Fast%20PromQL.pdf +[kubecon-blazin-video]: https://www.youtube.com/watch?v=yYgdZyeBOck +[kubecon-blazin-writeup]: https://grafana.com/blog/2019/09/19/how-to-get-blazin-fast-promql/ +[promcon-two-households]: https://promcon.io/2019-munich/talks/two-households-both-alike-in-dignity-cortex-and-thanos/ +[promcon-two-households-video]: https://www.youtube.com/watch?v=KmJnmd3K3Ws&feature=youtu.be +[promcon-two-households-slides]: https://promcon.io/2019-munich/slides/two-households-both-alike-in-dignity-cortex-and-thanos.pdf +[promcon-two-households-writeup]: https://grafana.com/blog/2019/11/21/promcon-recap-two-households-both-alike-in-dignity-cortex-and-thanos/ +[kubecon-cortex-intro]: https://kccnceu19.sched.com/event/MPhX/intro-cortex-tom-wilkie-grafana-labs-bryan-boreham-weaveworks +[kubecon-cortex-intro-video]: https://www.youtube.com/watch?v=_7Wnta-3-W0 +[kubecon-cortex-intro-slides]: https://static.sched.com/hosted_files/kccnceu19/af/Cortex%20Intro%20KubeCon%20EU%202019.pdf +[kubecon-cortex-intro-blog]: https://grafana.com/blog/2019/05/21/grafana-labs-at-kubecon-the-latest-on-cortex/ +[kubecon-cortex-deepdive]: https://kccnceu19.sched.com/event/MPjK/deep-dive-cortex-tom-wilkie-grafana-labs-bryan-boreham-weaveworks +[kubecon-cortex-deepdive-video]: https://www.youtube.com/watch?v=mYyFT4ChHio +[kubecon-cortex-deepdive-slides]: https://static.sched.com/hosted_files/kccnceu19/52/Cortex%20Deep%20Dive%20KubeCon%20EU%202019.pdf +[prometheus-scalability]: https://www.weave.works/blog/prometheus-scalability-with-bryan-boreham +[prometheus-scalability-podcast]: https://softwareengineeringdaily.com/2019/01/21/prometheus-scalability-with-bryan-boreham/ +[aspen-mesh-2019]: https://www.weave.works/blog/how-aspen-mesh-runs-cortex-in-production +[kubecon-2018-talk]: https://kccna18.sched.com/event/GrXL/cortex-infinitely-scalable-prometheus-bryan-boreham-weaveworks +[kubecon-2018-video]: https://www.youtube.com/watch?v=iyN40FsRQEo +[kubecon-2018-slides]: https://static.sched.com/hosted_files/kccna18/9b/Cortex%20CloudNativeCon%202018.pdf +[cloudnative-london-2018-slides]: https://www.slideshare.net/grafana/cortex-horizontally-scalable-highly-available-prometheus +[cncf-2018-blog]: https://www.cncf.io/blog/2018/12/18/cortex-a-multi-tenant-horizontally-scalable-prometheus-as-a-service/ +[cncf-toc-presentation]: https://docs.google.com/presentation/d/190oIFgujktVYxWZLhLYN4q8p9dtQYoe4sxHgn4deBSI/edit#slide=id.g3b8e2d6f7e_0_6 +[what-is-cortex]: https://medium.com/weaveworks/what-is-cortex-2c30bcbd247d +[promcon-2018-panel]: https://promcon.io/2018-munich/talks/panel-discussion-prometheus-long-term-storage-approaches/ +[promcon-2018-video]: https://www.youtube.com/watch?v=3pTG_N8yGSU +[prometheus-london-2017-video]: https://www.youtube.com/watch?v=Xi4jq2IUbLs +[promcon-2017-talk]: https://promcon.io/2017-munich/talks/cortex-prometheus-as-a-service-one-year-on/ +[promcon-2017-video]: https://www.youtube.com/watch?v=_8DmPW4iQBQ +[promcon-2017-slides]: https://promcon.io/2017-munich/slides/cortex-prometheus-as-a-service-one-year-on.pdf +[promcon-2017-writeup-1]: https://kausal.co/blog/cortex-prometheus-aas-promcon-1/ +[promcon-2017-writeup-2]: https://kausal.co/blog/cortex-prometheus-aas-promcon-2/ +[promcon-2017-writeup-3]: https://kausal.co/blog/cortex-prometheus-aas-promcon-3/ +[cortex-query-optimisation-2018]: https://docs.google.com/document/d/1lsvSkv0tiAMPQv-V8vI2LZ8f4i9JuTRsuPI_i-XcAqY +[kubecon-2016-video]: https://www.youtube.com/watch?v=9Uctgnazfwk +[kubecon-2016-slides]: http://www.slideshare.net/weaveworks/weave-cortex-multitenant-horizontally-scalable-prometheus-as-a-service +[promcon-2016-video]: https://youtu.be/3Tb4Wc0kfCM +[promcon-2016-slides]: http://www.slideshare.net/weaveworks/project-frankenstein-a-multitenant-horizontally-scalable-prometheus-as-a-service + +## Hosted Cortex + +### Amazon Managed Service for Prometheus (AMP) + +[Amazon Managed Service for Prometheus (AMP)](https://aws.amazon.com/prometheus/) is a Prometheus-compatible monitoring service that makes it easy to monitor containerized applications at scale. It is a highly available, secure, and managed monitoring service for your containers. Get started [here](https://console.aws.amazon.com/prometheus/home). To learn more about AMP, reference our [documentation](https://docs.aws.amazon.com/prometheus/latest/userguide/what-is-Amazon-Managed-Service-Prometheus.html) and [Getting Started with AMP blog](https://aws.amazon.com/blogs/mt/getting-started-amazon-managed-service-for-prometheus/). + +## Emeritus Maintainers + +* Peter Štibraný @pstibrany +* Marco Pracucci @pracucci +* Bryan Boreham @bboreham +* Goutham Veeramachaneni @gouthamve +* Jacob Lisi @jtlisi +* Tom Wilkie @tomwilkie +* Alvin Lin @alvinlin123 + +## History of Cortex + +The Cortex project was started by Tom Wilkie and Julius Volz (Prometheus' co-founder) in June 2016. diff --git a/data/readmes/cosign-v302.md b/data/readmes/cosign-v302.md new file mode 100644 index 0000000..230e9e6 --- /dev/null +++ b/data/readmes/cosign-v302.md @@ -0,0 +1,787 @@ +# Cosign - README (v3.0.2) + +**Repository**: https://github.com/sigstore/cosign +**Version**: v3.0.2 + +--- + +

+ Cosign logo +

+ +# cosign + +Signing OCI containers (and other artifacts) using [Sigstore](https://sigstore.dev/)! + +[![Go Report Card](https://goreportcard.com/badge/github.com/sigstore/cosign)](https://goreportcard.com/report/github.com/sigstore/cosign) +[![e2e-tests](https://github.com/sigstore/cosign/actions/workflows/e2e-tests.yml/badge.svg)](https://github.com/sigstore/cosign/actions/workflows/e2e-tests.yml) +[![CII Best Practices](https://bestpractices.coreinfrastructure.org/projects/5715/badge)](https://bestpractices.coreinfrastructure.org/projects/5715) +[![OpenSSF Scorecard](https://api.securityscorecards.dev/projects/github.com/sigstore/cosign/badge)](https://securityscorecards.dev/viewer/?uri=github.com/sigstore/cosign) + +Cosign aims to make signatures **invisible infrastructure**. + +Cosign supports: + +* "Keyless signing" with the Sigstore public good Fulcio certificate authority and Rekor transparency log (default) +* Hardware and KMS signing +* Signing with a cosign generated encrypted private/public keypair +* Container Signing, Verification and Storage in an OCI registry. +* Bring-your-own PKI + +## Info + +`Cosign` is developed as part of the [`sigstore`](https://sigstore.dev) project. +We also use a [slack channel](https://sigstore.slack.com)! +Click [here](https://join.slack.com/t/sigstore/shared_invite/zt-2ub0ztl5z-PkWb_Ldwef5d6nb~oryaTA) for the invite link. + +## Installation + +For Homebrew, Arch, Nix, GitHub Action, and Kubernetes installs see the [installation docs](https://docs.sigstore.dev/cosign/system_config/installation/). + +For Linux and macOS binaries see the [GitHub release assets](https://github.com/sigstore/cosign/releases/latest). + +:rotating_light: If you are downloading releases of cosign from our GCS bucket - please see more information on the July 31, 2023 [deprecation notice](https://blog.sigstore.dev/cosign-releases-bucket-deprecation/) :rotating_light: + +## Developer Installation + +If you have Go 1.22+, you can setup a development environment: + +```shell +$ git clone https://github.com/sigstore/cosign +$ cd cosign +$ go install ./cmd/cosign +$ $(go env GOPATH)/bin/cosign +``` + +## Contributing + +If you are interested in contributing to `cosign`, please read the [contributing documentation](./CONTRIBUTING.md). + +Future Cosign development will be focused the next major release which will be based on +[sigstore-go](https://github.com/sigstore/sigstore-go). Maintainers will be focused on feature development within +sigstore-go. Contributions to sigstore-go, particularly around bring-your-own keys and signing, are appreciated. +Please see the [issue tracker](https://github.com/sigstore/sigstore-go/issues) for good first issues. + +Cosign 2.x is a stable release and will continue to receive periodic feature updates and bug fixes. PRs +that are small in scope and size are most likely to be quickly reviewed. + +PRs which significantly modify or break the API will not be accepted. PRs which are significant in size but do not +introduce breaking changes may be accepted, but will be considered lower priority than PRs in sigstore-go. + +## Dockerfile + +Here is how to install and use cosign inside a Dockerfile through the ghcr.io/sigstore/cosign/cosign image: + +```shell +FROM ghcr.io/sigstore/cosign/cosign:v2.4.1 as cosign-bin + +# Source: https://github.com/chainguard-images/static +FROM cgr.dev/chainguard/static:latest +COPY --from=cosign-bin /ko-app/cosign /usr/local/bin/cosign +ENTRYPOINT [ "cosign" ] +``` + +## Quick Start + +This shows how to: +* sign a container image with the default identity-based "keyless signing" method (see [the documentation for more information](https://docs.sigstore.dev/cosign/signing/overview/)) +* verify the container image + +### Sign a container and store the signature in the registry + +Note that you should always sign images based on their digest (`@sha256:...`) +rather than a tag (`:latest`) because otherwise you might sign something you +didn't intend to! + +```shell + cosign sign $IMAGE + +Generating ephemeral keys... +Retrieving signed certificate... + + Note that there may be personally identifiable information associated with this signed artifact. + This may include the email address associated with the account with which you authenticate. + This information will be used for signing this artifact and will be stored in public transparency logs and cannot be removed later. + +By typing 'y', you attest that you grant (or have permission to grant) and agree to have this information stored permanently in transparency logs. +Are you sure you would like to continue? [y/N] y +Your browser will now be opened to: +https://oauth2.sigstore.dev/auth/auth?access_type=online&client_id=sigstore&code_challenge=OrXitVKUZm2lEWHVt1oQWR4HZvn0rSlKhLcltglYxCY&code_challenge_method=S256&nonce=2KvOWeTFxYfxyzHtssvlIXmY6Jk&redirect_uri=http%3A%2F%2Flocalhost%3A57102%2Fauth%2Fcallback&response_type=code&scope=openid+email&state=2KvOWfbQJ1caqScgjwibzK2qJmb +Successfully verified SCT... +tlog entry created with index: 12086900 +Pushing signature to: $IMAGE +``` + +Cosign will prompt you to authenticate via OIDC, where you'll sign in with your email address. +Under the hood, cosign will request a code signing certificate from the Fulcio certificate authority. +The subject of the certificate will match the email address you logged in with. +Cosign will then store the signature and certificate in the Rekor transparency log, and upload the signature to the OCI registry alongside the image you're signing. + + +### Verify a container + +To verify the image, you'll need to pass in the expected certificate subject and certificate issuer via the `--certificate-identity` and `--certificate-oidc-issuer` flags: + +``` +cosign verify $IMAGE --certificate-identity=$IDENTITY --certificate-oidc-issuer=$OIDC_ISSUER +``` + +You can also pass in a regex for the certificate identity and issuer flags, `--certificate-identity-regexp` and `--certificate-oidc-issuer-regexp`. + +### Verify a container against a public key + +This command returns `0` if *at least one* `cosign` formatted signature for the image is found +matching the public key. +See the detailed usage below for information and caveats on other signature formats. + +Any valid payloads are printed to stdout, in json format. +Note that these signed payloads include the digest of the container image, which is how we can be +sure these "detached" signatures cover the correct image. + +```shell +$ cosign verify --key cosign.pub $IMAGE_URI:1h +The following checks were performed on these signatures: + - The cosign claims were validated + - The signatures were verified against the specified public key +{"Critical":{"Identity":{"docker-reference":""},"Image":{"Docker-manifest-digest":"sha256:87ef60f558bad79beea6425a3b28989f01dd417164150ab3baab98dcbf04def8"},"Type":"cosign container image signature"},"Optional":null} +``` + +### Verify a container in an air-gapped environment + +**Note:** This section is out of date. + +**Note:** Most verification workflows require periodically requesting service keys from a TUF repository. +For airgapped verification of signatures using the public-good instance, you will need to retrieve the +[trusted root](https://github.com/sigstore/root-signing/blob/main/targets/trusted_root.json) file from the production +TUF repository. The contents of this file will change without notification. By not using TUF, you will need +to build your own mechanism to keep your airgapped copy of this file up-to-date. + +Cosign can do completely offline verification by verifying a [bundle](./specs/SIGNATURE_SPEC.md#properties) which is typically distributed as an annotation on the image manifest. +As long as this annotation is present, then offline verification can be done. +This bundle annotation is always included by default for keyless signing, so the default `cosign sign` functionality will include all materials needed for offline verification. + +To verify an image in an air-gapped environment, the image and signatures must be available locally on the filesystem. + +An image can be saved locally using `cosign save` (note, this step must be done with a network connection): + +``` +cosign initialize # This will pull in the latest TUF root +cosign save $IMAGE_NAME --dir ./path/to/dir +``` + +Now, in an air-gapped environment, this local image can be verified: + +```shell +cosign verify \ + --certificate-identity $CERT_IDENTITY \ + --certificate-oidc-issuer $CERT_OIDC_ISSUER \ + --offline=true \ + --new-bundle-format=false \ # for artifacts signed without the new protobuf bundle format + --trusted-root ~/.sigstore/root/tuf-repo-cdn.sigstore.dev/targets/trusted_root.json \ # default location of trusted root + --local-image ./path/to/dir +``` + +You'll need to pass in expected values for `$CERT_IDENTITY` and `$CERT_OIDC_ISSUER` to correctly verify this image. +If you signed with a keypair, the same command will work, assuming the public key material is present locally: + +``` +cosign verify --key cosign.pub --offline --local-image ./path/to/dir +``` + +### What ** is not ** production ready? + +While parts of `cosign` are stable, we are continuing to experiment and add new features. +The following feature set is not considered stable yet, but we are committed to stabilizing it over time! + +#### Formats/Specifications + +While the `cosign` code for uploading, signing, retrieving, and verifying several artifact types is stable, +the format specifications for some of those types may not be considered stable yet. +Some of these are developed outside of the `cosign` project, so we are waiting for them to stabilize first. + +These include: + +* The SBOM specification for storing SBOMs in a container registry +* The In-Toto attestation format + +## Working with Other Artifacts + +OCI registries are useful for storing more than just container images! +`Cosign` also includes some utilities for publishing generic artifacts, including binaries, scripts, and configuration files using the OCI protocol. + +This section shows how to leverage these for an easy-to-use, backwards-compatible artifact distribution system that integrates well with the rest of Sigstore. + +See [the documentation](https://docs.sigstore.dev/cosign/signing/other_types/) for more information. + +### Blobs + +You can publish an artifact with `cosign upload blob`: + +```shell +$ echo "my first artifact" > artifact +$ BLOB_SUM=$(shasum -a 256 artifact | cut -d' ' -f 1) && echo "$BLOB_SUM" +c69d72c98b55258f9026f984e4656f0e9fd3ef024ea3fac1d7e5c7e6249f1626 +$ BLOB_NAME=my-artifact-$(uuidgen | head -c 8 | tr 'A-Z' 'a-z') +$ BLOB_URI=ttl.sh/$BLOB_NAME:1h + +$ BLOB_URI_DIGEST=$(cosign upload blob -f artifact $BLOB_URI) && echo "$BLOB_URI_DIGEST" +Uploading file from [artifact] to [ttl.sh/my-artifact-f42c22e0:5m] with media type [text/plain] +File [artifact] is available directly at [ttl.sh/v2/my-artifact-f42c22e0/blobs/sha256:c69d72c98b55258f9026f984e4656f0e9fd3ef024ea3fac1d7e5c7e6249f1626] +Uploaded image to: +ttl.sh/my-artifact-f42c22e0@sha256:790d47850411e902aabebc3a684eeb78fcae853d4dd6e1cc554d70db7f05f99f +``` + +Your users can download it from the "direct" url with standard tools like curl or wget: + +```shell +$ curl -L ttl.sh/v2/$BLOB_NAME/blobs/sha256:$BLOB_SUM > artifact-fetched +``` + +The digest is baked right into the URL, so they can check that as well: + +```shell +$ cat artifact-fetched | shasum -a 256 +c69d72c98b55258f9026f984e4656f0e9fd3ef024ea3fac1d7e5c7e6249f1626 - +``` + +You can sign it with the normal `cosign sign` command and flags: + +```shell +$ cosign sign --key cosign.key $BLOB_URI_DIGEST +Enter password for private key: +Pushing signature to: ttl.sh/my-artifact-f42c22e0 +``` + +As usual, make sure to reference any images you sign by their digest to make sure you don't sign the wrong thing! + +#### Tekton Bundles + +[Tekton](https://tekton.dev) bundles can be uploaded and managed within an OCI registry. +The specification is [here](https://tekton.dev/docs/pipelines/tekton-bundle-contracts/). +This means they can also be signed and verified with `cosign`. + +Tekton Bundles can currently be uploaded with the [tkn cli](https://github.com/tektoncd/cli), but we may add this support to +`cosign` in the future. + +```shell +$ tkn bundle push us.gcr.io/dlorenc-vmtest2/pipeline:latest -f task-output-image.yaml +Creating Tekton Bundle: + - Added TaskRun: to image + +Pushed Tekton Bundle to us.gcr.io/dlorenc-vmtest2/pipeline@sha256:124e1fdee94fe5c5f902bc94da2d6e2fea243934c74e76c2368acdc8d3ac7155 +$ cosign sign --key cosign.key us.gcr.io/dlorenc-vmtest2/pipeline@sha256:124e1fdee94fe5c5f902bc94da2d6e2fea243934c74e76c2368acdc8d3ac7155 +Enter password for private key: +tlog entry created with index: 5086 +Pushing signature to: us.gcr.io/dlorenc-vmtest2/demo:sha256-124e1fdee94fe5c5f902bc94da2d6e2fea243934c74e76c2368acdc8d3ac7155.sig +``` + +#### WASM + +Web Assembly Modules can also be stored in an OCI registry, using this [specification](https://github.com/solo-io/wasm/tree/master/spec). + +Cosign can upload these using the `cosign wasm upload` command: + +```shell +$ cosign upload wasm -f hello.wasm us.gcr.io/dlorenc-vmtest2/wasm +$ cosign sign --key cosign.key us.gcr.io/dlorenc-vmtest2/wasm@sha256:9e7a511fb3130ee4641baf1adc0400bed674d4afc3f1b81bb581c3c8f613f812 +Enter password for private key: +tlog entry created with index: 5198 +Pushing signature to: us.gcr.io/dlorenc-vmtest2/wasm:sha256-9e7a511fb3130ee4641baf1adc0400bed674d4afc3f1b81bb581c3c8f613f812.sig +``` +#### eBPF + +[eBPF](https://ebpf.io) modules can also be stored in an OCI registry, using this [specification](https://github.com/solo-io/bumblebee/tree/main/spec). + +The image below was built using the `bee` tool. More information can be found [here](https://github.com/solo-io/bumblebee/) + +Cosign can then sign these images as they can any other OCI image. + +```shell +$ bee build ./examples/tcpconnect/tcpconnect.c localhost:5000/tcpconnect:test +$ bee push localhost:5000/tcpconnect:test +$ cosign sign --key cosign.key localhost:5000/tcpconnect@sha256:7a91c50d922925f152fec96ed1d84b7bc6b2079c169d68826f6cf307f22d40e6 +Enter password for private key: +Pushing signature to: localhost:5000/tcpconnect +$ cosign verify --key cosign.pub localhost:5000/tcpconnect:test + +Verification for localhost:5000/tcpconnect:test -- +The following checks were performed on each of these signatures: + - The cosign claims were validated + - The signatures were verified against the specified public key + +[{"critical":{"identity":{"docker-reference":"localhost:5000/tcpconnect"},"image":{"docker-manifest-digest":"sha256:7a91c50d922925f152fec96ed1d84b7bc6b2079c169d68826f6cf307f22d40e6"},"type":"cosign container image signature"},"optional":null}] + +``` + +#### In-Toto Attestations + +Cosign also has built-in support for [in-toto](https://in-toto.io) attestations. +The specification for these is defined [here](https://github.com/in-toto/attestation). + +You can create and sign one from a local predicate file using the following commands: + +```shell +$ cosign attest --predicate --key cosign.key $IMAGE_URI_DIGEST +``` + +All of the standard key management systems are supported. +Payloads are signed using the DSSE signing spec, defined [here](https://github.com/secure-systems-lab/dsse). + +To verify: + +```shell +$ cosign verify-attestation --key cosign.pub $IMAGE_URI +``` + +## Detailed Usage + +See the [Usage documentation](https://docs.sigstore.dev/cosign/signing/overview/) for more information. + +## Hardware-based Tokens + +See the [Hardware Tokens documentation](https://docs.sigstore.dev/cosign/key_management/hardware-based-tokens/) for information on how to use `cosign` with hardware. + +## Registry Support + +`cosign` uses [go-containerregistry](https://github.com/google/go-containerregistry) for registry +interactions, which has generally excellent compatibility, but some registries may have quirks. + +Today, `cosign` has been tested and works against the following registries: + +* AWS Elastic Container Registry +* GCP's Artifact Registry and Container Registry +* Docker Hub +* Azure Container Registry +* JFrog Artifactory Container Registry +* The CNCF distribution/distribution Registry +* GitLab Container Registry +* GitHub Container Registry +* The CNCF Harbor Registry +* Digital Ocean Container Registry +* Sonatype Nexus Container Registry +* Alibaba Cloud Container Registry +* Red Hat Quay Container Registry 3.6+ / Red Hat quay.io +* Elastic Container Registry +* IBM Cloud Container Registry +* Cloudsmith Container Registry +* The CNCF zot Registry +* OVHcloud Managed Private Registry + +We aim for wide registry support. To `sign` images in registries which do not yet fully support [OCI media types](https://github.com/sigstore/cosign/blob/main/specs/SIGNATURE_SPEC.md), one may need to use `COSIGN_DOCKER_MEDIA_TYPES` to fall back to legacy equivalents. For example: + +```shell +COSIGN_DOCKER_MEDIA_TYPES=1 cosign sign --key cosign.key legacy-registry.example.com/my/image@$DIGEST +``` + +Please help test and file bugs if you see issues! +Instructions can be found in the [tracking issue](https://github.com/sigstore/cosign/issues/40). + +## Caveats + +### Intentionally Missing Features + +`cosign` only generates ECDSA-P256 keys and uses SHA256 hashes, for both ephemeral keyless signing and managed key signing. +Keys are stored in PEM-encoded PKCS8 format. +However, you can use `cosign` to store and retrieve signatures in any format, from any algorithm. + +### Things That Should Probably Change + +#### Payload Formats + +`cosign` only supports Red Hat's [simple signing](https://www.redhat.com/en/blog/container-image-signing) +format for payloads. +That looks like: + +```json +{ + "critical": { + "identity": { + "docker-reference": "testing/manifest" + }, + "image": { + "Docker-manifest-digest": "sha256:20be...fe55" + }, + "type": "cosign container image signature" + }, + "optional": { + "creator": "Bob the Builder", + "timestamp": 1458239713 + } +} +``` + +**Note:** This can be generated for an image reference using `cosign generate $IMAGE_URI_DIGEST`. + +I'm happy to switch this format to something else if it makes sense. +See https://github.com/notaryproject/nv2/issues/40 for one option. + +#### Registry Details + +`cosign` signatures are stored as separate objects in the OCI registry, with only a weak +reference back to the object they "sign". +This means this relationship is opaque to the registry, and signatures *will not* be deleted +or garbage-collected when the image is deleted. +Similarly, they **can** easily be copied from one environment to another, but this is not +automatic. + +Multiple signatures are stored in a list which is unfortunately a race condition today. +To add a signature, clients orchestrate a "read-append-write" operation, so the last write +will win in the case of contention. + +##### Specifying Registry + +`cosign` will default to storing signatures in the same repo as the image it is signing. +To specify a different repo for signatures, you can set the `COSIGN_REPOSITORY` environment variable. + +This will replace the repo in the provided image like this: + +```shell +$ export COSIGN_REPOSITORY=gcr.io/my-new-repo +$ cosign sign --key cosign.key $IMAGE_URI_DIGEST +``` + +So the signature for `gcr.io/dlorenc-vmtest2/demo` will be stored in `gcr.io/my-new-repo/demo:sha256-DIGEST.sig`. + +Note: different registries might expect different formats for the "repository." + +* To use [GCR](https://cloud.google.com/container-registry), a registry name + like `gcr.io/$REPO` is sufficient, as in the example above. +* To use [Artifact Registry](https://cloud.google.com/artifact-registry), + specify a full image name like + `$LOCATION-docker.pkg.dev/$PROJECT/$REPO/$STORAGE_IMAGE`, not just a + repository. For example, + + ```shell + $ export COSIGN_REPOSITORY=us-docker.pkg.dev/my-new-repo/demo + $ cosign sign --key cosign.key $IMAGE_URI_DIGEST + ``` + + where the `sha256-DIGEST` will match the digest for + `gcr.io/dlorenc-vmtest2/demo`. Specifying just a repo like + `$LOCATION-docker.pkg.dev/$PROJECT/$REPO` will not work in Artifact Registry. + + +## Signature Specification + +`cosign` is inspired by tools like [minisign](https://jedisct1.github.io/minisign/) and +[signify](https://www.openbsd.org/papers/bsdcan-signify.html). + +Generated private keys are stored in PEM format. +The keys encrypted under a password using scrypt as a KDF and nacl/secretbox for encryption. + +They have a PEM header of `ENCRYPTED SIGSTORE PRIVATE KEY`: + +```shell +-----BEGIN ENCRYPTED SIGSTORE PRIVATE KEY----- +... +-----END ENCRYPTED SIGSTORE PRIVATE KEY----- +``` + +Public keys are stored on disk in PEM-encoded standard PKIX format with a header of `PUBLIC KEY`. +``` +-----BEGIN PUBLIC KEY----- +MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAELigCnlLNKgOglRTx1D7JhI7eRw99 +QolE9Jo4QUxnbMy5nUuBL+UZF9qqfm/Dg1BNeHRThHzWh2ki9vAEgWEDOw== +-----END PUBLIC KEY----- +``` + +## Storage Specification + +`cosign` stores signatures in an OCI registry, and uses a naming convention (tag based +on the sha256 of what we're signing) for locating the signature index. + +

+ +

+ +`reg.example.com/ubuntu@sha256:703218c0465075f4425e58fac086e09e1de5c340b12976ab9eb8ad26615c3715` has signatures located at `reg.example.com/ubuntu:sha256-703218c0465075f4425e58fac086e09e1de5c340b12976ab9eb8ad26615c3715.sig` + +Roughly (ignoring ports in the hostname): `s/:/-/g` and `s/@/:/g` to find the signature index. + +See [Race conditions](#registry-details) for some caveats around this strategy. + +Alternative implementations could use transparency logs, local filesystem, a separate repository +registry, an explicit reference to a signature index, a new registry API, grafeas, etc. + +### Signing subjects + +`cosign` only works for artifacts stored as "manifests" in the registry today. +The proposed mechanism is flexible enough to support signing arbitrary things. + +### KMS Support + +`cosign` supports using a KMS provider to generate and sign keys. +Right now cosign supports Hashicorp Vault, AWS KMS, GCP KMS, Azure Key Vault and we are hoping to support more in the future! + +See the [KMS docs](https://docs.sigstore.dev/cosign/key_management/overview/) for more details. + +### OCI Artifacts + +Push an artifact to a registry using [oras](https://github.com/deislabs/oras) (in this case, `cosign` itself!): + +```shell +$ oras push us-central1-docker.pkg.dev/dlorenc-vmtest2/test/artifact ./cosign +Uploading f53604826795 cosign +Pushed us-central1-docker.pkg.dev/dlorenc-vmtest2/test/artifact +Digest: sha256:551e6cce7ed2e5c914998f931b277bc879e675b74843e6f29bc17f3b5f692bef +``` + +Now sign it! Using `cosign` of course: + +```shell +$ cosign sign --key cosign.key us-central1-docker.pkg.dev/dlorenc-vmtest2/test/artifact@sha256:551e6cce7ed2e5c914998f931b277bc879e675b74843e6f29bc17f3b5f692bef +Enter password for private key: +Pushing signature to: us-central1-docker.pkg.dev/dlorenc-vmtest2/test/artifact:sha256-551e6cce7ed2e5c914998f931b277bc879e675b74843e6f29bc17f3b5f692bef.sig +``` + +Finally, verify `cosign` with `cosign` again: + +```shell +$ cosign verify --key cosign.pub us-central1-docker.pkg.dev/dlorenc-vmtest2/test/artifact@sha256:551e6cce7ed2e5c914998f931b277bc879e675b74843e6f29bc17f3b5f692bef +The following checks were performed on each of these signatures: + - The cosign claims were validated + - The claims were present in the transparency log + - The signatures were integrated into the transparency log when the certificate was valid + - The signatures were verified against the specified public key + - The code-signing certificate was verified using trusted certificate authority certificates + +{"Critical":{"Identity":{"docker-reference":""},"Image":{"Docker-manifest-digest":"sha256:551e6cce7ed2e5c914998f931b277bc879e675b74843e6f29bc17f3b5f692bef"},"Type":"cosign container image signature"},"Optional":null} +``` + +## FAQ + +### Why not use Notary v2 + +It's hard to answer this briefly. +This post contains some comparisons: + +[Notary V2 and Cosign](https://medium.com/@dlorenc/notary-v2-and-cosign-b816658f044d) + +If you find other comparison posts, please send a PR here and we'll link them all. + +### Why not use containers/image signing + +`containers/image` signing is close to `cosign`, and we reuse payload formats. +`cosign` differs in that it signs with ECDSA-P256 keys instead of PGP, and stores +signatures in the registry. + +### Why not use TUF? + +I believe this tool is complementary to TUF, and they can be used together. +I haven't tried yet, but think we can also reuse a registry for TUF storage. + +## Design Requirements + +* No external services for signature storage, querying, or retrieval +* We aim for as much registry support as possible +* Everything should work over the registry API +* PGP should not be required at all. +* Users must be able to find all signatures for an image +* Signers can sign an image after push +* Multiple entities can sign an image +* Signing an image does not mutate the image +* Pure-go implementation + +## Future Ideas + +### Registry API Changes + +The naming convention and read-modify-write update patterns we use to store things in +a registry are a bit, well, "hacky". +I think they're the best (only) real option available today, but if the registry API +changes we can improve these. + +### Other Types + +`cosign` can sign anything in a registry. +These examples show signing a single image, but you could also sign a multi-platform `Index`, +or any other type of artifact. +This includes Helm Charts, Tekton Pipelines, and anything else currently using OCI registries +for distribution. + +This also means new artifact types can be uploaded to a registry and signed. +One interesting type to store and sign would be TUF repositories. +I haven't tried yet, but I'm fairly certain TUF could be implemented on top of this. + +### Tag Signing + +`cosign` signatures protect the digests of objects stored in a registry. +The optional `annotations` support (via the `-a` flag to `cosign sign`) can be used to add extra +data to the payload that is signed and protected by the signature. +One use-case for this might be to sign a tag->digest mapping. + +If you would like to attest that a specific tag (or set of tags) should point at a digest, you can +run something like: + +```shell +$ docker push $IMAGE_URI +The push refers to repository [dlorenc/demo] +994393dc58e7: Pushed +5m: digest: sha256:1304f174557314a7ed9eddb4eab12fed12cb0cd9809e4c28f29af86979a3c870 size: 528 +$ TAG=sign-me +$ cosign sign --key cosign.key -a tag=$TAG $IMAGE_URI_DIGEST +Enter password for private key: +Pushing signature to: dlorenc/demo:1304f174557314a7ed9eddb4eab12fed12cb0cd9809e4c28f29af86979a3c870.sig +``` + +Then you can verify that the tag->digest mapping is also covered in the signature, using the `-a` flag to `cosign verify`. +This example verifies that the digest `$TAG` which points to (`sha256:1304f174557314a7ed9eddb4eab12fed12cb0cd9809e4c28f29af86979a3c870`) +has been signed, **and also** that the `tag` annotation has the value `sign-me`: + +```shell +$ cosign verify --key cosign.pub -a tag=$TAG $IMAGE_URI | jq . +{ + "Critical": { + "Identity": { + "docker-reference": "" + }, + "Image": { + "Docker-manifest-digest": "97fc222cee7991b5b061d4d4afdb5f3428fcb0c9054e1690313786befa1e4e36" + }, + "Type": "cosign container image signature" + }, + "Optional": { + "tag": "sign-me" + } +} +``` + +Timestamps could also be added here, to implement TUF-style freeze-attack prevention. + +### Base Image/Layer Signing + +Again, `cosign` can sign anything in a registry. +You could use `cosign` to sign an image that is intended to be used as a base image, +and include that provenance metadata in resulting derived images. +This could be used to enforce that an image was built from an authorized base image. + +Rough Idea: +* OCI manifests have an ordered list of `layer` `Descriptors`, which can contain annotations. + See [here](https://github.com/opencontainers/image-spec/blob/master/manifest.md) for the + specification. +* A base image is an ordered list of layers to which other layers are appended, as well as an + initial configuration object that is mutated. + * A derived image is free to completely delete/destroy/recreate the config from its base image, + so signing the config would provided limited value. +* We can sign the full set of ordered base layers, and attach that signature as an annotation to + the **last** layer in the resulting child image. + +This example manifest manifest represents an image that has been built from a base image with two +layers. +One additional layer is added, forming the final image. + +```json +{ + "schemaVersion": 2, + "config": { + "mediaType": "application/vnd.oci.image.config.v1+json", + "size": 7023, + "digest": "sha256:b5b2b2c507a0944348e0303114d8d93aaaa081732b86451d9bce1f432a537bc7" + }, + "layers": [ + { + "mediaType": "application/vnd.oci.image.layer.v1.tar+gzip", + "size": 32654, + "digest": "sha256:9834876dcfb05cb167a5c24953eba58c4ac89b1adf57f28f2f9d09af107ee8f0" + }, + { + "mediaType": "application/vnd.oci.image.layer.v1.tar+gzip", + "size": 16724, + "digest": "sha256:3c3a4604a545cdc127456d94e421cd355bca5b528f4a9c1905b15da2eb4a4c6b", + "annotations": { + "dev.cosign.signature.baseimage": "Ejy6ipGJjUzMDoQFePWixqPBYF0iSnIvpMWps3mlcYNSEcRRZelL7GzimKXaMjxfhy5bshNGvDT5QoUJ0tqUAg==" + } + }, + { + "mediaType": "application/vnd.oci.image.layer.v1.tar+gzip", + "size": 73109, + "digest": "sha256:ec4b8955958665577945c89419d1af06b5f7636b4ac3da7f12184802ad867736" + } + ], +} +``` + +Note that this could be applied recursively, for multiple intermediate base images. + +### Counter-Signing + +Cosign signatures (and their protected payloads) are stored as artifacts in a registry. +These signature objects can also be signed, resulting in a new, "counter-signature" artifact. +This "counter-signature" protects the signature (or set of signatures) **and** the referenced artifact, which allows +it to act as an attestation to the **signature(s) themselves**. + +Before we sign the signature artifact, we first give it a memorable name so we can find it later. + +```shell +$ cosign sign --key cosign.key -a sig=original $IMAGE_URI_DIGEST +Enter password for private key: +Pushing signature to: dlorenc/demo:sha256-97fc222cee7991b5b061d4d4afdb5f3428fcb0c9054e1690313786befa1e4e36.sig +$ cosign verify --key cosign.pub dlorenc/demo | jq . +{ + "Critical": { + "Identity": { + "docker-reference": "" + }, + "Image": { + "Docker-manifest-digest": "97fc222cee7991b5b061d4d4afdb5f3428fcb0c9054e1690313786befa1e4e36" + }, + "Type": "cosign container image signature" + }, + "Optional": { + "sig": "original" + } +} +``` + + + +Now give that signature a memorable name, then sign that: + +```shell +$ crane tag $(cosign triangulate $IMAGE_URI) mysignature +2021/02/15 20:22:55 dlorenc/demo:mysignature: digest: sha256:71f70e5d29bde87f988740665257c35b1c6f52dafa20fab4ba16b3b1f4c6ba0e size: 556 +$ cosign sign --key cosign.key -a sig=counter dlorenc/demo:mysignature +Enter password for private key: +Pushing signature to: dlorenc/demo:sha256-71f70e5d29bde87f988740665257c35b1c6f52dafa20fab4ba16b3b1f4c6ba0e.sig +$ cosign verify --key cosign.pub dlorenc/demo:mysignature +{"Critical":{"Identity":{"docker-reference":""},"Image":{"Docker-manifest-digest":"71f70e5d29bde87f988740665257c35b1c6f52dafa20fab4ba16b3b1f4c6ba0e"},"Type":"cosign container image signature"},"Optional":{"sig":"counter"}} +``` + +Finally, check the original signature: + +```shell +$ crane manifest dlorenc/demo@sha256:71f70e5d29bde87f988740665257c35b1c6f52dafa20fab4ba16b3b1f4c6ba0e +{ + "schemaVersion": 2, + "config": { + "mediaType": "application/vnd.oci.image.config.v1+json", + "size": 233, + "digest": "sha256:3b25a088710d03f39be26629d22eb68cd277a01673b9cb461c4c24fbf8c81c89" + }, + "layers": [ + { + "mediaType": "application/vnd.oci.descriptor.v1+json", + "size": 217, + "digest": "sha256:0e79a356609f038089088ec46fd95f4649d04de989487220b1a0adbcc63fadae", + "annotations": { + "dev.sigstore.cosign/signature": "5uNZKEP9rm8zxAL0VVX7McMmyArzLqtxMTNPjPO2ns+5GJpBeXg+i9ILU+WjmGAKBCqiexTxzLC1/nkOzD4cDA==" + } + } + ] +} +``` + +## Release Cadence + +We cut releases as needed. Patch releases are cut to fix small bugs. Minor releases are +cut periodically when there are multiple bugs fixed or features added. Major releases +will be released when there are breaking features. + +## Security + +Should you discover any security issues, please refer to sigstore's [security +process](https://github.com/sigstore/.github/blob/main/SECURITY.md) + +## Bundle files in GitHub Release Assets + +The GitHub release assets for `cosign` contain Sigstore bundle files produced by [GoReleaser](https://github.com/sigstore/cosign/blob/ac999344eb381ae91455b0a9c5c267e747608d76/.goreleaser.yml#L166) while signing the cosign blob that is used to verify the integrity of the release binaries. This file is not used by cosign itself, but is provided for users who wish to [verify the integrity of the release binaries](https://docs.sigstore.dev/cosign/system_config/installation/#verifying-cosign-with-artifact-key). diff --git a/data/readmes/couchdb-nouveau-01.md b/data/readmes/couchdb-nouveau-01.md new file mode 100644 index 0000000..0776103 --- /dev/null +++ b/data/readmes/couchdb-nouveau-01.md @@ -0,0 +1,137 @@ +# Couchdb - README (nouveau-0.1) + +**Repository**: https://github.com/apache/couchdb +**Version**: nouveau-0.1 +**Branch**: nouveau-0.1 + +--- + +Apache CouchDB README +===================== + ++---------+ +| |1| |2| | ++---------+ + +.. |1| image:: https://ci-couchdb.apache.org/job/jenkins-cm1/job/FullPlatformMatrix/job/main/badge/icon?subject=main + :target: https://ci-couchdb.apache.org/blue/organizations/jenkins/jenkins-cm1%2FFullPlatformMatrix/activity?branch=main +.. |2| image:: https://readthedocs.org/projects/couchdb/badge/?version=main + :target: https://docs.couchdb.org/en/main/?badge=main + +Installation +------------ + +For a high-level guide to Unix-like systems, inc. Mac OS X and Ubuntu, see: + + INSTALL.Unix + +For a high-level guide to Microsoft Windows, see: + + INSTALL.Windows + +Follow the proper instructions to get CouchDB installed on your system. + +If you're having problems, skip to the next section. + +Documentation +------------- + +We have documentation: + + https://docs.couchdb.org/ + +It includes a changelog: + + https://docs.couchdb.org/en/latest/whatsnew/ + +For troubleshooting or cryptic error messages, see: + + https://docs.couchdb.org/en/latest/install/troubleshooting.html + +For general help, see: + + https://couchdb.apache.org/#mailing-list + +We also have an IRC channel: + + https://web.libera.chat/#couchdb + +The mailing lists provide a wealth of support and knowledge for you to tap into. +Feel free to drop by with your questions or discussion. See the official CouchDB +website for more information about our community resources. + +Verifying your Installation +--------------------------- + +Run a basic test suite for CouchDB by browsing here: + + http://127.0.0.1:5984/_utils/#verifyinstall + +Getting started with developing +------------------------------- + +**Quickstart:** + + +.. image:: https://img.shields.io/static/v1?label=Remote%20-%20Containers&message=Open&color=blue&logo=visualstudiocode + :target: https://vscode.dev/redirect?url=vscode://ms-vscode-remote.remote-containers/cloneInVolume?url=https://github.com/apache/couchdb + +If you already have VS Code and Docker installed, you can click the badge above or +`here `_ +to get started. Clicking these links will cause VS Code to automatically install the +Remote - Containers extension if needed, clone the source code into a container volume, +and spin up a dev container for use. + +This ``devcontainer`` will automatically run ``./configure && make`` the first time it is created. +While this may take some extra time to spin up, this tradeoff means you will be able to +run things like ``./dev/run``, ``./dev/run --admin=admin:admin``, ``./dev/run --with-admin-party-please``, +and ``make check`` straight away. Subsequent startups should be quick. + +**Manual Dev Setup:** + +For more detail, read the README-DEV.rst file in this directory. + +Basically you just have to install the needed dependencies which are +documented in the install docs and then run ``./configure && make``. + +You don't need to run ``make install`` after compiling, just use +``./dev/run`` to spin up three nodes. You can add haproxy as a caching +layer in front of this cluster by running ``./dev/run --with-haproxy +--haproxy=/path/to/haproxy`` . You will now have a local cluster +listening on port 5984. + +For Fauxton developers fixing the admin-party does not work via the button in +Fauxton. To fix the admin party you have to run ``./dev/run`` with the ``admin`` +flag, e.g. ``./dev/run --admin=username:password``. If you want to have an +admin-party, just omit the flag. + +Contributing to CouchDB +----------------------- + +You can learn more about our contributing process here: + + https://github.com/apache/couchdb/blob/main/CONTRIBUTING.md + +Cryptographic Software Notice +----------------------------- + +This distribution includes cryptographic software. The country in which you +currently reside may have restrictions on the import, possession, use, and/or +re-export to another country, of encryption software. BEFORE using any +encryption software, please check your country's laws, regulations and policies +concerning the import, possession, or use, and re-export of encryption software, +to see if this is permitted. See for more +information. + +The U.S. Government Department of Commerce, Bureau of Industry and Security +(BIS), has classified this software as Export Commodity Control Number (ECCN) +5D002.C.1, which includes information security software using or performing +cryptographic functions with asymmetric algorithms. The form and manner of this +Apache Software Foundation distribution makes it eligible for export under the +License Exception ENC Technology Software Unrestricted (TSU) exception (see the +BIS Export Administration Regulations, Section 740.13) for both object code and +source code. + +The following provides more details on the included cryptographic software: + +CouchDB includes a HTTP client (ibrowse) with SSL functionality. diff --git a/data/readmes/cozystack-v0383.md b/data/readmes/cozystack-v0383.md new file mode 100644 index 0000000..faa63e7 --- /dev/null +++ b/data/readmes/cozystack-v0383.md @@ -0,0 +1,82 @@ +# Cozystack - README (v0.38.3) + +**Repository**: https://github.com/cozystack/cozystack +**Version**: v0.38.3 + +--- + +![Cozystack](img/cozystack-logo-black.svg#gh-light-mode-only) +![Cozystack](img/cozystack-logo-white.svg#gh-dark-mode-only) + +[![Open Source](https://img.shields.io/badge/Open-Source-brightgreen)](https://opensource.org/) +[![Apache-2.0 License](https://img.shields.io/github/license/cozystack/cozystack)](https://opensource.org/licenses/) +[![Support](https://img.shields.io/badge/$-support-12a0df.svg?style=flat)](https://cozystack.io/support/) +[![Active](http://img.shields.io/badge/Status-Active-green.svg)](https://github.com/cozystack/cozystack) +[![GitHub Release](https://img.shields.io/github/release/cozystack/cozystack.svg?style=flat)](https://github.com/cozystack/cozystack/releases/latest) +[![GitHub Commit](https://img.shields.io/github/commit-activity/y/cozystack/cozystack)](https://github.com/cozystack/cozystack/graphs/contributors) + +# Cozystack + +**Cozystack** is a free PaaS platform and framework for building clouds. + +Cozystack is a [CNCF Sandbox Level Project](https://www.cncf.io/sandbox-projects/) that was originally built and sponsored by [Ænix](https://aenix.io/). + +With Cozystack, you can transform a bunch of servers into an intelligent system with a simple REST API for spawning Kubernetes clusters, +Database-as-a-Service, virtual machines, load balancers, HTTP caching services, and other services with ease. + +Use Cozystack to build your own cloud or provide a cost-effective development environment. + +![Cozystack user interface](https://cozystack.io/img/screenshot-dark.png) + +## Use-Cases + +* [**Using Cozystack to build a public cloud**](https://cozystack.io/docs/guides/use-cases/public-cloud/) +You can use Cozystack as a backend for a public cloud + +* [**Using Cozystack to build a private cloud**](https://cozystack.io/docs/guides/use-cases/private-cloud/) +You can use Cozystack as a platform to build a private cloud powered by Infrastructure-as-Code approach + +* [**Using Cozystack as a Kubernetes distribution**](https://cozystack.io/docs/guides/use-cases/kubernetes-distribution/) +You can use Cozystack as a Kubernetes distribution for Bare Metal + + +## Documentation + +The documentation is located on the [cozystack.io](https://cozystack.io) website. + +Read the [Getting Started](https://cozystack.io/docs/getting-started/) section for a quick start. + +If you encounter any difficulties, start with the [troubleshooting guide](https://cozystack.io/docs/operations/troubleshooting/) and work your way through the process that we've outlined. + +## Versioning + +Versioning adheres to the [Semantic Versioning](http://semver.org/) principles. +A full list of the available releases is available in the GitHub repository's [Release](https://github.com/cozystack/cozystack/releases) section. + +- [Roadmap](https://cozystack.io/docs/roadmap/) + +## Contributions + +Contributions are highly appreciated and very welcomed! + +In case of bugs, please check if the issue has already been opened by checking the [GitHub Issues](https://github.com/cozystack/cozystack/issues) section. +If it isn't, you can open a new one. A detailed report will help us replicate it, assess it, and work on a fix. + +You can express your intention to on the fix on your own. +Commits are used to generate the changelog, and their author will be referenced in it. + +If you have **Feature Requests** please use the [Discussion's Feature Request section](https://github.com/cozystack/cozystack/discussions/categories/feature-requests). + +## Community + +You are welcome to join our [Telegram group](https://t.me/cozystack) and come to our weekly community meetings. +Add them to your [Google Calendar](https://calendar.google.com/calendar?cid=ZTQzZDIxZTVjOWI0NWE5NWYyOGM1ZDY0OWMyY2IxZTFmNDMzZTJlNjUzYjU2ZGJiZGE3NGNhMzA2ZjBkMGY2OEBncm91cC5jYWxlbmRhci5nb29nbGUuY29t) or [iCal](https://calendar.google.com/calendar/ical/e43d21e5c9b45a95f28c5d649c2cb1e1f433e2e653b56dbbda74ca306f0d0f68%40group.calendar.google.com/public/basic.ics) for convenience. + +## License + +Cozystack is licensed under Apache 2.0. +The code is provided as-is with no warranties. + +## Commercial Support + +A list of companies providing commercial support for this project can be found on [official site](https://cozystack.io/support/). diff --git a/data/readmes/crane-v0207.md b/data/readmes/crane-v0207.md new file mode 100644 index 0000000..91caa80 --- /dev/null +++ b/data/readmes/crane-v0207.md @@ -0,0 +1,157 @@ +# Crane - README (v0.20.7) + +**Repository**: https://github.com/google/go-containerregistry +**Version**: v0.20.7 + +--- + +# go-containerregistry + +[![GitHub Actions Build Status](https://github.com/google/go-containerregistry/workflows/Build/badge.svg)](https://github.com/google/go-containerregistry/actions?query=workflow%3ABuild) +[![GoDoc](https://godoc.org/github.com/google/go-containerregistry?status.svg)](https://godoc.org/github.com/google/go-containerregistry) +[![Code Coverage](https://codecov.io/gh/google/go-containerregistry/branch/main/graph/badge.svg)](https://codecov.io/gh/google/go-containerregistry) + +## Introduction + +This is a golang library for working with container registries. +It's largely based on the [Python library of the same name](https://github.com/google/containerregistry). + +The following diagram shows the main types that this library handles. +![OCI image representation](images/ociimage.jpeg) + +## Philosophy + +The overarching design philosophy of this library is to define interfaces that present an immutable +view of resources (e.g. [`Image`](https://godoc.org/github.com/google/go-containerregistry/pkg/v1#Image), +[`Layer`](https://godoc.org/github.com/google/go-containerregistry/pkg/v1#Layer), +[`ImageIndex`](https://godoc.org/github.com/google/go-containerregistry/pkg/v1#ImageIndex)), +which can be backed by a variety of medium (e.g. [registry](./pkg/v1/remote/README.md), +[tarball](./pkg/v1/tarball/README.md), [daemon](./pkg/v1/daemon/README.md), ...). + +To complement these immutable views, we support functional mutations that produce new immutable views +of the resulting resource (e.g. [mutate](./pkg/v1/mutate/README.md)). The end goal is to provide a +set of versatile primitives that can compose to do extraordinarily powerful things efficiently and easily. + +Both the resource views and mutations may be lazy, eager, memoizing, etc, and most are optimized +for common paths based on the tooling we have seen in the wild (e.g. writing new images from disk +to the registry as a compressed tarball). + + +### Experiments + +Over time, we will add new functionality under experimental environment variables listed here. + +| Env Var | Value(s) | What is does | +|---------|----------|--------------| +| `GGCR_EXPERIMENT_ESTARGZ` | `"1"` | ⚠️DEPRECATED⚠️: When enabled this experiment will direct `tarball.LayerFromOpener` to emit [estargz](https://github.com/opencontainers/image-spec/issues/815) compatible layers, which enable them to be lazily loaded by an appropriately configured containerd. | + + +### `v1.Image` + +#### Sources + +* [`remote.Image`](https://godoc.org/github.com/google/go-containerregistry/pkg/v1/remote#Image) +* [`tarball.Image`](https://godoc.org/github.com/google/go-containerregistry/pkg/v1/tarball#Image) +* [`daemon.Image`](https://godoc.org/github.com/google/go-containerregistry/pkg/v1/daemon#Image) +* [`layout.Image`](https://godoc.org/github.com/google/go-containerregistry/pkg/v1/layout#Path.Image) +* [`random.Image`](https://godoc.org/github.com/google/go-containerregistry/pkg/v1/random#Image) + +#### Sinks + +* [`remote.Write`](https://godoc.org/github.com/google/go-containerregistry/pkg/v1/remote#Write) +* [`tarball.Write`](https://godoc.org/github.com/google/go-containerregistry/pkg/v1/tarball#Write) +* [`daemon.Write`](https://godoc.org/github.com/google/go-containerregistry/pkg/v1/daemon#Write) +* [`legacy/tarball.Write`](https://godoc.org/github.com/google/go-containerregistry/pkg/legacy/tarball#Write) +* [`layout.AppendImage`](https://godoc.org/github.com/google/go-containerregistry/pkg/v1/layout#Path.AppendImage) + +### `v1.ImageIndex` + +#### Sources + +* [`remote.Index`](https://godoc.org/github.com/google/go-containerregistry/pkg/v1/remote#Index) +* [`random.Index`](https://godoc.org/github.com/google/go-containerregistry/pkg/v1/random#Index) +* [`layout.ImageIndexFromPath`](https://godoc.org/github.com/google/go-containerregistry/pkg/v1/layout#ImageIndexFromPath) + +#### Sinks + +* [`remote.WriteIndex`](https://godoc.org/github.com/google/go-containerregistry/pkg/v1/remote#WriteIndex) +* [`layout.Write`](https://godoc.org/github.com/google/go-containerregistry/pkg/v1/layout#Write) + +### `v1.Layer` + +#### Sources + +* [`remote.Layer`](https://godoc.org/github.com/google/go-containerregistry/pkg/v1/remote#Layer) +* [`tarball.LayerFromFile`](https://godoc.org/github.com/google/go-containerregistry/pkg/v1/tarball#LayerFromFile) +* [`random.Layer`](https://godoc.org/github.com/google/go-containerregistry/pkg/v1/random#Layer) +* [`stream.Layer`](https://godoc.org/github.com/google/go-containerregistry/pkg/v1/stream#Layer) + +#### Sinks + +* [`remote.WriteLayer`](https://godoc.org/github.com/google/go-containerregistry/pkg/v1/remote#WriteLayer) + +## Overview + +### `mutate` + +The simplest use for these libraries is to read from one source and write to another. + +For example, + + * `crane pull` is `remote.Image -> tarball.Write`, + * `crane push` is `tarball.Image -> remote.Write`, + * `crane cp` is `remote.Image -> remote.Write`. + +However, often you actually want to _change something_ about an image. +This is the purpose of the [`mutate`](pkg/v1/mutate) package, which exposes +some commonly useful things to change about an image. + +### `partial` + +If you're trying to use this library with a different source or sink than it already supports, +it can be somewhat cumbersome. The `Image` and `Layer` interfaces are pretty wide, with a lot +of redundant information. This is somewhat by design, because we want to expose this information +as efficiently as possible where we can, but again it is a pain to implement yourself. + +The purpose of the [`partial`](pkg/v1/partial) package is to make implementing a `v1.Image` +much easier, by filling in all the derived accessors for you if you implement a minimal +subset of `v1.Image`. + +### `transport` + +You might think our abstractions are bad and you just want to authenticate +and send requests to a registry. + +This is the purpose of the [`transport`](pkg/v1/remote/transport) and [`authn`](pkg/authn) packages. + +## Tools + +This repo hosts some tools built on top of the library. + +### `crane` + +[`crane`](cmd/crane/README.md) is a tool for interacting with remote images +and registries. + +### `gcrane` + +[`gcrane`](cmd/gcrane/README.md) is a GCR-specific variant of `crane` that has +richer output for the `ls` subcommand and some basic garbage collection support. + +### `krane` + +[`krane`](cmd/krane/README.md) is a drop-in replacement for `crane` that supports +common Kubernetes-based workload identity mechanisms using [`k8schain`](#k8schain) +as a fallback to traditional authentication mechanisms. + +### `k8schain` + +[`k8schain`](pkg/authn/k8schain/README.md) implements the authentication +semantics used by kubelets in a way that is easily consumable by this library. + +`k8schain` is not a standalone tool, but it is linked here for visibility. + +### Emeritus: [`ko`](https://github.com/google/ko) + +This tool was originally developed in this repo but has since been moved to its +own repo. diff --git a/data/readmes/cri-o-v1343.md b/data/readmes/cri-o-v1343.md new file mode 100644 index 0000000..78fd386 --- /dev/null +++ b/data/readmes/cri-o-v1343.md @@ -0,0 +1,329 @@ +# CRI-O - README (v1.34.3) + +**Repository**: https://github.com/cri-o/cri-o +**Version**: v1.34.3 + +--- + + + +![CRI-O logo](https://github.com/cri-o/cri-o/blob/main/logo/crio-logo.svg?raw=true) + +# CRI-O - OCI-based implementation of Kubernetes Container Runtime Interface + + + +[![Stable Status](https://img.shields.io/badge/status-stable-brightgreen.svg)](#) +[![codecov](https://codecov.io/gh/cri-o/cri-o/branch/main/graph/badge.svg)](https://codecov.io/gh/cri-o/cri-o) +[![Packages](https://img.shields.io/badge/deb%2frpm-packages-blue.svg)](https://github.com/cri-o/packaging) +[![Release Notes](https://img.shields.io/badge/release-notes-blue.svg)](https://cri-o.github.io/cri-o) +[![Dependencies](https://img.shields.io/badge/report-dependencies-blue.svg)](https://cri-o.github.io/cri-o/dependencies) +[![GoDoc](https://godoc.org/github.com/cri-o/cri-o?status.svg)](https://godoc.org/github.com/cri-o/cri-o) +[![OpenSSF Scorecard](https://api.securityscorecards.dev/projects/github.com/cri-o/cri-o/badge)](https://scorecard.dev/viewer/?uri=github.com/cri-o/cri-o) +[![OpenSSF Best Practices](https://bestpractices.coreinfrastructure.org/projects/2298/badge)](https://bestpractices.coreinfrastructure.org/projects/2298) +[![Go Report Card](https://goreportcard.com/badge/github.com/cri-o/cri-o)](https://goreportcard.com/report/github.com/cri-o/cri-o) +[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fcri-o%2Fcri-o.svg?type=shield)](https://app.fossa.io/projects/git%2Bgithub.com%2Fcri-o%2Fcri-o?ref=badge_shield) +[![Mentioned in Awesome CRI-O](https://awesome.re/mentioned-badge.svg)](awesome.md) +[![Gitpod ready-to-code](https://img.shields.io/badge/Gitpod-ready--to--code-blue?logo=gitpod)](https://gitpod.io/#https://github.com/cri-o/cri-o) + + + +- [Compatibility matrix: CRI-O ⬄ Kubernetes](#compatibility-matrix-cri-o--kubernetes) +- [What is the scope of this project?](#what-is-the-scope-of-this-project) +- [What is not in the scope of this project?](#what-is-not-in-the-scope-of-this-project) +- [Roadmap](#roadmap) +- [CI images and jobs](#ci-images-and-jobs) +- [Commands](#commands) +- [Configuration](#configuration) +- [Security](#security) +- [OCI Hooks Support](#oci-hooks-support) +- [CRI-O Usage Transfer](#cri-o-usage-transfer) +- [Communication](#communication) +- [Awesome CRI-O](#awesome-cri-o) +- [Getting started](#getting-started) + - [Installing CRI-O](#installing-cri-o) + - [Running Kubernetes with CRI-O](#running-kubernetes-with-cri-o) + - [The HTTP status API](#the-http-status-api) + - [Metrics](#metrics) + - [Tracing](#tracing) + - [Container Runtime Interface special cases](#container-runtime-interface-special-cases) + - [Debugging tips](#debugging-tips) +- [Adopters](#adopters) +- [Weekly Meeting](#weekly-meeting) +- [Governance](#governance) +- [AI Assistants](#ai-assistants) +- [License Scan](#license-scan) + + +## Compatibility matrix: CRI-O ⬄ Kubernetes + +CRI-O follows the Kubernetes release cycles with respect to its minor versions +(`1.x.y`). Patch releases (`1.x.z`) for Kubernetes are not in sync with those from +CRI-O, because they are scheduled for each month, whereas CRI-O provides +them only if necessary. If a Kubernetes release goes [End of +Life](https://kubernetes.io/releases/patch-releases/), +then the corresponding CRI-O version can be considered in the same way. + +This means that CRI-O also follows the Kubernetes `n-2` release version skew +policy when it comes to feature graduation, deprecation or removal. This also +applies to features which are independent from Kubernetes. Nevertheless, feature +backports to supported release branches, which are independent from Kubernetes +or other tools like cri-tools, are still possible. This allows CRI-O to decouple +from the Kubernetes release cycle and have enough flexibility when it comes to +implement new features. Every feature to be backported will be a case by case +decision of the community while the overall compatibility matrix should not be +compromised. + +For more information visit the [Kubernetes Version Skew +Policy](https://kubernetes.io/releases/version-skew-policy/). + + + +| CRI-O | Kubernetes | Maintenance status | +| ------------------------------- | ------------------------------- | --------------------------------------------------------------------- | +| `main` branch | `master` branch | Features from the main Kubernetes repository are actively implemented | +| `release-1.x` branch (`v1.x.y`) | `release-1.x` branch (`v1.x.z`) | Maintenance is manual, only bugfixes will be backported. | + + + +The release notes for CRI-O are hand-crafted and can be continuously retrieved +from [our GitHub pages website](https://cri-o.github.io/cri-o). + +## What is the scope of this project? + +CRI-O is meant to provide an integration path between OCI conformant runtimes and +the Kubelet. +Specifically, it implements the Kubelet [Container Runtime Interface (CRI)](https://github.com/kubernetes/community/blob/master/contributors/devel/sig-node/container-runtime-interface.md) +using OCI conformant runtimes. +The scope of CRI-O is tied to the scope of the CRI. + +At a high level, we expect the scope of CRI-O to be restricted to the following functionalities: + +- Support multiple image formats including the existing Docker image format +- Support for multiple means to download images including trust & image verification +- Container image management (managing image layers, overlay filesystems, etc) +- Container process lifecycle management +- Monitoring and logging required to satisfy the CRI +- Resource isolation as required by the CRI + +## What is not in the scope of this project? + +- Building, signing and pushing images to various image storages +- A CLI utility for interacting with CRI-O. Any CLIs built as part of this project + are only meant for testing this project and there will be no guarantees on the + backward compatibility with it. + +CRI-O is an implementation of the Kubernetes Container Runtime Interface (CRI) +that will allow Kubernetes to directly launch and manage +Open Container Initiative (OCI) containers. + +The plan is to use OCI projects and best of breed libraries for different aspects: + +- Runtime: [runc](https://github.com/opencontainers/runc) + (or any OCI runtime-spec implementation) and [oci runtime tools](https://github.com/opencontainers/runtime-tools) +- Images: Image management using [container-libs/image](https://github.com/containers/container-libs/tree/main/image) +- Storage: Storage and management of image layers using [container-libs/storage](https://github.com/containers/container-libs/tree/main/storage) +- Networking: Networking support through the use of [CNI](https://github.com/containernetworking/cni) + +It is currently in active development in the Kubernetes community through the +[design proposal](https://github.com/kubernetes/kubernetes/pull/26788). +Questions and issues should be raised in the Kubernetes [sig-node Slack channel](https://kubernetes.slack.com/archives/sig-node). + +## Roadmap + +A roadmap that describes the direction of CRI-O can be found [here](/roadmap.md). +The project is tracking all ongoing efforts as part of the [Feature Roadmap +GitHub project](https://github.com/orgs/cri-o/projects/1). + +## CI images and jobs + +CRI-O's CI is split-up between GitHub actions and [OpenShift CI (Prow)](https://prow.ci.openshift.org). +Relevant virtual machine images used for the prow jobs are built periodically in +the jobs: + +- [periodic-ci-cri-o-cri-o-main-periodics-setup-periodic](https://prow.ci.openshift.org/?job=periodic-ci-cri-o-cri-o-main-periodics-setup-periodic) +- [periodic-ci-cri-o-cri-o-main-periodics-setup-fedora-periodic](https://prow.ci.openshift.org/?job=periodic-ci-cri-o-cri-o-main-periodics-setup-fedora-periodic) +- [periodic-ci-cri-o-cri-o-main-periodics-evented-pleg-periodic](https://prow.ci.openshift.org/?job=periodic-ci-cri-o-cri-o-main-periodics-evented-pleg-periodic) + +The jobs are maintained [from the openshift/release repository](https://github.com/openshift/release/blob/ecdeb0a/ci-operator/jobs/cri-o/cri-o/cri-o-cri-o-main-periodics.yaml) +and define workflows used for the particular jobs. The actual job definitions +can be found in the same repository under [ci-operator/jobs/cri-o/cri-o/cri-o-cri-o-main-presubmits.yaml](https://github.com/openshift/release/blob/ecdeb0a/ci-operator/jobs/cri-o/cri-o/cri-o-cri-o-main-presubmits.yaml) +for the `main` branch as well as the corresponding files for the release +branches. The base image configuration for those jobs is available in the same +repository under [ci-operator/config/cri-o/cri-o](https://github.com/openshift/release/tree/ecdeb0a/ci-operator/config/cri-o/cri-o). + +## Commands + +| Command | Description | +| -------------------------- | --------------------------------------- | +| [crio(8)](/docs/crio.8.md) | OCI Kubernetes Container Runtime daemon | + +Examples of commandline tools to interact with CRI-O +(or other CRI compatible runtimes) are [Crictl](https://github.com/kubernetes-sigs/cri-tools/releases) +and [Podman](https://github.com/containers/podman). + +## Configuration + + + +| File | Description | +| ----------------------------------------------------------------------------------------------------------------------- | ------------------------------------- | +| [crio.conf(5)](/docs/crio.conf.5.md) | CRI-O Configuration file | +| [policy.json(5)](https://github.com/containers/container-libs/blob/main/image/docs/containers-policy.json.5.md) | Signature Verification Policy File(s) | +| [registries.conf(5)](https://github.com/containers/container-libs/blob/main/image/docs/containers-registries.conf.5.md) | Registries Configuration file | +| [storage.conf(5)](https://github.com/containers/container-libs/blob/main/storage/docs/containers-storage.conf.5.md) | Storage Configuration file | + + + +For information about CRI-O annotations and their migration to Kubernetes-recommended naming conventions, +see the [Annotation Migration Guide](ANNOTATION_MIGRATION.md). + +## Security + +The security process for reporting vulnerabilities is described in [SECURITY.md](./SECURITY.md). + +## OCI Hooks Support + +[You can configure CRI-O][podman-hooks] to inject +[OCI Hooks][spec-hooks] when creating containers. + +## CRI-O Usage Transfer + +We provide [useful information for operations and development transfer](transfer.md) +as it relates to infrastructure that utilizes CRI-O. + +## Communication + +For async communication and long-running discussions please use [issues](https://github.com/cri-o/cri-o/issues) +and [pull requests](https://github.com/cri-o/cri-o/pulls) on the [GitHub repo](https://github.com/cri-o/cri-o). +This will be the best place to discuss design and implementation. + +For chat communication, we have a [channel on the Kubernetes slack](https://kubernetes.slack.com/archives/crio) +that everyone is welcome to join and chat about development. + +## Awesome CRI-O + +We maintain a curated [list of links related to CRI-O](awesome.md). Did you find +something interesting on the web about the project? Awesome, feel free to open +up a PR and add it to the list. + +## Getting started + +### Installing CRI-O + +To install `CRI-O`, you can follow our [installation guide](install.md). +Alternatively, if you'd rather build `CRI-O` from source, checkout our [setup +guide](install.md#build-and-install-cri-o-from-source). + +### Running Kubernetes with CRI-O + +Before you begin, you'll need to [start CRI-O](install.md#starting-cri-o) + +You can run a local version of Kubernetes with `CRI-O` using `local-up-cluster.sh`: + +1. Clone the [Kubernetes repository](https://github.com/kubernetes/kubernetes) +1. From the Kubernetes project directory, run: + +```console +CGROUP_DRIVER=systemd \ +CONTAINER_RUNTIME=remote \ +CONTAINER_RUNTIME_ENDPOINT='unix:///var/run/crio/crio.sock' \ +./hack/local-up-cluster.sh +``` + +For more guidance in running `CRI-O`, visit our [tutorial page](tutorial.md) + +[podman-hooks]: https://github.com/containers/podman/blob/v3.0.1/pkg/hooks/README.md +[spec-hooks]: https://github.com/opencontainers/runtime-spec/blob/v1.0.1/config.md#posix-platform-hooks + +#### The HTTP status API + +CRI-O exposes per default the [gRPC](https://grpc.io/) API to fulfill the +Container Runtime Interface (CRI) of Kubernetes. Besides this, there exists an +additional HTTP API to retrieve further runtime status information about CRI-O. +Please be aware that this API is not considered to be stable and production +use-cases should not rely on it. + +On a running CRI-O instance, we can access the API via an HTTP transfer tool like +[curl](https://curl.haxx.se): + +```console +$ sudo curl -v --unix-socket /var/run/crio/crio.sock http://localhost/info | jq +{ + "storage_driver": "btrfs", + "storage_root": "/var/lib/containers/storage", + "cgroup_driver": "systemd", + "default_id_mappings": { ... } +} +``` + +The following API entry points are currently supported: + + + +| Path | Content-Type | Description | +| ------------------- | ------------------ | ---------------------------------------------------------------------------------- | +| `/info` | `application/json` | General information about the runtime, like `storage_driver` and `storage_root`. | +| `/containers/:id` | `application/json` | Dedicated container information, like `name`, `pid` and `image`. | +| `/config` | `application/toml` | The complete TOML configuration (defaults to `/etc/crio/crio.conf`) used by CRI-O. | +| `/pause/:id` | `application/json` | Pause a running container. | +| `/unpause/:id` | `application/json` | Unpause a paused container. | +| `/debug/goroutines` | `text/plain` | Print the goroutine stacks. | +| `/debug/heap` | `text/plain` | Write the heap dump. | + + + +The subcommand `crio status` can be used to access the API with a dedicated command +line tool. It supports all API endpoints via the dedicated subcommands `config`, +`info` and `containers`, for example: + +```console +$ sudo crio status info +cgroup driver: systemd +storage driver: btrfs +storage root: /var/lib/containers/storage +default GID mappings (format ::): + 0:0:4294967295 +default UID mappings (format ::): + 0:0:4294967295 +``` + +#### Metrics + +Please refer to the [CRI-O Metrics guide](tutorials/metrics.md). + +#### Tracing + +Please refer to the [CRI-O Tracing guide](tutorials/tracing.md). + +#### Container Runtime Interface special cases + +Some aspects of the Container Runtime are worth some additional explanation. +These details are summarized in a [dedicated guide](cri.md). + +#### Debugging tips + +Having an issue? There are some tips and tricks for debugging located in +[our debugging guide](tutorials/debugging.md) + +## Adopters + +An incomplete list of adopters of CRI-O in production environments can be found [here](ADOPTERS.md). +If you're a user, please help us complete it by submitting a pull-request! + +## Weekly Meeting + +A weekly meeting is held to discuss CRI-O development. It is open to everyone. +The details to join the meeting are on the [wiki](https://github.com/cri-o/cri-o/wiki/CRI-O-Weekly-Meeting). + +## Governance + +For more information on how CRI-O is governed, take a look at the [governance file](GOVERNANCE.md) + +## AI Assistants + +For AI coding assistants working with this codebase, see [AGENTS.md](AGENTS.md) for project context, workflow patterns, and development guidelines. + +## License Scan + +[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fcri-o%2Fcri-o.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2Fcri-o%2Fcri-o?ref=badge_large) diff --git a/data/readmes/crossplane-v213.md b/data/readmes/crossplane-v213.md new file mode 100644 index 0000000..a93104d --- /dev/null +++ b/data/readmes/crossplane-v213.md @@ -0,0 +1,172 @@ +# Crossplane - README (v2.1.3) + +**Repository**: https://github.com/crossplane/crossplane +**Version**: v2.1.3 + +--- + +[![OpenSSF Best Practices](https://www.bestpractices.dev/projects/3260/badge)](https://www.bestpractices.dev/projects/3260) ![CI](https://github.com/crossplane/crossplane/workflows/CI/badge.svg) [![Go Report Card](https://goreportcard.com/badge/github.com/crossplane/crossplane)](https://goreportcard.com/report/github.com/crossplane/crossplane) + +![Crossplane](banner.png) + +Crossplane is a framework for building cloud native control planes without +needing to write code. It has a highly extensible backend that enables you to +build a control plane that can orchestrate applications and infrastructure no +matter where they run, and a highly configurable frontend that puts you in +control of the schema of the declarative API it offers. + +Crossplane is a [Cloud Native Computing Foundation][cncf] project. + +## Get Started + +Crossplane's [Get Started Docs] covers install and resource quickstarts. + +## Releases + +[![GitHub release](https://img.shields.io/github/release/crossplane/crossplane/all.svg)](https://github.com/crossplane/crossplane/releases) [![Artifact Hub](https://img.shields.io/endpoint?url=https://artifacthub.io/badge/repository/crossplane)](https://artifacthub.io/packages/helm/crossplane/crossplane) + +Currently maintained releases, as well as the next few upcoming releases are +listed below. For more information take a look at the Crossplane [release cycle +documentation]. + +| Release | Release Date | EOL | +|:-------:|:-------------:|:--------:| +| v1.20 | May 21, 2025 | Feb 2026 | +| v2.0 | Aug 8, 2025 | May 2026 | +| v2.1 | Nov 5, 2025 | Aug 2026 | +| v2.2 | Early Feb '26 | Nov 2026 | +| v2.3 | Early May '26 | Feb 2027 | +| v2.4 | Early Aug '26 | May 2027 | + +You can subscribe to the [community calendar] to track all release dates, and +find the most recent releases on the [releases] page. + +The release process is fully documented in the [`crossplane/release`] repo. + +## Roadmap + +The public roadmap for Crossplane is published as a GitHub project board. Issues +added to the roadmap have been triaged and identified as valuable to the +community, and therefore a priority for the project that we expect to invest in. + +The maintainer team regularly triages requests from the community to identify +features and issues of suitable scope and impact to include in this roadmap. The +community is encouraged to show their support for potential roadmap issues by +adding a :+1: reaction, leaving descriptive comments, and attending the +[regular community meetings] to discuss their requirements and use cases. + +The maintainer team updates the roadmap on an as needed basis, in response to +demand, priority, and available resources. The public roadmap can be updated at +any time. + +Milestones assigned to any issues in the roadmap are intended to give a sense of +overall priority and the expected order of delivery. They should be considered +approximate estimations and are **not** a strict commitment to a specific +delivery timeline. + +[Crossplane Roadmap] + +## Get Involved + +[![Slack](https://img.shields.io/badge/slack-crossplane-red?logo=slack)](https://slack.crossplane.io) [![Bluesky Follow](https://img.shields.io/badge/bluesky-Follow-blue?logo=bluesky)](https://bsky.app/profile/crossplane.io) [![Twitter Follow](https://img.shields.io/twitter/follow/crossplane_io?logo=X&label=Follow&style=flat)](https://twitter.com/intent/follow?screen_name=crossplane_io&user_id=788180534543339520) [![YouTube Channel Subscribers](https://img.shields.io/youtube/channel/subscribers/UC19FgzMBMqBro361HbE46Fw)](https://www.youtube.com/@Crossplane) + +Crossplane is a community driven project; we welcome your contribution. To file +a bug, suggest an improvement, or request a new feature please open an [issue +against Crossplane] or the relevant provider. Refer to our [contributing guide] +for more information on how you can help. + +* Discuss Crossplane on [Slack]. +* Follow us on [Bluesky], [Twitter], or [LinkedIn]. +* Contact us via [Email]. +* Join our regular community meetings. +* Provide feedback on our [roadmap and releases board]. + +The Crossplane community meeting takes place every 4 weeks on [Thursday at +10:00am Pacific Time][community meeting time]. You can find the up to date +meeting schedule on the [Community Calendar][community calendar]. + +Anyone who wants to discuss the direction of the project, design and +implementation reviews, or raise general questions with the broader community is +encouraged to join. + +* Meeting link: +* [Current agenda and past meeting notes] +* [Past meeting recordings] +* [Community Calendar][community calendar] + +### Special Interest Groups (SIG) + +The Crossplane project supports SIGs as discussion groups that bring together +community members with shared interests. SIGs have no decision making authority +or ownership responsibilities. They serve purely as collaborative forums for +community discussion. + +If you're interested in any of the areas below, consider joining the discussion +in their Slack channels. To propose a new SIG that isn't represented, reach out +through any of the contact methods in the [get involved] section. + +Each SIG collaborates primarily in Slack, and some groups hold regular meetings +that you can find in the [Community Calendar][community calendar]. + +- [#sig-cli][sig-cli] +- [#sig-composition-environments][sig-composition-environments-slack] +- [#sig-composition-functions][sig-composition-functions-slack] +- [#sig-deletion-ordering][sig-deletion-ordering-slack] +- [#sig-devex][sig-devex-slack] +- [#sig-docs][sig-docs-slack] +- [#sig-e2e-testing][sig-e2e-testing-slack] +- [#sig-observability][sig-observability-slack] +- [#sig-observe-only][sig-observe-only-slack] +- [#sig-provider-families][sig-provider-families-slack] +- [#sig-secret-stores][sig-secret-stores-slack] +- [#sig-upjet][sig-upjet-slack] + +## Adopters + +A list of publicly known users of the Crossplane project can be found in [ADOPTERS.md]. We +encourage all users of Crossplane to add themselves to this list - we want to see the community's +growing success! + +## License + +Crossplane is under the Apache 2.0 license. + +[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fcrossplane%2Fcrossplane.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2Fcrossplane%2Fcrossplane?ref=badge_large) + + + +[Crossplane]: https://crossplane.io +[release cycle documentation]: https://docs.crossplane.io/knowledge-base/guides/release-cycle +[install]: https://crossplane.io/docs/latest +[Slack]: https://slack.crossplane.io +[Bluesky]: https://bsky.app/profile/crossplane.io +[Twitter]: https://twitter.com/crossplane_io +[LinkedIn]: https://www.linkedin.com/company/crossplane/ +[Email]: mailto:crossplane-info@lists.cncf.io +[issue against Crossplane]: https://github.com/crossplane/crossplane/issues +[contributing guide]: contributing/README.md +[community meeting time]: https://www.thetimezoneconverter.com/?t=10:00&tz=PT%20%28Pacific%20Time%29 +[Current agenda and past meeting notes]: https://docs.google.com/document/d/1q_sp2jLQsDEOX7Yug6TPOv7Fwrys6EwcF5Itxjkno7Y/edit?usp=sharing +[Past meeting recordings]: https://www.youtube.com/playlist?list=PL510POnNVaaYYYDSICFSNWFqNbx1EMr-M +[roadmap and releases board]: https://github.com/orgs/crossplane/projects/20/views/9?pane=info +[cncf]: https://www.cncf.io/ +[Get Started Docs]: https://docs.crossplane.io/latest/get-started/get-started-with-composition +[community calendar]: https://zoom-lfx.platform.linuxfoundation.org/meetings/crossplane?view=month +[releases]: https://github.com/crossplane/crossplane/releases +[`crossplane/release`]: https://github.com/crossplane/release +[ADOPTERS.md]: ADOPTERS.md +[regular community meetings]: https://github.com/crossplane/crossplane/blob/main/README.md#get-involved +[Crossplane Roadmap]: https://github.com/orgs/crossplane/projects/20/views/9?pane=info +[get involved]: https://github.com/crossplane/crossplane/blob/main/README.md#get-involved +[sig-cli]: https://crossplane.slack.com/archives/C08V9PMLRQA +[sig-composition-environments-slack]: https://crossplane.slack.com/archives/C05BP6QFLUW +[sig-composition-functions-slack]: https://crossplane.slack.com/archives/C031Y29CSAE +[sig-deletion-ordering-slack]: https://crossplane.slack.com/archives/C05BP8W5ALW +[sig-devex-slack]: https://crossplane.slack.com/archives/C05U1LLM3B2 +[sig-docs-slack]: https://crossplane.slack.com/archives/C02CAQ52DPU +[sig-e2e-testing-slack]: https://crossplane.slack.com/archives/C05C8CCTVNV +[sig-observability-slack]: https://crossplane.slack.com/archives/C061GNH3LA0 +[sig-observe-only-slack]: https://crossplane.slack.com/archives/C04D5988QEA +[sig-provider-families-slack]: https://crossplane.slack.com/archives/C056YAQRV16 +[sig-secret-stores-slack]: https://crossplane.slack.com/archives/C05BY7DKFV2 +[sig-upjet-slack]: https://crossplane.slack.com/archives/C05T19TB729 diff --git a/data/readmes/cubefs-v352.md b/data/readmes/cubefs-v352.md new file mode 100644 index 0000000..d691d52 --- /dev/null +++ b/data/readmes/cubefs-v352.md @@ -0,0 +1,106 @@ +# CubeFS - README (v3.5.2) + +**Repository**: https://github.com/cubefs/cubefs +**Version**: v3.5.2 + +--- + +# CubeFS + +[![CNCF Status](https://img.shields.io/badge/cncf%20status-graduated-blue.svg)](https://www.cncf.io/projects) +[![Build Status](https://github.com/cubefs/cubefs/actions/workflows/ci.yml/badge.svg)](https://github.com/cubefs/cubefs/actions/workflows/ci.yml) +[![LICENSE](https://img.shields.io/github/license/cubefs/cubefs.svg)](https://github.com/cubefs/cubefs/blob/master/LICENSE) +[![Language](https://img.shields.io/badge/Language-Go-blue.svg)](https://golang.org/) +[![Go Report Card](https://goreportcard.com/badge/github.com/cubefs/cubefs)](https://goreportcard.com/report/github.com/cubefs/cubefs) +[![Docs](https://img.shields.io/badge/docs-latest-green.svg)](https://cubefs.io/docs/master/overview/introduction.html) +[![OpenSSF Best Practices](https://www.bestpractices.dev/projects/6232/badge)](https://www.bestpractices.dev/projects/6232) +[![OpenSSF Scorecard](https://api.securityscorecards.dev/projects/github.com/cubefs/cubefs/badge)](https://securityscorecards.dev/viewer/?uri=github.com/cubefs/cubefs) +[![Codecov](https://img.shields.io/codecov/c/github/cubefs/cubefs?style=flat-square&logo=codecov)](https://codecov.io/gh/cubefs/cubefs) +[![Artifact HUB](https://img.shields.io/endpoint?url=https://artifacthub.io/badge/repository/cubefs)](https://artifacthub.io/packages/helm/cubefs/cubefs) +[![CLOMonitor](https://img.shields.io/endpoint?url=https://clomonitor.io/api/projects/cncf/chubao-fs/badge)](https://clomonitor.io/projects/cncf/chubao-fs) +[![FOSSA Status](https://app.fossa.com/api/projects/git%2Bgithub.com%2Fcubefs%2Fcubefs.svg?type=shield&issueType=security)](https://app.fossa.com/projects/git%2Bgithub.com%2Fcubefs%2Fcubefs?ref=badge_shield) +[![Release](https://img.shields.io/github/v/release/cubefs/cubefs.svg?color=161823&style=flat-square&logo=smartthings)](https://github.com/cubefs/cubefs/releases) +[![Tag](https://img.shields.io/github/v/tag/cubefs/cubefs.svg?color=ee8936&logo=fitbit&style=flat-square)](https://github.com/cubefs/cubefs/tags) +[![Gurubase](https://img.shields.io/badge/Gurubase-Ask%20CubeFS%20Guru-006BFF)](https://gurubase.io/g/cubefs) + +| Community Meeting| +|------------------| +| The CubeFS Project holds bi-weekly community online meeting. To join or watch previous meeting notes and recordings, please see [meeting schedule](https://github.com/cubefs/community/wiki/Meeting-Schedule) and [meeting minutes](https://github.com/cubefs/community/wiki/Meeting-Agenda-and-Notes). | + + +
CubeFS
+ + +## Overview + +CubeFS ("储宝" in Chinese) is an open-source cloud-native distributed file & object storage system, hosted by the [Cloud Native Computing Foundation](https://cncf.io) (CNCF) as a [graduated](https://www.cncf.io/projects/) project. + +## What can you build with CubeFS + +* As an open-source distributed storage, CubeFS can serve as your datacenter filesystem, data lake storage infra, and private or hybrid cloud storage. +* Moreover, it can be run in public cloud services, providing cache acceleration and file system semantics on top of public cloud storage such as S3. + +* In particular, CubeFS enables the separation of storage/compute architecture for databases, search systems, and AI/ML applications. + +Some key features of CubeFS include: + +- Multiple access protocols such as POSIX, HDFS, S3, and its own REST API +- Highly scalable metadata service with strong consistency +- Performance optimization of large/small files and sequential/random writes +- Multi-tenancy support with better resource utilization and tenant isolation +- Hybrid cloud I/O acceleration through multi-level caching +- Flexible storage policies, high-performance replication or low-cost erasure coding + + +
CubeFS Architecture
+ +## Documents + +- English version: https://cubefs.io/docs/master/overview/introduction.html +- Chinese version: https://cubefs.io/zh/docs/master/overview/introduction.html + +## Community + +- Homepage: [cubefs.io](https://cubefs.io/) +- Mailing list: users@cubefs.groups.io. + - Please subscribe on the page https://groups.io/g/cubefs-users/ or send your email to cubefs-users+subscribe@groups.io to apply. +- Slack: [cubefs.slack.com](https://cubefs.slack.com/) +- WeChat: detail see [here](https://github.com/cubefs/cubefs/issues/604) +- Twitter: [cubefs_storage](https://twitter.com/cubefs_storage) + +## Governance + +[Governance documentation](https://github.com/cubefs/cubefs/blob/master/GOVERNANCE.md) plays a crucial role in establishing clear guidelines, procedures, and structures within an organization or project + +## Contribute +[Contributing to CubeFS](https://github.com/cubefs/cubefs/blob/master/CONTRIBUTING.md) + +There is a clear definition of roles and their promotion paths. +- [Becoming a Maintainer](https://github.com/cubefs/cubefs/blob/master/GOVERNANCE.md#becoming-a-maintainer) +- [Becoming a committer](https://github.com/cubefs/cubefs/blob/master/GOVERNANCE.md#becoming-a-committer) +- [Becoming a TSC Member](https://github.com/cubefs/cubefs/blob/master/GOVERNANCE.md#becoming-a-tsc-member) + + +## Partners and Users + +There is the list of users and success stories [ADOPTERS.md](ADOPTERS.md). + +## Reference + +Haifeng Liu, et al., CFS: A Distributed File System for Large Scale Container Platforms. SIGMOD‘19, June 30-July 5, 2019, Amsterdam, Netherlands. + +For more information, please refer to https://dl.acm.org/citation.cfm?doid=3299869.3314046 and https://arxiv.org/abs/1911.03001 + + +## License + +CubeFS is licensed under the [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0). +For detail see [LICENSE](LICENSE) and [NOTICE](NOTICE). + +## Note + +The master branch may be in an unstable or even broken state during development. Please use releases instead of the master branch in order to get a stable set of binaries. + +## Star History + +[![Star History Chart](https://api.star-history.com/svg?repos=cubefs/cubefs&type=Date)](https://star-history.com/#cubefs/cubefs&Date) diff --git a/data/readmes/curl-curl-8_17_0.md b/data/readmes/curl-curl-8_17_0.md new file mode 100644 index 0000000..5aeba65 --- /dev/null +++ b/data/readmes/curl-curl-8_17_0.md @@ -0,0 +1,73 @@ +# curl - README (curl-8_17_0) + +**Repository**: https://github.com/curl/curl +**Version**: curl-8_17_0 + +--- + + + +# [![curl logo](https://curl.se/logo/curl-logo.svg)](https://curl.se/) + +curl is a command-line tool for transferring data from or to a server using +URLs. It supports these protocols: DICT, FILE, FTP, FTPS, GOPHER, GOPHERS, +HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS, MQTT, POP3, POP3S, RTMP, RTMPS, RTSP, +SCP, SFTP, SMB, SMBS, SMTP, SMTPS, TELNET, TFTP, WS and WSS. + +Learn how to use curl by reading [the +man page](https://curl.se/docs/manpage.html) or [everything +curl](https://everything.curl.dev/). + +Find out how to install curl by reading [the INSTALL +document](https://curl.se/docs/install.html). + +libcurl is the library curl is using to do its job. It is readily available to +be used by your software. Read [the libcurl +man page](https://curl.se/libcurl/c/libcurl.html) to learn how. + +## Open Source + +curl is Open Source and is distributed under an MIT-like +[license](https://curl.se/docs/copyright.html). + +## Contact + +Contact us on a suitable [mailing list](https://curl.se/mail/) or +use GitHub [issues](https://github.com/curl/curl/issues)/ +[pull requests](https://github.com/curl/curl/pulls)/ +[discussions](https://github.com/curl/curl/discussions). + +All contributors to the project are listed in [the THANKS +document](https://curl.se/docs/thanks.html). + +## Commercial support + +For commercial support, maybe private and dedicated help with your problems or +applications using (lib)curl visit [the support page](https://curl.se/support.html). + +## Website + +Visit the [curl website](https://curl.se/) for the latest news and downloads. + +## Source code + +Download the latest source from the Git server: + + git clone https://github.com/curl/curl + +## Security problems + +Report suspected security problems via [our HackerOne +page](https://hackerone.com/curl) and not in public. + +## Backers + +Thank you to all our backers :pray: [Become a backer](https://opencollective.com/curl#section-contribute). + +## Sponsors + +Support this project by becoming a [sponsor](https://curl.se/sponsors.html). diff --git a/data/readmes/curve-v127-rc6.md b/data/readmes/curve-v127-rc6.md new file mode 100644 index 0000000..67f2209 --- /dev/null +++ b/data/readmes/curve-v127-rc6.md @@ -0,0 +1,98 @@ +# Curve - README (v1.2.7-rc6) + +**Repository**: https://github.com/opencurve/curve +**Version**: v1.2.7-rc6 + +--- + +[English version](README_en.md) + + + + +# CURVE + +[![Jenkins Coverage](https://img.shields.io/jenkins/coverage/cobertura?jobUrl=http%3A%2F%2F59.111.93.165%3A8080%2Fjob%2Fcurve_untest_job%2F)](http://59.111.93.165:8080/job/curve_untest_job/HTML_20Report/) +[![Robot failover](https://img.shields.io/jenkins/build?jobUrl=http%3A%2F%2F59.111.93.165%3A8080%2Fjob%2Fcurve_failover_testjob%2F&label=failover)](http://59.111.93.165:8080/job/curve_failover_testjob/) +[![Robot interface](https://img.shields.io/jenkins/tests?jobUrl=http%3A%2F%2F59.111.93.165%3A8080%2Fjob%2Fcurve_robot_job%2F)](http://59.111.93.165:8080/job/curve_robot_job/) +[![BUILD Status](https://img.shields.io/jenkins/build?jobUrl=http%3A%2F%2F59.111.93.165%3A8080%2Fjob%2Fopencurve_multijob%2F)](http://59.111.93.165:8080/job/opencurve_multijob/lastBuild) +[![Docs](https://img.shields.io/badge/docs-latest-green.svg)](https://github.com/opencurve/curve/tree/master/docs) +[![Releases](https://img.shields.io/github/v/release/opencurve/curve?include_prereleases)](https://github.com/opencurve/curve/releases) +[![LICENSE](https://img.shields.io/badge/licence-Apache--2.0%2FGPL-blue)](https://github.com/opencurve/curve/blob/master/LICENSE) + + +CURVE是网易自主设计研发的高性能、高可用、高可靠分布式存储系统,具有非常良好的扩展性。基于该存储底座可以打造适用于不同应用场景的存储系统,如块存储、对象存储、云原生数据库等。当前我们基于CURVE已经实现了高性能块存储系统,支持快照克隆和恢复 ,支持QEMU虚拟机和物理机NBD设备两种挂载方式, 在网易内部作为高性能云盘使用。 + +## 设计文档 + +- 通过 [CURVE概述](https://opencurve.github.io/) 可以了解 CURVE 架构 +- CURVE相关文档 + - [NEBD](docs/cn/nebd.md) + - [MDS](docs/cn/mds.md) + - [Chunkserver](docs/cn/chunkserver_design.md) + - [Snapshotcloneserver](docs/cn/snapshotcloneserver.md) + - [CURVE质量体系介绍](docs/cn/quality.md) + - [CURVE监控体系介绍](docs/cn/monitor.md) + - [Client](docs/cn/curve-client.md) + - [Client Python API](docs/cn/curve-client-python-api.md) +- CURVE上层应用 + - [对接k8s文档](docs/cn/k8s_csi_interface.md) + +## 快速开始 + +在您开始动手部署前请先仔细阅读特别说明部分:[特别说明](docs/cn/deploy.md#%E7%89%B9%E5%88%AB%E8%AF%B4%E6%98%8E) + +### 部署All-in-one体验环境 + +[单机部署](docs/cn/deploy.md#%E5%8D%95%E6%9C%BA%E9%83%A8%E7%BD%B2) + +### 部署多机集群 + +[多机部署](docs/cn/deploy.md#%E5%A4%9A%E6%9C%BA%E9%83%A8%E7%BD%B2) + +### 查询工具说明 + +[查询工具说明](docs/cn/curve_ops_tool.md) + +## 参与开发 + + +### 部署编译开发环境 + +[编译开发环境搭建](docs/cn/build_and_run.md) + +### 测试用例编译及运行 +[测试用例编译及运行](docs/cn/build_and_run.md#%E6%B5%8B%E8%AF%95%E7%94%A8%E4%BE%8B%E7%BC%96%E8%AF%91%E5%8F%8A%E6%89%A7%E8%A1%8C) + +### 编码规范 +CURVE编码规范严格按照[Google C++开源项目编码指南](https://zh-google-styleguide.readthedocs.io/en/latest/google-cpp-styleguide/contents/)来进行代码编写,请您也遵循这一指南来提交您的代码。 + +### 测试覆盖率要求 +1. 单元测试:增量行覆盖80%以上,增量分支覆盖70%以上 +2. 集成测试:与单元测试合并统计,满足上述覆盖率要求即可 +3. 异常测试:暂不做要求 + +### 其他开发流程说明 +代码开发完成之后,提[pr](https://github.com/opencurve/curve/compare)到curve的master分支。提交pr时,请填写pr模板。pr提交之后会自动触发CI,CI通过并且经过review之后,代码才可合入。 +具体规则请见[CONTRIBUTING](https://github.com/opencurve/curve/blob/master/CONTRIBUTING.md). + +## 版本发布周期 +- CURVE版本发布周期:大版本半年,小版本1~2个月 +- 版本号规则:采用3段式版本号,x.y.z{-后缀},x是大版本,y是小版本,z是bugfix,后缀用来区beta版本(-beta)、rc版本(-rc)、和稳定版本(没有后缀)。每半年的大版本是指x增加1,每1~2个月的小版本是y增加1。正式版本发布之后,如果有bugfix是z增加1。 + +## 分支规则 +所有的开发都在master分支开发,如果需要发布版本,从master拉取新的分支**release-x.y**。版本发布从release-x.y分支发布。 + +## 反馈及交流 + +- [Github Issues](https://github.com/openCURVE/CURVE/issues):欢迎提交BUG、建议,使用中如遇到问题可参考FAQ或加入我们的User group进行咨询 +- [FAQ](https://github.com/openCURVE/CURVE/wiki/CURVE-FAQ):主要根据User group中常见问题整理,还在逐步完善中 +- User group:当前为微信群,由于群人数过多,需要先添加以下个人微信,再邀请进群。 + + + + + + + + diff --git a/data/readmes/dapr-v1164.md b/data/readmes/dapr-v1164.md new file mode 100644 index 0000000..35201b5 --- /dev/null +++ b/data/readmes/dapr-v1164.md @@ -0,0 +1,167 @@ +# Dapr - README (v1.16.4) + +**Repository**: https://github.com/dapr/dapr +**Version**: v1.16.4 + +--- + +
+

APIs for Building Secure and Reliable Microservices

+
+ +[![Go Report][go-report-badge]][go-report-url] [![OpenSSF][openssf-badge]][openssf-url] [![Docker Pulls][docker-badge]][docker-url] [![Build Status][actions-badge]][actions-url] [![Test Status][e2e-badge]][e2e-url] [![Code Coverage][codecov-badge]][codecov-url] [![License: Apache 2.0][apache-badge]][apache-url] [![FOSSA Status][fossa-badge]][fossa-url] [![TODOs][todo-badge]][todo-url] [![Good First Issues][gfi-badge]][gfi-url] [![discord][discord-badge]][discord-url] [![YouTube][youtube-badge]][youtube-link] [![Bluesky][bluesky-badge]][bluesky-link] [![X/Twitter][x-badge]][x-link] + +[go-report-badge]: https://goreportcard.com/badge/github.com/dapr/dapr +[go-report-url]: https://goreportcard.com/report/github.com/dapr/dapr +[openssf-badge]: https://www.bestpractices.dev/projects/5044/badge +[openssf-url]: https://www.bestpractices.dev/projects/5044 +[docker-badge]: https://img.shields.io/docker/pulls/daprio/daprd?style=flat&logo=docker +[docker-url]: https://hub.docker.com/r/daprio/dapr +[apache-badge]: https://img.shields.io/github/license/dapr/dapr?style=flat&label=License&logo=github +[apache-url]: https://github.com/dapr/dapr/blob/master/LICENSE +[actions-badge]: https://github.com/dapr/dapr/workflows/dapr/badge.svg?event=push&branch=master +[actions-url]: https://github.com/dapr/dapr/actions?workflow=dapr +[e2e-badge]: https://img.shields.io/endpoint?url=https://gist.githubusercontent.com/dapr-bot/14e974e8fd6c6eab03a2475beb1d547a/raw/dapr-test-badge.json +[e2e-url]: https://github.com/dapr/dapr/actions?workflow=dapr-test&event=schedule +[codecov-badge]: https://codecov.io/gh/dapr/dapr/branch/master/graph/badge.svg +[codecov-url]: https://codecov.io/gh/dapr/dapr +[fossa-badge]: https://app.fossa.com/api/projects/custom%2B162%2Fgithub.com%2Fdapr%2Fdapr.svg?type=shield +[fossa-url]: https://app.fossa.com/projects/custom%2B162%2Fgithub.com%2Fdapr%2Fdapr?ref=badge_shield +[todo-badge]: https://badgen.net/https/api.tickgit.com/badgen/github.com/dapr/dapr +[todo-url]: https://www.tickgit.com/browse?repo=github.com/dapr/dapr +[gfi-badge]:https://img.shields.io/github/issues-search/dapr/dapr?query=type%3Aissue%20is%3Aopen%20label%3A%22good%20first%20issue%22&label=Good%20first%20issues&style=flat&logo=github +[gfi-url]:https://github.com/dapr/dapr/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22 +[discord-badge]: https://img.shields.io/discord/778680217417809931?label=Discord&style=flat&logo=discord +[discord-url]: http://bit.ly/dapr-discord +[youtube-badge]:https://img.shields.io/youtube/channel/views/UCtpSQ9BLB_3EXdWAUQYwnRA?style=flat&label=YouTube%20views&logo=youtube +[youtube-link]:https://youtube.com/@daprdev +[bluesky-badge]:https://img.shields.io/badge/Follow-%40daprdev.bsky.social-0056A1?logo=bluesky +[bluesky-link]:https://bsky.app/profile/daprdev.bsky.social +[x-badge]:https://img.shields.io/twitter/follow/daprdev?logo=x&style=flat +[x-link]:https://twitter.com/daprdev + +Dapr is a set of integrated APIs with built-in best practices and patterns to build distributed applications. Dapr increases your developer productivity by 20-40% with out-of-the-box features such as workflow, pub/sub, state management, secret stores, external configuration, bindings, actors, distributed lock, and cryptography. You benefit from the built-in security, reliability, and observability capabilities, so you don't need to write boilerplate code to achieve production-ready applications. + +With Dapr, a graduated CNCF project, platform teams can configure complex setups while exposing simple interfaces to application development teams, making it easier for them to build highly scalable distributed applications. Many platform teams have adopted Dapr to provide governance and golden paths for API-based infrastructure interaction. + +![Dapr overview](./img/overview.png) + +We are a Cloud Native Computing Foundation (CNCF) graduated project. +

+ +## Goals + +- Enable developers using *any* language or framework to write distributed applications +- Solve the hard problems developers face building microservice applications by providing best practice building blocks +- Be community driven, open and vendor neutral +- Gain new contributors +- Provide consistency and portability through open APIs +- Be platform agnostic across cloud and edge +- Embrace extensibility and provide pluggable components without vendor lock-in +- Enable IoT and edge scenarios by being highly performant and lightweight +- Be incrementally adoptable from existing code, with no runtime dependency + +## How it works + +Dapr injects a side-car (container or process) to each compute unit. The side-car interacts with event triggers and communicates with the compute unit via standard HTTP or gRPC protocols. This enables Dapr to support all existing and future programming languages without requiring you to import frameworks or libraries. + +Dapr offers built-in state management, reliable messaging (at least once delivery), triggers and bindings through standard HTTP verbs or gRPC interfaces. This allows you to write stateless, stateful and actor-like services following the same programming paradigm. You can freely choose consistency model, threading model and message delivery patterns. + +Dapr runs natively on Kubernetes, as a self hosted binary on your machine, on an IoT device, or as a container that can be injected into any system, in the cloud or on-premises. + +Dapr uses pluggable component state stores and message buses such as Redis as well as gRPC to offer a wide range of communication methods, including direct dapr-to-dapr using gRPC and async Pub-Sub with guaranteed delivery and at-least-once semantics. + + +## Why Dapr? + +Writing highly performant, scalable and reliable distributed application is hard. Dapr brings proven patterns and practices to you. It unifies event-driven and actors semantics into a simple, consistent programming model. It supports all programming languages without framework lock-in. You are not exposed to low-level primitives such as threading, concurrency control, partitioning and scaling. Instead, you can write your code by implementing a simple web server using familiar web frameworks of your choice. + +Dapr is flexible in threading and state consistency models. You can leverage multi-threading if you choose to, and you can choose among different consistency models. This flexibility enables you to implement advanced scenarios without artificial constraints. Dapr is unique because you can transition seamlessly between platforms and underlying implementations without rewriting your code. + +## Features + +* Event-driven Pub-Sub system with pluggable providers and at-least-once semantics +* Input and output bindings with pluggable providers +* State management with pluggable data stores +* Consistent service-to-service discovery and invocation +* Opt-in stateful models: Strong/Eventual consistency, First-write/Last-write wins +* Cross platform virtual actors +* Secret management to retrieve secrets from secure key vaults +* Rate limiting +* Built-in [Observability](https://docs.dapr.io/concepts/observability-concept/) support +* Runs natively on Kubernetes using a dedicated Operator and CRDs +* Supports all programming languages via HTTP and gRPC +* Multi-Cloud, open components (bindings, pub-sub, state) from Azure, AWS, GCP +* Runs anywhere, as a process or containerized +* Lightweight (58MB binary, 4MB physical memory) +* Runs as a sidecar - removes the need for special SDKs or libraries +* Dedicated CLI - developer friendly experience with easy debugging +* Clients for Java, .NET Core, Go, Javascript, Python, Rust and C++ + +## Get Started using Dapr + +See our [Getting Started](https://docs.dapr.io/getting-started/) guide over in our docs. + +## Quickstarts and Samples + +* See the [quickstarts repository](https://github.com/dapr/quickstarts) for code examples that can help you get started with Dapr. +* Explore additional samples in the Dapr [samples repository](https://github.com/dapr/samples). + +## Community +We want your contributions and suggestions! One of the easiest ways to contribute is to participate in discussions on the mailing list, chat on IM or the bi-weekly community calls. +For more information on the community engagement, developer and contributing guidelines and more, head over to the [Dapr community repo](https://github.com/dapr/community#dapr-community). + +### Contact Us + +Reach out with any questions you may have and we'll make sure to answer them as soon as possible! + +| Platform | Link | +|:----------|:------------| +| 💬 Discord (preferred) | [![Discord Banner](https://discord.com/api/guilds/778680217417809931/widget.png?style=banner2)](https://aka.ms/dapr-discord) +| 💭 LinkedIn | [@daprdev](https://www.linkedin.com/company/daprdev) +| 🦋 BlueSky | [@daprdev.bsky.social](https://bsky.app/profile/daprdev.bsky.social) +| 🐤 Twitter | [@daprdev](https://twitter.com/daprdev) + + +### Community Call + +Every two weeks we host a community call to showcase new features, review upcoming milestones, and engage in a Q&A. All are welcome! + +📞 Visit [Upcoming Dapr Community Calls](https://github.com/dapr/community/issues?q=is%3Aissue%20state%3Aopen%20label%3A%22community%20call%22) for upcoming dates and the meeting link. + +📺 Visit https://www.youtube.com/@DaprDev/streams for previous community call live streams. + +### Videos and Podcasts + +We have a variety of keynotes, podcasts, and presentations available to reference and learn from. + +📺 Visit https://docs.dapr.io/contributing/presentations/ for previous talks and slide decks or our YouTube channel https://www.youtube.com/@DaprDev/videos. + +### Contributing to Dapr + +See the [Development Guide](https://docs.dapr.io/contributing/) to get started with building and developing. + +## Repositories + +| Repo | Description | +|:-----|:------------| +| [Dapr](https://github.com/dapr/dapr) | The main repository that you are currently in. Contains the Dapr runtime code and overview documentation. +| [CLI](https://github.com/dapr/cli) | The Dapr CLI allows you to setup Dapr on your local dev machine or on a Kubernetes cluster, provides debugging support, launches and manages Dapr instances. +| [Docs](https://docs.dapr.io) | The documentation for Dapr. +| [Quickstarts](https://github.com/dapr/quickstarts) | This repository contains a series of simple code samples that highlight the main Dapr capabilities. +| [Samples](https://github.com/dapr/samples) | This repository holds community maintained samples for various Dapr use cases. +| [Components-contrib ](https://github.com/dapr/components-contrib) | The purpose of components contrib is to provide open, community driven reusable components for building distributed applications. +| [Dashboard ](https://github.com/dapr/dashboard) | General purpose dashboard for Dapr +| [Go-sdk](https://github.com/dapr/go-sdk) | Dapr SDK for Go +| [Java-sdk](https://github.com/dapr/java-sdk) | Dapr SDK for Java +| [JS-sdk](https://github.com/dapr/js-sdk) | Dapr SDK for JavaScript +| [Python-sdk](https://github.com/dapr/python-sdk) | Dapr SDK for Python +| [Dotnet-sdk](https://github.com/dapr/dotnet-sdk) | Dapr SDK for .NET +| [Rust-sdk](https://github.com/dapr/rust-sdk) | Dapr SDK for Rust +| [Cpp-sdk](https://github.com/dapr/cpp-sdk) | Dapr SDK for C++ +| [PHP-sdk](https://github.com/dapr/php-sdk) | Dapr SDK for PHP + + +## Code of Conduct + +Please refer to our [Dapr Community Code of Conduct](https://github.com/dapr/community/blob/master/CODE-OF-CONDUCT.md) diff --git a/data/readmes/dasel-v281.md b/data/readmes/dasel-v281.md new file mode 100644 index 0000000..5df7dd4 --- /dev/null +++ b/data/readmes/dasel-v281.md @@ -0,0 +1,168 @@ +# Dasel - README (v2.8.1) + +**Repository**: https://github.com/TomWright/dasel +**Version**: v2.8.1 + +--- + +[![Gitbook](https://badges.aleen42.com/src/gitbook_1.svg)](https://daseldocs.tomwright.me) +[![Go Report Card](https://goreportcard.com/badge/github.com/tomwright/dasel/v3)](https://goreportcard.com/report/github.com/tomwright/dasel/v3) +[![PkgGoDev](https://pkg.go.dev/badge/github.com/tomwright/dasel)](https://pkg.go.dev/github.com/tomwright/dasel/v3) +![Test](https://github.com/TomWright/dasel/workflows/Test/badge.svg) +![Build](https://github.com/TomWright/dasel/workflows/Build/badge.svg) +[![codecov](https://codecov.io/gh/TomWright/dasel/branch/master/graph/badge.svg)](https://codecov.io/gh/TomWright/dasel) +[![Mentioned in Awesome Go](https://awesome.re/mentioned-badge.svg)](https://github.com/avelino/awesome-go) +![GitHub All Releases Downloads](https://img.shields.io/github/downloads/TomWright/dasel/total) +![GitHub License](https://img.shields.io/github/license/TomWright/dasel) +[![GitHub tag (latest by date)](https://img.shields.io/github/v/tag/TomWright/dasel?label=latest%20release)](https://github.com/TomWright/dasel/releases/latest) +[![Homebrew tag (latest by date)](https://img.shields.io/homebrew/v/dasel)](https://formulae.brew.sh/formula/dasel) + +
+ Dasel mascot +
+ +# Dasel + +Dasel (short for **Data-Select**) is a command-line tool and library for querying, modifying, and transforming data structures such as JSON, YAML, TOML, XML, and CSV. + +It provides a consistent, powerful syntax to traverse and update data — making it useful for developers, DevOps, and data wrangling tasks. + +--- + +## Features + +* **Multi-format support**: JSON, YAML, TOML, XML, CSV, HCL (with more planned). +* **Unified query syntax**: Access data in any format with the same selectors. +* **Query & search**: Extract values, lists, or structures with intuitive syntax. +* **Modify in place**: Update, insert, or delete values directly in structured files. +* **Convert between formats**: Seamlessly transform data from JSON → YAML, TOML → JSON, etc. +* **Script-friendly**: Simple CLI integration for shell scripts and pipelines. +* **Library support**: Import and use in Go projects. + +--- + +## Installation + +### Homebrew (macOS/Linux) + +```sh +brew install dasel +``` + +### Go Install + +```sh +go install github.com/tomwright/dasel/v3/cmd/dasel@master +``` + +### Prebuilt Binaries + +Prebuilt binaries are available on the [Releases](https://github.com/TomWright/dasel/releases) page for Linux, macOS, and Windows. + +### None of the above? + +See the [installation docs](https://daseldocs.tomwright.me/getting-started/installation) for more options. + +--- + +## Basic Usage + +### Selecting Values + +By default, Dasel evaluates the final selector and prints the result. + +```sh +echo '{"foo": {"bar": "baz"}}' | dasel -i json 'foo.bar' +# Output: "baz" +``` + +### Modifying Values + +Update values inline: + +```sh +echo '{"foo": {"bar": "baz"}}' | dasel -i json 'foo.bar = "bong"' +# Output: "bong" +``` + +Use `--root` to output the full document after modification: + +```sh +echo '{"foo": {"bar": "baz"}}' | dasel -i json --root 'foo.bar = "bong"' +# Output: +{ + "foo": { + "bar": "bong" + } +} +``` + +Update values based on previous value: + +```sh +echo '[1,2,3,4,5]' | dasel -i json --root 'each($this = $this*2)' +# Output: +[ + 2, + 4, + 6, + 8, + 10 +] +``` + +### Format Conversion + +```sh +cat data.json | dasel -i json -o yaml +``` + +### Recursive Descent (`..`) + +Searches all nested objects and arrays for a matching key or index. + +```sh +echo '{"foo": {"bar": "baz"}}' | dasel -i json '..bar' +# Output: +[ + "baz" +] + +``` + +### Search (`search`) + +Finds all values matching a condition anywhere in the structure. + +```sh +echo '{"foo": {"bar": "baz"}}' | dasel -i json 'search(bar == "baz")' +# Output: +[ + { + "bar": "baz" + } +] + +``` + +--- + +## Documentation + +Full documentation is available at [daseldocs.tomwright.me](https://daseldocs.tomwright.me). + +--- + +## Contributing + +Contributions are welcome! Please see the [CONTRIBUTING.md](./CONTRIBUTING.md) for details. + +--- + +## License + +MIT License. See [LICENSE](./LICENSE) for details. + +## Stargazers over time + +[![Stargazers over time](https://starchart.cc/TomWright/dasel.svg)](https://starchart.cc/TomWright/dasel) diff --git a/data/readmes/devfile-v230.md b/data/readmes/devfile-v230.md new file mode 100644 index 0000000..9806eed --- /dev/null +++ b/data/readmes/devfile-v230.md @@ -0,0 +1,77 @@ +# Devfile - README (v2.3.0) + +**Repository**: https://github.com/devfile/api +**Version**: v2.3.0 + +--- + +# Kube-native API for cloud development workspaces specification + + + +Sources for this API are defined in Go code, starting from the +[devworkspace_types.go source file](pkg/apis/workspaces/v1alpha2/devworkspace_types.go) + +From these Go sources, several files are generated: + +- A Kubernetes Custom Resource Definition(CRD) with an embedded OpenApi schema, +- json schemas (in the [schemas](schemas) folder) generated from the above CRD, to specify the syntax of: + - the DevWorkspace CRD itself; + - the DevWorkspaceTemplate CRD (a devworkspace content, without runtime information); + - the Devfile 2.0.0 format, which is generated from the `DevWorkspace` API. + +Generated files are created by a build script (see section [How to build](#how-to-build)). + +## Devfile 2.0.0 file format + +A Subset of this `DevWorkspace` API defines a structure (workspace template content), which is also at the core of the **Devfile 2.0** format specification. +For more information about this, please look into the [Devfile support README](https://github.com/devfile/registry-support/blob/main/README.md) + +You can read the available generated [documentation of the Devfile 2.0 format](https://devfile.io/docs/2.3.0/devfile-schema), based on its json schema. + +Typescript model is build on each commit of main branch and available as an [NPM package](https://www.npmjs.com/package/@devfile/api). + +## Release + +Release details and process are found in [Devfile Release](RELEASE.md) + +## How to build + +For information about building this project visit [CONTRIBUTING.md](./CONTRIBUTING.md#building). + +## Specification status + +This work is still in an early stage of specification, and the related API and schemas are still a draft proposal. + +## Quickly open and test ? + +In order to test existing or new Devfile 2.0 or DevWorkspace sample files in a self-service Che workspace (hosted on che.openshift.io), just click on the button below: + +[![Contribute](https://img.shields.io/badge/developer-workspace-525C86?logo=eclipse-che&labelColor=FDB940)](https://workspaces.openshift.com/f?url=https://github.com/devfile/api) + +As soon as the devworkspace is opened, you should be able to: + +- open the `yaml` files in the following folders: + - `samples/` + - `devfile-support/samples` +- have `yaml` language support (completion and documentation) based on the current Json schemas. + +## Contributing + +Please see our [contributing.md](./CONTRIBUTING.md). + +## License + +Apache License 2.0, see [LICENSE](./LICENSE) for details. + +### Adding License Headers + +[`license_header`](./license_header.txt) contains the license header to be contained under all source files. For Go sources, this can be included by running `bash add_licenses.sh`. + +Ensure `github.com/google/addlicense` is installed by running `go install github.com/google/addlicense@latest`. diff --git a/data/readmes/devspace-v6318.md b/data/readmes/devspace-v6318.md new file mode 100644 index 0000000..8d63efc --- /dev/null +++ b/data/readmes/devspace-v6318.md @@ -0,0 +1,222 @@ +# DevSpace - README (v6.3.18) + +**Repository**: https://github.com/devspace-sh/devspace +**Version**: v6.3.18 + +--- + + + +### **[Website](https://devspace.sh)** • **[Quickstart](#quickstart)** • **[Documentation](https://devspace.sh/cli/docs/introduction)** • **[Blog](https://loft.sh/blog)** • **[Twitter](https://twitter.com/devspace)** + +![Build Status Passing](https://img.shields.io/github/actions/workflow/status/loft-sh/devspace/release.yaml?branch=main&style=for-the-badge) +![Latest Release](https://img.shields.io/github/v/release/loft-sh/devspace?style=for-the-badge&label=Latest%20Release&color=%23007ec6) +![License: Apache-2.0](https://img.shields.io/github/license/loft-sh/devspace?style=for-the-badge&color=%23007ec6) +![Total Downloads (GitHub Releases)](https://img.shields.io/github/downloads/loft-sh/devspace/total?style=for-the-badge&label=Total%20Downloads&color=%23007ec6) +![NPM Installs per Month](https://img.shields.io/npm/dm/devspace?label=NPM%20Installs&style=for-the-badge&color=%23007ec6) +![OpenSSF Best Practices](https://bestpractices.coreinfrastructure.org/projects/6945/badge) + +[![Join us on Slack!](docs/static/img/slack.svg)](https://slack.loft.sh/) + +### Client-Only Developer Tool for Cloud-Native Development with Kubernetes +- **Build, test and debug applications directly inside Kubernetes** +- **Develop with hot reloading**: updates your running containers without rebuilding images or restarting containers +- **Unify deployment workflows** within your team and across dev, staging and production +- **Automate repetitive tasks** for image building and deployment + +
+ +![DevSpace Compatibility](docs/static/img/cluster-compatibility.png) + +
+ +

+⭐️ Do you like DevSpace? Support the project with a star ⭐️ +

+ +
+ +DevSpace was created by [Loft Labs](https://loft.sh) and is a [Cloud Native Computing Foundation (CNCF) sandbox project](https://www.cncf.io/sandbox-projects/). + +
+ +## Contents +- [Why DevSpace?](#why-devspace) +- [Quickstart Guide](#quickstart) +- [Architecture & Workflow](#architecture--workflow) +- [Contributing](#contributing) +- [FAQ](#faq) + +
+ +## Why DevSpace? +Building modern, distributed and highly scalable microservices with Kubernetes is hard - and it is even harder for large teams of developers. DevSpace is the next-generation tool for fast cloud-native software development. + +
+Standardize & Version Your Workflows +
+ +DevSpace allows you to store all your workflows in one declarative config file: `devspace.yaml` +- **Codify workflow knowledge** about building images, deploying your project and its dependencies etc. +- **Version your workflows together with your code** (i.e. you can get any old version up and running with just a single command) +- **Share your workflows** with your team mates + +
+
+ +
+Let Everyone on Your Team Deploy to Kubernetes +
+ +DevSpace helps your team to standardize deployment and development workflows without requiring everyone on your team to become a Kubernetes expert. +- The DevOps and Kubernetes expert on your team can configure DevSpace using `devspace.yaml` and simply commits it via git +- If other developers on your team check out the project, they only need to run `devspace deploy` to deploy the project (including image building and deployment of other related project etc.) and they have a running instance of the project +- The configuration of DevSpace is highly dynamic, so you can configure everything using [config variables](https://devspace.sh/cli/docs/configuration/variables/basics) that make it much easier to have one base configuration but still allow differences among developers (e.g. different sub-domains for testing) + +> Giving everyone on your team on-demand access to a Kubernetes cluster is a challenging problem for system administrators and infrastructure managers. If you want to efficiently share dev clusters for your engineering team, take a look at [www.loft.sh](https://loft.sh/). + +
+
+ +
+Speed Up Cloud-Native Development +
+ +Instead of rebuilding images and redeploying containers, DevSpace allows you to **hot reload running containers while you are coding**: +- Simply edit your files with your IDE and see how your application reloads within the running container. +- The **high performance, bi-directional file synchronization** detects code changes immediately and synchronizes files immediately between your local dev environment and the containers running in Kubernetes +- Stream logs, connect debuggers or open a container terminal directly from your IDE with just a single command. + +
+
+ +
+Automate Repetitive Tasks +
+ +Deploying and debugging services with Kubernetes requires a lot of knowledge and forces you to repeatedly run commands like `kubectl get pod` and copy pod ids back and forth. Stop wasting time and let DevSpace automate the tedious parts of working with Kubernetes: +- DevSpace lets you build multiple images in parallel, tag them automatically and and deploy your entire application (including its dependencies) with just a single command +- Let DevSpace automatically start port-fowarding and log streaming, so you don't have to constantly copy and paste pod ids or run 10 commands to get everything started. + +
+
+ +
+Works with Any Kubernetes Clusters +
+ +DevSpace is battle tested with many Kubernetes distributions including: +- **local Kubernetes clusters** like minikube, k3s, MikroK8s, kind +- **managed Kubernetes clusters** in GKE (Google Cloud), EKS (Amazon Web Service), AKS (Microsoft Azure), Digital Ocean +- **self-managed Kubernetes clusters** created with Rancher + +> DevSpace also lets you switch seamlessly between clusters and namespaces. You can work with a local cluster as long as that is sufficient. If things get more advanced, you need cloud power like GPUs or you simply want to share a complex system such as Kafka with your team, simply tell DevSpace to use a remote cluster by switching your kube-context and continue working. + +
+
+ +
+ +## Quickstart + +Please take a look at our [getting started guide](https://devspace.sh/docs/getting-started/installation). + +
+ +## Architecture & Workflow +![DevSpace Workflow](docs/static/img/workflow-devspace.png) + +DevSpace runs as a single binary CLI tool directly on your computer and ideally, you use it straight from the terminal within your IDE. DevSpace does not require a server-side component as it communicates directly to your Kubernetes cluster using your kube-context, just like kubectl. + +
+ +## Contributing + +Participation in the DevSpace project is governed by the [CNCF code of conduct](https://github.com/cncf/foundation/blob/master/code-of-conduct.md). + +Help us make DevSpace the best tool for developing, deploying and debugging Kubernetes apps. + +[![Join us on Slack!](docs/static/img/slack.svg)](https://slack.loft.sh/) + +### Reporting Issues + +If you find a bug while working with the DevSpace, please [open an issue on GitHub](https://github.com/loft-sh/devspace/issues/new?labels=kind%2Fbug&template=bug-report.md&title=Bug:) and let us know what went wrong. We will try to fix it as quickly as we can. + +### Feedback & Feature Requests + +You are more than welcome to open issues in this project to: + +- [Give feedback](https://github.com/loft-sh/devspace/issues/new?labels=kind%2Ffeedback&title=Feedback:) +- [Suggest new features](https://github.com/loft-sh/devspace/issues/new?labels=kind%2Ffeature&template=feature-request.md&title=Feature%20Request:) +- [Report Bugs](https://github.com/loft-sh/devspace/issues/new?labels=kind%2Fbug&template=bug-report.md&title=Bug%20Report:) + +### Contributing Code + +This project is mainly written in Golang. If you want to contribute code: + +1. Ensure you are running golang version 1.11.4 or greater for go module support +2. Set the following environment variables: + ``` + GO111MODULE=on + GOFLAGS=-mod=vendor + ``` +3. Check-out the project: `git clone https://github.com/loft-sh/devspace && cd devspace` +4. Make changes to the code +5. Build the project, e.g. via `go build -o devspace[.exe]` +6. Evaluate and test your changes `./devspace [SOME_COMMAND]` + +See [Contributing Guidelines](CONTRIBUTING.md) for more information. + +The DevSpace project follows the [CNCF Code of Conduct](https://github.com/cncf/foundation/blob/main/code-of-conduct.md). + +
+ +## FAQ + +
+What is DevSpace? + +DevSpace is an open-source command-line tool that provides everything you need to develop, deploy and debug applications with Docker and Kubernetes. It lets you streamline deployment workflows and share them with your colleagues through a declarative configuration file `devspace.yaml`. + +
+ +
+Is DevSpace free? + +**YES.** DevSpace is open-source and you can use it for free for any private projects and even for commercial projects. + +
+ +
+Do I need a Kubernetes cluster to use DevSpace? + +**Yes.** You can either use a local cluster such as Docker Desktop Kubernetes, minikube, or Kind, but you can also use a remote cluster such as GKE, EKS, AKS, RKE (Rancher), or DOKS. + +
+ +
+Can I use DevSpace with my existing Kubernetes clusters? + +**Yes.** DevSpace is using your regular kube-context. As long as you can run `kubectl` commands with a cluster, you can use this cluster with DevSpace as well. + +
+ +
+What is a Helm chart? + +[Helm](https://helm.sh/) is the package manager for Kubernetes. Packages in Helm are called Helm charts. + +
+ +
+
+ +## License + +DevSpace is released under the Apache 2.0 license. See the [LICENSE](LICENSE) file for details. + +DevSpace is a [Cloud Native Computing Foundation (CNCF) sandbox project](https://www.cncf.io/sandbox-projects/) and was contributed by [Loft Labs](https://www.loft.sh). + +
+ CNCF Sandbox Project +
diff --git a/data/readmes/devstream-v0133.md b/data/readmes/devstream-v0133.md new file mode 100644 index 0000000..adb0e71 --- /dev/null +++ b/data/readmes/devstream-v0133.md @@ -0,0 +1,9 @@ +# DevStream - README (v0.13.3) + +**Repository**: https://github.com/devstream-io/devstream +**Version**: v0.13.3 + +--- + +# devstream +Intelligent Workflow Engine Driven by Natural Language. diff --git a/data/readmes/dex-v2440.md b/data/readmes/dex-v2440.md new file mode 100644 index 0000000..f4c9749 --- /dev/null +++ b/data/readmes/dex-v2440.md @@ -0,0 +1,153 @@ +# Dex - README (v2.44.0) + +**Repository**: https://github.com/dexidp/dex +**Version**: v2.44.0 + +--- + +# dex - A federated OpenID Connect provider + +![GitHub Workflow Status](https://img.shields.io/github/actions/workflow/status/dexidp/dex/ci.yaml?style=flat-square&branch=master) +[![OpenSSF Scorecard](https://api.securityscorecards.dev/projects/github.com/dexidp/dex/badge?style=flat-square)](https://api.securityscorecards.dev/projects/github.com/dexidp/dex) +[![Go Report Card](https://goreportcard.com/badge/github.com/dexidp/dex?style=flat-square)](https://goreportcard.com/report/github.com/dexidp/dex) +[![Gitpod ready-to-code](https://img.shields.io/badge/Gitpod-ready--to--code-blue?logo=gitpod&style=flat-square)](https://gitpod.io/#https://github.com/dexidp/dex) + +![logo](docs/logos/dex-horizontal-color.png) + +Dex is an identity service that uses [OpenID Connect][openid-connect] to drive authentication for other apps. + +Dex acts as a portal to other identity providers through ["connectors."](#connectors) This lets dex defer authentication to LDAP servers, SAML providers, or established identity providers like GitHub, Google, and Active Directory. Clients write their authentication logic once to talk to dex, then dex handles the protocols for a given backend. + +## ID Tokens + +ID Tokens are an OAuth2 extension introduced by OpenID Connect and dex's primary feature. ID Tokens are [JSON Web Tokens][jwt-io] (JWTs) signed by dex and returned as part of the OAuth2 response that attests to the end user's identity. An example JWT might look like: + +``` +eyJhbGciOiJSUzI1NiIsImtpZCI6IjlkNDQ3NDFmNzczYjkzOGNmNjVkZDMyNjY4NWI4NjE4MGMzMjRkOTkifQ.eyJpc3MiOiJodHRwOi8vMTI3LjAuMC4xOjU1NTYvZGV4Iiwic3ViIjoiQ2djeU16UXlOelE1RWdabmFYUm9kV0kiLCJhdWQiOiJleGFtcGxlLWFwcCIsImV4cCI6MTQ5Mjg4MjA0MiwiaWF0IjoxNDkyNzk1NjQyLCJhdF9oYXNoIjoiYmk5NmdPWFpTaHZsV1l0YWw5RXFpdyIsImVtYWlsIjoiZXJpYy5jaGlhbmdAY29yZW9zLmNvbSIsImVtYWlsX3ZlcmlmaWVkIjp0cnVlLCJncm91cHMiOlsiYWRtaW5zIiwiZGV2ZWxvcGVycyJdLCJuYW1lIjoiRXJpYyBDaGlhbmcifQ.OhROPq_0eP-zsQRjg87KZ4wGkjiQGnTi5QuG877AdJDb3R2ZCOk2Vkf5SdP8cPyb3VMqL32G4hLDayniiv8f1_ZXAde0sKrayfQ10XAXFgZl_P1yilkLdknxn6nbhDRVllpWcB12ki9vmAxklAr0B1C4kr5nI3-BZLrFcUR5sQbxwJj4oW1OuG6jJCNGHXGNTBTNEaM28eD-9nhfBeuBTzzO7BKwPsojjj4C9ogU4JQhGvm_l4yfVi0boSx8c0FX3JsiB0yLa1ZdJVWVl9m90XmbWRSD85pNDQHcWZP9hR6CMgbvGkZsgjG32qeRwUL_eNkNowSBNWLrGNPoON1gMg +``` + +ID Tokens contains standard claims assert which client app logged the user in, when the token expires, and the identity of the user. + +```json +{ + "iss": "http://127.0.0.1:5556/dex", + "sub": "CgcyMzQyNzQ5EgZnaXRodWI", + "aud": "example-app", + "exp": 1492882042, + "iat": 1492795642, + "at_hash": "bi96gOXZShvlWYtal9Eqiw", + "email": "jane.doe@coreos.com", + "email_verified": true, + "groups": [ + "admins", + "developers" + ], + "name": "Jane Doe" +} +``` + +Because these tokens are signed by dex and [contain standard-based claims][standard-claims] other services can consume them as service-to-service credentials. Systems that can already consume OpenID Connect ID Tokens issued by dex include: + +* [Kubernetes][kubernetes] +* [AWS STS][aws-sts] + +For details on how to request or validate an ID Token, see [_"Writing apps that use dex"_][using-dex]. + +## Kubernetes and Dex + +Dex runs natively on top of any Kubernetes cluster using Custom Resource Definitions and can drive API server authentication through the OpenID Connect plugin. Clients, such as the [`kubernetes-dashboard`](https://github.com/kubernetes/dashboard) and `kubectl`, can act on behalf of users who can login to the cluster through any identity provider dex supports. + +* More docs for running dex as a Kubernetes authenticator can be found [here](https://dexidp.io/docs/guides/kubernetes/). +* You can find more about companies and projects which use dex, [here](./ADOPTERS.md). + +## Connectors + +When a user logs in through dex, the user's identity is usually stored in another user-management system: a LDAP directory, a GitHub org, etc. Dex acts as a shim between a client app and the upstream identity provider. The client only needs to understand OpenID Connect to query dex, while dex implements an array of protocols for querying other user-management systems. + +![](docs/img/dex-flow.png) + +A "connector" is a strategy used by dex for authenticating a user against another identity provider. Dex implements connectors that target specific platforms such as GitHub, LinkedIn, and Microsoft as well as established protocols like LDAP and SAML. + +Depending on the connectors limitations in protocols can prevent dex from issuing [refresh tokens][scopes] or returning [group membership][scopes] claims. For example, because SAML doesn't provide a non-interactive way to refresh assertions, if a user logs in through the SAML connector dex won't issue a refresh token to its client. Refresh token support is required for clients that require offline access, such as `kubectl`. + +Dex implements the following connectors: + +| Name | supports refresh tokens | supports groups claim | supports preferred_username claim | status | notes | +| ---- | ----------------------- | --------------------- | --------------------------------- | ------ | ----- | +| [LDAP](https://dexidp.io/docs/connectors/ldap/) | yes | yes | yes | stable | | +| [GitHub](https://dexidp.io/docs/connectors/github/) | yes | yes | yes | stable | | +| [SAML 2.0](https://dexidp.io/docs/connectors/saml/) | no | yes | no | stable | WARNING: Unmaintained and likely vulnerable to auth bypasses ([#1884](https://github.com/dexidp/dex/discussions/1884)) | +| [GitLab](https://dexidp.io/docs/connectors/gitlab/) | yes | yes | yes | beta | | +| [OpenID Connect](https://dexidp.io/docs/connectors/oidc/) | yes | yes | yes | beta | Includes Salesforce, Azure, etc. | +| [OAuth 2.0](https://dexidp.io/docs/connectors/oauth/) | no | yes | yes | alpha | | +| [Google](https://dexidp.io/docs/connectors/google/) | yes | yes | yes | alpha | | +| [LinkedIn](https://dexidp.io/docs/connectors/linkedin/) | yes | no | no | beta | | +| [Microsoft](https://dexidp.io/docs/connectors/microsoft/) | yes | yes | no | beta | | +| [AuthProxy](https://dexidp.io/docs/connectors/authproxy/) | no | yes | no | alpha | Authentication proxies such as Apache2 mod_auth, etc. | +| [Bitbucket Cloud](https://dexidp.io/docs/connectors/bitbucketcloud/) | yes | yes | no | alpha | | +| [OpenShift](https://dexidp.io/docs/connectors/openshift/) | yes | yes | no | alpha | | +| [Atlassian Crowd](https://dexidp.io/docs/connectors/atlassian-crowd/) | yes | yes | yes * | beta | preferred_username claim must be configured through config | +| [Gitea](https://dexidp.io/docs/connectors/gitea/) | yes | no | yes | beta | | +| [OpenStack Keystone](https://dexidp.io/docs/connectors/keystone/) | yes | yes | no | alpha | | + +Stable, beta, and alpha are defined as: + +* Stable: well tested, in active use, and will not change in backward incompatible ways. +* Beta: tested and unlikely to change in backward incompatible ways. +* Alpha: may be untested by core maintainers and is subject to change in backward incompatible ways. + +All changes or deprecations of connector features will be announced in the [release notes][release-notes]. + +## Documentation + +* [Getting started](https://dexidp.io/docs/getting-started/) +* [Intro to OpenID Connect](https://dexidp.io/docs/openid-connect/) +* [Writing apps that use dex][using-dex] +* [What's new in v2](https://dexidp.io/docs/archive/v2/) +* [Custom scopes, claims, and client features](https://dexidp.io/docs/custom-scopes-claims-clients/) +* [Storage options](https://dexidp.io/docs/storage/) +* [gRPC API](https://dexidp.io/docs/api/) +* [Using Kubernetes with dex](https://dexidp.io/docs/kubernetes/) +* Client libraries + * [Go][go-oidc] + +## Reporting a vulnerability + +Please see our [security policy](.github/SECURITY.md) for details about reporting vulnerabilities. + +## Getting help + +- For feature requests and bugs, file an [issue](https://github.com/dexidp/dex/issues). +- For general discussion about both using and developing Dex: + - join the [#dexidp](https://cloud-native.slack.com/messages/dexidp) on the CNCF Slack + - open a new [discussion](https://github.com/dexidp/dex/discussions) + - join the [dex-dev](https://groups.google.com/forum/#!forum/dex-dev) mailing list + +[openid-connect]: https://openid.net/connect/ +[standard-claims]: https://openid.net/specs/openid-connect-core-1_0.html#StandardClaims +[scopes]: https://dexidp.io/docs/custom-scopes-claims-clients/#scopes +[using-dex]: https://dexidp.io/docs/using-dex/ +[jwt-io]: https://jwt.io/ +[kubernetes]: https://kubernetes.io/docs/reference/access-authn-authz/authentication/#openid-connect-tokens +[aws-sts]: https://docs.aws.amazon.com/STS/latest/APIReference/Welcome.html +[go-oidc]: https://github.com/coreos/go-oidc +[issue-1065]: https://github.com/dexidp/dex/issues/1065 +[release-notes]: https://github.com/dexidp/dex/releases + +## Development + +When all coding and testing is done, please run the test suite: + +```shell +make testall +``` + +For the best developer experience, install [Nix](https://builtwithnix.org/) and [direnv](https://direnv.net/). + +Alternatively, install Go and Docker manually or using a package manager. Install the rest of the dependencies by running `make deps`. + +For release process, please read the [release documentation](https://dexidp.io/docs/development/releases/). + +## License + +The project is licensed under the [Apache License, Version 2.0](LICENSE). diff --git a/data/readmes/digitalocean-cli-v11470.md b/data/readmes/digitalocean-cli-v11470.md new file mode 100644 index 0000000..0cb46ee --- /dev/null +++ b/data/readmes/digitalocean-cli-v11470.md @@ -0,0 +1,444 @@ +# DigitalOcean CLI - README (v1.147.0) + +**Repository**: https://github.com/digitalocean/doctl +**Version**: v1.147.0 + +--- + +

doctl

+ +

+ The doctl mascot. +

+ +

+ + Build Status + + + GoDoc + + + Go Report Card + +

+ +``` +doctl is a command-line interface (CLI) for the DigitalOcean API. + +Usage: + doctl [command] + +Available Commands: + 1-click Display commands that pertain to 1-click applications + account Display commands that retrieve account details + apps Display commands for working with apps + auth Display commands for authenticating doctl with an account + balance Display commands for retrieving your account balance + billing-history Display commands for retrieving your billing history + completion Modify your shell so doctl commands autocomplete with TAB + compute Display commands that manage infrastructure + databases Display commands that manage databases + help Help about any command + invoice Display commands for retrieving invoices for your account + kubernetes Displays commands to manage Kubernetes clusters and configurations + monitoring [Beta] Display commands to manage monitoring + projects Manage projects and assign resources to them + registry Display commands for working with container registries + version Show the current version + vpcs Display commands that manage VPCs + +Flags: + -t, --access-token string API V2 access token + -u, --api-url string Override default API endpoint + -c, --config string Specify a custom config file (default "$HOME/.config/doctl/config.yaml") + --context string Specify a custom authentication context name + -h, --help help for doctl + -o, --output string Desired output format [text|json] (default "text") + --trace Show a log of network activity while performing a command + -v, --verbose Enable verbose output + +Use "doctl [command] --help" for more information about a command. +``` + +See the [full reference documentation](https://www.digitalocean.com/docs/apis-clis/doctl/reference/) for information about each available command. + +- [Installing `doctl`](#installing-doctl) + - [Using a Package Manager (Preferred)](#using-a-package-manager-preferred) + - [MacOS](#macos) + - [Snap supported OS](#snap-supported-os) + - [Use with `kubectl`](#use-with-kubectl) + - [Using `doctl compute ssh`](#using-doctl-compute-ssh) + - [Use with Docker](#use-with-docker) + - [Arch Linux](#arch-linux) + - [Fedora](#fedora) + - [Nix supported OS](#nix-supported-os) + - [Docker Hub](#docker-hub) + - [Downloading a Release from GitHub](#downloading-a-release-from-github) + - [Building with Docker](#building-with-docker) + - [Building the Development Version from Source](#building-the-development-version-from-source) + - [Dependencies](#dependencies) +- [Authenticating with DigitalOcean](#authenticating-with-digitalocean) + - [Logging into multiple DigitalOcean accounts](#logging-into-multiple-digitalocean-accounts) +- [Configuring Default Values](#configuring-default-values) + - [Environment Variables](#environment-variables) +- [Enabling Shell Auto-Completion](#enabling-shell-auto-completion) + - [Linux Auto Completion](#linux-auto-completion) + - [MacOS](#macos-1) +- [Uninstalling `doctl`](#uninstalling-doctl) + - [Using a Package Manager](#using-a-package-manager) + - [MacOS Uninstall](#macos-uninstall) +- [Examples](#examples) +- [Tutorials](#tutorials) + + +## Installing `doctl` + +### Using a Package Manager (Preferred) + +A package manager allows you to install and keep up with new `doctl` versions using only a few commands. +Our community distributes `doctl` via a growing set of package managers in addition to the officially +supported set listed below; chances are good a solution exists for your platform. + +#### MacOS + +Use [Homebrew](https://brew.sh/) to install `doctl` on macOS: + +``` +brew install doctl +``` + +`doctl` is also available via [MacPorts](https://www.macports.org/ports.php?by=name&substr=doctl). Note that +the port is community maintained and may not be on the latest version. + +#### Snap supported OS + +Use [Snap](https://snapcraft.io/) on [Snap-supported](https://snapcraft.io/docs/core/install) systems to +install `doctl`: + +``` +sudo snap install doctl +``` + +##### Use with `kubectl` + +Using `kubectl` requires the `kube-config` personal-files connection for `doctl`: + + sudo snap connect doctl:kube-config + +##### Using `doctl compute ssh` + +Using `doctl compute ssh` requires the core [ssh-keys interface](https://docs.snapcraft.io/ssh-keys-interface): + + sudo snap connect doctl:ssh-keys :ssh-keys + +##### Use with Docker + +Using `doctl registry login` requires the `dot-docker` personal-files connection for `doctl`: + + sudo snap connect doctl:dot-docker + +This allows `doctl` to add DigitalOcean container registry credentials to your Docker configuration file. + +#### Arch Linux + +`doctl` is available in the official Arch Linux repository: + + sudo pacman -S doctl + +#### Fedora + +`doctl` is available in the official Fedora repository: + + sudo dnf install doctl + +#### Nix supported OS + +Users of NixOS or other [supported +platforms](https://nixos.org/nixpkgs/) may install ```doctl``` from +[Nixpkgs](https://nixos.org/nixos/packages.html#doctl). Please note +this package is also community maintained and may not be on the latest +version. + +### Docker Hub + +Containers for each release are available under the `digitalocean` +organization on [Docker Hub](https://hub.docker.com/r/digitalocean/doctl). +Links to the containers are available in the GitHub releases. + +### Downloading a Release from GitHub + +Visit the [Releases +page](https://github.com/digitalocean/doctl/releases) for the +[`doctl` GitHub project](https://github.com/digitalocean/doctl), and find the +appropriate archive for your operating system and architecture. +Download the archive from your browser or copy its URL and +retrieve it to your home directory with `wget` or `curl`. + +For example, with `wget`: + +``` +cd ~ +wget https://github.com/digitalocean/doctl/releases/download/v/doctl--linux-amd64.tar.gz +``` + +Or with `curl`: + +``` +cd ~ +curl -OL https://github.com/digitalocean/doctl/releases/download/v/doctl--linux-amd64.tar.gz +``` + +Extract the binary: + +``` +tar xf ~/doctl--linux-amd64.tar.gz +``` + +Or download and extract with this oneliner: +``` +curl -sL https://github.com/digitalocean/doctl/releases/download/v/doctl--linux-amd64.tar.gz | tar -xzv +``` + +where `` is the full semantic version, e.g., `1.17.0`. + +On Windows systems, you should be able to double-click the zip archive to extract the `doctl` executable. + +Move the `doctl` binary to somewhere in your path. For example, on GNU/Linux and OS X systems: + +``` +sudo mv ~/doctl /usr/local/bin +``` + +Windows users can follow [How to: Add Tool Locations to the PATH Environment Variable](https://msdn.microsoft.com/en-us/library/office/ee537574(v=office.14).aspx) in order to add `doctl` to their `PATH`. + +### Building with Docker + +If you have +[Docker](https://www.digitalocean.com/community/tutorials/how-to-install-and-use-docker-on-ubuntu-16-04) +configured, you can build a local Docker image using `doctl`'s +[Dockerfile](https://github.com/digitalocean/doctl/blob/main/Dockerfile) +and run `doctl` within a container. + +``` +docker build --tag=doctl . +``` + +Then you can run it within a container. + +``` +docker run --rm --interactive --tty --env=DIGITALOCEAN_ACCESS_TOKEN="your_DO_token" doctl any_doctl_command +``` + +### Building the Development Version from Source + +If you have a [Go environment](https://www.digitalocean.com/community/tutorials/how-to-install-go-1-6-on-ubuntu-16-04) +configured, you can install the development version of `doctl` from +the command line. + +``` +go install github.com/digitalocean/doctl/cmd/doctl@latest +``` + +While the development version is a good way to take a peek at +`doctl`'s latest features before they get released, be aware that it +may have bugs. Officially released versions will generally be more +stable. + +### Dependencies + +`doctl` uses Go modules with vendoring. + +## Authenticating with DigitalOcean + +To use `doctl`, you need to authenticate with DigitalOcean by providing an access token, which can be created from the [Applications & API](https://cloud.digitalocean.com/account/api/tokens) section of the Control Panel. You can learn how to generate a token by following the [DigitalOcean API guide](https://www.digitalocean.com/community/tutorials/how-to-use-the-digitalocean-api-v2). + +Docker users will have to use the `DIGITALOCEAN_ACCESS_TOKEN` environmental variable to authenticate, as explained in the Installation section of this document. + +If you're not using Docker to run `doctl`, authenticate with the `auth init` command. + +``` +doctl auth init +``` + +You will be prompted to enter the DigitalOcean access token that you generated in the DigitalOcean control panel. + +``` +DigitalOcean access token: your_DO_token +``` + +After entering your token, you will receive confirmation that the credentials were accepted. If the token doesn't validate, make sure you copied and pasted it correctly. + +``` +Validating token: OK +``` + +This will create the necessary directory structure and configuration file to store your credentials. + +### Logging into multiple DigitalOcean accounts + +`doctl` allows you to log in to multiple DigitalOcean accounts at the same time and easily switch between them with the use of authentication contexts. + +By default, a context named `default` is used. To create a new context, run `doctl auth init --context `. You may also pass the new context's name using the `DIGITALOCEAN_CONTEXT` [environment variable](#environment-variables). You will be prompted for your API access token which will be associated with the new context. + +To use a non-default context, pass the context name to any `doctl` command. For example: + +``` +doctl compute droplet list --context +``` + +To set a new default context, run `doctl auth switch --context `. This command will save the current context to the config file and use it for all commands by default if a context is not specified. + +The `--access-token` flag or `DIGITALOCEAN_ACCESS_TOKEN` [environment variable](#environment-variables) are acknowledged only if the `default` context is used. Otherwise, they will have no effect on what API access token is used. To temporarily override the access token if a different context is set as default, use `doctl --context default --access-token your_DO_token ...`. + +## Configuring Default Values + +The `doctl` configuration file is used to store your API Access Token as well as the defaults for command flags. If you find yourself using certain flags frequently, you can change their default values to avoid typing them every time. This can be useful when, for example, you want to change the username or port used for SSH. + +On OS X, `doctl` saves its configuration as `${HOME}/Library/Application Support/doctl/config.yaml`. The `${HOME}/Library/Application Support/doctl/` directory will be created once you run `doctl auth init`. + +On Linux, `doctl` saves its configuration as `${XDG_CONFIG_HOME}/doctl/config.yaml` if the `${XDG_CONFIG_HOME}` environmental variable is set, or `~/.config/doctl/config.yaml` if it is not. On Windows, the config file location is `%APPDATA%\doctl\config.yaml`. + +The configuration file is automatically created and populated with default properties when you authenticate with `doctl` for the first time. The typical format for a property is `category.command.sub-command.flag: value`. For example, the property for the `force` flag with tag deletion is `tag.delete.force`. + +To change the default SSH user used when connecting to a Droplet with `doctl`, look for the `compute.ssh.ssh-user` property and change the value after the colon. In this example, we changed it to the username **sammy**. + +``` +. . . +compute.ssh.ssh-user: sammy +. . . +``` + +Save and close the file. The next time you use `doctl`, the new default values you set will be in effect. In this example, that means that it will SSH as the **sammy** user (instead of the default **root** user) next time you log into a Droplet. + +### Environment variables + +In addition to specifying configuration using `config.yaml` file or program arguments, it is also possible to override values just for the given session with environment variables: + +``` +# Use instead of --context argument +DIGITALOCEAN_CONTEXT=my-context doctl auth list +``` + +``` +# Use instead of --access-token argument +DIGITALOCEAN_ACCESS_TOKEN=my-do-token doctl +``` + +## Enabling Shell Auto-Completion + +`doctl` also has auto-completion support. It can be set up so that if you partially type a command and then press `TAB`, the rest of the command is automatically filled in. For example, if you type `doctl comp drop` with auto-completion enabled, you'll see `doctl compute droplet` appear on your command prompt. + +**Note:** Shell auto-completion is not available for Windows users. + +How you enable auto-completion depends on which operating system you're using. If you installed `doctl` via Homebrew, auto-completion is activated automatically, though you may need to configure your local environment to enable it. + +`doctl` can generate an auto-completion script with the `doctl completion your_shell_here` command. Valid arguments for the shell are Bash (`bash`), ZSH (`zsh`), and fish (`fish`). By default, the script will be printed to the command line output. For more usage examples for the `completion` command, use `doctl completion --help`. + +### Linux Auto Completion + +The most common way to use the `completion` command is by adding a line to your local profile configuration. At the end of your `~/.profile` file, add this line: + +``` +source <(doctl completion your_shell_here) +``` + +If you are using ZSH, add this line to your `~/.zshrc` file: + +``` +compdef _doctl doctl +``` + +Then refresh your profile. + +``` +source ~/.profile +``` + +### MacOS (bash) + +macOS users will have to install the `bash-completion` framework to use the auto-completion feature. + +``` +brew install bash-completion +``` + +After it's installed, load `bash_completion` by adding the following line to your `.profile` or `.bashrc` file. + +``` +source $(brew --prefix)/etc/bash_completion +``` + +Then refresh your profile using the appropriate command for the bash configurations file. + +``` +source ~/.profile +source ~/.bashrc +``` + +### MacOS (zsh) + +Add the following line to your `~/.zshrc` file: + +```zsh +autoload -U +X compinit; compinit +``` + +Then refresh your profile. + +## Uninstalling `doctl` + +### Using a Package Manager + +#### MacOS Uninstall + +Use [Homebrew](https://brew.sh/) to uninstall all current and previous versions of the `doctl` formula on macOS: + +``` +brew uninstall -f doctl +``` + +To completely remove the configuration, also remove the following directory: + +``` +rm -rf "$HOME/Library/Application Support/doctl" +``` + + +## Examples + +`doctl` is able to interact with all of your DigitalOcean resources. Below are a few common usage examples. To learn more about the features available, see [the full tutorial on the DigitalOcean community site](https://www.digitalocean.com/community/tutorials/how-to-use-doctl-the-official-digitalocean-command-line-client). + +* List all Droplets on your account: +``` +doctl compute droplet list +``` +* Create a Droplet: +``` +doctl compute droplet create --region --image --size +``` +* Assign a Floating IP to a Droplet: +``` +doctl compute floating-ip-action assign +``` +* Create a new A record for an existing domain: +``` +doctl compute domain records create --record-type A --record-name www --record-data +``` + +`doctl` also simplifies actions without an API endpoint. For instance, it allows you to SSH to your Droplet by name: +``` +doctl compute ssh +``` + +By default, it assumes you are using the `root` user. If you want to SSH as a specific user, you can do that as well: +``` +doctl compute ssh @ +``` + +## Tutorials + +* [How To Use Doctl, the Official DigitalOcean Command-Line Client](https://www.digitalocean.com/community/tutorials/how-to-use-doctl-the-official-digitalocean-command-line-client) +* [How To Work with DigitalOcean Load Balancers Using Doctl](https://www.digitalocean.com/community/tutorials/how-to-work-with-digitalocean-load-balancers-using-doctl) +* [How To Secure Web Server Infrastructure With DigitalOcean Cloud Firewalls Using Doctl](https://www.digitalocean.com/community/tutorials/how-to-secure-web-server-infrastructure-with-digitalocean-cloud-firewalls-using-doctl) +* [How To Work with DigitalOcean Block Storage Using Doctl](https://www.digitalocean.com/community/tutorials/how-to-work-with-digitalocean-block-storage-using-doctl) diff --git a/data/readmes/distribution-v300.md b/data/readmes/distribution-v300.md new file mode 100644 index 0000000..21890b4 --- /dev/null +++ b/data/readmes/distribution-v300.md @@ -0,0 +1,81 @@ +# Distribution - README (v3.0.0) + +**Repository**: https://github.com/distribution/distribution +**Version**: v3.0.0 + +--- + +

+ +

+ +[![Build Status](https://github.com/distribution/distribution/workflows/build/badge.svg?branch=main&event=push)](https://github.com/distribution/distribution/actions/workflows/build.yml?query=workflow%3Abuild) +[![GoDoc](https://img.shields.io/badge/go.dev-reference-007d9c?logo=go&logoColor=white&style=flat-square)](https://pkg.go.dev/github.com/distribution/distribution) +[![License: Apache-2.0](https://img.shields.io/badge/License-Apache--2.0-blue.svg)](LICENSE) +[![codecov](https://codecov.io/gh/distribution/distribution/branch/main/graph/badge.svg)](https://codecov.io/gh/distribution/distribution) +[![FOSSA Status](https://app.fossa.com/api/projects/custom%2B162%2Fgithub.com%2Fdistribution%2Fdistribution.svg?type=shield)](https://app.fossa.com/projects/custom%2B162%2Fgithub.com%2Fdistribution%2Fdistribution?ref=badge_shield) +[![OCI Conformance](https://github.com/distribution/distribution/workflows/conformance/badge.svg)](https://github.com/distribution/distribution/actions?query=workflow%3Aconformance) +[![OpenSSF Scorecard](https://api.securityscorecards.dev/projects/github.com/distribution/distribution/badge)](https://securityscorecards.dev/viewer/?uri=github.com/distribution/distribution) + +The toolset to pack, ship, store, and deliver content. + +This repository's main product is the Open Source Registry implementation +for storing and distributing container images and other content using the +[OCI Distribution Specification](https://github.com/opencontainers/distribution-spec). +The goal of this project is to provide a simple, secure, and scalable base +for building a large scale registry solution or running a simple private registry. +It is a core library for many registry operators including Docker Hub, GitHub Container Registry, +GitLab Container Registry and DigitalOcean Container Registry, as well as the CNCF Harbor +Project, and VMware Harbor Registry. + +This repository contains the following components: + +|**Component** |Description | +|--------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| **registry** | An implementation of the [OCI Distribution Specification](https://github.com/opencontainers/distribution-spec). | +| **libraries** | A rich set of libraries for interacting with distribution components. Please see [godoc](https://pkg.go.dev/github.com/distribution/distribution) for details. **Note**: The interfaces for these libraries are **unstable**. | +| **documentation** | Full documentation is available at [https://distribution.github.io/distribution](https://distribution.github.io/distribution/). + +### How does this integrate with Docker, containerd, and other OCI client? + +Clients implement against the OCI specification and communicate with the +registry using HTTP. This project contains a client implementation which +is currently in use by Docker, however, it is deprecated for the +[implementation in containerd](https://github.com/containerd/containerd/tree/master/remotes/docker) +and will not support new features. + +### What are the long term goals of the Distribution project? + +The _Distribution_ project has the further long term goal of providing a +secure tool chain for distributing content. The specifications, APIs and tools +should be as useful with Docker as they are without. + +Our goal is to design a professional grade and extensible content distribution +system that allow users to: + +* Enjoy an efficient, secured and reliable way to store, manage, package and + exchange content +* Hack/roll their own on top of healthy open-source components +* Implement their own home made solution through good specs, and solid + extensions mechanism. + +## Contribution + +Please see [CONTRIBUTING.md](CONTRIBUTING.md) for details on how to contribute +issues, fixes, and patches to this project. If you are contributing code, see +the instructions for [building a development environment](BUILDING.md). + +## Communication + +For async communication and long running discussions please use issues and pull requests on the github repo. +This will be the best place to discuss design and implementation. + +For sync communication we have a #distribution channel in the [CNCF Slack](https://slack.cncf.io/) +that everyone is welcome to join and chat about development. + +## Licenses + +The distribution codebase is released under the [Apache 2.0 license](LICENSE). +The README.md file, and files in the "docs" folder are licensed under the +Creative Commons Attribution 4.0 International License. You may obtain a +copy of the license, titled CC-BY-4.0, at http://creativecommons.org/licenses/by/4.0/. diff --git a/data/readmes/dive-v0131.md b/data/readmes/dive-v0131.md new file mode 100644 index 0000000..874f007 --- /dev/null +++ b/data/readmes/dive-v0131.md @@ -0,0 +1,357 @@ +# Dive - README (v0.13.1) + +**Repository**: https://github.com/wagoodman/dive +**Version**: v0.13.1 + +--- + +# dive +[![GitHub release](https://img.shields.io/github/release/wagoodman/dive.svg)](https://github.com/wagoodman/dive/releases/latest) +[![Validations](https://github.com/wagoodman/dive/actions/workflows/validations.yaml/badge.svg)](https://github.com/wagoodman/dive/actions/workflows/validations.yaml) +[![Go Report Card](https://goreportcard.com/badge/github.com/wagoodman/dive)](https://goreportcard.com/report/github.com/wagoodman/dive) +[![License: MIT](https://img.shields.io/badge/License-MIT%202.0-blue.svg)](https://github.com/wagoodman/dive/blob/main/LICENSE) +[![Donate](https://img.shields.io/badge/Donate-PayPal-green.svg?style=flat)](https://www.paypal.me/wagoodman) + +**A tool for exploring a Docker image, layer contents, and discovering ways to shrink the size of your Docker/OCI image.** + + +![Image](.data/demo.gif) + +To analyze a Docker image simply run dive with an image tag/id/digest: +```bash +dive +``` + +or you can dive with Docker directly: +``` +alias dive="docker run -ti --rm -v /var/run/docker.sock:/var/run/docker.sock docker.io/wagoodman/dive" +dive + +# for example +dive nginx:latest +``` + +or if you want to build your image then jump straight into analyzing it: +```bash +dive build -t . +``` + +Building on macOS (supporting only the Docker container engine): + +```bash +docker run --rm -it \ + -v /var/run/docker.sock:/var/run/docker.sock \ + -v "$(pwd)":"$(pwd)" \ + -w "$(pwd)" \ + -v "$HOME/.dive.yaml":"$HOME/.dive.yaml" \ + docker.io/wagoodman/dive:latest build -t . +``` + +Additionally you can run this in your CI pipeline to ensure you're keeping wasted space to a minimum (this skips the UI): +``` +CI=true dive +``` + +![Image](.data/demo-ci.png) + +**This is beta quality!** *Feel free to submit an issue if you want a new feature or find a bug :)* + +## Basic Features + +**Show Docker image contents broken down by layer** + +As you select a layer on the left, you are shown the contents of that layer combined with all previous layers on the right. Also, you can fully explore the file tree with the arrow keys. + +**Indicate what's changed in each layer** + +Files that have changed, been modified, added, or removed are indicated in the file tree. This can be adjusted to show changes for a specific layer, or aggregated changes up to this layer. + +**Estimate "image efficiency"** + +The lower left pane shows basic layer info and an experimental metric that will guess how much wasted space your image contains. This might be from duplicating files across layers, moving files across layers, or not fully removing files. Both a percentage "score" and total wasted file space is provided. + +**Quick build/analysis cycles** + +You can build a Docker image and do an immediate analysis with one command: +`dive build -t some-tag .` + +You only need to replace your `docker build` command with the same `dive build` +command. + +**CI Integration** + +Analyze an image and get a pass/fail result based on the image efficiency and wasted space. Simply set `CI=true` in the environment when invoking any valid dive command. + +**Multiple Image Sources and Container Engines Supported** + +With the `--source` option, you can select where to fetch the container image from: +```bash +dive --source +``` +or +```bash +dive :// +``` + +With valid `source` options as such: +- `docker`: Docker engine (the default option) +- `docker-archive`: A Docker Tar Archive from disk +- `podman`: Podman engine (linux only) + +## Installation + +**Ubuntu/Debian** + +Using debs: +```bash +DIVE_VERSION=$(curl -sL "https://api.github.com/repos/wagoodman/dive/releases/latest" | grep '"tag_name":' | sed -E 's/.*"v([^"]+)".*/\1/') +curl -fOL "https://github.com/wagoodman/dive/releases/download/v${DIVE_VERSION}/dive_${DIVE_VERSION}_linux_amd64.deb" +sudo apt install ./dive_${DIVE_VERSION}_linux_amd64.deb +``` + +Using snap: +```bash +sudo snap install docker +sudo snap install dive +sudo snap connect dive:docker-executables docker:docker-executables +sudo snap connect dive:docker-daemon docker:docker-daemon +``` + +> [!CAUTION] +> The Snap method is not recommended if you installed Docker via `apt-get`, since it might break your existing Docker daemon. +> +> See also: https://github.com/wagoodman/dive/issues/546 + + +**RHEL/Centos** +```bash +DIVE_VERSION=$(curl -sL "https://api.github.com/repos/wagoodman/dive/releases/latest" | grep '"tag_name":' | sed -E 's/.*"v([^"]+)".*/\1/') +curl -fOL "https://github.com/wagoodman/dive/releases/download/v${DIVE_VERSION}/dive_${DIVE_VERSION}_linux_amd64.rpm" +rpm -i dive_${DIVE_VERSION}_linux_amd64.rpm +``` + +**Arch Linux** + +Available in the [extra repository](https://archlinux.org/packages/extra/x86_64/dive/) and can be installed via [pacman](https://wiki.archlinux.org/title/Pacman): + +```bash +pacman -S dive +``` + +**Mac** + +If you use [Homebrew](https://brew.sh): + +```bash +brew install dive +``` + +If you use [MacPorts](https://www.macports.org): + +```bash +sudo port install dive +``` + +Or download the latest Darwin build from the [releases page](https://github.com/wagoodman/dive/releases/latest). + +**Windows** + +If you use [Chocolatey](https://chocolatey.org) + +```powershell +choco install dive +``` + +If you use [scoop](https://scoop.sh/) + +```powershell +scoop install main/dive +``` + +If you use [winget](https://learn.microsoft.com/en-gb/windows/package-manager/): + +```powershell +winget install --id wagoodman.dive +``` + +Or download the latest Windows build from the [releases page](https://github.com/wagoodman/dive/releases/latest). + +**Go tools** +Requires Go version 1.10 or higher. + +```bash +go install github.com/wagoodman/dive@latest +``` +*Note*: installing in this way you will not see a proper version when running `dive -v`. + +**Nix/NixOS** + +On NixOS: +```bash +nix-env -iA nixos.dive +``` +On non-NixOS (Linux, Mac) +```bash +nix-env -iA nixpkgs.dive +``` + +**X-CMD** + +[x-cmd](https://www.x-cmd.com/) is a **toolbox for Posix Shell**, offering a lightweight package manager built using shell and awk. +```sh +x env use dive +``` + +**Docker** +```bash +docker pull docker.io/wagoodman/dive +# or alternatively +docker pull ghcr.io/wagoodman/dive +``` + +When running you'll need to include the Docker socket file: +```bash +docker run --rm -it \ + -v /var/run/docker.sock:/var/run/docker.sock \ + docker.io/wagoodman/dive:latest +``` + +Docker for Windows (showing PowerShell compatible line breaks; collapse to a single line for Command Prompt compatibility) +```bash +docker run --rm -it ` + -v /var/run/docker.sock:/var/run/docker.sock ` + docker.io/wagoodman/dive:latest +``` + +**Note:** depending on the version of docker you are running locally you may need to specify the docker API version as an environment variable: +```bash + DOCKER_API_VERSION=1.37 dive ... +``` +or if you are running with a docker image: +```bash +docker run --rm -it \ + -v /var/run/docker.sock:/var/run/docker.sock \ + -e DOCKER_API_VERSION=1.37 \ + docker.io/wagoodman/dive:latest +``` +if you are using an alternative runtime (Colima etc) then you may need to specify the docker host as an environment variable in order to pull local images: +```bash + export DOCKER_HOST=$(docker context inspect -f '{{ .Endpoints.docker.Host }}') +``` + +## CI Integration + +When running dive with the environment variable `CI=true` then the dive UI will be bypassed and will instead analyze your docker image, giving it a pass/fail indication via return code. Currently there are three metrics supported via a `.dive-ci` file that you can put at the root of your repo: +``` +rules: + # If the efficiency is measured below X%, mark as failed. + # Expressed as a ratio between 0-1. + lowestEfficiency: 0.95 + + # If the amount of wasted space is at least X or larger than X, mark as failed. + # Expressed in B, KB, MB, and GB. + highestWastedBytes: 20MB + + # If the amount of wasted space makes up for X% or more of the image, mark as failed. + # Note: the base image layer is NOT included in the total image size. + # Expressed as a ratio between 0-1; fails if the threshold is met or crossed. + highestUserWastedPercent: 0.20 +``` +You can override the CI config path with the `--ci-config` option. + +## KeyBindings + +Key Binding | Description +-------------------------------------------|--------------------------------------------------------- +Ctrl + C or Q | Exit +Tab | Switch between the layer and filetree views +Ctrl + F | Filter files +ESC | Close filter files +PageUp or U | Scroll up a page +PageDown or D | Scroll down a page +Up or K | Move up one line within a page +Down or J | Move down one line within a page +Ctrl + A | Layer view: see aggregated image modifications +Ctrl + L | Layer view: see current layer modifications +Space | Filetree view: collapse/uncollapse a directory +Ctrl + Space | Filetree view: collapse/uncollapse all directories +Ctrl + A | Filetree view: show/hide added files +Ctrl + R | Filetree view: show/hide removed files +Ctrl + M | Filetree view: show/hide modified files +Ctrl + U | Filetree view: show/hide unmodified files +Ctrl + B | Filetree view: show/hide file attributes +PageUp or U | Filetree view: scroll up a page +PageDown or D | Filetree view: scroll down a page + +## UI Configuration + +No configuration is necessary, however, you can create a config file and override values: +```yaml +# supported options are "docker" and "podman" +container-engine: docker +# continue with analysis even if there are errors parsing the image archive +ignore-errors: false +log: + enabled: true + path: ./dive.log + level: info + +# Note: you can specify multiple bindings by separating values with a comma. +# Note: UI hinting is derived from the first binding +keybinding: + # Global bindings + quit: ctrl+c + toggle-view: tab + filter-files: ctrl+f, ctrl+slash + close-filter-files: esc + up: up,k + down: down,j + left: left,h + right: right,l + + # Layer view specific bindings + compare-all: ctrl+a + compare-layer: ctrl+l + + # File view specific bindings + toggle-collapse-dir: space + toggle-collapse-all-dir: ctrl+space + toggle-added-files: ctrl+a + toggle-removed-files: ctrl+r + toggle-modified-files: ctrl+m + toggle-unmodified-files: ctrl+u + toggle-filetree-attributes: ctrl+b + page-up: pgup,u + page-down: pgdn,d + +diff: + # You can change the default files shown in the filetree (right pane). All diff types are shown by default. + hide: + - added + - removed + - modified + - unmodified + +filetree: + # The default directory-collapse state + collapse-dir: false + + # The percentage of screen width the filetree should take on the screen (must be >0 and <1) + pane-width: 0.5 + + # Show the file attributes next to the filetree + show-attributes: true + +layer: + # Enable showing all changes from this layer and every previous layer + show-aggregated-changes: false + +``` + +dive will search for configs in the following locations: +- `$XDG_CONFIG_HOME/dive/*.yaml` +- `$XDG_CONFIG_DIRS/dive/*.yaml` +- `~/.config/dive/*.yaml` +- `~/.dive.yaml` + +`.yml` can be used instead of `.yaml` if desired. diff --git a/data/readmes/dolphinscheduler-332.md b/data/readmes/dolphinscheduler-332.md new file mode 100644 index 0000000..0878a11 --- /dev/null +++ b/data/readmes/dolphinscheduler-332.md @@ -0,0 +1,85 @@ +# DolphinScheduler - README (3.3.2) + +**Repository**: https://github.com/apache/dolphinscheduler +**Version**: 3.3.2 + +--- + +# Apache Dolphinscheduler + +[![License](https://img.shields.io/badge/license-Apache%202-4EB1BA.svg)](https://www.apache.org/licenses/LICENSE-2.0.html) +![codecov](https://codecov.io/gh/apache/dolphinscheduler/branch/dev/graph/badge.svg) +[![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=apache-dolphinscheduler&metric=alert_status)](https://sonarcloud.io/dashboard?id=apache-dolphinscheduler) +[![Twitter Follow](https://img.shields.io/twitter/follow/dolphinschedule.svg?style=social&label=Follow)](https://twitter.com/dolphinschedule) +[![Slack Status](https://img.shields.io/badge/slack-join_chat-white.svg?logo=slack&style=social)](https://s.apache.org/dolphinscheduler-slack) +[![CN doc](https://img.shields.io/badge/文档-中文版-blue.svg)](README_zh_CN.md) + +## About + +Apache DolphinScheduler is a modern data orchestration platform that empowers agile, low-code development of high-performance workflows. +It is dedicated to handling complex task dependencies in data pipelines, and provides a wide range of built-in job types ** out of the box** + +Key features for DolphinScheduler are as follows: + +- Easy to deploy, provides four deployment modes including Standalone, Cluster, Docker and Kubernetes. +- Easy to use, workflows can be created and managed via Web UI, [Python SDK](https://dolphinscheduler.apache.org/python/main/index.html) or Open API +- Highly reliable and high availability, with a decentralized, multi-master and multi-worker architecture and native supports for horizontal scaling. +- High performance, its performance is several times faster than other orchestration platforms, and it is capable of handling tens of millions of tasks per day +- Cloud Native, DolphinScheduler supports orchestrating workflows cross multiple clouds and data centers, and allows custom task types +- Workflow Versioning, provides version control for both workflows and individual workflow instances, including tasks. +- Flexible state control of workflows and tasks, supports pause/stop/recover them in any time +- Multi-tenancy support +- Additional features, backfill support(Web UI native), permission control including project and data source etc. + +## QuickStart + +- For quick experience + - Want to [start with standalone](https://dolphinscheduler.apache.org/en-us/docs/3.3.0-alpha/guide/installation/standalone) + - Want to [start with Docker](https://dolphinscheduler.apache.org/en-us/docs/3.3.0-alpha/guide/start/docker) +- For Kubernetes + - [Start with Kubernetes](https://dolphinscheduler.apache.org/en-us/docs/3.3.0-alpha/guide/installation/kubernetes) +- For Terraform + - [Start with Terraform](deploy/terraform/README.md) + +## User Interface Screenshots + +* **Homepage:** Project and workflow overview, including the latest workflow instance and task instance status statistics. +![home](images/home.png) + +* **Workflow Definition:** Create and manage workflows by drag and drop, easy to build and maintain complex workflows, support [a wide range of tasks](https://dolphinscheduler.apache.org/en-us/docs/3.3.0-alpha/introduction-to-functions_menu/task_menu) out of box. +![workflow-definition](images/workflow-definition.png) + +* **Workflow Tree View:** Abstract tree structure could provide a clearer understanding of task relationships +![workflow-tree](images/workflow-tree.png) + +* **Data source:** Supports multiple external data sources, provides unified data access capabilities for MySQL, PostgreSQL, Hive, Trino, etc. +![data-source](images/data-source.png) + +* **Monitor:** View the status of the master, worker and database in real time, including server resource usage and load, do quick health check without logging in to the server. +![monitor](images/monitor.png) + +## Suggestions & Bug Reports + +Follow [this guide](https://github.com/apache/dolphinscheduler/issues/new/choose) to report your suggestions or bugs. + +## Contributing + +The community welcomes contributions from everyone. Please refer to this page to find out more details: [How to contribute](docs/docs/en/contribute/join/contribute.md). +Check out good first issue in [here](https://github.com/apache/dolphinscheduler/contribute) if you are new to DolphinScheduler. + +## Community + +Welcome to join the Apache DolphinScheduler community by: + +- Join the [DolphinScheduler Slack](https://s.apache.org/dolphinscheduler-slack) to keep in touch with the community +- Follow the [DolphinScheduler Twitter](https://twitter.com/dolphinschedule) and get the latest news +- Subscribe DolphinScheduler mail list, [users@dolphinscheduler.apache.org](mailto:users-subscribe@dolphinscheduler.apache.org) for users and [dev@dolphinscheduler.apache.org](mailto:dev-subscribe@dolphinscheduler.apache.org) for developers + +# Landscapes + +

+

+cncf-landscape  cncf-logo +

+DolphinScheduler enriches the CNCF CLOUD NATIVE Landscape. +

diff --git a/data/readmes/doris-313-rc02.md b/data/readmes/doris-313-rc02.md new file mode 100644 index 0000000..9b8eb1b --- /dev/null +++ b/data/readmes/doris-313-rc02.md @@ -0,0 +1,308 @@ +# Doris - README (3.1.3-rc02) + +**Repository**: https://github.com/apache/doris +**Version**: 3.1.3-rc02 + +--- + + + +
+ +# Apache Doris + +[![License](https://img.shields.io/badge/license-Apache%202-4EB1BA.svg)](https://www.apache.org/licenses/LICENSE-2.0.html) +[![GitHub release](https://img.shields.io/github/release/apache/doris.svg)](https://github.com/apache/doris/releases) +[![OSSRank](https://shields.io/endpoint?url=https://ossrank.com/shield/516)](https://ossrank.com/p/516) +[![Commit activity](https://img.shields.io/github/commit-activity/m/apache/doris)](https://github.com/apache/doris/commits/master/) +[![EN doc](https://img.shields.io/badge/Docs-English-blue.svg)](https://doris.apache.org/docs/gettingStarted/what-is-apache-doris) +[![CN doc](https://img.shields.io/badge/文档-中文版-blue.svg)](https://doris.apache.org/zh-CN/docs/gettingStarted/what-is-apache-doris) + +
+ +[![Official Website]()](https://doris.apache.org/) +[![Quick Download]()](https://doris.apache.org/download) + + +
+ + +
+ +   + +   + +   + + +
+ +
+ +--- + + + + +Apache Doris is an easy-to-use, high-performance and real-time analytical database based on MPP architecture, known for its extreme speed and ease of use. It only requires a sub-second response time to return query results under massive data and can support not only high-concurrency point query scenarios but also high-throughput complex analysis scenarios. + +All this makes Apache Doris an ideal tool for scenarios including report analysis, ad-hoc query, unified data warehouse, and data lake query acceleration. On Apache Doris, users can build various applications, such as user behavior analysis, AB test platform, log retrieval analysis, user portrait analysis, and order analysis. + +🎉 Check out the 🔗[All releases](https://doris.apache.org/docs/releasenotes/all-release), where you'll find a chronological summary of Apache Doris versions released over the past year. + +👀 Explore the 🔗[Official Website](https://doris.apache.org/) to discover Apache Doris's core features, blogs, and user cases in detail. + +## 📈 Usage Scenarios + +As shown in the figure below, after various data integration and processing, the data sources are usually stored in the real-time data warehouse Apache Doris and the offline data lake or data warehouse (in Apache Hive, Apache Iceberg or Apache Hudi). + +
+ + + +
+ + +Apache Doris is widely used in the following scenarios: + +- **Real-time Data Analysis**: + + - **Real-time Reporting and Decision-making**: Doris provides real-time updated reports and dashboards for both internal and external enterprise use, supporting real-time decision-making in automated processes. + + - **Ad Hoc Analysis**: Doris offers multidimensional data analysis capabilities, enabling rapid business intelligence analysis and ad hoc queries to help users quickly uncover insights from complex data. + + - **User Profiling and Behavior Analysis**: Doris can analyze user behaviors such as participation, retention, and conversion, while also supporting scenarios like population insights and crowd selection for behavior analysis. + +- **Lakehouse Analytics**: + + - **Lakehouse Query Acceleration**: Doris accelerates lakehouse data queries with its efficient query engine. + + - **Federated Analytics**: Doris supports federated queries across multiple data sources, simplifying architecture and eliminating data silos. + + - **Real-time Data Processing**: Doris combines real-time data streams and batch data processing capabilities to meet the needs of high concurrency and low-latency complex business requirements. + +- **SQL-based Observability**: + + - **Log and Event Analysis**: Doris enables real-time or batch analysis of logs and events in distributed systems, helping to identify issues and optimize performance. + + +## Overall Architecture + +Apache Doris uses the MySQL protocol, is highly compatible with MySQL syntax, and supports standard SQL. Users can access Apache Doris through various client tools, and it seamlessly integrates with BI tools. + +### Storage-Compute Integrated Architecture + +The storage-compute integrated architecture of Apache Doris is streamlined and easy to maintain. As shown in the figure below, it consists of only two types of processes: + +- **Frontend (FE):** Primarily responsible for handling user requests, query parsing and planning, metadata management, and node management tasks. + +- **Backend (BE):** Primarily responsible for data storage and query execution. Data is partitioned into shards and stored with multiple replicas across BE nodes. + +![The overall architecture of Apache Doris](https://cdn.selectdb.com/static/What_is_Apache_Doris_adb26397e2.png) + +
+ +In a production environment, multiple FE nodes can be deployed for disaster recovery. Each FE node maintains a full copy of the metadata. The FE nodes are divided into three roles: + +| Role | Function | +| --------- | ------------------------------------------------------------ | +| Master | The FE Master node is responsible for metadata read and write operations. When metadata changes occur in the Master, they are synchronized to Follower or Observer nodes via the BDB JE protocol. | +| Follower | The Follower node is responsible for reading metadata. If the Master node fails, a Follower node can be selected as the new Master. | +| Observer | The Observer node is responsible for reading metadata and is mainly used to increase query concurrency. It does not participate in cluster leadership elections. | + +Both FE and BE processes are horizontally scalable, enabling a single cluster to support hundreds of machines and tens of petabytes of storage capacity. The FE and BE processes use a consistency protocol to ensure high availability of services and high reliability of data. The storage-compute integrated architecture is highly integrated, significantly reducing the operational complexity of distributed systems. + + +## Core Features of Apache Doris + +- **High Availability**: In Apache Doris, both metadata and data are stored with multiple replicas, synchronizing data logs via the quorum protocol. Data write is considered successful once a majority of replicas have completed the write, ensuring that the cluster remains available even if a few nodes fail. Apache Doris supports both same-city and cross-region disaster recovery, enabling dual-cluster master-slave modes. When some nodes experience failures, the cluster can automatically isolate the faulty nodes, preventing the overall cluster availability from being affected. + +- **High Compatibility**: Apache Doris is highly compatible with the MySQL protocol and supports standard SQL syntax, covering most MySQL and Hive functions. This high compatibility allows users to seamlessly migrate and integrate existing applications and tools. Apache Doris supports the MySQL ecosystem, enabling users to connect Doris using MySQL Client tools for more convenient operations and maintenance. It also supports MySQL protocol compatibility for BI reporting tools and data transmission tools, ensuring efficiency and stability in data analysis and data transmission processes. + +- **Real-Time Data Warehouse**: Based on Apache Doris, a real-time data warehouse service can be built. Apache Doris offers second-level data ingestion capabilities, capturing incremental changes from upstream online transactional databases into Doris within seconds. Leveraging vectorized engines, MPP architecture, and Pipeline execution engines, Doris provides sub-second data query capabilities, thereby constructing a high-performance, low-latency real-time data warehouse platform. + +- **Unified Lakehouse**: Apache Doris can build a unified lakehouse architecture based on external data sources such as data lakes or relational databases. The Doris unified lakehouse solution enables seamless integration and free data flow between data lakes and data warehouses, helping users directly utilize data warehouse capabilities to solve data analysis problems in data lakes while fully leveraging data lake data management capabilities to enhance data value. + +- **Flexible Modeling**: Apache Doris offers various modeling approaches, such as wide table models, pre-aggregation models, star/snowflake schemas, etc. During data import, data can be flattened into wide tables and written into Doris through compute engines like Flink or Spark, or data can be directly imported into Doris, performing data modeling operations through views, materialized views, or real-time multi-table joins. + +## Technical overview + +Doris provides an efficient SQL interface and is fully compatible with the MySQL protocol. Its query engine is based on an MPP (Massively Parallel Processing) architecture, capable of efficiently executing complex analytical queries and achieving low-latency real-time queries. Through columnar storage technology for data encoding and compression, it significantly optimizes query performance and storage compression ratio. + +### Interface + +Apache Doris adopts the MySQL protocol, supports standard SQL, and is highly compatible with MySQL syntax. Users can access Apache Doris through various client tools and seamlessly integrate it with BI tools, including but not limited to Smartbi, DataEase, FineBI, Tableau, Power BI, and Apache Superset. Apache Doris can work as the data source for any BI tools that support the MySQL protocol. + +### Storage engine + +Apache Doris has a columnar storage engine, which encodes, compresses, and reads data by column. This enables a very high data compression ratio and largely reduces unnecessary data scanning, thus making more efficient use of IO and CPU resources. + +Apache Doris supports various index structures to minimize data scans: + +- **Sorted Compound Key Index**: Users can specify three columns at most to form a compound sort key. This can effectively prune data to better support highly concurrent reporting scenarios. + +- **Min/Max Index**: This enables effective data filtering in equivalence and range queries of numeric types. + +- **BloomFilter Index**: This is very effective in equivalence filtering and pruning of high-cardinality columns. + +- **Inverted Index**: This enables fast searching for any field. + +Apache Doris supports a variety of data models and has optimized them for different scenarios: + +- **Detail Model (Duplicate Key Model):** A detail data model designed to meet the detailed storage requirements of fact tables. + +- **Primary Key Model (Unique Key Model):** Ensures unique keys; data with the same key is overwritten, enabling row-level data updates. + +- **Aggregate Model (Aggregate Key Model):** Merges value columns with the same key, significantly improving performance through pre-aggregation. + +Apache Doris also supports strongly consistent single-table materialized views and asynchronously refreshed multi-table materialized views. Single-table materialized views are automatically refreshed and maintained by the system, requiring no manual intervention from users. Multi-table materialized views can be refreshed periodically using in-cluster scheduling or external scheduling tools, reducing the complexity of data modeling. + +### 🔍 Query Engine + +Apache Doris has an MPP-based query engine for parallel execution between and within nodes. It supports distributed shuffle join for large tables to better handle complicated queries. + +
+ +![Query Engine](https://cdn.selectdb.com/static/What_is_Apache_Doris_1_c6f5ba2af9.png) + +
+ +The query engine of Apache Doris is fully vectorized, with all memory structures laid out in a columnar format. This can largely reduce virtual function calls, increase cache hit rates, and make efficient use of SIMD instructions. Apache Doris delivers a 5~10 times higher performance in wide table aggregation scenarios than non-vectorized engines. + +
+ +![Doris query engine](https://cdn.selectdb.com/static/What_is_Apache_Doris_2_29cf58cc6b.png) + +
+ +Apache Doris uses adaptive query execution technology to dynamically adjust the execution plan based on runtime statistics. For example, it can generate a runtime filter and push it to the probe side. Specifically, it pushes the filters to the lowest-level scan node on the probe side, which largely reduces the data amount to be processed and increases join performance. The runtime filter of Apache Doris supports In/Min/Max/Bloom Filter. + +Apache Doris uses a Pipeline execution engine that breaks down queries into multiple sub-tasks for parallel execution, fully leveraging multi-core CPU capabilities. It simultaneously addresses the thread explosion problem by limiting the number of query threads. The Pipeline execution engine reduces data copying and sharing, optimizes sorting and aggregation operations, thereby significantly improving query efficiency and throughput. + +In terms of the optimizer, Apache Doris employs a combined optimization strategy of CBO (Cost-Based Optimizer), RBO (Rule-Based Optimizer), and HBO (History-Based Optimizer). RBO supports constant folding, subquery rewriting, predicate pushdown, and more. CBO supports join reordering and other optimizations. HBO recommends the optimal execution plan based on historical query information. These multiple optimization measures ensure that Doris can enumerate high-performance query plans across various types of queries. + + +## 🎆 Why choose Apache Doris? + +- 🎯 **Easy to Use:** Two processes, no other dependencies; online cluster scaling, automatic replica recovery; compatible with MySQL protocol, and using standard SQL. + +- 🚀 **High Performance:** Extremely fast performance for low-latency and high-throughput queries with columnar storage engine, modern MPP architecture, vectorized query engine, pre-aggregated materialized view and data index. + +- 🖥️ **Single Unified:** A single system can support real-time data serving, interactive data analysis and offline data processing scenarios. + +- ⚛️ **Federated Querying:** Supports federated querying of data lakes such as Hive, Iceberg, Hudi, and databases such as MySQL and Elasticsearch. + +- ⏩ **Various Data Import Methods:** Supports batch import from HDFS/S3 and stream import from MySQL Binlog/Kafka; supports micro-batch writing through HTTP interface and real-time writing using Insert in JDBC. + +- 🚙 **Rich Ecology:** Spark uses Spark-Doris-Connector to read and write Doris; Flink-Doris-Connector enables Flink CDC to implement exactly-once data writing to Doris; DBT Doris Adapter is provided to transform data in Doris with DBT. + +## 🙌 Contributors + +**Apache Doris has graduated from Apache incubator successfully and become a Top-Level Project in June 2022**. + +We deeply appreciate 🔗[community contributors](https://github.com/apache/doris/graphs/contributors) for their contribution to Apache Doris. + +[![contrib graph](https://contrib.rocks/image?repo=apache/doris)](https://github.com/apache/doris/graphs/contributors) + +## 👨‍👩‍👧‍👦 Users + +Apache Doris now has a wide user base in China and around the world, and as of today, **Apache Doris is used in production environments in thousands of companies worldwide.** More than 80% of the top 50 Internet companies in China in terms of market capitalization or valuation have been using Apache Doris for a long time, including Baidu, Meituan, Xiaomi, Jingdong, Bytedance, Tencent, NetEase, Kwai, Sina, 360, Mihoyo, and Ke Holdings. It is also widely used in some traditional industries such as finance, energy, manufacturing, and telecommunications. + +The users of Apache Doris: 🔗[Users](https://doris.apache.org/users) + +Add your company logo at Apache Doris Website: 🔗[Add Your Company](https://github.com/apache/doris/discussions/27683) + +## 👣 Get Started + +### 📚 Docs + +All Documentation 🔗[Docs](https://doris.apache.org/docs/gettingStarted/what-is-apache-doris) + +### ⬇️ Download + +All release and binary version 🔗[Download](https://doris.apache.org/download) + +### 🗄️ Compile + +See how to compile 🔗[Compilation](https://doris.apache.org/community/source-install/compilation-with-docker)) + +### 📮 Install + +See how to install and deploy 🔗[Installation and deployment](https://doris.apache.org/docs/install/preparation/env-checking) + +## 🧩 Components + +### 📝 Doris Connector + +Doris provides support for Spark/Flink to read data stored in Doris through Connector, and also supports to write data to Doris through Connector. + +🔗[apache/doris-flink-connector](https://github.com/apache/doris-flink-connector) + +🔗[apache/doris-spark-connector](https://github.com/apache/doris-spark-connector) + + +## 🌈 Community and Support + +### 📤 Subscribe Mailing Lists + +Mail List is the most recognized form of communication in Apache community. See how to 🔗[Subscribe Mailing Lists](https://doris.apache.org/community/subscribe-mail-list) + +### 🙋 Report Issues or Submit Pull Request + +If you meet any questions, feel free to file a 🔗[GitHub Issue](https://github.com/apache/doris/issues) or post it in 🔗[GitHub Discussion](https://github.com/apache/doris/discussions) and fix it by submitting a 🔗[Pull Request](https://github.com/apache/doris/pulls) + +### 🍻 How to Contribute + +We welcome your suggestions, comments (including criticisms), comments and contributions. See 🔗[How to Contribute](https://doris.apache.org/community/how-to-contribute/) and 🔗[Code Submission Guide](https://doris.apache.org/community/how-to-contribute/pull-request/) + +### ⌨️ Doris Improvement Proposals (DSIP) + +🔗[Doris Improvement Proposal (DSIP)](https://cwiki.apache.org/confluence/display/DORIS/Doris+Improvement+Proposals) can be thought of as **A Collection of Design Documents for all Major Feature Updates or Improvements**. + +### 🔑 Backend C++ Coding Specification +🔗 [Backend C++ Coding Specification](https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=240883637) should be strictly followed, which will help us achieve better code quality. + +## 💬 Contact Us + +Contact us through the following mailing list. + +| Name | Scope | | | | +|:------------------------------------------------------------------------------|:--------------------------------|:----------------------------------------------------------------|:--------------------------------------------------------------------|:-----------------------------------------------------------------------------| +| [dev@doris.apache.org](mailto:dev@doris.apache.org) | Development-related discussions | [Subscribe](mailto:dev-subscribe@doris.apache.org) | [Unsubscribe](mailto:dev-unsubscribe@doris.apache.org) | [Archives](http://mail-archives.apache.org/mod_mbox/doris-dev/) | + +## 🧰 Links + +* Apache Doris Official Website - [Site](https://doris.apache.org) +* Developer Mailing list - . Mail to , follow the reply to subscribe the mail list. +* Slack channel - [Join the Slack](https://join.slack.com/t/apachedoriscommunity/shared_invite/zt-35mzao67o-BrpU70FNKPyB6UlgpXf8_w) +* Twitter - [Follow @doris_apache](https://twitter.com/doris_apache) + + +## 📜 License + +[Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0) + +> **Note** +> Some licenses of the third-party dependencies are not compatible with Apache 2.0 License. So you need to disable +some Doris features to be complied with Apache 2.0 License. For details, refer to the `thirdparty/LICENSE.txt` + + + diff --git a/data/readmes/dragonfly-v235-beta0.md b/data/readmes/dragonfly-v235-beta0.md new file mode 100644 index 0000000..4d8112b --- /dev/null +++ b/data/readmes/dragonfly-v235-beta0.md @@ -0,0 +1,87 @@ +# Dragonfly - README (v2.3.5-beta.0) + +**Repository**: https://github.com/dragonflyoss/dragonfly +**Version**: v2.3.5-beta.0 + +--- + +# Dragonfly + +![alt][logo-linear] + +[![GitHub release](https://img.shields.io/github/release/dragonflyoss/dragonfly.svg)](https://github.com/dragonflyoss/dragonfly/releases) +[![Artifact Hub](https://img.shields.io/endpoint?url=https://artifacthub.io/badge/repository/dragonfly)](https://artifacthub.io/packages/search?repo=dragonfly) +[![OpenSSF Scorecard](https://api.scorecard.dev/projects/github.com/dragonflyoss/dragonfly/badge)](https://scorecard.dev/viewer/?uri=github.com/dragonflyoss/dragonfly) +[![CI](https://github.com/dragonflyoss/dragonfly/actions/workflows/ci.yml/badge.svg?branch=main)](https://github.com/dragonflyoss/dragonfly/actions/workflows/ci.yml) +[![Go Report Card](https://goreportcard.com/badge/github.com/dragonflyoss/dragonfly?style=flat-square)](https://goreportcard.com/report/github.com/dragonflyoss/dragonfly) +[![Discussions](https://img.shields.io/badge/discussions-on%20github-blue?style=flat-square)](https://github.com/dragonflyoss/dragonfly/discussions) +[![OpenSSF Best Practices](https://www.bestpractices.dev/projects/10432/badge)](https://www.bestpractices.dev/projects/10432) +[![Twitter](https://img.shields.io/twitter/url?style=social&url=https%3A%2F%2Ftwitter.com%2Fdragonfly_oss)](https://twitter.com/dragonfly_oss) +[![LICENSE](https://img.shields.io/github/license/dragonflyoss/dragonfly.svg?style=flat-square)](https://github.com/dragonflyoss/dragonfly/blob/main/LICENSE) +[![FOSSA Status](https://app.fossa.com/api/projects/git%2Bgithub.com%2Fdragonflyoss%2Fdragonfly.svg?type=shield&issueType=license)](https://app.fossa.com/projects/git%2Bgithub.com%2Fdragonflyoss%2Fdragonfly?ref=badge_shield&issueType=license) +[![LFX Health Score](https://img.shields.io/static/v1?label=Health%20Score&message=Healthy&color=A7F3D0&logo=linuxfoundation&logoColor=white&style=flat)](https://insights.linuxfoundation.org/project/d7y) +[![CNCF Status](https://img.shields.io/badge/CNCF%20Status-Graduated-informational)](https://www.cncf.io/projects/dragonfly/) + +## Introduction + +Delivers efficient, stable, and secure data distribution and acceleration powered by P2P technology, +with an optional content‑addressable filesystem that accelerates OCI container launch. +It aims to provide a best‑practice, standards‑based solution for cloud‑native architectures, +improving large‑scale delivery of files, container images, OCI artifacts, AI/ML models, caches, +logs, dependencies, etc. + +## Documentation + +You can find the full documentation on the [d7y.io][d7y.io]. + +## Community + +Join the conversation and help the community grow. Here are the ways to get involved: + +- **Slack Channel**: [#dragonfly](https://cloud-native.slack.com/messages/dragonfly/) on [CNCF Slack](https://slack.cncf.io/) +- **Github Discussions**: [Dragonfly Discussion Forum][discussion] +- **Developer Group**: +- **Mailing Lists**: + - **Developers**: + - **Maintainers**: +- **Twitter**: [@dragonfly_oss](https://twitter.com/dragonfly_oss) +- **DingTalk Group**: `22880028764` + +You can also find community information in the [community repository](https://github.com/dragonflyoss/community). + +## Roadmap + +You can find the [roadmap](https://github.com/dragonflyoss/community/blob/master/ROADMAP.md) +in the [community repository](https://github.com/dragonflyoss/community). + +## Security + +### Security Audit + +A third-party security audit of Dragonfly was performed by Trail of Bits, with the full report available at +[Dragonfly Comprehensive Report](docs/security/dragonfly-comprehensive-report-2023.pdf). + +### Reporting security vulnerabilities + +If you discover a vulnerability, please report it per our Security Policy at [Security Policy](https://github.com/dragonflyoss/community/blob/master/SECURITY.md), +and security insights are detailed in [SECURITY-INSIGHTS.yml](SECURITY-INSIGHTS.yml). + +## Software bill of materials + +We publish SBOMs with all of our releases. You can find them in Github release assets. + +[arch]: docs/images/arch.png +[logo-linear]: docs/images/logo/dragonfly-linear.svg +[discussion]: https://github.com/dragonflyoss/dragonfly/discussions +[contributing]: https://github.com/dragonflyoss/community/blob/master/CONTRIBUTING.md +[codeconduct]: https://github.com/dragonflyoss/community/blob/master/CODE_OF_CONDUCT.md +[d7y.io]: https://d7y.io/ + +## Contributing + +You should check out our +[CONTRIBUTING][contributing] and develop the project together. + +## Code of Conduct + +Please refer to our [Code of Conduct][codeconduct] which applies to all Dragonfly community members. diff --git a/data/readmes/drill-drill-1220.md b/data/readmes/drill-drill-1220.md new file mode 100644 index 0000000..d670256 --- /dev/null +++ b/data/readmes/drill-drill-1220.md @@ -0,0 +1,42 @@ +# Drill - README (drill-1.22.0) + +**Repository**: https://github.com/apache/drill +**Version**: drill-1.22.0 + +--- + +# Apache Drill + +[![Build Status](https://github.com/apache/drill/workflows/Github%20CI/badge.svg)](https://github.com/apache/drill/actions) +[![Artifact](https://img.shields.io/maven-central/v/org.apache.drill/distribution.svg)](https://search.maven.org/#search%7Cgav%7C1%7Cg%3A%22org.apache.drill%22%20AND%20a%3A%22distribution%22) +[![License](https://img.shields.io/badge/license-Apache--2.0-blue.svg)](http://www.apache.org/licenses/LICENSE-2.0) +[![Stack Overflow](https://img.shields.io/:stack%20overflow-apache--drill-brightgreen.svg)](http://stackoverflow.com/questions/tagged/apache-drill) +[![Join Drill Slack](https://img.shields.io/badge/slack-open-e01563.svg)](http://apache-drill.slack.com "Join our Slack community") + + +Apache Drill is a distributed MPP query layer that supports SQL and alternative query languages against NoSQL and Hadoop data storage systems. It was inspired in part by [Google's Dremel](http://research.google.com/pubs/pub36632.html). + +## Developers + +Please read [Environment.md](docs/dev/Environment.md) for setting up and running Apache Drill. For complete developer documentation see [DevDocs.md](docs/dev/DevDocs.md). + +## More Information +Please see the [Apache Drill Website](http://drill.apache.org/) or the [Apache Drill Documentation](http://drill.apache.org/docs/) for more information including: + + * Remote Execution Installation Instructions + * [Running Drill on Docker instructions](https://drill.apache.org/docs/running-drill-on-docker/) + * Information about how to submit logical and distributed physical plans + * More example queries and sample data + * Find out ways to be involved or discuss Drill + + +## Join the community! +Apache Drill is an Apache Foundation project and is seeking all types of users and contributions. +Please say hello on the [Apache Drill mailing list](http://drill.apache.org/mailinglists/).You can also join our [Google Hangouts](http://drill.apache.org/community-resources/) +or [join](https://bit.ly/2VM0XS8) our [Slack Channel](https://join.slack.com/t/apache-drill/shared_invite/enQtNTQ4MjM1MDA3MzQ2LTJlYmUxMTRkMmUwYmQ2NTllYmFmMjU4MDk0NjYwZjBmYjg0MDZmOTE2ZDg0ZjBlYmI3Yjc4Y2I2NTQyNGVlZTc) if you need help with using or developing Apache Drill (more information can be found on [Apache Drill website](http://drill.apache.org/)). + +## Export Control +This distribution includes cryptographic software. The country in which you currently reside may have restrictions on the import, possession, use, and/or re-export to another country, of encryption software. BEFORE using any encryption software, please check your country's laws, regulations and policies concerning the import, possession, or use, and re-export of encryption software, to see if this is permitted. See for more information. +The U.S. Government Department of Commerce, Bureau of Industry and Security (BIS), has classified this software as Export Commodity Control Number (ECCN) 5D002.C.1, which includes information security software using or performing cryptographic functions with asymmetric algorithms. The form and manner of this Apache Software Foundation distribution makes it eligible for export under the License Exception ENC Technology Software Unrestricted (TSU) exception (see the BIS Export Administration Regulations, Section 740.13) for both object code and source code. +The following provides more details on the included cryptographic software: + Java SE Security packages are used to provide support for authentication, authorization and secure sockets communication. The Jetty Web Server is used to provide communication via HTTPS. The Cyrus SASL libraries, Kerberos Libraries and OpenSSL Libraries are used to provide SASL based authentication and SSL communication. diff --git a/data/readmes/druid-druid-3500.md b/data/readmes/druid-druid-3500.md new file mode 100644 index 0000000..42401fa --- /dev/null +++ b/data/readmes/druid-druid-3500.md @@ -0,0 +1,128 @@ +# Druid - README (druid-35.0.0) + +**Repository**: https://github.com/apache/druid +**Version**: druid-35.0.0 + +--- + + + +[![Coverage Status](https://img.shields.io/codecov/c/gh/apache/druid?logo=codecov)](https://codecov.io/gh/apache/druid) +[![Docker](https://img.shields.io/badge/container-docker-blue.svg?logo=docker)](https://hub.docker.com/r/apache/druid) +[![Helm](https://img.shields.io/badge/helm-druid-5F90AB?logo=helm)](https://github.com/asdf2014/druid-helm) + + + +| Workflow | Status | +| :----------------------------------- | :----------------------------------------------------------- | +| ⚙️ CodeQL Config | [![codeql-config](https://img.shields.io/github/actions/workflow/status/apache/druid/codeql-config.yml?branch=master&logo=github-actions&style=flat-square)](https://github.com/apache/druid/actions/workflows/codeql-config.yml) | +| 🔍 CodeQL | [![codeql](https://img.shields.io/github/actions/workflow/status/apache/druid/codeql.yml?branch=master&logo=github-actions&style=flat-square)](https://github.com/apache/druid/actions/workflows/codeql.yml) | +| 🕒 Cron Job ITS | [![cron-job-its](https://img.shields.io/github/actions/workflow/status/apache/druid/cron-job-its.yml?branch=master&logo=github-actions&style=flat-square)](https://github.com/apache/druid/actions/workflows/cron-job-its.yml) | +| 🏷️ Labeler | [![labeler](https://img.shields.io/github/actions/workflow/status/apache/druid/labeler.yml?logo=github-actions&style=flat-square)](https://github.com/apache/druid/actions/workflows/labeler.yml) | +| ♻️ Reusable Revised ITS | [![reusable-revised-its](https://img.shields.io/github/actions/workflow/status/apache/druid/reusable-revised-its.yml?branch=master&logo=github-actions&style=flat-square)](https://github.com/apache/druid/actions/workflows/reusable-revised-its.yml) | +| ♻️ Reusable Standard ITS | [![reusable-standard-its](https://img.shields.io/github/actions/workflow/status/apache/druid/reusable-standard-its.yml?branch=master&logo=github-actions&style=flat-square)](https://github.com/apache/druid/actions/workflows/reusable-standard-its.yml) | +| 🔄 Revised ITS | [![revised-its](https://img.shields.io/github/actions/workflow/status/apache/druid/revised-its.yml?branch=master&logo=github-actions&style=flat-square)](https://github.com/apache/druid/actions/workflows/revised-its.yml) | +| 🔧 Standard ITS | [![standard-its](https://img.shields.io/github/actions/workflow/status/apache/druid/standard-its.yml?branch=master&logo=github-actions&style=flat-square)](https://github.com/apache/druid/actions/workflows/standard-its.yml) | +| 🛠️ Static Checks | [![static-checks](https://img.shields.io/github/actions/workflow/status/apache/druid/static-checks.yml?branch=master&logo=github-actions&style=flat-square)](https://github.com/apache/druid/actions/workflows/static-checks.yml) | +| 🧪 Unit and Integration Tests Unified | [![unit-and-integration-tests-unified](https://img.shields.io/github/actions/workflow/status/apache/druid/unit-and-integration-tests-unified.yml?branch=master&logo=github-actions&style=flat-square)](https://github.com/apache/druid/actions/workflows/unit-and-integration-tests-unified.yml) | + +--- + +[![Website](https://img.shields.io/badge/Website-druid.apache.org-blue?style=flat-square&logo=apache-druid)](https://druid.apache.org/) +[![Twitter](https://img.shields.io/badge/Twitter-%40druidio-blue?style=flat-square&logo=twitter)](https://twitter.com/druidio) +[![Download](https://img.shields.io/badge/Download-Downloads_Page-blue?style=flat-square&logo=data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA0NDggNTEyIj4KICA8cGF0aCBkPSJNNDQxLjkgMTY3LjNsLTE5LjgtMTkuOGMtNC43LTQuNy0xMi4zLTQuNy0xNyAwbC0xODIuMSAxODAuNy0xODEuMS0xODAuN2MtNC43LTQuNy0xMi4zLTQuNy0xNyAwbC0xOS44IDE5LjhjLTQuNyA0LjctNC43IDEyLjMgMCAxN2wyMDkuNCAyMDkuNGM0LjcgNC43IDEyLjMgNC43IDE3IDBsMjA5LjQtMjA5LjRjNC43LTQuNyA0LjctMTIuMyAwLTE3eiIvPgo8L3N2Zz4K)](https://druid.apache.org/downloads.html) +[![Get Started](https://img.shields.io/badge/Get_Started-Getting_Started-blue?style=flat-square&logo=quicklook)](#getting-started) +[![Documentation](https://img.shields.io/badge/Documentation-Design_Docs-blue?style=flat-square&logo=read-the-docs)](https://druid.apache.org/docs/latest/design/) +[![Community](https://img.shields.io/badge/Community-Join_Us-blue?style=flat-square&logo=slack)](#community) +[![Build](https://img.shields.io/badge/Build-Building_From_Source-blue?style=flat-square&logo=github-actions)](#building-from-source) +[![Contribute](https://img.shields.io/badge/Contribute-How_to_Contribute-blue?style=flat-square&logo=github)](#contributing) +[![License](https://img.shields.io/badge/License-Apache_2.0-blue?style=flat-square&logo=apache)](#license) + +--- + +## Apache Druid + +Druid is a high performance real-time analytics database. Druid's main value add is to reduce time to insight and action. + +Druid is designed for workflows where fast queries and ingest really matter. Druid excels at powering UIs, running operational (ad-hoc) queries, or handling high concurrency. Consider Druid as an open source alternative to data warehouses for a variety of use cases. The [design documentation](https://druid.apache.org/docs/latest/design/architecture.html) explains the key concepts. + +### Getting started + +You can get started with Druid with our [local](https://druid.apache.org/docs/latest/tutorials/quickstart.html) or [Docker](http://druid.apache.org/docs/latest/tutorials/docker.html) quickstart. + +Druid provides a rich set of APIs (via HTTP and [JDBC](https://druid.apache.org/docs/latest/querying/sql.html#jdbc)) for loading, managing, and querying your data. +You can also interact with Druid via the built-in [web console](https://druid.apache.org/docs/latest/operations/web-console.html) (shown below). + +#### Load data + +[![data loader Kafka](https://user-images.githubusercontent.com/177816/65819337-054eac80-e1d0-11e9-8842-97b92d8c6159.gif)](https://druid.apache.org/docs/latest/ingestion/index.html) + +Load [streaming](https://druid.apache.org/docs/latest/ingestion/index.html#streaming) and [batch](https://druid.apache.org/docs/latest/ingestion/index.html#batch) data using a point-and-click wizard to guide you through ingestion setup. Monitor one off tasks and ingestion supervisors. + +#### Manage the cluster + +[![management](https://user-images.githubusercontent.com/177816/65819338-08499d00-e1d0-11e9-80fe-faee9e9468cb.gif)](https://druid.apache.org/docs/latest/ingestion/data-management.html) + +Manage your cluster with ease. Get a view of your [datasources](https://druid.apache.org/docs/latest/design/architecture.html), [segments](https://druid.apache.org/docs/latest/design/segments.html), [ingestion tasks](https://druid.apache.org/docs/latest/ingestion/tasks.html), and [services](https://druid.apache.org/docs/latest/design/processes.html) from one convenient location. All powered by [SQL systems tables](https://druid.apache.org/docs/latest/querying/sql.html#metadata-tables), allowing you to see the underlying query for each view. + +#### Issue queries + +[![query view combo](https://user-images.githubusercontent.com/177816/65819341-0c75ba80-e1d0-11e9-9730-0f2d084defcc.gif)](https://druid.apache.org/docs/latest/querying/sql.html) + +Use the built-in query workbench to prototype [DruidSQL](https://druid.apache.org/docs/latest/querying/sql.html) and [native](https://druid.apache.org/docs/latest/querying/querying.html) queries or connect one of the [many tools](https://druid.apache.org/libraries.html) that help you make the most out of Druid. + +### Documentation + +See the [latest documentation](https://druid.apache.org/docs/latest/) for the documentation for the current official release. If you need information on a previous release, you can browse [previous releases documentation](https://druid.apache.org/docs/). + +Make documentation and tutorials updates in [`/docs`](https://github.com/apache/druid/tree/master/docs) using [Markdown](https://www.markdownguide.org/) or extended Markdown [(MDX)](https://mdxjs.com/). Then, open a pull request. + +To build the site locally, you need Node 18 or higher and to install Docusaurus 3 with `npm|yarn install` in the `website` directory. Then you can run `npm|yarn start` to launch a local build of the docs. + +If you're looking to update non-doc pages like Use Cases, those files are in the [`druid-website-src`](https://github.com/apache/druid-website-src/tree/master) repo. + +For more information, see the [README in the `./website` directory](./website/README.md). + +### Community + +Visit the official project [community](https://druid.apache.org/community/) page to read about getting involved in contributing to Apache Druid, and how we help one another use and operate Druid. + +* Druid users can find help in the [`druid-user`](https://groups.google.com/forum/#!forum/druid-user) mailing list on Google Groups, and have more technical conversations in `#troubleshooting` on Slack. +* Druid development discussions take place in the [`druid-dev`](https://lists.apache.org/list.html?dev@druid.apache.org) mailing list ([dev@druid.apache.org](https://lists.apache.org/list.html?dev@druid.apache.org)). Subscribe by emailing [dev-subscribe@druid.apache.org](mailto:dev-subscribe@druid.apache.org). For live conversations, join the `#dev` channel on Slack. + +Check out the official [community](https://druid.apache.org/community/) page for details of how to join the community Slack channels. + +Find articles written by community members and a calendar of upcoming events on the [project site](https://druid.apache.org/) - contribute your own events and articles by submitting a PR in the [`apache/druid-website-src`](https://github.com/apache/druid-website-src/tree/master/_data) repository. + +### Building from source + +Please note that JDK 11 or JDK 17 is required to build Druid. + +See the latest [build guide](https://druid.apache.org/docs/latest/development/build.html) for instructions on building Apache Druid from source. + +### Contributing + +Please follow the [community guidelines](https://druid.apache.org/community/) for contributing. + +For instructions on setting up IntelliJ [dev/intellij-setup.md](dev/intellij-setup.md) + +### License + +[Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0) diff --git a/data/readmes/dubbo-admin-060.md b/data/readmes/dubbo-admin-060.md new file mode 100644 index 0000000..70723b1 --- /dev/null +++ b/data/readmes/dubbo-admin-060.md @@ -0,0 +1,195 @@ +# Dubbo-Admin - README (0.6.0) + +**Repository**: https://github.com/apache/dubbo-admin +**Version**: 0.6.0 + +--- + +# Dubbo Admin + +![GitHub Workflow Status](https://img.shields.io/github/workflow/status/apache/dubbo-admin/CI) +[![codecov](https://codecov.io/gh/apache/dubbo-admin/branch/develop/graph/badge.svg)](https://codecov.io/gh/apache/dubbo-admin/branches/develop) +![license](https://img.shields.io/github/license/apache/dubbo-admin.svg) +[![Average time to resolve an issue](http://isitmaintained.com/badge/resolution/apache/dubbo-admin.svg)](http://isitmaintained.com/project/apache/dubbo-admin "Average time to resolve an issue") +[![Percentage of issues still open](http://isitmaintained.com/badge/open/apache/dubbo-admin.svg)](http://isitmaintained.com/project/apache/dubbo-admin "Percentage of issues still open") + +[中文说明](README_ZH.md) + +Dubbo Admin is the console designed for better visualization of Dubbo services, it provides support for Dubbo3 and is compatible with 2.7.x, 2.6.x and 2.5.x. + +![index](https://raw.githubusercontent.com/apache/dubbo-admin/develop/doc/images/index.png) + +There are four ways to deploy Dubbo Admin to a production environment. + +1. [Linux with Admin](#11-linux-with-admin) +2. [Docker with Admin](#12-docker-with-admin) +3. [Kubernetes with Admin](#13-kubernetes-with-admin) +4. [Helm with Admin](#14-helm-with-admin) + +Choose either method based on your environment, where Helm is the recommended installation method because Helm can be installed with a single click and automatically helps manage all of Admin's required production environment dependencies. + +## 1.1 Linux with Admin + +1. Download code: `git clone https://github.com/apache/dubbo-admin.git` +2. `dubbo-admin-server/src/main/resources/application.properties` Designated Registration Center Address +3. Build + - `mvn clean package -Dmaven.test.skip=true` +4. Start + * `mvn --projects dubbo-admin-server spring-boot:run` + or + * `cd dubbo-admin-distribution/target; java -jar dubbo-admin-${project.version}.jar` +5. Visit `http://localhost:38080` + +## 1.2 Docker with Admin +Admin image hosting at: https://hub.docker.com/repository/docker/apache/dubbo-admin + + 1, the following `172.17.0.2` registry address is the docker run zookeeper registry address, modify the `application.properties` file default parameters, such as registry address, etc. + 2、Get the zookeeper registry address through `docker inspect`. + 3.Change `172.17.0.2` registry address to your current docker running zookeeper registry address. +``` + admin.registry.address: zookeeper://172.17.0.2:2181 + admin.config-center: zookeeper://172.17.0.2:2181 + admin.metadata-report.address: zookeeper://172.17.0.2:2181 +``` +docker start +```sh +$ docker run -p 38080:38080 --name dubbo-admin -d dubbo-admin +``` + +Visit `http://localhost:38080` + +## 1.3 Kubernetes with Admin + +**1. Download Kubernetes manifests** +```sh +$ git clone https://github.com/apache/dubbo-admin.git +``` + +Switch to the 'deploy/k8s' directory to see the Admin kubernetes resource file +```sh +$ cd /dubbo-admin/deploy/kubernetes +``` + +**2. Install Dubbo Admin** + +modify [application.properties](./dubbo-admin-server/src/main/resources/application.properties) Parameter configuration in `configmap.yaml` ,Just define the parameters to be overwritten。 + +Run the following command: + +```sh +$ kubectl apply -f ./ +``` + +**3. Visit Admin** +```sh +$ kubectl port-forward service dubbo-admin 38080:38080 +``` + +Visit `http://localhost:38080` + + +## 1.4 Helm with Admin +There are two ways to run Admin through Help. They have the same effect, so you can choose any of the following. + +### 1.4.1 Run Admin based on Chart source file +**1. Download chart source file** + +clone Dubbo Admin project storehouse: + +```sh +$ git clone https://github.com/apache/dubbo-admin.git +``` + +Switch from the warehouse root directory to the following directory `deploy/charts/dubbo-admin` + +```sh +$ cd dubbo-admin/deploy/charts/dubbo-admin +``` +**2. Install helm chart** + +Start parameters of Admin so that Admin can connect to the real production environment registry or configuration center. You can specify a custom configuration file through the following `-f` help parameter: +```yaml +properties: + admin.registry.address: zookeeper://zookeeper:2181 + admin.config-center: zookeeper://zookeeper:2181 + admin.metadata-report.address: zookeeper://zookeeper:2181 +``` + +`zookeeper://zookeeper:2181` Visit address of the Kubernetes Cluster registration center zookeeper。 +```sh +$ helm install dubbo-admin -f values.yaml . +``` + +`properties` The content specified in the field will be overwritten Admin [application.properties](./dubbo-admin-server/src/main/resources/application.properties) Specified default configuration,In addition to 'properties', you can customize other properties defined by Admin help chart,Here is available[Complete parameters](./deploy/helm/dubbo-admin/values.yaml)。 + +**3. Visit Admin** + +Visit http://127.0.0.1:38080 + +### 1.4.2 Run Admin based on Chart warehouse + +**1. Add helm chart (Temporarily unavailable)** + +```sh +$ helm repo add dubbo-charts https://dubbo.apache.org/dubbo-charts +$ helm repo update +``` + +**2. Install helm chart** +```sh +$ helm install dubbo-admin dubbo-charts/dubbo-admin +``` + +reference resources [1.4.1 Run Admin based on Chart warehouse](1.4.1-Run-from-helm-chart-sources) Learn how to customize installation parameters. + +```sh +$ helm install dubbo-admin -f properties.yaml dubbo-charts/dubbo-admin +``` + +**3. Visit Dubbo Admin** + +Dubbo Admin Now that the installation should be successful, run the following command to obtain the access address: + +```sh +$ kubectl --namespace default port-forward service/dubbo-admin 38080:38080 +``` + +Visit http://127.0.0.1:38080 + +# 2. Want To Contribute + +Below contains the description of the project structure for developers who want to contribute to make Dubbo Admin better. + +## 2.1 Admin UI + +- [Vue.js](https://vuejs.org) and [Vue Cli](https://cli.vuejs.org/) +- [dubbo-admin-ui/README.md](dubbo-admin-ui/README.md) for more detail +- Set npm **proxy mirror**: + + If you have network issue, you can set npm proxy mirror to speedup npm install: + + add `registry=https://registry.npmmirror.com` to ~/.npmrc + +## 2.2 Admin Server + +* Standard spring boot project +* [configurations in application.properties](https://github.com/apache/dubbo-admin/wiki/Dubbo-Admin-configuration) + + +## 2.3 Setting up a local developing environment +* Run admin server project + + backend is a standard spring boot project, you can run it in any java IDE + +* Run admin ui project + + at directory `dubbo-admin-ui`, run with `npm run dev`. + +* visit web page + + visit `http://localhost:38082`, frontend supports hot reload. + +# 3 License + +Apache Dubbo admin is under the Apache 2.0 license, Version 2.0. +See [LICENSE](https://github.com/apache/dubbo-admin/blob/develop/LICENSE) for full license text. diff --git a/data/readmes/easegress-v2101.md b/data/readmes/easegress-v2101.md new file mode 100644 index 0000000..014786d --- /dev/null +++ b/data/readmes/easegress-v2101.md @@ -0,0 +1,237 @@ +# Easegress - README (v2.10.1) + +**Repository**: https://github.com/easegress-io/easegress +**Version**: v2.10.1 + +--- + +# Easegress + +[![Go Report Card](https://goreportcard.com/badge/github.com/megaease/easegress)](https://goreportcard.com/report/github.com/megaease/easegress) +[![GitHub Workflow Status (branch)](https://img.shields.io/github/actions/workflow/status/megaease/easegress/test.yml?branch=main)](https://github.com/megaease/easegress/actions/workflows/test.yml) +[![codecov](https://codecov.io/gh/megaease/easegress/branch/main/graph/badge.svg?token=5Q80B98LPI)](https://codecov.io/gh/megaease/easegress) +[![Docker pulls](https://img.shields.io/docker/pulls/megaease/easegress.svg)](https://hub.docker.com/r/megaease/easegress) +[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0) +[![GitHub go.mod Go version](https://img.shields.io/github/go-mod/go-version/megaease/easegress)](https://github.com/megaease/easegress/blob/main/go.mod) +[![Join Easegress Slack](https://img.shields.io/badge/slack-megaease-brightgreen?logo=slack)](https://cloud-native.slack.com/messages/easegress) +[![OpenSSF Best Practices](https://www.bestpractices.dev/projects/8265/badge)](https://www.bestpractices.dev/projects/8265) +[![FOSSA Status](https://app.fossa.com/api/projects/git%2Bgithub.com%2Feasegress-io%2Feasegress.svg?type=shield)](https://app.fossa.com/projects/git%2Bgithub.com%2Feasegress-io%2Feasegress?ref=badge_shield) + + + Easegress logo + + +- [What is Easegress](#what-is-easegress) +- [Features](#features) +- [Getting Started](#getting-started) + - [Launch Easegress](#launch-easegress) + - [Reverse Proxy](#reverse-proxy) +- [Use Cases](#use-cases) +- [Documentation](#documentation) +- [Easegress Portal](#easegress-portal) + - [Screenshots](#screenshots) +- [Community](#community) +- [Contributing](#contributing) +- [License](#license) + +## What is Easegress + +`Easegress` is a Cloud Native traffic orchestration system designed for: + +- **High Availability:** Built-in Raft consensus & leader election provides 99.99% availability. +- **Traffic Orchestration:** Simple orchestration of various filters for each traffic pipeline. +- **High Performance:** Lightweight and essential features speed up the performance. +- **Observability:** There are many meaningful statistics periodically in a readable way. +- **Extensibility:** It's easy to develop your own filter or controller with high-level programming language. +- **Integration:** The simple interfaces make it easy to integrate with other systems, such as Kubernetes Ingress, [EaseMesh](https://github.com/megaease/easemesh) sidecar, Workflow, etc. + +The architecture of Easegress: + +![architecture](./docs/imgs/architecture.png) + +And you can check [Easegress DeepWiki Page](https://deepwiki.com/easegress-io/easegress) to dive into more details. + +## Features + +- **Service Management** + - **Multiple protocols:** + - HTTP/1.1 + - HTTP/2 + - HTTP/3(QUIC) + - MQTT + - **Rich Routing Rules:** exact path, path prefix, regular expression of the path, method, headers, clientIPs. + - **Resilience&Fault Tolerance** + - **CircuitBreaker:** temporarily blocks possible failures. + - **RateLimiter:** limits the rate of incoming requests. + - **Retry:** repeats failed executions. + - **TimeLimiter:** limits the duration of execution. + - **Deployment Management** + - **Blue-green Strategy:** switches traffic at one time. + - **Canary Strategy:** schedules traffic slightly. + - **API Management** + - **API Aggregation:** aggregates results of multiple APIs. + - **API Orchestration:** orchestrates the flow of APIs. + - **Security** + - **IP Filter:** Limits access to IP addresses. + - **Static HTTPS:** static certificate files. + - **API Signature:** supports [HMAC](https://en.wikipedia.org/wiki/HMAC) verification. + - **JWT Verification:** verifies [JWT Token](https://jwt.io/). + - **OAuth2:** validates [OAuth/2](https://datatracker.ietf.org/doc/html/rfc6749) requests. + - **Let's Encrypt:** automatically manage certificate files. + - **Pipeline-Filter Mechanism** + - **Filter Management:** makes it easy to develop new filters. + - **Service Mesh** + - **Mesh Master:** is the control plane to manage the lifecycle of mesh services. + - **Mesh Sidecar:** is the data plane as the endpoint to do traffic interception and routing. + - **Mesh Ingress Controller:** is the mesh-specific ingress controller to route external traffic to mesh services. + > Notes: This feature is leveraged by [EaseMesh](https://github.com/megaease/easemesh) + - **Third-Part Integration** + - **FaaS** integrates with the serverless platform Knative. + - **Service Discovery** integrates with Eureka, Consul, Etcd, and Zookeeper. + - **Ingress Controller** integrates with Kubernetes as an ingress controller. +- **Extensibility** + - **WebAssembly** executes user developed [WebAssembly](https://webassembly.org/) code. +- **High Performance and Availability** + - **Adaption**: adapts request, response in the handling chain. + - **Validation**: headers validation, OAuth2, JWT, and HMAC verification. + - **Load Balance:** round-robin, random, weighted random, IP hash, header hash and support sticky sessions. + - **Cache:** for the backend servers. + - **Compression:** compresses body for the response. + - **Hot-Update:** updates both config and binary of Easegress in place without losing connections. +- **Operation** + - **Easy to Integrate:** command line([egctl](docs/02.Tutorials/2.1.egctl-Usage.md)), Easegress Portal, HTTP clients such as curl, postman, etc. + - **Distributed Tracing** + - Built-in [OpenTelemetry](https://opentelemetry.io/), which provides a vendor-neutral API. + - **Observability** + - **Node:** role(primary, secondary), raft leader status, healthy or not, last heartbeat time, and so on + - **Traffic:** in multi-dimension: server and backend. + - **Throughput:** total and error statistics of request count, TPS/m1, m5, m15, and error percent, etc. + - **Latency:** p25, p50, p75, p95, p98, p99, p999. + - **Data Size:** request and response size. + - **Status Codes:** HTTP status codes. + - **TopN:** sorted by aggregated APIs(only in server dimension). +- **AI Integration** + - **Proxy:** proxy requests to LLM providers like OpenAI, DeepSeek, Anthropic, etc. + - **Anthropic API Adaption:** adapts requests and responses in Anthropic API to OpenAI format. + - **Vector Database:** integrates with vector databases for caching. + - **Monitoring:** provides insights into the performance and usage of AI models. + +## Getting Started + +The basic usage of Easegress is to quickly set up a proxy for the backend servers. + +### Launch Easegress + +Easegress can be installed from pre-built binaries or from source. For details, see [Install](docs/01.Getting-Started/1.2.Install.md). + +Then we can execute the server: + +```bash +$ easegress-server +2023-09-06T15:12:49.256+08:00 INFO cluster/config.go:110 config: advertise-client-urls: ... +... +``` + +By default, Easegress opens ports 2379, 2380, and 2381; however, you can modify these settings along with other arguments either in the configuration file or via command-line arguments. For a complete list of arguments, please refer to the `easegress-server --help` command. + +After launching successfully, we could check the status of the one-node cluster. + +```bash +$ egctl get member +... + +$ egctl describe member +... +``` + +### Reverse Proxy + +Assuming you have two backend HTTP services running at `127.0.0.1:9095` and `127.0.0.1:9096`, you can initiate an HTTP proxy from port 10080 to these backends using the following command: + +```bash +$ egctl create httpproxy demo --port 10080 \ + --rule="/pipeline=http://127.0.0.1:9095,http://127.0.0.1:9096" +``` + +Then try it: + +```bash +curl -v 127.0.0.1:10080/pipeline +``` + +The request will be forwarded to either `127.0.0.1:9095/pipeline` or `127.0.0.1:9096/pipeline`, utilizing a round-robin load-balancing policy. + +More about getting started with Easegress: + +- [Quick Start](docs/01.Getting-Started/1.1.Quick-Start.md) +- [Install Easegress](docs/01.Getting-Started/1.2.Install.md) +- [Main Concepts](docs/01.Getting-Started/1.3.Concepts.md) + +## Use Cases + +The following examples show how to use Easegress for different scenarios. + +- [API Aggregation](docs/02.Tutorials/2.3.Pipeline-Explained.md#api-aggregation) - Aggregating many APIs into a single API. +- [Cluster Deployment](docs/05.Administration/5.1.Config-and-Cluster-Deployment.md) - How to deploy multiple Easegress cluster nodes. +- [Canary Release](docs/03.Advanced-Cookbook/3.04.Canary-Release.md) - How to do canary release with Easegress. +- [Distributed Tracing](docs/03.Advanced-Cookbook/3.05.Distributed-Tracing.md) - How to do APM tracing - Zipkin. +- [FaaS](docs/03.Advanced-Cookbook/3.09.FaaS.md) - Supporting Knative FaaS integration +- [Flash Sale](docs/03.Advanced-Cookbook/3.09.FaaS.md) - How to do high concurrent promotion sales with Easegress +- [Kubernetes Ingress Controller](docs/04.Cloud-Native/4.1.Kubernetes-Ingress-Controller.md) - How to integrate with Kubernetes as ingress controller +- [LoadBalancer](docs/02.Tutorials/2.3.Pipeline-Explained.md#load-balancer) - A number of the strategies of load balancing +- [MQTTProxy](docs/03.Advanced-Cookbook/3.01.MQTT-Proxy.md) - An Example to MQTT proxy with Kafka backend. +- [Multiple API Orchestration](docs/03.Advanced-Cookbook/3.03.Multiple-API-Orchestration.md) - An Telegram translation bot. +- [Performance](docs/03.Advanced-Cookbook/3.11.Performance.md) - Performance optimization - compression, caching etc. +- [Pipeline](docs/02.Tutorials/2.3.Pipeline-Explained.md) - How to orchestrate HTTP filters for requests/responses handling +- [Resilience and Fault Tolerance](docs/02.Tutorials/2.4.Resilience.md) - CircuitBreaker, RateLimiter, Retry, TimeLimiter, etc. (Porting from [Java resilience4j](https://github.com/resilience4j/resilience4j)) +- [Security](docs/02.Tutorials/2.5.Traffic-Verification.md) - How to do authentication by Header, JWT, HMAC, OAuth2, etc. +- [Service Registry](docs/03.Advanced-Cookbook/3.06.Service-Registry.md) - Supporting the Microservice registries - Zookeeper, Eureka, Consul, Nacos, etc. +- [WebAssembly](docs/03.Advanced-Cookbook/3.07.WasmHost.md) - Using AssemblyScript to extend the Easegress +- [WebSocket](docs/02.Tutorials/2.6.Websocket.md) - WebSocket proxy for Easegress +- [Workflow](docs/03.Advanced-Cookbook/3.10.Workflow.md) - An Example to make a workflow for a number of APIs. + +For full list, see [Tutorials](docs/02.Tutorials/README.md) and [Cookbook](docs/03.Advanced-Cookbook/README.md). + +## Documentation + +- [Getting Started](docs/01.Getting-Started/README.md) +- [Tutorials](docs/02.Tutorials/README.md) +- [Advanced Cookbook](docs/03.Advanced-Cookbook/README.md) +- [Cloud Native](docs/04.Cloud-Native/README.md) +- [Administration](docs/05.Administration/README.md) +- [Development](docs/06.Development-for-Easegress/README.md) +- [Reference](docs/07.Reference/README.md) + +## Easegress Portal + +[Easegress Portal](https://github.com/megaease/easegress-portal) is an intuitive, open-source user interface for the Easegress traffic orchestration system. Developed with React.js, this portal provides config management, metrics, and visualizations, enhancing the overall Easegress experience. + +### Screenshots + +**1. Cluster Management** + +![cluster](./docs/imgs/portal/cluster.png) + +**2. Traffic Management** + +![traffic http server](./docs/imgs/portal/traffic-http-server.png) + +**3. Pipeline Management** + +![pipeline detail](./docs/imgs/portal/pipeline-detail.png) + +## Community + +- [Join Slack Workspace](https://cloud-native.slack.com/messages/easegress) for requirement, issue and development. +- [MegaEase on Twitter](https://twitter.com/megaease) + +## Contributing + +See [Contributing guide](./CONTRIBUTING.md#contributing). The project welcomes contributions and suggestions that abide by the [CNCF Code of Conduct](./CODE_OF_CONDUCT.md). + +## License + +Easegress is under the Apache 2.0 license. See the [LICENSE](./LICENSE) file for details. + +[![FOSSA Status](https://app.fossa.com/api/projects/git%2Bgithub.com%2Feasegress-io%2Feasegress.svg?type=large)](https://app.fossa.com/projects/git%2Bgithub.com%2Feasegress-io%2Feasegress?ref=badge_large) diff --git a/data/readmes/elasticsearch-v922.md b/data/readmes/elasticsearch-v922.md new file mode 100644 index 0000000..65aa2b5 --- /dev/null +++ b/data/readmes/elasticsearch-v922.md @@ -0,0 +1,308 @@ +# Elasticsearch - README (v9.2.2) + +**Repository**: https://github.com/elastic/elasticsearch +**Version**: v9.2.2 +**Branch**: v9.2.2 + +--- + += Elasticsearch + +Elasticsearch is a distributed search and analytics engine, scalable data store and vector database optimized for speed and relevance on production-scale workloads. Elasticsearch is the foundation of Elastic's open Stack platform. Search in near real-time over massive datasets, perform vector searches, integrate with generative AI applications, and much more. + +Use cases enabled by Elasticsearch include: + +* https://www.elastic.co/search-labs/blog/articles/retrieval-augmented-generation-rag[Retrieval Augmented Generation (RAG)] +* https://www.elastic.co/search-labs/blog/categories/vector-search[Vector search] +* Full-text search +* Logs +* Metrics +* Application performance monitoring (APM) +* Security logs + +\... and more! + +To learn more about Elasticsearch's features and capabilities, see our +https://www.elastic.co/products/elasticsearch[product page]. + +To access information on https://www.elastic.co/search-labs/blog/categories/ml-research[machine learning innovations] and the latest https://www.elastic.co/search-labs/blog/categories/lucene[Lucene contributions from Elastic], more information can be found in https://www.elastic.co/search-labs[Search Labs]. + +[[get-started]] +== Get started + +The simplest way to set up Elasticsearch is to create a managed deployment with +https://www.elastic.co/cloud/as-a-service[Elasticsearch Service on Elastic +Cloud]. + +If you prefer to install and manage Elasticsearch yourself, you can download +the latest version from +https://www.elastic.co/downloads/elasticsearch[elastic.co/downloads/elasticsearch]. + +=== Run Elasticsearch locally + +//// +IMPORTANT: This content is replicated in the Elasticsearch repo. See `run-elasticsearch-locally.asciidoc`. +Ensure both files are in sync. + +https://github.com/elastic/start-local is the source of truth. +//// + +[WARNING] +==== +DO NOT USE THESE INSTRUCTIONS FOR PRODUCTION DEPLOYMENTS. + +This setup is intended for local development and testing only. +==== + +Quickly set up Elasticsearch and Kibana in Docker for local development or testing, using the https://github.com/elastic/start-local?tab=readme-ov-file#-try-elasticsearch-and-kibana-locally[`start-local` script]. + +ℹ️ For more detailed information about the `start-local` setup, refer to the https://github.com/elastic/start-local[README on GitHub]. + +==== Prerequisites + +- If you don't have Docker installed, https://www.docker.com/products/docker-desktop[download and install Docker Desktop] for your operating system. +- If you're using Microsoft Windows, then install https://learn.microsoft.com/en-us/windows/wsl/install[Windows Subsystem for Linux (WSL)]. + +==== Trial license +This setup comes with a one-month trial license that includes all Elastic features. + +After the trial period, the license reverts to *Free and open - Basic*. +Refer to https://www.elastic.co/subscriptions[Elastic subscriptions] for more information. + +==== Run `start-local` + +To set up Elasticsearch and Kibana locally, run the `start-local` script: + +[source,sh] +---- +curl -fsSL https://elastic.co/start-local | sh +---- +// NOTCONSOLE + +This script creates an `elastic-start-local` folder containing configuration files and starts both Elasticsearch and Kibana using Docker. + +After running the script, you can access Elastic services at the following endpoints: + +* *Elasticsearch*: http://localhost:9200 +* *Kibana*: http://localhost:5601 + +The script generates a random password for the `elastic` user, which is displayed at the end of the installation and stored in the `.env` file. + +[CAUTION] +==== +This setup is for local testing only. HTTPS is disabled, and Basic authentication is used for Elasticsearch. For security, Elasticsearch and Kibana are accessible only through `localhost`. +==== + +==== API access + +An API key for Elasticsearch is generated and stored in the `.env` file as `ES_LOCAL_API_KEY`. +Use this key to connect to Elasticsearch with a https://www.elastic.co/guide/en/elasticsearch/client/index.html[programming language client] or the https://www.elastic.co/guide/en/elasticsearch/reference/current/rest-apis.html[REST API]. + +From the `elastic-start-local` folder, check the connection to Elasticsearch using `curl`: + +[source,sh] +---- +source .env +curl $ES_LOCAL_URL -H "Authorization: ApiKey ${ES_LOCAL_API_KEY}" +---- + +To use the password for the `elastic` user, set and export the `ES_LOCAL_PASSWORD` environment variable. For example: + +[source,sh] +---- +source .env +export ES_LOCAL_PASSWORD +---- + +// NOTCONSOLE + +=== Send requests to Elasticsearch + +You send data and other requests to Elasticsearch through REST APIs. +You can interact with Elasticsearch using any client that sends HTTP requests, +such as the https://www.elastic.co/guide/en/elasticsearch/client/index.html[Elasticsearch +language clients] and https://curl.se[curl]. + +==== Using curl + +Here's an example curl command to create a new Elasticsearch index, using basic auth: + +[source,sh] +---- +curl -u elastic:$ES_LOCAL_PASSWORD \ + -X PUT \ + http://localhost:9200/my-new-index \ + -H 'Content-Type: application/json' +---- + +// NOTCONSOLE + +==== Using a language client + +To connect to your local dev Elasticsearch cluster with a language client, you can use basic authentication with the `elastic` username and the password stored in the `ES_LOCAL_PASSWORD` environment variable. + +You'll use the following connection details: + +* **Elasticsearch endpoint**: `http://localhost:9200` +* **Username**: `elastic` +* **Password**: `$ES_LOCAL_PASSWORD` (Value you set in the environment variable) + +For example, to connect with the Python `elasticsearch` client: + +[source,python] +---- +import os +from elasticsearch import Elasticsearch + +username = 'elastic' +password = os.getenv('ES_LOCAL_PASSWORD') # Value you set in the environment variable + +client = Elasticsearch( + "http://localhost:9200", + basic_auth=(username, password) +) + +print(client.info()) +---- + +==== Using the Dev Tools Console + +Kibana's developer console provides an easy way to experiment and test requests. +To access the console, open Kibana, then go to **Management** > **Dev Tools**. + +**Add data** + +You index data into Elasticsearch by sending JSON objects (documents) through the REST APIs. +Whether you have structured or unstructured text, numerical data, or geospatial data, +Elasticsearch efficiently stores and indexes it in a way that supports fast searches. + +For timestamped data such as logs and metrics, you typically add documents to a +data stream made up of multiple auto-generated backing indices. + +To add a single document to an index, submit an HTTP post request that targets the index. + +---- +POST /customer/_doc/1 +{ + "firstname": "Jennifer", + "lastname": "Walters" +} +---- + +This request automatically creates the `customer` index if it doesn't exist, +adds a new document that has an ID of 1, and +stores and indexes the `firstname` and `lastname` fields. + +The new document is available immediately from any node in the cluster. +You can retrieve it with a GET request that specifies its document ID: + +---- +GET /customer/_doc/1 +---- + +To add multiple documents in one request, use the `_bulk` API. +Bulk data must be newline-delimited JSON (NDJSON). +Each line must end in a newline character (`\n`), including the last line. + +---- +PUT customer/_bulk +{ "create": { } } +{ "firstname": "Monica","lastname":"Rambeau"} +{ "create": { } } +{ "firstname": "Carol","lastname":"Danvers"} +{ "create": { } } +{ "firstname": "Wanda","lastname":"Maximoff"} +{ "create": { } } +{ "firstname": "Jennifer","lastname":"Takeda"} +---- + +**Search** + +Indexed documents are available for search in near real-time. +The following search matches all customers with a first name of _Jennifer_ +in the `customer` index. + +---- +GET customer/_search +{ + "query" : { + "match" : { "firstname": "Jennifer" } + } +} +---- + +**Explore** + +You can use Discover in Kibana to interactively search and filter your data. +From there, you can start creating visualizations and building and sharing dashboards. + +To get started, create a _data view_ that connects to one or more Elasticsearch indices, +data streams, or index aliases. + +. Go to **Management > Stack Management > Kibana > Data Views**. +. Select **Create data view**. +. Enter a name for the data view and a pattern that matches one or more indices, +such as _customer_. +. Select **Save data view to Kibana**. + +To start exploring, go to **Analytics > Discover**. + +[[upgrade]] +== Upgrade + +To upgrade from an earlier version of Elasticsearch, see the +https://www.elastic.co/guide/en/elasticsearch/reference/current/setup-upgrade.html[Elasticsearch upgrade +documentation]. + +[[build-source]] +== Build from source + +Elasticsearch uses https://gradle.org[Gradle] for its build system. + +To build a distribution for your local OS and print its output location upon +completion, run: +---- +./gradlew localDistro +---- + +To build a distribution for another platform, run the related command: +---- +./gradlew :distribution:archives:linux-tar:assemble +./gradlew :distribution:archives:darwin-tar:assemble +./gradlew :distribution:archives:windows-zip:assemble +---- + +Distributions are output to `distribution/archives`. + +To run the test suite, see xref:TESTING.asciidoc[TESTING]. + +[[docs]] +== Documentation + +For the complete Elasticsearch documentation visit +https://www.elastic.co/guide/en/elasticsearch/reference/current/index.html[elastic.co]. + +For information about our documentation processes, see the +xref:https://github.com/elastic/elasticsearch/blob/main/docs/README.md[docs README]. + +[[examples]] +== Examples and guides + +The https://github.com/elastic/elasticsearch-labs[`elasticsearch-labs`] repo contains executable Python notebooks, sample apps, and resources to test out Elasticsearch for vector search, hybrid search and generative AI use cases. + + +[[contribute]] +== Contribute + +For contribution guidelines, see xref:CONTRIBUTING.md[CONTRIBUTING]. + +[[questions]] +== Questions? Problems? Suggestions? + +* To report a bug or request a feature, create a +https://github.com/elastic/elasticsearch/issues/new/choose[GitHub Issue]. Please +ensure someone else hasn't created an issue for the same topic. + +* Need help using Elasticsearch? Reach out on the +https://discuss.elastic.co[Elastic Forum] or https://ela.st/slack[Slack]. A +fellow community member or Elastic engineer will be happy to help you out. diff --git a/data/readmes/emissary-ingress-v400-rc1.md b/data/readmes/emissary-ingress-v400-rc1.md new file mode 100644 index 0000000..307e0f8 --- /dev/null +++ b/data/readmes/emissary-ingress-v400-rc1.md @@ -0,0 +1,163 @@ +# Emissary-Ingress - README (v4.0.0-rc.1) + +**Repository**: https://github.com/emissary-ingress/emissary +**Version**: v4.0.0-rc.1 + +--- + +Emissary-ingress +================ + + +[![Version][badge-version-img]][badge-version-link] +[![Docker Repository][badge-docker-img]][badge-docker-link] +[![Join Slack][badge-slack-img]][badge-slack-link] +[![Core Infrastructure Initiative: Best Practices][badge-cii-img]][badge-cii-link] +[![Artifact HUB][badge-artifacthub-img]][badge-artifacthub-link] + +[badge-version-img]: https://img.shields.io/docker/v/emissaryingress/emissary?sort=semver +[badge-version-link]: https://github.com/emissary-ingress/emissary/releases +[badge-docker-img]: https://img.shields.io/docker/pulls/emissaryingress/emissary +[badge-docker-link]: https://hub.docker.com/r/emissaryingress/emissary +[badge-slack-img]: https://img.shields.io/badge/slack-join-orange.svg +[badge-slack-link]: https://communityinviter.com/apps/cloud-native/cncf +[badge-cii-img]: https://bestpractices.coreinfrastructure.org/projects/1852/badge +[badge-cii-link]: https://bestpractices.coreinfrastructure.org/projects/1852 +[badge-artifacthub-img]: https://img.shields.io/endpoint?url=https://artifacthub.io/badge/repository/emissary-ingress +[badge-artifacthub-link]: https://artifacthub.io/packages/helm/datawire/emissary-ingress + + + +--- + +## QUICKSTART + +Looking to get started as quickly as possible? Check out [the +QUICKSTART](https://emissary-ingress.dev/docs/3.10/quick-start/)! + +### Latest Release + +The latest production version of Emissary is **3.10.0**. + +**Note well** that there is also an Ambassador Edge Stack 3.10.0, but +**Emissary 3.10 and Edge Stack 3.10 are not equivalent**. Their codebases have +diverged and will continue to do so. + +--- + +Emissary-ingress +================ + +[Emissary-ingress](https://www.getambassador.io/docs/open-source) is an +open-source, developer-centric, Kubernetes-native API gateway built on [Envoy +Proxy]. Emissary-ingress is a CNCF incubating project (and was formerly known +as Ambassador API Gateway). + +### Design Goals + +The first problem faced by any organization trying to develop cloud-native +applications is the _ingress problem_: allowing users outside the cluster to +access the application running inside the cluster. Emissary is built around +the idea that the application developers should be able to solve the ingress +problem themselves, without needing to become Kubernetes experts and without +needing dedicated operations staff: a self-service, developer-centric workflow +is necessary to develop at scale. + +Emissary is open-source, developer-centric, role-oriented, opinionated, and +Kubernatives-native. + +- open-source: Emissary is licensed under the Apache 2 license, permitting use + or modification by anyone. +- developer-centric: Emissary is designed taking the application developer + into account first. +- role-oriented: Emissary's configuration deliberately tries to separate + elements to allow separation of concerns between developers and operations. +- opinionated: Emissary deliberately tries to make easy things easy, even if + that comes of the cost of not allowing some uncommon features. + +### Features + +Emissary supports all the table-stakes features needed for a modern API +gateway: + +* Per-request [load balancing] +* Support for routing [gRPC], [HTTP/2], [TCP], and [web sockets] +* Declarative configuration via Kubernetes [custom resources] +* Fine-grained [authentication] and [authorization] +* Advanced routing features like [canary releases], [A/B testing], [dynamic routing], and [sticky sessions] +* Resilience features like [retries], [rate limiting], and [circuit breaking] +* Observability features including comprehensive [metrics] support using the [Prometheus] stack +* Easy service mesh integration with [Linkerd], [Istio], [Consul], etc. +* [Knative serverless integration] + +See the full list of [features](https://www.getambassador.io/docs/emissary) here. + +### Branches + +(If you are looking at this list on a branch other than `master`, it +may be out of date.) + +- [`main`](https://github.com/emissary-ingress/emissary/tree/main): Emissary 4 development work + +**No further development is planned on any branches listed below.** + +- [`master`](https://github.com/emissary-ingress/emissary/tree/master) - **Frozen** at Emissary 3.10.0 +- [`release/v3.10`](https://github.com/emissary-ingress/emissary/tree/release/v3.10) - Emissary-ingress 3.10.0 release branch +- [`release/v3.9`](https://github.com/emissary-ingress/emissary/tree/release/v3.9) + - Emissary-ingress 3.9.1 release branch +- [`release/v2.5`](https://github.com/emissary-ingress/emissary/tree/release/v2.5) - Emissary-ingress 2.5.1 release branch + +**Note well** that there is also an Ambassador Edge Stack 3.10.0, but +**Emissary 3.10 and Edge Stack 3.10 are not equivalent**. Their codebases have +diverged and will continue to do so. + +#### Community + +Emissary-ingress is a CNCF Incubating project and welcomes any and all +contributors. + +Check out the [`Community/`](Community/) directory for information on +the way the community is run, including: + + - the [`CODE_OF_CONDUCT.md`](Community/CODE_OF_CONDUCT.md) + - the [`GOVERNANCE.md`](Community/GOVERNANCE.md) structure + - the list of [`MAINTAINERS.md`](Community/MAINTAINERS.md) + - the [`MEETING_SCHEDULE.md`](Community/MEETING_SCHEDULE.md) of + regular trouble-shooting meetings and contributor meetings + - how to get [`SUPPORT.md`](Community/SUPPORT.md). + +The best way to join the community is to join the `#emissary-ingress` channel +in the [CNCF Slack]. This is also the best place for technical information +about Emissary's architecture or development. + +If you're interested in contributing, here are some ways: +* Write a blog post for [our blog](https://blog.getambassador.io) +* Investigate an [open issue](https://github.com/emissary-ingress/emissary/issues) +* Add [more tests](https://github.com/emissary-ingress/emissary/tree/main/ambassador/tests) + + +[CNCF Slack]: https://communityinviter.com/apps/cloud-native/cncf +[Envoy Proxy]: https://www.envoyproxy.io + + + +[authentication]: https://www.getambassador.io/docs/emissary/latest/topics/running/services/auth-service/ +[canary releases]: https://www.getambassador.io/docs/emissary/latest/topics/using/canary/ +[circuit breaking]: https://www.getambassador.io/docs/emissary/latest/topics/using/circuit-breakers/ +[Consul]: https://www.getambassador.io/docs/emissary/latest/howtos/consul/ +[CRDs]: https://kubernetes.io/docs/concepts/extend-kubernetes/api-extension/custom-resources/ +[Datadog]: https://www.getambassador.io/docs/emissary/latest/topics/running/statistics/#datadog +[Grafana]: https://www.getambassador.io/docs/emissary/latest/topics/running/statistics/#grafana +[gRPC and HTTP/2]: https://www.getambassador.io/docs/emissary/latest/howtos/grpc/ +[Istio]: https://www.getambassador.io/docs/emissary/latest/howtos/istio/ +[Knative serverless integration]: https://www.getambassador.io/docs/emissary/latest/howtos/knative/ +[Linkerd]: https://www.getambassador.io/docs/emissary/latest/howtos/linkerd2/ +[load balancing]: https://www.getambassador.io/docs/emissary/latest/topics/running/load-balancer/ +[metrics]: https://www.getambassador.io/docs/emissary/latest/topics/running/statistics/ +[Prometheus]: https://www.getambassador.io/docs/emissary/latest/topics/running/statistics/#prometheus +[rate limiting]: https://www.getambassador.io/docs/emissary/latest/topics/running/services/rate-limit-service/ +[self-service configuration]: https://www.getambassador.io/docs/emissary/latest/topics/using/mappings/ +[sticky sessions]: https://www.getambassador.io/docs/emissary/latest/topics/running/load-balancer/#sticky-sessions--session-affinity +[TCP]: https://www.getambassador.io/docs/emissary/latest/topics/using/tcpmappings/ +[TLS]: https://www.getambassador.io/docs/emissary/latest/howtos/tls-termination/ +[web sockets]: https://www.getambassador.io/docs/emissary/latest/topics/using/tcpmappings/ diff --git a/data/readmes/envoy-v1363.md b/data/readmes/envoy-v1363.md new file mode 100644 index 0000000..718740a --- /dev/null +++ b/data/readmes/envoy-v1363.md @@ -0,0 +1,109 @@ +# Envoy - README (v1.36.3) + +**Repository**: https://github.com/envoyproxy/envoy +**Version**: v1.36.3 + +--- + +![Envoy Logo](https://github.com/envoyproxy/artwork/blob/main/PNG/Envoy_Logo_Final_PANTONE.png) + +[Cloud-native high-performance edge/middle/service proxy](https://www.envoyproxy.io/) + +Envoy is hosted by the [Cloud Native Computing Foundation](https://cncf.io) (CNCF). If you are a +company that wants to help shape the evolution of technologies that are container-packaged, +dynamically-scheduled and microservices-oriented, consider joining the CNCF. For details about who's +involved and how Envoy plays a role, read the CNCF +[announcement](https://www.cncf.io/blog/2017/09/13/cncf-hosts-envoy/). + +[![CII Best Practices](https://bestpractices.coreinfrastructure.org/projects/1266/badge)](https://bestpractices.coreinfrastructure.org/projects/1266) +[![OpenSSF Scorecard](https://api.securityscorecards.dev/projects/github.com/envoyproxy/envoy/badge)](https://securityscorecards.dev/viewer/?uri=github.com/envoyproxy/envoy) +[![CLOMonitor](https://img.shields.io/endpoint?url=https://clomonitor.io/api/projects/cncf/envoy/badge)](https://clomonitor.io/projects/cncf/envoy) +[![Azure Pipelines](https://dev.azure.com/cncf/envoy/_apis/build/status/11?branchName=main)](https://dev.azure.com/cncf/envoy/_build/latest?definitionId=11&branchName=main) +[![Fuzzing Status](https://oss-fuzz-build-logs.storage.googleapis.com/badges/envoy.svg)](https://bugs.chromium.org/p/oss-fuzz/issues/list?sort=-opened&can=1&q=proj:envoy) +[![Jenkins](https://powerci.osuosl.org/buildStatus/icon?job=build-envoy-static-master&subject=ppc64le%20build)](https://powerci.osuosl.org/job/build-envoy-static-master/) +[![Jenkins](https://ibmz-ci.osuosl.org/buildStatus/icon?job=Envoy_IBMZ_CI&subject=s390x%20build)](https://ibmz-ci.osuosl.org/job/Envoy_IBMZ_CI/) + +## Documentation + +* [Official documentation](https://www.envoyproxy.io/) +* [FAQ](https://www.envoyproxy.io/docs/envoy/latest/faq/overview) +* [Example documentation](https://github.com/envoyproxy/examples/) +* [Blog](https://medium.com/@mattklein123/envoy-threading-model-a8d44b922310) about the threading model +* [Blog](https://medium.com/@mattklein123/envoy-hot-restart-1d16b14555b5) about hot restart +* [Blog](https://medium.com/@mattklein123/envoy-stats-b65c7f363342) about stats architecture +* [Blog](https://medium.com/@mattklein123/the-universal-data-plane-api-d15cec7a) about universal data plane API +* [Blog](https://medium.com/@mattklein123/lyfts-envoy-dashboards-5c91738816b1) on Lyft's Envoy dashboards + +## Related + +* [data-plane-api](https://github.com/envoyproxy/data-plane-api): v2 API definitions as a standalone + repository. This is a read-only mirror of [api](api/). +* [envoy-perf](https://github.com/envoyproxy/envoy-perf): Performance testing framework. +* [envoy-filter-example](https://github.com/envoyproxy/envoy-filter-example): Example of how to add new filters + and link to the main repository. + +## Contact + +* [envoy-announce](https://groups.google.com/forum/#!forum/envoy-announce): Low frequency mailing + list where we will email announcements only. +* [envoy-security-announce](https://groups.google.com/forum/#!forum/envoy-security-announce): Low frequency mailing + list where we will email security related announcements only. +* [envoy-users](https://groups.google.com/forum/#!forum/envoy-users): General user discussion. +* [envoy-dev](https://groups.google.com/forum/#!forum/envoy-dev): Envoy developer discussion (APIs, + feature design, etc.). +* [envoy-maintainers](https://groups.google.com/forum/#!forum/envoy-maintainers): Use this list + to reach all core Envoy maintainers. +* [Twitter](https://twitter.com/EnvoyProxy/): Follow along on Twitter! +* [Slack](https://envoyproxy.slack.com/): Slack, to get invited go [here](https://communityinviter.com/apps/envoyproxy/envoy). + * NOTE: Response to user questions is best effort on Slack. For a "guaranteed" response please email + envoy-users@ per the guidance in the following linked thread. + +Please see [this](https://groups.google.com/forum/#!topic/envoy-announce/l9zjYsnS3TY) email thread +for information on email list usage. + +## Contributing + +Contributing to Envoy is fun and modern C++ is a lot less scary than you might think if you don't +have prior experience. To get started: + +* [Contributing guide](CONTRIBUTING.md) +* [Beginner issues](https://github.com/envoyproxy/envoy/issues?q=is%3Aopen+is%3Aissue+label%3Abeginner) +* [Build/test quick start using docker](ci#building-and-running-tests-as-a-developer) +* [Developer guide](DEVELOPER.md) +* Consider installing the Envoy [development support toolchain](https://github.com/envoyproxy/envoy/blob/main/support/README.md), which helps automate parts of the development process, particularly those involving code review. +* Please make sure that you let us know if you are working on an issue so we don't duplicate work! + +## Community Meeting + +The Envoy team has a scheduled meeting time twice per month on Tuesday at 9am PT. The public +Google calendar is [here](https://goo.gl/PkDijT). The meeting will only be held +if there are agenda items listed in the [meeting +minutes](https://goo.gl/5Cergb). Any member of the community should be able to +propose agenda items by adding to the minutes. The maintainers will either confirm +the additions to the agenda, or will cancel the meeting within 24 hours of the scheduled +date if there is no confirmed agenda. + +## Security + +### Security Audit + +There has been several third party engagements focused on Envoy security: +* In 2018 Cure53 performed a security audit, [full report](docs/security/audit_cure53_2018.pdf). +* In 2021 Ada Logics performed an audit on our fuzzing infrastructure with recommendations for improvements, [full report](docs/security/audit_fuzzer_adalogics_2021.pdf). + +### Reporting security vulnerabilities + +If you've found a vulnerability or a potential vulnerability in Envoy please let us know at +[envoy-security](mailto:envoy-security@googlegroups.com). We'll send a confirmation +email to acknowledge your report, and we'll send an additional email when we've identified the issue +positively or negatively. + +For further details please see our complete [security release process](SECURITY.md). + +### ppc64le builds + +Builds for the ppc64le architecture or using aws-lc are not covered by the envoy security policy. The ppc64le architecture is currently best-effort and not maintained by the Envoy maintainers. + +## Releases + +For further details please see our [release process](https://github.com/envoyproxy/envoy/blob/main/RELEASES.md). diff --git a/data/readmes/eraser-v141.md b/data/readmes/eraser-v141.md new file mode 100644 index 0000000..0f996d8 --- /dev/null +++ b/data/readmes/eraser-v141.md @@ -0,0 +1,46 @@ +# Eraser - README (v1.4.1) + +**Repository**: https://github.com/eraser-dev/eraser +**Version**: v1.4.1 + +--- + +# Eraser: Cleaning up Images from Kubernetes Nodes + +![GitHub](https://img.shields.io/github/license/eraser-dev/eraser) +[![FOSSA Status](https://app.fossa.com/api/projects/git%2Bgithub.com%2Feraser-dev%2Feraser.svg?type=shield&issueType=license)](https://app.fossa.com/projects/git%2Bgithub.com%2Feraser-dev%2Feraser?ref=badge_shield) +[![OpenSSF Best Practices](https://www.bestpractices.dev/projects/7622/badge)](https://www.bestpractices.dev/projects/7622) +[![OpenSSF Scorecard](https://api.securityscorecards.dev/projects/github.com/eraser-dev/eraser/badge)](https://api.securityscorecards.dev/projects/github.com/eraser-dev/eraser) + +Eraser logo + +Eraser helps Kubernetes admins remove a list of non-running images from all Kubernetes nodes in a cluster. + +## Getting started + +You can find a quick start guide in the Eraser [documentation](https://eraser-dev.github.io/eraser/docs/quick-start). + +## Demo + +![intro](demo/demo.gif) + +## Contributing + +There are several ways to get involved: + +- Join the [mailing list](https://groups.google.com/u/1/g/eraser-dev) to get notifications for releases, security announcements, etc. +- Join the [biweekly community meetings](https://docs.google.com/document/d/1Sj5u47K3WUGYNPmQHGFpb52auqZb1FxSlWAQnPADhWI/edit) to discuss development, issues, use cases, etc. +- Join the `#eraser` channel on the [Kubernetes Slack](https://kubernetes.slack.com/archives/C03Q8KV8YQ4) +- View the development setup instructions in the [documentation](https://eraser-dev.github.io/eraser/docs/setup) + +This project welcomes contributions and suggestions. + +This project has adopted the [CNCF Code of Conduct](https://github.com/cncf/foundation/blob/main/code-of-conduct.md). + +## Support + +### How to file issues and get help + +This project uses GitHub Issues to track bugs and feature requests. Please search the [existing issues](https://github.com/eraser-dev/eraser/issues) before filing new issues to avoid duplicates. For new issues, file your bug or feature request as a new Issue. + +The Eraser maintainers will respond to the best of their abilities. \ No newline at end of file diff --git a/data/readmes/erigon-v331.md b/data/readmes/erigon-v331.md new file mode 100644 index 0000000..ad603e4 --- /dev/null +++ b/data/readmes/erigon-v331.md @@ -0,0 +1,739 @@ +# Erigon - README (v3.3.1) + +**Repository**: https://github.com/erigontech/erigon +**Version**: v3.3.1 + +--- + +# Erigon + +[![Docs](https://img.shields.io/badge/docs-up-green)](https://docs.erigon.tech/) +[![Blog](https://img.shields.io/badge/blog-up-green)](https://erigon.tech/blog/) +[![Twitter](https://img.shields.io/twitter/follow/ErigonEth?style=social)](https://x.com/ErigonEth) +[![Discord](https://img.shields.io/badge/Discord-Join-5865F2?style=flat&logo=discord&logoColor=white)](https://dsc.gg/erigon) +[![Build status](https://github.com/erigontech/erigon/actions/workflows/ci.yml/badge.svg)](https://github.com/erigontech/erigon/actions/workflows/ci.yml) +[![Coverage](https://sonarcloud.io/api/project_badges/measure?project=erigontech_erigon&metric=coverage)](https://sonarcloud.io/summary/new_code?id=erigontech_erigon) + +Erigon is an implementation of Ethereum (execution layer with embeddable consensus layer), on the efficiency +frontier. + +- [Erigon](#erigon) +- [System Requirements](#system-requirements) +- [Sync Times](#sync-times) +- [Usage](#usage) + - [Getting Started](#getting-started) + - [Datadir structure](#datadir-structure) + - [History on cheap disk](#history-on-cheap-disk) + - [Erigon3 datadir size](#erigon3-datadir-size) + - [Erigon3 changes from Erigon2](#erigon3-changes-from-erigon2) + - [Logging](#logging) + - [Modularity](#modularity) + - [Embedded Consensus Layer](#embedded-consensus-layer) + - [Testnets](#testnets) + - [Block Production (PoS Validator)](#block-production-pos-validator) + - [Config Files TOML](#config-files-toml) + - [Beacon Chain (Consensus Layer)](#beacon-chain-consensus-layer) + - [Caplin](#caplin) + - [Caplin's Usage](#caplins-usage) + - [Multiple Instances / One Machine](#multiple-instances--one-machine) + - [Dev Chain](#dev-chain) +- [Key features](#key-features) + - [Faster Initial Sync](#faster-initial-sync) + - [More Efficient State Storage](#more-efficient-state-storage) + - [JSON-RPC daemon](#json-rpc-daemon) + - [Grafana dashboard](#grafana-dashboard) +- [FAQ](#faq) + - [Use as library](#use-as-library) + - [Default Ports and Firewalls](#default-ports-and-firewalls) + - [`erigon` ports](#erigon-ports) + - [`caplin` ports](#caplin-ports) + - [`beaconAPI` ports](#beaconapi-ports) + - [`shared` ports](#shared-ports) + - [`other` ports](#other-ports) + - [Hetzner expecting strict firewall rules](#hetzner-expecting-strict-firewall-rules) + - [Run as a separate user - `systemd` example](#run-as-a-separate-user---systemd-example) + - [Grab diagnostic for bug report](#grab-diagnostic-for-bug-report) + - [Run local devnet](#run-local-devnet) + - [Docker permissions error](#docker-permissions-error) + - [Public RPC](#public-rpc) + - [RaspberryPI](#raspberrypi) + - [Run all components by docker-compose](#run-all-components-by-docker-compose) + - [Optional: Setup dedicated user](#optional-setup-dedicated-user) + - [Environment Variables](#environment-variables) + - [Run](#run) + - [How to change db pagesize](#how-to-change-db-pagesize) + - [Erigon3 perf tricks](#erigon3-perf-tricks) + - [Windows](#windows) +- [Getting in touch](#getting-in-touch) + - [Reporting security issues/concerns](#reporting-security-issuesconcerns) + + + +**Important defaults**: Erigon 3 is a Full Node by default. (Erigon 2 was an [Archive Node](https://ethereum.org/en/developers/docs/nodes-and-clients/archive-nodes/#what-is-an-archive-node) by default.) +Set `--prune.mode` to "archive" if you need an archive node or to "minimal" if you run a validator on a small disk (not allowed to change after first start). + +In-depth links are marked by the microscope sign (🔬) + +System Requirements +=================== + +RAM: >=32GB, [Golang >= 1.24](https://golang.org/doc/install); GCC 10+ or Clang; On Linux: kernel > v4. 64-bit +architecture. + +- ArchiveNode Ethereum Mainnet: 1.6TB (May 2025). FullNode: 1.1TB (May 2025) +- ArchiveNode Gnosis: 640GB (May 2025). FullNode: 300GB (June 2024) +- ArchiveNode Polygon Mainnet: 4.1TB (April 2024). FullNode: 2Tb (April 2024) + +SSD or NVMe. Do not recommend HDD - on HDD Erigon will always stay N blocks behind chain tip, but not fall behind. +Bear in mind that SSD performance deteriorates when close to capacity. CloudDrives (like +gp3): Blocks Execution is slow +on [cloud-network-drives](https://github.com/erigontech/erigon?tab=readme-ov-file#cloud-network-drives) + +🔬 More details on [Erigon3 datadir size](#erigon3-datadir-size) + +🔬 More details on what type of data stored [here](https://ledgerwatch.github.io/turbo_geth_release.html#Disk-space) + +Sync Times +========== + +These are the approximate sync times syncing from scratch to the tip of the chain (results may vary depending on hardware and bandwidth). + + +| Chain | Archive | Full | Minimal | +|------------|-----------------|----------------|----------------| +| Ethereum | 7 Hours, 55 Minutes | 4 Hours, 23 Minutes | 1 Hour, 41 Minutes | +| Gnosis | 2 Hours, 10 Minutes | 1 Hour, 5 Minutes | 33 Minutes | +| Polygon | 1 Day, 21 Hours | 21 Hours, 41 Minutes | 11 Hours, 54 Minutes | + +Usage +===== + +### Getting Started + +[Release Notes and Binaries](https://github.com/erigontech/erigon/releases) + +Build latest release (this will be suitable for most users just wanting to run a node): + +```sh +git clone --branch release/ --single-branch https://github.com/erigontech/erigon.git +cd erigon +make erigon +./build/bin/erigon +``` + +Use `--datadir` to choose where to store data. + +Use `--chain=gnosis` for [Gnosis Chain](https://www.gnosis.io/), `--chain=bor-mainnet` for Polygon Mainnet, +and `--chain=amoy` for Polygon Amoy. +For Gnosis Chain you need a [Consensus Layer](#beacon-chain-consensus-layer) client alongside +Erigon (https://docs.gnosischain.com/category/step--3---run-consensus-client). + +Running `make help` will list and describe the convenience commands available in the [Makefile](./Makefile). + +### Upgrading from 3.0 to 3.1 + +1. Backup your datadir. +2. Upgrade your Erigon binary. +3. OPTIONAL: Upgrade snapshot files. + 1. Update snapshot file names. To do this either run Erigon 3.1 until the sync stage completes, or run `erigon snapshots update-to-new-ver-format --datadir /your/datadir`. + 2. Reset your datadir so that Erigon will sync to a newer snapshot. `erigon snapshots reset --datadir /your/datadir`. See [Resetting snapshots](#Resetting-snapshots) for more details. +4. Run Erigon 3.1. Your snapshots file names will be migrated automatically if you didn't do this manually. If you reset your datadir, Erigon will sync to the latest remote snapshots. + +### Datadir structure + +```sh +datadir + chaindata # "Recently-updated Latest State", "Recent History", "Recent Blocks" + snapshots # contains `.seg` files - it's old blocks + domain # Latest State + history # Historical values + idx # InvertedIndices: can search/filtering/union/intersect them - to find historical data. like eth_getLogs or trace_transaction + accessor # Additional (generated) indices of history - have "random-touch" read-pattern. They can serve only `Get` requests (no search/filters). + txpool # pending transactions. safe to remove. + nodes # p2p peers. safe to remove. + temp # used to sort data bigger than RAM. can grow to ~100gb. cleaned at startup. + +# There is 4 domains: account, storage, code, commitment +``` + +See the [lib](db/downloader/README.md) and [cmd](cmd/downloader/README.md) READMEs for more information. + +### History on cheap disk + +If you can afford store datadir on 1 nvme-raid - great. If can't - it's possible to store history on cheap drive. + +```sh +# place (or ln -s) `datadir` on slow disk. link some sub-folders to fast (low-latency) disk. +# Example: what need link to fast disk to speedup execution +datadir + chaindata # link to fast disk + snapshots + domain # link to fast disk + history + idx + accessor + temp # buffers to sort data >> RAM. sequential-buffered IO - is slow-disk-friendly + +# Example: how to speedup history access: +# - go step-by-step - first try store `accessor` on fast disk +# - if speed is not good enough: `idx` +# - if still not enough: `history` +``` + +### Erigon3 datadir size + +```sh +# eth-mainnet - archive - Nov 2024 + +du -hsc /erigon/chaindata +15G /erigon/chaindata + +du -hsc /erigon/snapshots/* +120G /erigon/snapshots/accessor +300G /erigon/snapshots/domain +280G /erigon/snapshots/history +430G /erigon/snapshots/idx +2.3T /erigon/snapshots +``` + +```sh +# bor-mainnet - archive - Nov 2024 + +du -hsc /erigon/chaindata +20G /erigon/chaindata + +du -hsc /erigon/snapshots/* +360G /erigon-data/snapshots/accessor +1.1T /erigon-data/snapshots/domain +750G /erigon-data/snapshots/history +1.5T /erigon-data/snapshots/idx +4.9T /erigon/snapshots +``` + +### Erigon3 changes from Erigon2 + +- **Initial sync doesn't re-exec from 0:** downloading 99% LatestState and History +- **Per-Transaction granularity of history** (Erigon2 had per-block). Means: + - Can execute 1 historical transaction - without executing it's block + - If account X change V1->V2->V1 within 1 block (different transactions): `debug_getModifiedAccountsByNumber` return + it + - Erigon3 doesn't store Logs (aka Receipts) - it always re-executing historical txn (but it's cheaper) +- **Validator mode**: added. `--internalcl` is enabled by default. to disable use `--externalcl`. +- **Store most of data in immutable files (segments/snapshots):** + - can symlink/mount latest state to fast drive and history to cheap drive + - `chaindata` is less than `15gb`. It's ok to `rm -rf chaindata`. (to prevent grow: recommend `--batchSize <= 1G`) +- **`--prune` flags changed**: see `--prune.mode` (default: `full`, archive: `archive`, EIP-4444: `minimal`) +- **Other changes:** + - ExecutionStage included many E2 stages: stage_hash_state, stage_trie, log_index, history_index, trace_index + - Restart doesn't loose much partial progress: `--sync.loop.block.limit=5_000` enabled by default + +### Logging + +_Flags:_ + +- `verbosity` +- `log.console.verbosity` (overriding alias for `verbosity`) +- `log.json` +- `log.console.json` (alias for `log.json`) +- `log.dir.path` +- `log.dir.prefix` +- `log.dir.verbosity` +- `log.dir.json` +- `torrent.verbosity` + +In order to log only to the stdout/stderr the `--verbosity` (or `log.console.verbosity`) flag can be used to supply an +int value specifying the highest output log level: + +``` + LvlCrit = 0 + LvlError = 1 + LvlWarn = 2 + LvlInfo = 3 + LvlDebug = 4 + LvlTrace = 5 +``` + +To set an output dir for logs to be collected on disk, please set `--log.dir.path` If you want to change the filename +produced from `erigon` you should also set the `--log.dir.prefix` flag to an alternate name. The +flag `--log.dir.verbosity` is +also available to control the verbosity of this logging, with the same int value as above, or the string value e.g. ' +debug' or 'info'. Default verbosity is 'debug' (4), for disk logging. + +Log format can be set to json by the use of the boolean flags `log.json` or `log.console.json`, or for the disk +output `--log.dir.json`. + +#### Torrent client logging + +The torrent client in the Downloader logs to `logs/torrent.log` at the level specified by `torrent.verbosity` or WARN, whichever is lower. Logs at `torrent.verbosity` or higher are also passed through to the top level Erigon dir and console loggers (which must have their own levels set low enough to log the messages in their respective handlers). + +### Resetting snapshots + +Erigon 3.1 adds the command `erigon snapshots reset`. This modifies your datadir so that Erigon will sync to the latest remote snapshots on next run. You must pass `--datadir`. If the chain cannot be inferred from the chaindata, you must pass `--chain`. `--local=false` will prevent locally generated snapshots from also being removed. Pass `--dry-run` and/or `--verbosity=5` for more information. + +### Modularity + +Erigon by default is "all in one binary" solution, but it's possible start TxPool as separated processes. +Same true about: JSON RPC layer (RPCDaemon), p2p layer (Sentry), history download layer (Downloader), consensus. +Don't start services as separated processes unless you have clear reason for it: resource limiting, scale, replace by +your own implementation, security. +How to start Erigon's services as separated processes, see in [docker-compose.yml](./docker-compose.yml). +Each service has own `./cmd/*/README.md` file. +[Erigon Blog](https://erigon.tech/blog/). + +### Embedded Consensus Layer + +Built-in consensus for Ethereum Mainnet, Sepolia, Hoodi, Gnosis, Chiado. +To use external Consensus Layer: `--externalcl`. + +### Testnets + +If you would like to give Erigon a try: a good option is to start syncing one of the public testnets, Hoodi (or Chiado). +It syncs much quicker, and does not take so much disk space: + +```sh +git clone https://github.com/erigontech/erigon.git +cd erigon +make erigon +./build/bin/erigon --datadir= --chain=hoodi --prune.mode=full +``` + +Please note the `--datadir` option that allows you to store Erigon files in a non-default location. Name of the +directory `--datadir` does not have to match the name of the chain in `--chain`. + +### Block Production (PoS Validator) + +Block production is fully supported for Ethereum & Gnosis Chain. It is still experimental for Polygon. + +### Config Files TOML + +You can set Erigon flags through a TOML configuration file with the flag `--config`. The flags set in the +configuration file can be overwritten by writing the flags directly on Erigon command line + +`./build/bin/erigon --config ./config.toml --chain=sepolia` + +Assuming we have `chain : "mainnet"` in our configuration file, by adding `--chain=sepolia` allows the overwrite of the +flag inside of the toml configuration file and sets the chain to sepolia + +```toml +datadir = 'your datadir' +port = 1111 +chain = "mainnet" +http = true +"private.api.addr"="localhost:9090" + +"http.api" = ["eth","debug","net"] +``` + +### Beacon Chain (Consensus Layer) + +Erigon can be used as an Execution Layer (EL) for Consensus Layer clients (CL). Default configuration is OK. + +If your CL client is on a different device, add `--authrpc.addr 0.0.0.0` ([Engine API] listens on localhost by default) +as well as `--authrpc.vhosts ` where `` is your source host or `any`. + +[Engine API]: https://github.com/ethereum/execution-apis/blob/main/src/engine + +In order to establish a secure connection between the Consensus Layer and the Execution Layer, a JWT secret key is +automatically generated. + +The JWT secret key will be present in the datadir by default under the name of `jwt.hex` and its path can be specified +with the flag `--authrpc.jwtsecret`. + +This piece of info needs to be specified in the Consensus Layer as well in order to establish connection successfully. +More information can be found [here](https://github.com/ethereum/execution-apis/blob/main/src/engine/authentication.md). + +Once Erigon is running, you need to point your CL client to `:8551`, +where `` is either `localhost` or the IP address of the device running Erigon, and also point to the JWT +secret path created by Erigon. + +### Caplin + +Caplin is a full-fledged validating Consensus Client like Prysm, Lighthouse, Teku, Nimbus and Lodestar. Its goal is: + +* provide better stability +* Validation of the chain +* Stay in sync +* keep the execution of blocks on chain tip +* serve the Beacon API using a fast and compact data model alongside low CPU and memory usage. + +The main reason why developed a new Consensus Layer is to experiment with the possible benefits that could come with it. +For example, The Engine API does not work well with Erigon. The Engine API sends data one block at a time, which does +not suit how Erigon works. Erigon is designed to handle many blocks simultaneously and needs to sort and process data +efficiently. Therefore, it would be better for Erigon to handle the blocks independently instead of relying on the +Engine API. + +#### Caplin's Usage + +Caplin is be enabled by default. to disable it and enable the Engine API, use the `--externalcl` flag. from that point +on, an external Consensus Layer will not be need +anymore. + +Caplin also has an archival mode for historical states and blocks. it can be enabled through the `--caplin.archive` +flag. +In order to enable the caplin's Beacon API, the flag `--beacon.api=` must be added. +e.g: `--beacon.api=beacon,builder,config,debug,node,validator,lighthouse` will enable all endpoints. +Note: enabling the Beacon API will lead to a 6 GB higher RAM usage + +### Multiple Instances / One Machine + +Define 6 flags to avoid conflicts: `--datadir --port --http.port --authrpc.port --torrent.port --private.api.addr`. +Example of multiple chains on the same machine: + +``` +# mainnet +./build/bin/erigon --datadir="" --chain=mainnet --port=30303 --http.port=8545 --authrpc.port=8551 --torrent.port=42069 --private.api.addr=127.0.0.1:9090 --http --ws --http.api=eth,debug,net,trace,web3,erigon + + +# sepolia +./build/bin/erigon --datadir="" --chain=sepolia --port=30304 --http.port=8546 --authrpc.port=8552 --torrent.port=42068 --private.api.addr=127.0.0.1:9091 --http --ws --http.api=eth,debug,net,trace,web3,erigon +``` + +Quote your path if it has spaces. + +### Dev Chain + + 🔬 Detailed explanation is [DEV_CHAIN](/docs/DEV_CHAIN.md). + +Key features +============ + +### Faster Initial Sync + +On good network bandwidth EthereumMainnet FullNode syncs in 3 +hours: [OtterSync](https://erigon.substack.com/p/erigon-3-alpha-2-introducing-blazingly) can sync + +### More Efficient State Storage + +**Flat KV storage.** Erigon uses a key-value database and storing accounts and storage in a simple way. + + 🔬 See our detailed DB walkthrough [here](./docs/programmers_guide/db_walkthrough.MD). + +**Preprocessing**. For some operations, Erigon uses temporary files to preprocess data before inserting it into the main +DB. That reduces write amplification and DB inserts are orders of magnitude quicker. + + 🔬 See our detailed ETL explanation [here](https://github.com/erigontech/erigon/blob/main/db/etl/README.md). + +**Plain state** + +**Single accounts/state trie**. Erigon uses a single Merkle trie for both accounts and the storage. + + 🔬 [Staged Sync Readme](/docs/readthedocs/source/stagedsync.rst) + +### JSON-RPC daemon + +Most of Erigon's components (txpool, rpcdaemon, snapshots downloader, sentry, ...) can work inside Erigon and as +independent process on same Server (or another Server). Example: + +```sh +make erigon rpcdaemon +./build/bin/erigon --datadir=/my --http=false +# To run RPCDaemon as separated process: use same `--datadir` as Erigon +./build/bin/rpcdaemon --datadir=/my --http.api=eth,erigon,web3,net,debug,trace,txpool --ws +``` + +- Supported JSON-RPC + calls: [eth](./rpc/jsonrpc/eth_api.go), [debug](./rpc/jsonrpc/debug_api.go), [net](./rpc/jsonrpc/net_api.go), [web3](./rpc/jsonrpc/web3_api.go) +- increase throughput by: `--rpc.batch.concurrency`, `--rpc.batch.limit`, `--db.read.concurrency` +- increase throughput by disabling: `--http.compression`, `--ws.compression` + +🔬 See [RPC-Daemon docs](./cmd/rpcdaemon/README.md) + +### Grafana dashboard + +`docker compose up prometheus grafana`, [detailed docs](./cmd/prometheus/Readme.md). + +FAQ +================ + +### Use as library + +``` +# please use git branch name (or commit hash). don't use git tags +go get github.com/erigontech/erigon@main +go mod tidy +``` + +### Default Ports and Firewalls + +#### `erigon` ports + +| Component | Port | Protocol | Purpose | Should Expose | +|-----------|-------|-----------|-----------------------------|---------------| +| engine | 9090 | TCP | gRPC Server | Private | +| engine | 42069 | TCP & UDP | Snap sync (Bittorrent) | Public | +| engine | 8551 | TCP | Engine API (JWT auth) | Private | +| sentry | 30303 | TCP & UDP | eth/68 peering | Public | +| sentry | 30304 | TCP & UDP | eth/69 peering | Public | +| sentry | 9091 | TCP | incoming gRPC Connections | Private | +| rpcdaemon | 8545 | TCP | HTTP & WebSockets & GraphQL | Private | +| shutter | 23102 | TCP | Peering | Public | + +Typically, 30303 and 30304 are exposed to the internet to allow incoming peering connections. 9090 is exposed only +internally for rpcdaemon or other connections, (e.g. rpcdaemon -> erigon). +Port 8551 (JWT authenticated) is exposed only internally for [Engine API] JSON-RPC queries from the Consensus Layer +node. + +#### `caplin` ports + +| Component | Port | Protocol | Purpose | Should Expose | +|-----------|------|----------|---------|---------------| +| sentinel | 4000 | UDP | Peering | Public | +| sentinel | 4001 | TCP | Peering | Public | + +In order to configure the ports, use: + +``` + --caplin.discovery.addr value Address for Caplin DISCV5 protocol (default: "127.0.0.1") + --caplin.discovery.port value Port for Caplin DISCV5 protocol (default: 4000) + --caplin.discovery.tcpport value TCP Port for Caplin DISCV5 protocol (default: 4001) +``` + +#### `beaconAPI` ports + +| Component | Port | Protocol | Purpose | Should Expose | +|-----------|------|----------|---------|---------------| +| REST | 5555 | TCP | REST | Public | + +#### `shared` ports + +| Component | Port | Protocol | Purpose | Should Expose | +|-----------|------|----------|---------|---------------| +| all | 6060 | TCP | pprof | Private | +| all | 6061 | TCP | metrics | Private | + +Optional flags can be enabled that enable pprof or metrics (or both). Use `--help` with the binary for more info. + +#### `other` ports + +Reserved for future use: **gRPC ports**: `9092` consensus engine, `9093` snapshot downloader, `9094` TxPool + +#### Hetzner expecting strict firewall rules + +``` +0.0.0.0/8 "This" Network RFC 1122, Section 3.2.1.3 +10.0.0.0/8 Private-Use Networks RFC 1918 +100.64.0.0/10 Carrier-Grade NAT (CGN) RFC 6598, Section 7 +127.16.0.0/12 Private-Use Networks RFC 1918 +169.254.0.0/16 Link Local RFC 3927 +172.16.0.0/12 Private-Use Networks RFC 1918 +192.0.0.0/24 IETF Protocol Assignments RFC 5736 +192.0.2.0/24 TEST-NET-1 RFC 5737 +192.88.99.0/24 6to4 Relay Anycast RFC 3068 +192.168.0.0/16 Private-Use Networks RFC 1918 +198.18.0.0/15 Network Interconnect +Device Benchmark Testing RFC 2544 +198.51.100.0/24 TEST-NET-2 RFC 5737 +203.0.113.0/24 TEST-NET-3 RFC 5737 +224.0.0.0/4 Multicast RFC 3171 +240.0.0.0/4 Reserved for Future Use RFC 1112, Section 4 +255.255.255.255/32 Limited Broadcast RFC 919, Section 7 +RFC 922, Section 7 +``` + +Same +in [IpTables syntax](https://ethereum.stackexchange.com/questions/6386/how-to-prevent-being-blacklisted-for-running-an-ethereum-client/13068#13068) + +### Run as a separate user - `systemd` example + +Running erigon from `build/bin` as a separate user might produce an error: + +```sh +error while loading shared libraries: libsilkworm_capi.so: cannot open shared object file: No such file or directory +``` + +The library needs to be *installed* for another user using `make DIST= install`. You could use `$HOME/erigon` +or `/opt/erigon` as the installation path, for example: + +```sh +make DIST=/opt/erigon install +``` + +### Grab diagnostic for bug report + +- Get stack trace: `kill -SIGUSR1 `, get trace and stop: `kill -6 ` +- Get CPU profiling: add `--pprof` flag and run + `go tool pprof -png http://127.0.0.1:6060/debug/pprof/profile\?seconds\=20 > cpu.png` +- Get RAM profiling: add `--pprof` flag and run + `go tool pprof -inuse_space -png http://127.0.0.1:6060/debug/pprof/heap > mem.png` + +### Run local devnet + + 🔬 Detailed explanation is [here](/docs/DEV_CHAIN.md). + +### Docker permissions error + +Docker uses user erigon with UID/GID 1000 (for security reasons). You can see this user being created in the Dockerfile. +Can fix by giving a host's user ownership of the folder, where the host's user UID/GID is the same as the docker's user +UID/GID (1000). +More details +in [post](https://www.fullstaq.com/knowledge-hub/blogs/docker-and-the-host-filesystem-owner-matching-problem) + +### Public RPC + +- `--txpool.nolocals=true` +- don't add `admin` in `--http.api` list +- `--http.corsdomain="*"` is bad-practice: set exact hostname or IP +- protect from DOS by reducing: `--rpc.batch.concurrency`, `--rpc.batch.limit` + +### Why doesn't my full node have earlier blocks data? + +- `prune.mode=full` no longer downloads pre-merge blocks (see [partial history expiry](https://blog.ethereum.org/2025/07/08/partial-history-exp)). + Now it only stores post-merge blocks data (i.e. blocks and transactions) +- To include pre-merge blocks data, use `--prune.mode=blocks` (all blocks data + only recent state data) or `--prune.mode=archive` (all data) + +### RaspberryPI + +https://github.com/mathMakesArt/Erigon-on-RPi-4 + +### Run all components by docker-compose + +Docker allows for building and running Erigon via containers. This alleviates the need for installing build dependencies +onto the host OS. + +#### Optional: Setup dedicated user + +User UID/GID need to be synchronized between the host OS and container so files are written with correct permission. + +You may wish to setup a dedicated user/group on the host OS, in which case the following `make` targets are available. + +```sh +# create "erigon" user +make user_linux +# or +make user_macos +``` + +#### Environment Variables + +There is a `.env.example` file in the root of the repo. + +* `DOCKER_UID` - The UID of the docker user +* `DOCKER_GID` - The GID of the docker user +* `XDG_DATA_HOME` - The data directory which will be mounted to the docker containers + +If not specified, the UID/GID will use the current user. + +A good choice for `XDG_DATA_HOME` is to use the `~erigon/.ethereum` directory created by helper +targets `make user_linux` or `make user_macos`. + +#### Run + +Check permissions: In all cases, `XDG_DATA_HOME` (specified or default) must be writable by the user UID/GID in docker, +which will be determined by the `DOCKER_UID` and `DOCKER_GID` at build time. If a build or service startup is failing +due to permissions, check that all the directories, UID, and GID controlled by these environment variables are correct. + +Next command starts: Erigon on port 30303, rpcdaemon on port 8545, prometheus on port 9090, and grafana on port 3000. + +```sh +# +# Will mount ~/.local/share/erigon to /home/erigon/.local/share/erigon inside container +# +make docker-compose + +# +# or +# +# if you want to use a custom data directory +# or, if you want to use different uid/gid for a dedicated user +# +# To solve this, pass in the uid/gid parameters into the container. +# +# DOCKER_UID: the user id +# DOCKER_GID: the group id +# XDG_DATA_HOME: the data directory (default: ~/.local/share) +# +# Note: /preferred/data/folder must be read/writeable on host OS by user with UID/GID given +# if you followed above instructions +# +# Note: uid/gid syntax below will automatically use uid/gid of running user so this syntax +# is intended to be run via the dedicated user setup earlier +# +DOCKER_UID=$(id -u) DOCKER_GID=$(id -g) XDG_DATA_HOME=/preferred/data/folder DOCKER_BUILDKIT=1 COMPOSE_DOCKER_CLI_BUILD=1 make docker-compose + +# +# if you want to run the docker, but you are not logged in as the $ERIGON_USER +# then you'll need to adjust the syntax above to grab the correct uid/gid +# +# To run the command via another user, use +# +ERIGON_USER=erigon +sudo -u ${ERIGON_USER} DOCKER_UID=$(id -u ${ERIGON_USER}) DOCKER_GID=$(id -g ${ERIGON_USER}) XDG_DATA_HOME=~${ERIGON_USER}/.ethereum DOCKER_BUILDKIT=1 COMPOSE_DOCKER_CLI_BUILD=1 make docker-compose +``` + +Makefile creates the initial directories for erigon, prometheus and grafana. The PID namespace is shared between erigon +and rpcdaemon which is required to open Erigon's DB from another process (RPCDaemon local-mode). +See: https://github.com/erigontech/erigon/pull/2392/files + +If your docker installation requires the docker daemon to run as root (which is by default), you will need to prefix +the command above with `sudo`. However, it is sometimes recommended running docker (and therefore its containers) as a +non-root user for security reasons. For more information about how to do this, refer to +[this article](https://docs.docker.com/engine/install/linux-postinstall/#manage-docker-as-a-non-root-user). + +### How to change db pagesize + +[post](https://github.com/erigontech/erigon/blob/main/cmd/integration/Readme.md#copy-data-to-another-db) + +### Erigon3 perf tricks + +- on BorMainnet may help: `--sync.loop.block.limit=10_000` +- on cloud-drives (good throughput, bad latency) - can enable OS's brain to pre-fetch: `SNAPSHOT_MADV_RND=false` +- can lock latest state in RAM - to prevent from eviction (node may face high historical RPC traffic without impacting + Chain-Tip perf): + +``` +vmtouch -vdlw /mnt/erigon/snapshots/domain/*bt +ls /mnt/erigon/snapshots/domain/*.kv | parallel vmtouch -vdlw + +# if it failing with "can't allocate memory", try: +sync && sudo sysctl vm.drop_caches=3 +echo 1 > /proc/sys/vm/compact_memory +``` + +### Windows + +Windows users may run erigon in 3 possible ways: + +* Build executable binaries natively for Windows using provided `wmake.ps1` PowerShell script. Usage syntax is the same + as `make` command so you have to run `.\wmake.ps1 [-target] `. Example: `.\wmake.ps1 erigon` builds erigon + executable. All binaries are placed in `.\build\bin\` subfolder. There are some requirements for a successful native + build on windows : + * [Git](https://git-scm.com/downloads) for Windows must be installed. If you're cloning this repository is very + likely you already have it + * [GO Programming Language](https://golang.org/dl/) must be installed. Minimum required version is 1.24 + * GNU CC Compiler at least version 13 (is highly suggested that you install `chocolatey` package manager - see + following point) + * If you need to build MDBX tools (i.e. `.\wmake.ps1 db-tools`) + then [Chocolatey package manager](https://chocolatey.org/) for Windows must be installed. By Chocolatey you need + to install the following components : `cmake`, `make`, `mingw` by `choco install cmake make mingw`. Make sure + Windows System "Path" variable has: + C:\ProgramData\chocolatey\lib\mingw\tools\install\mingw64\bin + + **Important note about Anti-Viruses** + During MinGW's compiler detection phase some temporary executables are generated to test compiler capabilities. It's + been reported some anti-virus programs detect those files as possibly infected by `Win64/Kryptic.CIS` trojan horse (or + a variant of it). Although those are false positives we have no control over 100+ vendors of security products for + Windows and their respective detection algorithms and we understand this might make your experience with Windows + builds uncomfortable. To workaround the issue you might either set exclusions for your antivirus specifically + for `build\bin\mdbx\CMakeFiles` sub-folder of the cloned repo or you can run erigon using the following other two + options + +* Use Docker : see [docker-compose.yml](./docker-compose.yml) + +* Use WSL (Windows Subsystem for Linux) **strictly on version 2**. Under this option you can build Erigon just as you + would on a regular Linux distribution. You can point your data also to any of the mounted Windows partitions ( + eg. `/mnt/c/[...]`, `/mnt/d/[...]` etc) but in such case be advised performance is impacted: this is due to the fact + those mount points use `DrvFS` which is + a [network file system](https://github.com/erigontech/erigon?tab=readme-ov-file#cloud-network-drives) + and, additionally, MDBX locks the db for exclusive access which implies only one process at a time can access data. + This has consequences on the running of `rpcdaemon` which has to be configured as [Remote DB](#json-rpc-daemon) even if + it is executed on the very same computer. If instead your data is hosted on the native Linux filesystem non + limitations apply. + **Please also note the default WSL2 environment has its own IP address which does not match the one of the network + interface of Windows host: take this into account when configuring NAT for port 30303 on your router.** + +Getting in touch +================ + +### Reporting security issues/concerns + +Send an email to `security [at] torquem.ch`. \ No newline at end of file diff --git a/data/readmes/etcd-v366.md b/data/readmes/etcd-v366.md new file mode 100644 index 0000000..1ef8abb --- /dev/null +++ b/data/readmes/etcd-v366.md @@ -0,0 +1,212 @@ +# etcd - README (v3.6.6) + +**Repository**: https://github.com/etcd-io/etcd +**Version**: v3.6.6 + +--- + +# etcd + +[![Go Report Card](https://goreportcard.com/badge/github.com/etcd-io/etcd?style=flat-square)](https://goreportcard.com/report/github.com/etcd-io/etcd) +[![Coverage](https://codecov.io/gh/etcd-io/etcd/branch/main/graph/badge.svg)](https://app.codecov.io/gh/etcd-io/etcd/tree/main) +[![Tests](https://github.com/etcd-io/etcd/actions/workflows/tests.yaml/badge.svg)](https://github.com/etcd-io/etcd/actions/workflows/tests.yaml) +[![codeql-analysis](https://github.com/etcd-io/etcd/actions/workflows/codeql-analysis.yml/badge.svg)](https://github.com/etcd-io/etcd/actions/workflows/codeql-analysis.yml) +[![Docs](https://img.shields.io/badge/docs-latest-green.svg)](https://etcd.io/docs) +[![Godoc](http://img.shields.io/badge/go-documentation-blue.svg?style=flat-square)](https://godocs.io/go.etcd.io/etcd/v3) +[![Releases](https://img.shields.io/github/release/etcd-io/etcd/all.svg?style=flat-square)](https://github.com/etcd-io/etcd/releases) +[![LICENSE](https://img.shields.io/github/license/etcd-io/etcd.svg?style=flat-square)](https://github.com/etcd-io/etcd/blob/main/LICENSE) +[![OpenSSF Scorecard](https://api.securityscorecards.dev/projects/github.com/etcd-io/etcd/badge)](https://scorecard.dev/viewer/?uri=github.com/etcd-io/etcd) + +**Note**: The `main` branch may be in an *unstable or even broken state* during development. For stable versions, see [releases][github-release]. + + + + + etcd logo + + +etcd is a distributed reliable key-value store for the most critical data of a distributed system, with a focus on being: + +* *Simple*: well-defined, user-facing API (gRPC) +* *Secure*: automatic TLS with optional client cert authentication +* *Fast*: benchmarked 10,000 writes/sec +* *Reliable*: properly distributed using Raft + +etcd is written in Go and uses the [Raft][] consensus algorithm to manage a highly-available replicated log. + +etcd is used [in production by many companies](./ADOPTERS.md), and the development team stands behind it in critical deployment scenarios, where etcd is frequently teamed with applications such as [Kubernetes][k8s], [locksmith][], [vulcand][], [Doorman][], and many others. Reliability is further ensured by rigorous [**robustness testing**](https://github.com/etcd-io/etcd/tree/main/tests/robustness). + +See [etcdctl][etcdctl] for a simple command line client. + +![etcd reliability is important](logos/etcd-xkcd-2347.png) + +Original image credited to xkcd.com/2347, alterations by Josh Berkus. + +[raft]: https://raft.github.io/ +[k8s]: http://kubernetes.io/ +[doorman]: https://github.com/youtube/doorman +[locksmith]: https://github.com/coreos/locksmith +[vulcand]: https://github.com/vulcand/vulcand +[etcdctl]: https://github.com/etcd-io/etcd/tree/main/etcdctl + +## Documentation + +The most common API documentation you'll need can be found here: + +* [go.etcd.io/etcd/api/v3](https://godocs.io/go.etcd.io/etcd/api/v3) +* [go.etcd.io/etcd/client/pkg/v3](https://godocs.io/go.etcd.io/etcd/client/pkg/v3) +* [go.etcd.io/etcd/client/v3](https://godocs.io/go.etcd.io/etcd/client/v3) +* [go.etcd.io/etcd/etcdctl/v3](https://godocs.io/go.etcd.io/etcd/etcdctl/v3) +* [go.etcd.io/etcd/pkg/v3](https://godocs.io/go.etcd.io/etcd/pkg/v3) +* [go.etcd.io/etcd/raft/v3](https://godocs.io/go.etcd.io/etcd/raft/v3) +* [go.etcd.io/etcd/server/v3](https://godocs.io/go.etcd.io/etcd/server/v3) + +## Maintainers + +[Maintainers](OWNERS) strive to shape an inclusive open source project culture where users are heard and contributors feel respected and empowered. Maintainers aim to build productive relationships across different companies and disciplines. Read more about [Maintainers role and responsibilities](Documentation/contributor-guide/community-membership.md#maintainers). + +## Getting started + +### Getting etcd + +The easiest way to get etcd is to use one of the pre-built release binaries which are available for OSX, Linux, Windows, and Docker on the [release page][github-release]. + +For more installation guides, please check out [play.etcd.io](http://play.etcd.io) and [operating etcd](https://etcd.io/docs/latest/op-guide). + +[github-release]: https://github.com/etcd-io/etcd/releases + +### Running etcd + +First start a single-member cluster of etcd. + +If etcd is installed using the [pre-built release binaries][github-release], run it from the installation location as below: + +```bash +/tmp/etcd-download-test/etcd +``` + +The etcd command can be simply run as such if it is moved to the system path as below: + +```bash +mv /tmp/etcd-download-test/etcd /usr/local/bin/ +etcd +``` + +This will bring up etcd listening on port 2379 for client communication and on port 2380 for server-to-server communication. + +Next, let's set a single key, and then retrieve it: + +```bash +etcdctl put mykey "this is awesome" +etcdctl get mykey +``` + +etcd is now running and serving client requests. For more, please check out: + +* [Interactive etcd playground](http://play.etcd.io) +* [Animated quick demo](https://etcd.io/docs/latest/demo) + +### etcd TCP ports + +The [official etcd ports][iana-ports] are 2379 for client requests, and 2380 for peer communication. + +[iana-ports]: http://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.txt + +### Running a local etcd cluster + +First install [goreman](https://github.com/mattn/goreman), which manages Procfile-based applications. + +Our [Procfile script](./Procfile) will set up a local example cluster. Start it with: + +```bash +goreman start +``` + +This will bring up 3 etcd members `infra1`, `infra2` and `infra3` and optionally etcd `grpc-proxy`, which runs locally and composes a cluster. + +Every cluster member and proxy accepts key value reads and key value writes. + +Follow the comments in [Procfile script](./Procfile) to add a learner node to the cluster. + +### Install etcd client v3 + +```bash +go get go.etcd.io/etcd/client/v3 +``` + +### Next steps + +Now it's time to dig into the full etcd API and other guides. + +* Read the full [documentation]. +* Review etcd [frequently asked questions]. +* Explore the full gRPC [API]. +* Set up a [multi-machine cluster][clustering]. +* Learn the [config format, env variables and flags][configuration]. +* Find [language bindings and tools][integrations]. +* Use TLS to [secure an etcd cluster][security]. +* [Tune etcd][tuning]. + +[documentation]: https://etcd.io/docs/latest +[api]: https://etcd.io/docs/latest/learning/api +[clustering]: https://etcd.io/docs/latest/op-guide/clustering +[configuration]: https://etcd.io/docs/latest/op-guide/configuration +[integrations]: https://etcd.io/docs/latest/integrations +[security]: https://etcd.io/docs/latest/op-guide/security +[tuning]: https://etcd.io/docs/latest/tuning + +## Contact + +* Email: [etcd-dev](https://groups.google.com/g/etcd-dev) +* Slack: [#sig-etcd](https://kubernetes.slack.com/archives/C3HD8ARJ5) channel on Kubernetes ([get an invite](http://slack.kubernetes.io/)) +* [Community meetings](#community-meetings) + +### Community meetings + +etcd contributors and maintainers meet every week at `11:00` AM (USA Pacific) on Thursday and meetings alternate between community meetings and issue triage meetings. Meeting agendas are recorded in a [shared Google doc][shared-meeting-notes] and everyone is welcome to suggest additional topics or other agendas. + +Issue triage meetings are aimed at getting through our backlog of PRs and Issues. Triage meetings are open to any contributor; you don't have to be a reviewer or approver to help out! They can also be a good way to get started contributing. + +The meeting lead role is rotated for each meeting between etcd maintainers or sig-etcd leads and is recorded in a [shared Google sheet][shared-rotation-sheet]. + +Meeting recordings are uploaded to the official etcd [YouTube channel]. + +Get calendar invitations by joining [etcd-dev](https://groups.google.com/g/etcd-dev) mailing group. + +Join the CNCF-funded Zoom channel: [zoom.us/my/cncfetcdproject](https://zoom.us/my/cncfetcdproject) + +[shared-meeting-notes]: https://docs.google.com/document/d/16XEGyPBisZvmmoIHSZzv__LoyOeluC5a4x353CX0SIM/edit +[shared-rotation-sheet]: https://docs.google.com/spreadsheets/d/1jodHIO7Dk2VWTs1IRnfMFaRktS9IH8XRyifOnPdSY8I/edit +[YouTube channel]: https://www.youtube.com/@etcdio + +## Contributing + +See [CONTRIBUTING](CONTRIBUTING.md) for details on setting up your development environment, submitting patches and the contribution workflow. + +Please refer to [community-membership.md](Documentation/contributor-guide/community-membership.md#member) for information on becoming an etcd project member. We welcome and look forward to your contributions to the project! + +Please also refer to [roadmap](Documentation/contributor-guide/roadmap.md) to get more details on the priorities for the next few major or minor releases. + +## Reporting bugs + +See [reporting bugs](https://github.com/etcd-io/etcd/blob/main/Documentation/contributor-guide/reporting_bugs.md) for details about reporting any issues. Before opening an issue please check it is not covered in our [frequently asked questions]. + +[frequently asked questions]: https://etcd.io/docs/latest/faq + +## Reporting a security vulnerability + +See [security disclosure and release process](security/README.md) for details on how to report a security vulnerability and how the etcd team manages it. + +## Issue and PR management + +See [issue triage guidelines](https://github.com/etcd-io/etcd/blob/main/Documentation/contributor-guide/triage_issues.md) for details on how issues are managed. + +See [PR management](https://github.com/etcd-io/etcd/blob/main/Documentation/contributor-guide/triage_prs.md) for guidelines on how pull requests are managed. + +## etcd Emeritus Maintainers + +etcd [emeritus maintainers](OWNERS) dedicated a part of their career to etcd and reviewed code, triaged bugs and pushed the project forward over a substantial period of time. Their contribution is greatly appreciated. + +### License + +etcd is under the Apache 2.0 license. See the [LICENSE](LICENSE) file for details. diff --git a/data/readmes/eventmesh-v1110.md b/data/readmes/eventmesh-v1110.md new file mode 100644 index 0000000..14f054c --- /dev/null +++ b/data/readmes/eventmesh-v1110.md @@ -0,0 +1,227 @@ +# EventMesh - README (v1.11.0) + +**Repository**: https://github.com/apache/eventmesh +**Version**: v1.11.0 + +--- + +
+ +

+ +
+ +[![CI status](https://img.shields.io/github/actions/workflow/status/apache/eventmesh/ci.yml?logo=github&style=for-the-badge)](https://github.com/apache/eventmesh/actions/workflows/ci.yml) +[![CodeCov](https://img.shields.io/codecov/c/gh/apache/eventmesh/master?logo=codecov&style=for-the-badge)](https://codecov.io/gh/apache/eventmesh) +[![Code Quality: Java](https://img.shields.io/lgtm/grade/java/g/apache/eventmesh.svg?logo=lgtm&logoWidth=18&style=for-the-badge)](https://lgtm.com/projects/g/apache/eventmesh/context:java) +[![Total Alerts](https://img.shields.io/lgtm/alerts/g/apache/eventmesh.svg?logo=lgtm&logoWidth=18&style=for-the-badge)](https://lgtm.com/projects/g/apache/eventmesh/alerts/) + +[![License](https://img.shields.io/github/license/apache/eventmesh?style=for-the-badge)](https://www.apache.org/licenses/LICENSE-2.0.html) +[![GitHub Release](https://img.shields.io/github/v/release/apache/eventmesh?style=for-the-badge)](https://github.com/apache/eventmesh/releases) +[![Slack Status](https://img.shields.io/badge/slack-join_chat-blue.svg?logo=slack&style=for-the-badge)](https://join.slack.com/t/the-asf/shared_invite/zt-1y375qcox-UW1898e4kZE_pqrNsrBM2g) + + +[📦 Documentation](https://eventmesh.apache.org/docs/introduction) | +[📔 Examples](https://github.com/apache/eventmesh/tree/master/eventmesh-examples) | +[⚙️ Roadmap](https://eventmesh.apache.org/docs/roadmap) | +[🌐 简体中文](README.zh-CN.md) +
+ + +# Apache EventMesh + +**Apache EventMesh** is a new generation serverless event middleware for building distributed [event-driven](https://en.wikipedia.org/wiki/Event-driven_architecture) applications. + +### EventMesh Architecture + +![EventMesh Architecture](resources/eventmesh-architecture-5.png) + +### EventMesh K8S deployment + +![EventMesh Operator](resources/eventmesh-operator.png) + +## Features + +Apache EventMesh has a vast amount of features to help users achieve their goals. Let us share with you some of the key features EventMesh has to offer: + +- Built around the [CloudEvents](https://cloudevents.io) specification. +- Rapidty extendsible interconnector layer [connectors](https://github.com/apache/eventmesh/tree/master/eventmesh-connectors) using [openConnect](https://github.com/apache/eventmesh/tree/master/eventmesh-openconnect) such as the source or sink of Saas, CloudService, and Database etc. +- Rapidty extendsible storage layer such as [Apache RocketMQ](https://rocketmq.apache.org), [Apache Kafka](https://kafka.apache.org), [Apache Pulsar](https://pulsar.apache.org), [RabbitMQ](https://rabbitmq.com), [Redis](https://redis.io). +- Rapidty extendsible meta such as [Consul](https://consulproject.org/en/), [Nacos](https://nacos.io), [ETCD](https://etcd.io) and [Zookeeper](https://zookeeper.apache.org/). +- Guaranteed at-least-once delivery. +- Deliver events between multiple EventMesh deployments. +- Event schema management by catalog service. +- Powerful event orchestration by [Serverless workflow](https://serverlessworkflow.io/) engine. +- Powerful event filtering and transformation. +- Rapid, seamless scalability. +- Easy Function develop and framework integration. + +## Roadmap + +Please go to the [roadmap](https://eventmesh.apache.org/docs/roadmap) to get the release history and new features of Apache EventMesh. + +## Subprojects + +- [EventMesh-site](https://github.com/apache/eventmesh-site): Apache official website resources for EventMesh. +- [EventMesh-workflow](https://github.com/apache/eventmesh-workflow): Serverless workflow runtime for event Orchestration on EventMesh. +- [EventMesh-dashboard](https://github.com/apache/eventmesh-dashboard): Operation and maintenance console of EventMesh. +- [EventMesh-catalog](https://github.com/apache/eventmesh-catalog): Catalog service for event schema management using AsyncAPI. +- [EventMesh-go](https://github.com/apache/eventmesh-go): A go implementation for EventMesh runtime. + +## Quick start + +This section of the guide will show you the steps to deploy EventMesh from [Local](#run-eventmesh-runtime-locally), [Docker](#run-eventmesh-runtime-in-docker), [K8s](#run-eventmesh-runtime-in-kubernetes). + +This section guides the launch of EventMesh according to the default configuration, if you need more detailed EventMesh deployment steps, please visit the [EventMesh official document](https://eventmesh.apache.org/docs/introduction). + +### Deployment Event Store + +> EventMesh supports [multiple Event Stores](https://eventmesh.apache.org/docs/roadmap#event-store-implementation-status), the default storage mode is `standalone`, and does not rely on other event stores as layers. + +### Run EventMesh Runtime locally + +#### 1. Download EventMesh + +Download the latest version of the Binary Distribution from the [EventMesh Download](https://eventmesh.apache.org/download/) page and extract it: + +```shell +wget https://dlcdn.apache.org/eventmesh/1.10.0/apache-eventmesh-1.10.0-bin.tar.gz +tar -xvzf apache-eventmesh-1.10.0-bin.tar.gz +cd apache-eventmesh-1.10.0 +``` + +#### 2. Run EventMesh + +Execute the `start.sh` script to start the EventMesh Runtime server. + +```shell +bash bin/start.sh +``` + +View the output log: + +```shell +tail -n 50 -f logs/eventmesh.out +``` + +When the log output shows server `state:RUNNING`, it means EventMesh Runtime has started successfully. + +You can stop the run with the following command: + +```shell +bash bin/stop.sh +``` + +When the script prints `shutdown server ok!`, it means EventMesh Runtime has stopped. + +### Run EventMesh Runtime in Docker + +#### 1. Pull EventMesh Image + +Use the following command line to download the latest version of [EventMesh](https://hub.docker.com/r/apache/eventmesh): + +```shell +sudo docker pull apache/eventmesh:latest +``` + +#### 2. Run and Manage EventMesh Container + +Use the following command to start the EventMesh container: + +```shell +sudo docker run -d --name eventmesh -p 10000:10000 -p 10105:10105 -p 10205:10205 -p 10106:10106 -t apache/eventmesh:latest +``` + + +Enter the container: + +```shell +sudo docker exec -it eventmesh /bin/bash +``` + +view the log: + +```shell +cd logs +tail -n 50 -f eventmesh.out +``` + +### Run EventMesh Runtime in Kubernetes + +#### 1. Deploy operator + +Run the following commands(To delete a deployment, simply replace `deploy` with `undeploy`): + +```shell +$ cd eventmesh-operator && make deploy +``` + +Run `kubectl get pods` 、`kubectl get crd | grep eventmesh-operator.eventmesh`to see the status of the deployed eventmesh-operator. + +```shell +$ kubectl get pods +NAME READY STATUS RESTARTS AGE +eventmesh-operator-59c59f4f7b-nmmlm 1/1 Running 0 20s + +$ kubectl get crd | grep eventmesh-operator.eventmesh +connectors.eventmesh-operator.eventmesh 2024-01-10T02:40:27Z +runtimes.eventmesh-operator.eventmesh 2024-01-10T02:40:27Z +``` + +#### 2. Deploy EventMesh Runtime + +Execute the following command to deploy runtime, connector-rocketmq (To delete, simply replace `create` with `delete`): + +```shell +$ make create +``` + +Run `kubectl get pods` to see if the deployment was successful. + +```shell +NAME READY STATUS RESTARTS AGE +connector-rocketmq-0 1/1 Running 0 9s +eventmesh-operator-59c59f4f7b-nmmlm 1/1 Running 0 3m12s +eventmesh-runtime-0-a-0 1/1 Running 0 15s +``` + +## Contributing + +Each contributor has played an important role in promoting the robust development of Apache EventMesh. We sincerely appreciate all contributors who have contributed code and documents. + +- [Contributing Guideline](https://eventmesh.apache.org/community/contribute/contribute) +- [Good First Issues](https://github.com/apache/eventmesh/issues?q=is%3Aopen+is%3Aissue+label%3A%22good+first+issue%22) + + +## CNCF Landscape + +
+ + + +Apache EventMesh enriches the CNCF Cloud Native Landscape. + +
+ +## License + +Apache EventMesh is licensed under the [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.html). + +## Community + +| WeChat Assistant | WeChat Public Account | Slack | +|---------------------------------------------------------|--------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------| +| | | [Join Slack Chat](https://join.slack.com/t/the-asf/shared_invite/zt-1y375qcox-UW1898e4kZE_pqrNsrBM2g)(Please open an issue if this link is expired) | + +Bi-weekly meeting : [#Tencent meeting](https://meeting.tencent.com/dm/wes6Erb9ioVV) : 346-6926-0133 + +Bi-weekly meeting record : [bilibili](https://space.bilibili.com/1057662180) + +### Mailing List + +| Name | Description | Subscribe | Unsubscribe | Archive | +|-------------|---------------------------------------------------------|------------------------------------------------------------|----------------------------------------------------------------|----------------------------------------------------------------------------------| +| Users | User discussion | [Subscribe](mailto:users-subscribe@eventmesh.apache.org) | [Unsubscribe](mailto:users-unsubscribe@eventmesh.apache.org) | [Mail Archives](https://lists.apache.org/list.html?users@eventmesh.apache.org) | +| Development | Development discussion (Design Documents, Issues, etc.) | [Subscribe](mailto:dev-subscribe@eventmesh.apache.org) | [Unsubscribe](mailto:dev-unsubscribe@eventmesh.apache.org) | [Mail Archives](https://lists.apache.org/list.html?dev@eventmesh.apache.org) | +| Commits | Commits to related repositories | [Subscribe](mailto:commits-subscribe@eventmesh.apache.org) | [Unsubscribe](mailto:commits-unsubscribe@eventmesh.apache.org) | [Mail Archives](https://lists.apache.org/list.html?commits@eventmesh.apache.org) | +| Issues | Issues or PRs comments and reviews | [Subscribe](mailto:issues-subscribe@eventmesh.apache.org) | [Unsubscribe](mailto:issues-unsubscribe@eventmesh.apache.org) | [Mail Archives](https://lists.apache.org/list.html?issues@eventmesh.apache.org) | diff --git a/data/readmes/external-secrets-v111.md b/data/readmes/external-secrets-v111.md new file mode 100644 index 0000000..da35506 --- /dev/null +++ b/data/readmes/external-secrets-v111.md @@ -0,0 +1,83 @@ +# external-secrets - README (v1.1.1) + +**Repository**: https://github.com/external-secrets/external-secrets +**Version**: v1.1.1 + +--- + +

+ external-secrets +

+ +# External Secrets + +![ci](https://github.com/external-secrets/external-secrets/actions/workflows/ci.yml/badge.svg?branch=main) +[![CII Best Practices](https://bestpractices.coreinfrastructure.org/projects/5327/badge)](https://bestpractices.coreinfrastructure.org/projects/5947) +[![OpenSSF Scorecard](https://api.securityscorecards.dev/projects/github.com/external-secrets/external-secrets/badge)](https://securityscorecards.dev/viewer/?uri=github.com/external-secrets/external-secrets) +[![Go Report Card](https://goreportcard.com/badge/github.com/external-secrets/external-secrets)](https://goreportcard.com/report/github.com/external-secrets/external-secrets) +[![FOSSA Status](https://app.fossa.com/api/projects/git%2Bgithub.com%2Fexternal-secrets%2Fexternal-secrets.svg?type=shield)](https://app.fossa.com/projects/git%2Bgithub.com%2Fexternal-secrets%2Fexternal-secrets?ref=badge_shield) +Artifact Hub +operatorhub.io + +**External Secrets Operator** is a Kubernetes operator that integrates external +secret management systems like [AWS Secrets +Manager](https://aws.amazon.com/secrets-manager/), [HashiCorp +Vault](https://www.vaultproject.io/), [Google Secrets +Manager](https://cloud.google.com/secret-manager), [Azure Key +Vault](https://azure.microsoft.com/en-us/services/key-vault/), [IBM Cloud Secrets Manager](https://www.ibm.com/cloud/secrets-manager), [Akeyless](https://akeyless.io), [CyberArk Secrets Manager](https://www.cyberark.com/products/secrets-management/), [Pulumi ESC](https://www.pulumi.com/product/esc/) and many more. The +operator reads information from external APIs and automatically injects the +values into a [Kubernetes +Secret](https://kubernetes.io/docs/concepts/configuration/secret/). + +Multiple people and organizations are joining efforts to create a single External Secrets solution based on existing projects. If you are curious about the origins of this project, check out [this issue](https://github.com/external-secrets/kubernetes-external-secrets/issues/47) and [this PR](https://github.com/external-secrets/kubernetes-external-secrets/pull/477). + +## Documentation + +External Secrets Operator guides and reference documentation is available at [external-secrets.io](https://external-secrets.io). Also see our [stability and support](https://external-secrets.io/main/introduction/stability-support/) policy. + +## Contributing + +We welcome and encourage contributions to this project! Please read the [Developer](https://www.external-secrets.io/main/contributing/devguide/) and [Contribution process](https://www.external-secrets.io/main/contributing/process/) guides. Also make sure to check the [Code of Conduct](https://www.external-secrets.io/main/contributing/coc/) and adhere to its guidelines. + +Also, please take a look our [Contribution Ladder](CONTRIBUTOR_LADDER.md) for a _very_ detailed explanation of what roles and tracks are available for people to try and help this project. + +### Sponsoring + +Please consider sponsoring this project, there are many ways you can help us with: engineering time, providing infrastructure, donating money, etc. We are open to cooperations, feel free to approach as and we discuss how this could look like. We can keep your contribution anonymized if that's required (depending on the type of contribution), and anonymous donations are possible inside [Opencollective](https://opencollective.com/external-secrets-org). + +## Bi-weekly Development Meeting + +We host our development meeting every odd wednesday on [Zoom](https://zoom-lfx.platform.linuxfoundation.org/meeting/92843470602?password=b953d8fb-825b-48ae-8fd7-226e498cc316). We run the meeting with alternating times [8:00 PM Berlin Time](https://dateful.com/time-zone-converter?t=20:00&tz=Europe/Berlin) and [1:00 PM Berlin Time](https://dateful.com/time-zone-converter?t=13:00&tz=Europe/Berlin). Be sure to check the [CNCF Calendar](https://zoom-lfx.platform.linuxfoundation.org/meetings/externalsecretsoperator?view=month) to see when the next meeting is scheduled, we'll also announce the time in our [Kubernetes Slack channel](https://kubernetes.slack.com/messages/external-secrets). +Meeting notes are recorded on [this google document](https://docs.google.com/document/d/1etFaDlLd01PUWuMlAwCXnpUg85QiTkNjw0SHu-rQjDs/). + +Anyone is welcome to join. Feel free to ask questions, request feedback, raise awareness for an issue, or just say hi. ;) + +## Security + +Please report vulnerabilities by email to cncf-ExternalSecretsOp-maintainers@lists.cncf.io. Also see our [SECURITY.md file](SECURITY.md) for details. + +## Software bill of materials +We attach SBOM and provenance file to our GitHub release. Also, they are attached to container images. + +## Adopters + +Please create a PR and add your company or project to our [ADOPTERS.md file](ADOPTERS.md) if you are using our project! + +## Roadmap + +You can find the roadmap in our documentation: https://external-secrets.io/main/contributing/roadmap/ + +## Kicked off by + +![](assets/Godaddylogo_2020.png) + +## Sponsored by + +![External Secrets Inc.](assets/ESI_Logo.svg) +![Container Solutions](assets/CS_logo_1.png) +![Form 3](assets/form3_logo.png) +![Pento ](assets/pento_logo.png) + + +## License +[![FOSSA Status](https://app.fossa.com/api/projects/git%2Bgithub.com%2Fexternal-secrets%2Fexternal-secrets.svg?type=large)](https://app.fossa.com/projects/git%2Bgithub.com%2Fexternal-secrets%2Fexternal-secrets?ref=badge_large) diff --git a/data/readmes/fabedge-v081.md b/data/readmes/fabedge-v081.md new file mode 100644 index 0000000..38b042e --- /dev/null +++ b/data/readmes/fabedge-v081.md @@ -0,0 +1,102 @@ +# FabEdge - README (v0.8.1) + +**Repository**: https://github.com/FabEdge/fabedge +**Version**: v0.8.1 + +--- + +# FabEdge + +[![main](https://github.com/FabEdge/fabedge/actions/workflows/main.yml/badge.svg)](https://github.com/FabEdge/fabedge/actions/workflows/main.yml) +[![Releases](https://img.shields.io/github/release/fabedge/fabedge/all.svg?style=flat-square)](https://github.com/fabedge/fabedge/releases) +[![license](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://github.com/FabEdge/fabedge/blob/main/LICENSE) + + + +English | [中文](README_zh.md) + + +FabEdge is a secure container networking solution based on Kubernetes, focusing on edge computing. It enables cloud-edge, edge-edge collaboration and solves the problems including complex configuration management, network isolation, unaware of the underlying topology, etc. It supports weak network, such as 4/5G, WiFi, etc. The main use cases are IoT, IoV, smart city, etc. + +FabEdge supports the major edge computing frameworks ,like KubeEdge/SuperEdge/OpenYurt. + +FabEdge not only supports edge nodes (remote nodes joined to the cluster via an edge computing framework such as KubeEdge), but also edge clusters (standalone K8S clusters). + +FabEdge is a sandbox project of the Cloud Native Computing Foundation (CNCF). + + +## Features +* **Kubernetes Native**: Compatible with Kubernetes, transparent to applications. + +* **Automatic Configuration Management**: the addresses, certificates, endpoints, tunnels, etc. are automatically managed. + +* **Cloud-Edge/Edge-Edge Collaboration**: Secure tunnels between cloud-edge, edge-edge nodes for synergy. + +* **Topology-aware Service Discovery**: reduces service access latency, by using the nearest available service endpoint. + + +## Advantages: + +- **Standard**: suitable for any protocol, any application. +- **Secure**: Uses mature and stable IPSec technology, and a secure certificate-based authentication system. +- **Easy to use**: Adopts the `Operator` pattern to automatically manage addresses, nodes, certificates, etc., minimizing human intervention. + + +## How it works +fabedge-arch + +* The cloud can be any Kubernetes cluster with supported CNI network plug-in, including Calico, Flannel, etc. +* FabEdge builds a layer-3 data plane with tunnels in additional to the control plan managed by KubeEdge, SuperEdge, OpenYurt,etc. +* FabEdge consists of **Operators, Connector, Agent, Cloud-Agent**. +* Operator monitors k8s resources such as nodes, services, and endpoints in the cloud, and creates a configmap for each edge node, which contains the configuration information such as the subnet, tunnel, and load balancing rules. The operator is also responsible to manage the life cycle of agent pod for each edge node. +* Connector is responsible to terminate the tunnels from edge nodes, and forward traffic between the cloud and the edge. It relies on the cloud CNI plug-in to forward traffic to other non-connector nodes in the cloud. +* Cloud-Agent runs on the non-connector nodes in the cluster and manages the routes to remote peers. +* Each edge node runs an agent and consumes its own configmap including the following functions: + - Manage the configuration file of the CNI plug-in of this node + - Manage the tunnels of this node + - Manage the load balancing rules of this node + +* Fab-DNS runs in all the clusters, to provide the topology-aware service discovery capability by intercepting the DNS queries. + + +## FabEdge vs. Calico/Flannel/etc + +FabEdge is not to replace the traditional Kubernetes network plugins such as Calico/Flannel. As in the above architecture diagram, Calico/Flannel is used within the cloud for communication between cloud nodes, while FabEdge is a complement to it for the edge-cloud, edge-edge communication. + +## Documentation + +* [Getting started](docs/get-started.md) +* [User Guide](docs/user-guide.md) +* [FAQ](./docs/FAQ.md) +* [Uninstall FabEdge](docs/uninstall.md) +* [Troubleshooting](docs/troubleshooting-guide.md) + + +## Meeting +Regular community meeting at 2nd and 4th Thursday of every month + +Resources: +[Meeting notes and agenda](https://shimo.im/docs/Wwt9TdGqgVvpDHJt) +[Meeting recordings:bilibili channel](https://space.bilibili.com/524926244?spm_id_from=333.1007.0.0) + +## Contact +Any question, feel free to reach us in the following ways: + +· Email: fabedge@beyondcent.com +. Slack: [#fabedge](https://cloud-native.slack.com/archives/C03AD0TFPFF) +· Scan the QR code to join WeChat Group + +wechat-group + + + +## Contributing + +If you're interested in being a contributor and want to get involved in developing the FabEdge code, please see [CONTRIBUTING](./CONTRIBUTING.md) for details on submitting patches and the contribution workflow. + +Please make sure to read and observe our [Code of Conduct](https://github.com/FabEdge/fabedge/blob/main/CODE_OF_CONDUCT.md). + + +## License +FabEdge is under the Apache 2.0 license. See the [LICENSE](https://github.com/FabEdge/fabedge/blob/main/LICENSE) file for details. + diff --git a/data/readmes/falco-0421.md b/data/readmes/falco-0421.md new file mode 100644 index 0000000..e4fe8df --- /dev/null +++ b/data/readmes/falco-0421.md @@ -0,0 +1,154 @@ +# Falco - README (0.42.1) + +**Repository**: https://github.com/falcosecurity/falco +**Version**: 0.42.1 + +--- + +# Falco + +[![Latest release](https://img.shields.io/github/v/release/falcosecurity/falco?style=for-the-badge)](https://github.com/falcosecurity/falco/releases/latest) [![Supported Architectures](https://img.shields.io/badge/ARCHS-x86__64%7Caarch64-blueviolet?style=for-the-badge)](https://github.com/falcosecurity/falco/releases/latest) [![License](https://img.shields.io/github/license/falcosecurity/falco?style=for-the-badge)](COPYING) [![Docs](https://img.shields.io/badge/docs-latest-green.svg?style=for-the-badge)](https://falco.org/docs) + +[![Falco Core Repository](https://github.com/falcosecurity/evolution/blob/main/repos/badges/falco-core-blue.svg)](https://github.com/falcosecurity/evolution/blob/main/REPOSITORIES.md#core-scope) [![Stable](https://img.shields.io/badge/status-stable-brightgreen?style=for-the-badge)](https://github.com/falcosecurity/evolution/blob/main/REPOSITORIES.md#stable) [![OpenSSF Scorecard](https://img.shields.io/ossf-scorecard/github.com/falcosecurity/falco?label=openssf%20scorecard&style=for-the-badge)](https://scorecard.dev/viewer/?uri=github.com/falcosecurity/falco) [![OpenSSF Best Practices](https://img.shields.io/cii/summary/2317?label=OpenSSF%20Best%20Practices&style=for-the-badge)](https://bestpractices.coreinfrastructure.org/projects/2317) + +[![Falco](https://falco.org/img/brand/falco-horizontal-color.svg)](https://falco.org) + +[Falco](https://falco.org/) is a cloud native runtime security tool for Linux operating systems. It is designed to detect and alert on abnormal behavior and potential security threats in real-time. + +At its core, Falco is a kernel monitoring and detection agent that observes events, such as syscalls, based on custom rules. Falco can enhance these events by integrating metadata from the container runtime and Kubernetes. The collected events can be analyzed off-host in SIEM or data lake systems. + +Falco, originally created by [Sysdig](https://sysdig.com), is a **graduated project** under the [Cloud Native Computing Foundation](https://cncf.io) (CNCF) used in production by various [organisations](https://github.com/falcosecurity/falco/blob/master/ADOPTERS.md). + +For detailed technical information and insights into the cyber threats that Falco can detect, visit the official [Falco](https://falco.org/) website. + +For comprehensive information on the latest updates and changes to the project, please refer to the [Change Log](CHANGELOG.md). + +## The Falco Project + +The Falco Project codebase is maintained under the [falcosecurity GitHub organization](https://github.com/falcosecurity). The primary repository, [falcosecurity/falco](https://github.com/falcosecurity/falco), holds the source code for the Falco binary, while other sub-projects are hosted in dedicated repositories. This approach of isolating components into specialized repositories enhances modularity and focused development. Notable [core repositories](https://github.com/falcosecurity/evolution?tab=readme-ov-file#core) include: + +- [falcosecurity/libs](https://github.com/falcosecurity/libs): This repository hosts Falco's core libraries, which constitute the majority of the binary’s source code and provide essential features, such as kernel drivers. +- [falcosecurity/rules](https://github.com/falcosecurity/rules): It contains the official ruleset for Falco, offering pre-defined detection rules for various security threats and abnormal behaviors. +- [falcosecurity/plugins](https://github.com/falcosecurity/plugins): This repository supports integration with external services through plugins that extend Falco's capabilities beyond syscalls and container events, with plans for evolving specialized functionalities in future releases. +- [falcosecurity/falcoctl](https://github.com/falcosecurity/falcoctl): A command-line utility designed for managing and interacting with Falco. +- [falcosecurity/charts](https://github.com/falcosecurity/charts): This repository provides Helm charts for deploying Falco and its ecosystem, simplifying the installation and management process. + +For further insights into our repositories and additional details about our governance model, please visit the official hub of The Falco Project: [falcosecurity/evolution](https://github.com/falcosecurity/evolution). + +## Getting Started with Falco + +If you're new to Falco, begin your journey with our [Getting Started](https://falco.org/docs/getting-started/) guide. For production deployments, please refer to our comprehensive [Setup](https://falco.org/docs/setup/) documentation. + +As final recommendations before deploying Falco, verify environment compatibility, define your detection goals, optimize performance, choose the appropriate build, and plan for SIEM or data lake integration to ensure effective incident response. + +### Demo Environment + +A demo environment is provided via a docker-compose file that can be started on a docker host which includes falco, falcosidekick, falcosidekick-ui and its required redis database. For more information see the [docker-compose section](docker/docker-compose/) + +## Join the Community + +To get involved with the Falco Project please visit the [Community](https://github.com/falcosecurity/community) repository to find more information and ways to get involved. + +If you have any questions about Falco or contributing, do not hesitate to file an issue or contact the Falco maintainers and community members for assistance. + +How to reach out? + + - Join the [#falco](https://kubernetes.slack.com/messages/falco) channel on the [Kubernetes Slack](https://slack.k8s.io). + - Join the [Falco mailing list](https://lists.cncf.io/g/cncf-falco-dev). + - File an [issue](https://github.com/falcosecurity/falco/issues) or make feature requests. + +## Commitment to Falco's Own Security + +Full reports of various security audits can be found [here](./audits/). + +In addition, you can refer to the [falco](https://github.com/falcosecurity/falco/security) and [libs](https://github.com/falcosecurity/libs/security) security sections for detailed updates on security advisories and policies. + +To report security vulnerabilities, please follow the community process outlined in the documentation found [here](https://github.com/falcosecurity/.github/blob/main/SECURITY.md). + +## Building + +For comprehensive, step-by-step instructions on building Falco from source, please refer to the [official documentation](https://falco.org/docs/developer-guide/source/). + +## Testing + +
+ Expand Testing Instructions + +Falco's [Build Falco from source](https://falco.org/docs/developer-guide/source/) is the go-to resource to understand how to build Falco from source. In addition, the [falcosecurity/libs](https://github.com/falcosecurity/libs) repository offers additional valuable information about tests and debugging of Falco's underlying libraries and kernel drivers. + +Here's an example of a `cmake` command that will enable everything you need for all unit tests of this repository: + +```bash +cmake \ +-DUSE_BUNDLED_DEPS=ON \ +-DBUILD_LIBSCAP_GVISOR=ON \ +-DBUILD_BPF=ON \ +-DBUILD_DRIVER=ON \ +-DBUILD_FALCO_MODERN_BPF=ON \ +-DCREATE_TEST_TARGETS=ON \ +-DBUILD_FALCO_UNIT_TESTS=ON ..; +``` + +Build and run the unit test suite: + +```bash +nproc=$(grep processor /proc/cpuinfo | tail -n 1 | awk '{print $3}'); +make -j$(($nproc-1)) falco_unit_tests; +# Run the tests +sudo ./unit_tests/falco_unit_tests; +``` + +Optionally, build the driver of your choice and test run the Falco binary to perform manual tests. + +Lastly, The Falco Project has moved its Falco regression tests to [falcosecurity/testing](https://github.com/falcosecurity/testing). + + +
+ +
+ + ## How to Contribute + +Please refer to the [Contributing](https://github.com/falcosecurity/.github/blob/main/CONTRIBUTING.md) guide and the [Code of Conduct](https://github.com/falcosecurity/evolution/blob/main/CODE_OF_CONDUCT.md) for more information on how to contribute. + +## FAQs + +### Why is Falco in C++ rather than Go or {language}? + +
+ Expand Information + +1. The first lines of code at the base of Falco were written some time ago, where Go didn't yet have the same level of maturity and adoption as today. +2. The Falco execution model is sequential and mono-thread due to the statefulness requirements of the tool, and so most of the concurrency-related selling points of the Go runtime would not be leveraged at all. +3. The Falco code deals with very low-level programming in many places (e.g. some headers are shared with the eBPF probe and the Kernel module), and we all know that interfacing Go with C is possible but brings tons of complexity and tradeoffs to the table. +4. As a security tool meant to consume a crazy high throughput of events per second, Falco needs to squeeze performance in all hot paths at runtime and requires deep control on memory allocation, which the Go runtime can't provide (there's also garbage collection involved). +5. Although Go didn't suit the engineering requirements of the core of Falco, we still thought that it could be a good candidate for writing Falco extensions through the plugin system. This is the main reason we gave special attention and high priority to the development of the plugin-sdk-go. +6. Go is not a requirement for having statically-linked binaries. In fact, we provide fully-static Falco builds since few years. The only issue with those is that the plugin system can't be supported with the current dynamic library model we currently have. +7. The plugin system has been envisioned to support multiple languages, so on our end maintaining a C-compatible codebase is the best strategy to ensure maximum cross-language compatibility. +8. In general, plugins have GLIBC requirements/dependencies because they have low-level C bindings required for dynamic loading. A potential solution for the future could be to also support plugin to be statically-linked at compilation time and so released as bundled in the Falco binary. Although no work started yet in this direction, this would solve most issues you reported and would provide a totally-static binary too. Of course, this would not be compatible with dynamic loading anymore, but it may be a viable solution for our static-build flavor of Falco. +9. Memory safety is definitely a concern and we try our best to keep an high level of quality even though C++ is quite error prone. For instance, we try to use smart pointers whenever possible, we build the libraries with an address sanitizer in our CI, we run Falco through Valgrind before each release, and have ways to stress-test it to detect performance regressions or weird memory usage (e.g. https://github.com/falcosecurity/event-generator). On top of that, we also have third parties auditing the codebase by time to time. None of this make a perfect safety standpoint of course, but we try to maximize our odds. Go would definitely make our life easier from this perspective, however the tradeoffs never made it worth it so far due to the points above. +10. The C++ codebase of falcosecurity/libs, which is at the core of Falco, is quite large and complex. Porting all that code to another language would be a major effort requiring lots of development resource and with an high chance of failure and regression. As such, our approach so far has been to choose refactors and code polishing instead, up until we'll reach an optimal level of stability, quality, and modularity, on that portion of code. This would allow further developments to be smoother and more feasibile in the future. + +
+
+ +### What's next for Falco? + +Stay updated with Falco's evolving capabilities by exploring the [Falco Roadmap](https://github.com/orgs/falcosecurity/projects/5), which provides insights into the features currently under development and planned for future releases. + +## License + +Falco is licensed to you under the [Apache 2.0](./COPYING) open source license. + +## Resources + + - [Governance](https://github.com/falcosecurity/evolution/blob/main/GOVERNANCE.md) + - [Code Of Conduct](https://github.com/falcosecurity/evolution/blob/main/CODE_OF_CONDUCT.md) + - [Maintainers Guidelines](https://github.com/falcosecurity/evolution/blob/main/MAINTAINERS_GUIDELINES.md) + - [Maintainers List](https://github.com/falcosecurity/evolution/blob/main/MAINTAINERS.md) + - [Repositories Guidelines](https://github.com/falcosecurity/evolution/blob/main/REPOSITORIES.md) + - [Repositories List](https://github.com/falcosecurity/evolution/blob/main/README.md#repositories) + - [Adopters List](https://github.com/falcosecurity/falco/blob/master/ADOPTERS.md) + - [Release Process](RELEASE.md) + - [Setup documentation](https://falco.org/docs/setup/) + - [Troubleshooting](https://falco.org/docs/troubleshooting/) diff --git a/data/readmes/flink-v04-rc1.md b/data/readmes/flink-v04-rc1.md new file mode 100644 index 0000000..37ceecc --- /dev/null +++ b/data/readmes/flink-v04-rc1.md @@ -0,0 +1,205 @@ +# Flink - README (v0.4-rc1) + +**Repository**: https://github.com/apache/flink +**Version**: v0.4-rc1 + +--- + +# Stratosphere + +_"Big Data looks tiny from Stratosphere."_ + +Stratosphere is a next-generation Big Data Analytics Platform. It combines the strengths of MapReduce/Hadoop with powerful programming abstractions in Java and Scala, and a high performance runtime. Stratosphere has native support for iterations, delta iterations, and programs consisting of workflows of many operations. + +Learn more about Stratosphere at http://stratosphere.eu + +## Start writing a Stratosphere Job +If you just want to get started with Stratosphere, use the following command to set up an empty Stratosphere Job + +``` +curl https://raw.github.com/stratosphere/stratosphere-quickstart/master/quickstart.sh | bash +``` +The quickstart sample contains everything to develop a Stratosphere Job on your computer and run it in a local embedded runtime. No setup needed. +Further quickstart guides are at http://stratosphere.eu/quickstart/ + + +## Build Stratosphere +Below are three short tutorials that guide you through the first steps: Building, running and developing. + +### Build From Source + +This tutorial shows how to build Stratosphere on your own system. Please open a bug report if you have any troubles! + +#### Requirements +* Unix-like environment (We use Linux, Mac OS X, Cygwin) +* git +* Maven (at least version 3.0.4) +* Java 6 or 7 + +``` +git clone https://github.com/stratosphere/stratosphere.git +cd stratosphere +mvn -DskipTests clean package # this will take up to 5 minutes +``` + +Stratosphere is now installed in `stratosphere-dist/target` +If you’re a Debian/Ubuntu user, you’ll find a .deb package. We will continue with the generic case. + + cd stratosphere-dist/target/stratosphere-dist-0.4-SNAPSHOT-bin/stratosphere-0.4-SNAPSHOT/ + +The directory structure here looks like the contents of the official release distribution. + +#### Build for different Hadoop Versions +This section is for advanced users that want to build Stratosphere for a different Hadoop version, for example for Hadoop Yarn support. + +We use the profile activation via properties (-D). + +##### Build hadoop v1 (default) +Build the default (currently hadoop 1.2.1) +```mvn clean package``` + +Build for a specific hadoop v1 version +```mvn -Dhadoop-one.version=1.1.2 clean package``` + +##### Build hadoop v2 (yarn) + +Build the yarn using the default version defined in the pom +```mvn -Dhadoop.profile=2 clean package``` + +Build for a specific hadoop v1 version +```mvn -Dhadoop.profile=2 -Dhadoop-two.version=2.1.0-beta clean package``` + +It is necessary to generate separate POMs if you want to deploy to your local repository (`mvn install`) or somewhere else. +We have a script in `/tools` that generates POMs for the profiles. Use +```mvn -f pom.hadoop2.xml clean install -DskipTests``` +to put a POM file with the right dependencies into your local repository. + + +### Run your first program + +We will run a simple “Word Count” example. +The easiest way to start Stratosphere on your local machine is so-called "local-mode": + + ./bin/start-local.sh + +Get some test data: + + wget -O hamlet.txt http://www.gutenberg.org/cache/epub/1787/pg1787.txt + +Start the job: + + ./bin/stratosphere run --jarfile ./examples/java-record-api-examples-0.4-SNAPSHOT-WordCount.jar --arguments 1 file://`pwd`/hamlet.txt file://`pwd`/wordcount-result.txt + +You will find a file called `wordcount-result.txt` in your current directory. + +#### Alternative Method: Use the webclient interface +(And get a nice execution plan overview for free!) + + ./bin/start-local.sh + ./bin/start-webclient.sh start + +Get some test data: + wget -O ~/hamlet.txt http://www.gutenberg.org/cache/epub/1787/pg1787.txt + +* Point your browser to to http://localhost:8080/launch.html. Upload the WordCount.jar using the upload form in the lower right box. The jar is located in `./examples/java-record-api-examples-0.4-SNAPSHOT-WordCount.jar`. +* Select the WordCount jar from the list of available jars (upper left). +* Enter the argument line in the lower-left box: `1 file:///hamlet.txt file:///wordcount-result.txt` + +* Hit “Run Job” + + +### Eclipse Setup and Debugging + +To contribute back to the project or develop your own jobs for Stratosphere, you need a working development environment. We use Eclipse and IntelliJ for development. Here we focus on Eclipse. + +If you want to work on the scala code you will need the following plugins: + +Eclipse 4.x: + * scala-ide: http://download.scala-ide.org/sdk/e38/scala210/stable/site + * m2eclipse-scala: http://alchim31.free.fr/m2e-scala/update-site + * build-helper-maven-plugin: https://repository.sonatype.org/content/repositories/forge-sites/m2e-extras/0.15.0/N/0.15.0.201206251206/ + +Eclipse 3.7: + * scala-ide: http://download.scala-ide.org/sdk/e37/scala210/stable/site + * m2eclipse-scala: http://alchim31.free.fr/m2e-scala/update-site + * build-helper-maven-plugin: https://repository.sonatype.org/content/repositories/forge-sites/m2e-extras/0.14.0/N/0.14.0.201109282148/ + +When you don't have the plugins your project will have build errors, you can just close the scala projects and ignore them. +o +Import the Stratosphere source code using Maven's Import tool: + * Select "Import" from the "File"-menu. + * Expand "Maven" node, select "Existing Maven Projects", and click "next" button + * Select the root directory by clicking on the "Browse" button and navigate to the top folder of the cloned Stratosphere Git repository. + * Ensure that all projects are selected and click the "Finish" button. + +Create a new Eclipse Project that requires Stratosphere in its Build Path! + +Use this skeleton as an entry point for your own Jobs: It allows you to hit the “Run as” -> “Java Application” feature of Eclipse: + +```java +public class Tutorial implements Program { + + @Override + public Plan getPlan(String... args) { + // your parallel program goes here + } + + public static void main(String[] args) throws Exception { + Tutorial tut = new Tutorial(); + Plan toExecute = tut.getPlan(args); + long runtime = LocalExecutor.execute(toExecute); + System.out.println("Runime: " + runtime); + System.exit(0); + } +} +``` + +## Support +Don’t hesitate to ask! + +[Open an issue](https://github.com/stratosphere/stratosphere/issues/new) on Github, if you found a bug or need any help. +We also have a [mailing list](https://groups.google.com/d/forum/stratosphere-dev) for both users and developers. + +Some of our colleagues are also in the #dima irc channel on freenode. + +## Documentation + +There is our (old) [official Wiki](https://stratosphere.eu/wiki/doku). +We are in the progress of migrating it to the [GitHub Wiki](https://github.com/stratosphere/stratosphere/wiki/_pages) + +Please make edits to the Wiki if you find inconsistencies or [Open an issue](https://github.com/stratosphere/stratosphere/issues/new) + + +## Fork and Contribute + +This is an active open-source project. We are always open to people who want to use the system or contribute to it. +Contact us if you are looking for implementation tasks that fit your skills. + +We have a list of [starter jobs](https://github.com/stratosphere/stratosphere/wiki/Starter-Jobs) in our wiki. + +We use the GitHub Pull Request system for the development of Stratosphere. Just open a request if you want to contribute. + +### What to contribute +* Bug reports +* Bug fixes +* Documentation +* Tools that ease the use and development of Stratosphere +* Well-written Stratosphere jobs + + +Let us know if you have created a system that uses Stratosphere, so that we can link to you. + +## About + +[Stratosphere](http://www.stratosphere.eu) is a DFG-founded research project. +We combine cutting edge research outcomes with a stable and usable codebase. +Decisions are not made behind closed doors. We discuss all changes and plans on our Mailinglists and on GitHub. + + + + + + + diff --git a/data/readmes/fluentd-v1191.md b/data/readmes/fluentd-v1191.md new file mode 100644 index 0000000..47d79f9 --- /dev/null +++ b/data/readmes/fluentd-v1191.md @@ -0,0 +1,79 @@ +# Fluentd - README (v1.19.1) + +**Repository**: https://github.com/fluent/fluentd +**Version**: v1.19.1 + +--- + +Fluentd: Open-Source Log Collector +=================================== + +[![Test](https://github.com/fluent/fluentd/actions/workflows/test.yml/badge.svg)](https://github.com/fluent/fluentd/actions/workflows/test.yml) +[![Test with Ruby head](https://github.com/fluent/fluentd/actions/workflows/test-ruby-head.yml/badge.svg)](https://github.com/fluent/fluentd/actions/workflows/test-ruby-head.yml) +[![CII Best Practices](https://bestpractices.coreinfrastructure.org/projects/1189/badge)](https://bestpractices.coreinfrastructure.org/projects/1189) +[![OpenSSF Scorecard](https://api.scorecard.dev/projects/github.com/fluent/fluentd/badge)](https://scorecard.dev/viewer/?uri=github.com/fluent/fluentd) + +[Fluentd](https://www.fluentd.org/) collects events from various data sources and writes them to files, RDBMS, NoSQL, IaaS, SaaS, Hadoop and so on. Fluentd helps you unify your logging infrastructure (Learn more about the [Unified Logging Layer](https://www.fluentd.org/blog/unified-logging-layer)). + +

+ +

+ +## Quick Start + + $ gem install fluentd + $ fluentd -s conf + $ fluentd -c conf/fluent.conf & + $ echo '{"json":"message"}' | fluent-cat debug.test + +## Development + +### Branch + +- master: For v1 development. +- v0.12: For v0.12. This is deprecated version. we already stopped supporting (See https://www.fluentd.org/blog/drop-schedule-announcement-in-2019). + +### Prerequisites + +- Ruby 3.2 or later +- git + +`git` should be in `PATH`. On Windows, you can use `Github for Windows` and `GitShell` for easy setup. + +### Install dependent gems + +Use bundler: + + $ gem install bundler + $ bundle install --path vendor/bundle + +### Run test + + $ bundle exec rake test + +You can run specified test via `TEST` environment variable: + + $ bundle exec rake test TEST=test/test_specified_path.rb + $ bundle exec rake test TEST=test/test_*.rb + +## More Information + +- Website: https://www.fluentd.org/ +- Documentation: https://docs.fluentd.org/ +- Project repository: https://github.com/fluent +- Discussion: https://github.com/fluent/fluentd/discussions +- Slack / Community: https://slack.fluentd.org +- Newsletters: https://www.fluentd.org/newsletter +- Author: [Sadayuki Furuhashi](https://github.com/frsyuki) +- Copyright: 2011-2021 Fluentd Authors +- License: Apache License, Version 2.0 + +## Security + +A third party security audit was performed by Cure53, you can see the full report [here](docs/SECURITY_AUDIT.pdf). + +See [SECURITY](SECURITY.md) to contact us about vulnerability. + +## Contributors: + +Patches contributed by [great developers](https://github.com/fluent/fluentd/contributors). diff --git a/data/readmes/fluid-v108.md b/data/readmes/fluid-v108.md new file mode 100644 index 0000000..18934e4 --- /dev/null +++ b/data/readmes/fluid-v108.md @@ -0,0 +1,182 @@ +# Fluid - README (v1.0.8) + +**Repository**: https://github.com/fluid-cloudnative/fluid +**Version**: v1.0.8 + +--- + +
+ +
+ + +[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0) +[![CircleCI](https://circleci.com/gh/fluid-cloudnative/fluid.svg?style=svg)](https://circleci.com/gh/fluid-cloudnative/fluid) +[![Build Status](https://travis-ci.org/fluid-cloudnative/fluid.svg?branch=master)](https://travis-ci.org/fluid-cloudnative/fluid) +[![codecov](https://codecov.io/gh/fluid-cloudnative/fluid/branch/master/graph/badge.svg)](https://codecov.io/gh/fluid-cloudnative/fluid) +[![Go Report Card](https://goreportcard.com/badge/github.com/fluid-cloudnative/fluid)](https://goreportcard.com/report/github.com/fluid-cloudnative/fluid) +[![Artifact HUB](https://img.shields.io/endpoint?url=https://artifacthub.io/badge/repository/fluid)](https://artifacthub.io/packages/helm/fluid/fluid) +[![OpenSSF Scorecard](https://api.securityscorecards.dev/projects/github.com/fluid-cloudnative/fluid/badge)](https://scorecard.dev/viewer/?uri=github.com/fluid-cloudnative/fluid) +[![CII Best Practices](https://bestpractices.coreinfrastructure.org/projects/4886/badge)](https://bestpractices.coreinfrastructure.org/projects/4886) +[![Leaderboard](https://img.shields.io/badge/Fluid-Check%20Your%20Contribution-orange)](https://opensource.alibaba.com/contribution_leaderboard/details?projectValue=fluid) + +|:date: Community Meeting| +|------------------| +|The Fluid project holds bi-weekly community online meeting. To join or watch previous meeting notes and recordings, please see [meeting schedule](https://github.com/fluid-cloudnative/community/wiki/Meeting-Schedule) and [meeting minutes](https://github.com/fluid-cloudnative/community/wiki/Meeting-Agenda-and-Notes). | + +## What is Fluid? +Fluid is an open source Kubernetes-native Distributed Dataset Orchestrator and Accelerator for data-intensive applications, such as big data and AI applications. It is hosted by the [Cloud Native Computing Foundation](https://cncf.io) (CNCF) as a sandbox project. + +For more information, please refer to our papers: + +1. **Rong Gu, Kai Zhang, Zhihao Xu, et al. [Fluid: Dataset Abstraction and Elastic Acceleration for Cloud-native Deep Learning Training Jobs](https://ieeexplore.ieee.org/abstract/document/9835158). IEEE ICDE, pp. 2183-2196, May, 2022. (Conference Version)** + +2. **Rong Gu, Zhihao Xu, Yang Che, et al. [High-level Data Abstraction and Elastic Data Caching for Data-intensive AI Applications on Cloud-native Platforms](https://ieeexplore.ieee.org/document/10249214). IEEE TPDS, pp. 2946-2964, Vol 34(11), 2023. (Journal Version)** + +# Fluid +English | [简体中文](./README-zh_CN.md) + +| ![notification](static/bell-outline-badge.svg) What is NEW! | +| ------------------------------------------------------------ | +|**Latest Release**: Oct. 31st, 2025. Fluid v1.0.8. Please check the [CHANGELOG](CHANGELOG.md) for details. | +|v1.0.7 Release: Sep. 21st, 2025. Fluid v1.0.7. Please check the [CHANGELOG](CHANGELOG.md) for details. | +|v1.0.6 Release: Jul. 12th, 2025. Fluid v1.0.6. Please check the [CHANGELOG](CHANGELOG.md) for details. | +| Apr. 27th, 2021. Fluid accepted by **CNCF**! Fluid project was [accepted as an official CNCF Sandbox Project](https://lists.cncf.io/g/cncf-toc/message/5822) by CNCF Technical Oversight Committee (TOC) with a majority vote after the review process. New beginning for Fluid! . | +
+ +
+ +## Features + +- __Dataset Abstraction__ + + Implements the unified abstraction for datasets from multiple storage sources, with observability features to help users evaluate the need for scaling the cache system. + +- __Scalable Cache Runtime__ + + Offers a unified access interface for data operations with different runtimes, enabling access to third-party storage systems. + +- __Automated Data Operations__ + + Provides various automated data operation modes to facilitate integration with automated operations systems. + +- __Elasticity and Scheduling__ + + Enhances data access performance by combining data caching technology with elastic scaling, portability, observability, and data affinity-scheduling capabilities. + +- __Runtime Platform Agnostic__ + + Supports a variety of environments and can run different storage clients based on the environment, including native, edge, Serverless Kubernetes clusters, and Kubernetes multi-cluster environments. + +## Key Concepts + +**Dataset**: A Dataset is a set of data logically related that can be used by computing engines, such as Spark for big data analytics and TensorFlow for AI applications. Intelligently leveraging data often creates core industry values. Managing Datasets may require features in different dimensions, such as security, version management and data acceleration. We hope to start with data acceleration to support the management of datasets. + +**Runtime**: The Runtime enforces dataset isolation/share, provides version management, and enables data acceleration by defining a set of interfaces to handle DataSets throughout their lifecycle, allowing for the implementation of management and acceleration functionalities behind these interfaces. + +## Prerequisites + +- Kubernetes version > 1.16, and support CSI +- Golang 1.18+ +- Helm 3 + +## Quick Start + +You can follow our [Get Started](docs/en/userguide/get_started.md) guide to quickly start a testing Kubernetes cluster. + +## Documentation + +You can see our documentation at [docs](docs/README.md) for more in-depth installation and instructions for production: + +- [English](docs/en/TOC.md) +- [简体中文](docs/zh/TOC.md) + +You can also visit [Fluid Homepage](https://fluid-cloudnative.github.io) to get relevant documents. + +## Quick Demo + +
+Demo 1: Accelerate Remote File Accessing with Fluid +
+
+
+
+ +
+Demo 2: Machine Learning with Fluid +
+
+
+
+ +
+Demo 3: Accelerate PVC with Fluid +
+
+
+
+ +
+Demo 4: Preload dataset with Fluid +
+
+
+
+ +
+Demo 5: On-the-fly dataset cache scaling +
+
+
+
+ +## Roadmap + +See [ROADMAP.md](ROADMAP.md) for the roadmap details. It may be updated from time to time. + +## Community + +Feel free to reach out if you have any questions. The maintainers of this project are reachable via: + +DingTalk Group: + +
+ +
+ +WeChat Group: + +
+ +
+ +WeChat Official Account: + +
+ +
+ +Slack: +- Join in the [`CNCF Slack`](https://slack.cncf.io/) and navigate to the ``#fluid`` channel for discussion. + + +## Contributing + +Contributions are highly welcomed and greatly appreciated. See [CONTRIBUTING.md](CONTRIBUTING.md) for details on submitting patches and the contribution workflow. + +## Adopters + +If you are interested in Fluid and would like to share your experiences with others, you are warmly welcome to add your information on [ADOPTERS.md](ADOPTERS.md) page. We will continuously discuss new requirements and feature design with you in advance. + + +## Open Source License + +Fluid is under the Apache 2.0 license. See the [LICENSE](./LICENSE) file for details. It is vendor-neutral. + +## Report Vulnerability +Security is a first priority thing for us at Fluid. If you come across a related issue, please send an email to fluid.opensource.project@gmail.com. Also see our [SECURITY.md](SECURITY.md) file for details. + + +## Code of Conduct + +Fluid adopts [CNCF Code of Conduct](https://github.com/cncf/foundation/blob/master/code-of-conduct.md). diff --git a/data/readmes/flux-v275.md b/data/readmes/flux-v275.md new file mode 100644 index 0000000..2afb060 --- /dev/null +++ b/data/readmes/flux-v275.md @@ -0,0 +1,110 @@ +# Flux - README (v2.7.5) + +**Repository**: https://github.com/fluxcd/flux2 +**Version**: v2.7.5 + +--- + +# Flux version 2 + +[![release](https://img.shields.io/github/release/fluxcd/flux2/all.svg)](https://github.com/fluxcd/flux2/releases) +[![CII Best Practices](https://bestpractices.coreinfrastructure.org/projects/4782/badge)](https://bestpractices.coreinfrastructure.org/projects/4782) +[![OpenSSF Scorecard](https://api.securityscorecards.dev/projects/github.com/fluxcd/flux2/badge)](https://scorecard.dev/viewer/?uri=github.com/fluxcd/flux2) +[![FOSSA Status](https://app.fossa.com/api/projects/custom%2B162%2Fgithub.com%2Ffluxcd%2Fflux2.svg?type=shield)](https://app.fossa.com/projects/custom%2B162%2Fgithub.com%2Ffluxcd%2Fflux2?ref=badge_shield) +[![Artifact HUB](https://img.shields.io/endpoint?url=https://artifacthub.io/badge/repository/flux2)](https://artifacthub.io/packages/helm/fluxcd-community/flux2) +[![SLSA 3](https://slsa.dev/images/gh-badge-level3.svg)](https://fluxcd.io/flux/security/slsa-assessment) + +Flux is a tool for keeping Kubernetes clusters in sync with sources of +configuration (like Git repositories and OCI artifacts), +and automating updates to configuration when there is new code to deploy. + +Flux version 2 ("v2") is built from the ground up to use Kubernetes' +API extension system, and to integrate with Prometheus and other core +components of the Kubernetes ecosystem. In version 2, Flux supports +multi-tenancy and support for syncing an arbitrary number of Git +repositories, among other long-requested features. + +Flux v2 is constructed with the [GitOps Toolkit](#gitops-toolkit), a +set of composable APIs and specialized tools for building Continuous +Delivery on top of Kubernetes. + +Flux is a Cloud Native Computing Foundation ([CNCF](https://www.cncf.io/)) graduated project, used in +production by various [organisations](https://fluxcd.io/adopters) and [cloud providers](https://fluxcd.io/ecosystem). + +## Quickstart and documentation + +To get started check out this [guide](https://fluxcd.io/flux/get-started/) +on how to bootstrap Flux on Kubernetes and deploy a sample application in a GitOps manner. + +For more comprehensive documentation, see the following guides: +- [Ways of structuring your repositories](https://fluxcd.io/flux/guides/repository-structure/) +- [Manage Helm Releases](https://fluxcd.io/flux/guides/helmreleases/) +- [Automate image updates to Git](https://fluxcd.io/flux/guides/image-update/) +- [Manage Kubernetes secrets with Flux and SOPS](https://fluxcd.io/flux/guides/mozilla-sops/) + +If you need help, please refer to our **[Support page](https://fluxcd.io/support/)**. + +## GitOps Toolkit + +The GitOps Toolkit is the set of APIs and controllers that make up the +runtime for Flux v2. The APIs comprise Kubernetes custom resources, +which can be created and updated by a cluster user, or by other +automation tooling. + +![overview](https://raw.githubusercontent.com/fluxcd/flux2/main/docs/diagrams/fluxcd-controllers.png) + +You can use the toolkit to extend Flux, or to build your own systems +for continuous delivery -- see [the developer +guides](https://fluxcd.io/flux/gitops-toolkit/source-watcher/). + +### Components + +- [Source Controllers](https://fluxcd.io/flux/components/source/) + - [GitRepository CRD](https://fluxcd.io/flux/components/source/gitrepositories/) + - [OCIRepository CRD](https://fluxcd.io/flux/components/source/ocirepositories/) + - [HelmRepository CRD](https://fluxcd.io/flux/components/source/helmrepositories/) + - [HelmChart CRD](https://fluxcd.io/flux/components/source/helmcharts/) + - [Bucket CRD](https://fluxcd.io/flux/components/source/buckets/) + - [ExternalArtifact CRD](https://fluxcd.io/flux/components/source/externalartifacts/) + - [ArtifactGenerator CRD](https://fluxcd.io/flux/components/source/artifactgenerators/) +- [Kustomize Controller](https://fluxcd.io/flux/components/kustomize/) + - [Kustomization CRD](https://fluxcd.io/flux/components/kustomize/kustomizations/) +- [Helm Controller](https://fluxcd.io/flux/components/helm/) + - [HelmRelease CRD](https://fluxcd.io/flux/components/helm/helmreleases/) +- [Notification Controller](https://fluxcd.io/flux/components/notification/) + - [Provider CRD](https://fluxcd.io/flux/components/notification/providers/) + - [Alert CRD](https://fluxcd.io/flux/components/notification/alerts/) + - [Receiver CRD](https://fluxcd.io/flux/components/notification/receivers/) +- [Image Automation Controllers](https://fluxcd.io/flux/components/image/) + - [ImageRepository CRD](https://fluxcd.io/flux/components/image/imagerepositories/) + - [ImagePolicy CRD](https://fluxcd.io/flux/components/image/imagepolicies/) + - [ImageUpdateAutomation CRD](https://fluxcd.io/flux/components/image/imageupdateautomations/) + +## Community + +Need help or want to contribute? Please see the links below. The Flux project is always looking for +new contributors and there are a multitude of ways to get involved. + +- Getting Started? + - Look at our [Get Started guide](https://fluxcd.io/flux/get-started/) and give us feedback +- Need help? + - First: Ask questions on our [GH Discussions page](https://github.com/fluxcd/flux2/discussions). + - Second: Talk to us in the #flux channel on [CNCF Slack](https://slack.cncf.io/). + - Please follow our [Support Guidelines](https://fluxcd.io/support/) + (in short: be nice, be respectful of volunteers' time, understand that maintainers and + contributors cannot respond to all DMs, and keep discussions in the public #flux channel as much as possible). +- Have feature proposals or want to contribute? + - Propose features on our [GitHub Discussions page](https://github.com/fluxcd/flux2/discussions). + - Join our upcoming dev meetings ([meeting access and agenda](https://docs.google.com/document/d/1l_M0om0qUEN_NNiGgpqJ2tvsF2iioHkaARDeh6b70B0/view)). + - [Join the flux-dev mailing list](https://lists.cncf.io/g/cncf-flux-dev). + - Check out [how to contribute](CONTRIBUTING.md) to the project. + - Check out the [project roadmap](https://fluxcd.io/roadmap/). + +### Events + +Check out our **[events calendar](https://fluxcd.io/#calendar)**, +both with upcoming talks, events and meetings you can attend. +Or view the **[resources section](https://fluxcd.io/resources)** +with past events videos you can watch. + +We look forward to seeing you with us! diff --git a/data/readmes/fonio-v11.md b/data/readmes/fonio-v11.md new file mode 100644 index 0000000..ad48f3b --- /dev/null +++ b/data/readmes/fonio-v11.md @@ -0,0 +1,120 @@ +# Fonio - README (v1.1) + +**Repository**: https://github.com/foniod/foniod +**Version**: v1.1 + +--- + +

+ +

+

ingraind

+

+ + Data-first Monitoring + +

+

+ CircleCI + CircleCI +

+ +ingraind is a security monitoring agent built around [RedBPF](https://github.com/redsift/redbpf) +for complex containerized environments and endpoints. The ingraind agent uses eBPF +probes to provide safe and performant instrumentation for any Linux-based environment. + +InGrain provides oversight of assets and risks: + * Your customer data - an employee copying your customer database to their + personal cloud store. + * Your infrastructure - an attacker executing a zero day attack to gain access + to your web servers. + * Your resources - malware using your users machines compute resources to mine + cryptocurrency. + +This is what `curl https://redsift.com` looks like if seen through ingraind: + +![ingrain listening to DNS & TLS](./screencast.gif) + +## Requirements + + * LLVM/Clang version 9 or newer + * Rust toolchain [rustup.rs](https://rustup.rs) + * Linux 4.15 kernel or newer including kernel headers + * capnproto + +## Compile + +The usual Rust compilation ritual will produce a binary in `target/release`: + + $ cargo build --release + +or for a kernel version other than the running one: + + $ export KERNEL_VERSION=1.2.3 + $ cargo build --release + +or with a custom kernel tree path (needs to include generated files): + + $ export KERNEL_SOURCE=/build/linux + $ cargo build --release + +We keep `ingraind` compatible with the `musl` target on `x86_64`, +which you can build like so: + + $ cargo build --release --target=x86_64-unknown-linux-musl + +## Build a docker image + +To build a Docker image, use the instructions above to build an +ingrain binary for the desired kernel. By default, the Dockerfile will +assume you've built `ingraind` for the `musl` target. + + $ docker build . + +You can specify an arbitrary `ingraind` binary by setting the +`BINARY_PATH` environment variable: + + $ docker build --build-arg BINARY_PATH=./target/x86_64-unknown-linux-musl/release/ingraind . + +## Configuration & Run + +To get an idea about the configuration [file +structure](https://github.com/redsift/ingraind/wiki/Configuration), consult the +wiki or take a look at the [example config](./config.toml.example) for a full reference. + +To start `ingraind`, run: + + $ ./target/release/ingraind config.toml + +Depending on the backends used in the config file, some secrets may need to be +passed as environment variables. These are documented in +[config.toml.example](./config.toml.example), which should be a good starting point, +and a sane default to get `ingraind` running, printing everything to the standard output. + +## Repo structure + +The `bpf` directory contains the BPF programs written in C. These are compiled +by `build.rs`, and embedded in the final binary, and will be managed by the +grains. + +The `ingraind-probes` directory contains the BPF programs written in Rust. + +# Anything else? + +For more information, take a look at the [Wiki](https://github.com/redsift/ingraind/wiki) + +# Contribution + +This project is for everyone. We ask that our users and contributors +take a few minutes to review our [code of conduct](https://github.com/ingraind/project/blob/main/CODE_OF_CONDUCT.md). + +Unless you explicitly state otherwise, any contribution intentionally submitted +for inclusion in the work by you, as defined in the GPL-3.0 license, shall +be licensed as GPL-3.0, without any additional terms or conditions. + +For further advice on getting started, please consult the +[Contributor's +Guide](https://github.com/ingraind/project/blob/main/CONTRIBUTING.md). Please +note that all contributions MUST contain a [Developer Certificate of +Origin](https://github.com/ingraind/project/blob/developer-certificate-of-origin/CONTRIBUTING.md#developer-certificate-of-origin) +sign-off line. diff --git a/data/readmes/foundry-nightly-97fba0a51e335a174442b19d92b64df9d2ab72ab.md b/data/readmes/foundry-nightly-97fba0a51e335a174442b19d92b64df9d2ab72ab.md new file mode 100644 index 0000000..3595ad8 --- /dev/null +++ b/data/readmes/foundry-nightly-97fba0a51e335a174442b19d92b64df9d2ab72ab.md @@ -0,0 +1,370 @@ +# Foundry - README (nightly-97fba0a51e335a174442b19d92b64df9d2ab72ab) + +**Repository**: https://github.com/foundry-rs/foundry +**Version**: nightly-97fba0a51e335a174442b19d92b64df9d2ab72ab + +--- + +
+ Foundry banner + +  + +[![Github Actions][gha-badge]][gha-url] [![Telegram Chat][tg-badge]][tg-url] [![Telegram Support][tg-support-badge]][tg-support-url] +![Foundry](https://img.shields.io/badge/Foundry-grey?style=flat&logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAElElEQVR4nH1VUUhUaRg9984YdzBpkqR0Z210rIESIXSabEbcHgydrpNRRj00kWaztj0U1MOW0MOIbD300IvLMqBpMTGYxdoqyoRNDUESBDWwUuPugCSSsTM7u0Oj1/+efdiMcmnP2/fDd77D4f/OB6xCa2urQZbllVICYGtqanK1tLS4AdgAyAAgyzJaW1sNq/ulT4twOGw4fPiwAGDp7Ow8VV1d7bVarRWxWCw/k8mgsbExm0wmZ+Lx+M/Xr1//CcAsSVmSJH01McLhsAEAnE5nx+Tk5B/xeJxOp5N9fX2sqqqixWLhnTt36HA4GIvFGI1GU3V1df5Pe/9D1t7eHkgkEuzo6GBPT49WWloq7Ha7fujQITocDu7atUs3m83i6tWr2okTJ/jixQuePn265zPScDhskGUZe/fubXv8+DFv3rypbdiwQaxbt46RSIT79u3j0NAQb926RVVVOT4+TqvVyvz8fD0YDC5NTk6ysbHxlCRJ/5KSlAAURyKRTFNTkwAg7t69S5/Px76+Pq7GyMgI9+/fz9HRUQIQO3bsEKOjo38DsJCUJADw+/0BVVW7otHo8ps3b4yvXr3CxMQETCYTTCYTNE0DAOTl5SGXy0FRFOzZswdmsxkVFRXLNTU1xmg0+kNvb+/3AGAcGBiI7969Wwcg6urq+OTJE967d49btmzh9PT0R3WJRIKBQIDBYJBTU1NsaGggAGGz2fTe3t5fAeQZAWwuLi4uP3nypOT1emEwGFBeXo7a2losLCygoaEB/f39MJlMCIVCkCQJBw8ehNVqhcfjQXNzs1RSUiKtX7++DEAZqqqq3KFQiABYUFDAM2fOkCQXFxdJkvfv32dhYSG9Xi+vXbvG2dnZj4oDgQCLioqoKAqHhobodDq/Mc7NzUklJSUIBoOw2WzYtm0blpeXsWbNGkxMTODp06doa2vD4OAgNm7cCIvFApLQdR3nzp3Dzp078fLlSxQVFeHdu3cAgIpHjx69/zBUX5k+MDBAt9vNY8eOsbu7m6lUigcOHKDL5WImkyHJz9TGYrEcALsMIPn69esZTdMIgM+ePUNXVxdu376NsrIyuN1uXLp0CWazGcPDw3C5XFBVFWfPnkVNTQ18Pp+ezWY5MzPzO4DfAABHjhzpJslUKqVdvHiR4+PjbG9vZy6XI0kuLS0xmUxSCEGS9Pv9LC0tpdFoZGVlpSaEoM/nuwIAKx/7q5GRkb9CoZBQVVWcP3+ez58/J0mm02kODg7ywoULjMViTKfTtNvtXLt2LTdt2qTncrnlsbGxLICvSUqfrl5HJBLh1NTUkhBCJ8mFhQX29/dTVVUWFBTwwYMH1HWdly9fpqIoeiKRWJqfn2d1dXWnLMuf7zMAHD16tGd+fn7FZy2bzYrKykodAAFQVVV9cXFRkNTevn3Lubk5trS0XPnfxHE4HN8ODw+nV/yanp6mx+Ohx+P5aIMQgmNjY3/W1tZ+t5rsSwG7+fjx4/76+vrm7du32woLC00AkE6n38fj8ZmHDx/+cuPGjR8BJL8YsCtYdQIMALYqilKvKEo9APuHty+egH8A3GfFDJXmxmMAAAAASUVORK5CYII%3D&link=https%3A%2F%2Fbook.getfoundry.sh%2F) + +[gha-badge]: https://img.shields.io/github/actions/workflow/status/foundry-rs/foundry/test.yml?branch=master +[gha-url]: https://github.com/foundry-rs/foundry/actions +[tg-badge]: https://img.shields.io/endpoint?color=neon&logo=telegram&label=chat&style=flat-square&url=https%3A%2F%2Ftg.sumanjay.workers.dev%2Ffoundry_rs +[tg-url]: https://t.me/foundry_rs +[tg-support-badge]: https://img.shields.io/endpoint?color=neon&logo=telegram&label=support&style=flat-square&url=https%3A%2F%2Ftg.sumanjay.workers.dev%2Ffoundry_support +[tg-support-url]: https://t.me/foundry_support + +**[Install](https://getfoundry.sh/getting-started/installation)** +| [Docs][foundry-docs] +| [Developer Guidelines](./docs/dev/README.md) +| [Contributing](./CONTRIBUTING.md) +| [Crate Docs](https://foundry-rs.github.io/foundry) + +
+ +--- + +### Foundry is a blazing fast, portable and modular toolkit for Ethereum application development written in Rust. + +Foundry consists of: + +- [**Forge**](#forge): Build, test, fuzz, debug and deploy [Solidity][solidity] contracts, like Hardhat, Brownie, Ape. +- [**Cast**](#cast): A Swiss Army knife for interacting with EVM smart contracts, sending transactions and getting chain data. +- [**Anvil**](#anvil): Fast local Ethereum development node, akin to Hardhat Network, Tenderly. +- [**Chisel**](#chisel): Fast, utilitarian, and verbose Solidity REPL. + +**Need help getting started with Foundry? Read the [📖 Foundry Docs][foundry-docs]!** + +![Demo](.github/assets/demo.gif) + +## Features + +- **High-Performance Compilation** + + - **Fast and Flexible**: Automatically detects and installs the required Solidity compiler version. + - **Solidity and Vyper Support**: Fully supports both Solidity and Vyper out-of-the-box. + - **Incremental Compilation**: Re-compiles only changed files, saving time. + - **Parallelized Pipeline**: Leverages multi-core systems for ultra-fast builds. + - **Broad Compatibility**: Supports non-standard directory structures, including [Hardhat repos](https://twitter.com/gakonst/status/1461289225337421829). + +- **Advanced Testing** + + - **No Context Switching**: Write tests directly in Solidity. + - **Fuzz Testing**: Quickly identify edge cases with input shrinking and counter-example generation. + - **Invariant Testing**: Ensure complex system properties hold across a wide range of inputs. + - **Debugging Made Easy**: Use [forge-std](https://github.com/foundry-rs/forge-std)'s `console.sol` for flexible debug logging. + - **Interactive Debugger**: Step through your Solidity code with Foundry's interactive debugger, making it easy to pinpoint issues. + +- **Powerful Runtime Features** + + - **RPC Forking**: Fast and efficient remote RPC forking backed by [Alloy][alloy]. + - **Lightweight & Portable**: No dependency on Nix or other package managers for installation. + +- **Streamlined CI/CD** + + - **Optimized CI**: Accelerate builds, run tests and execute scripts using [Foundry's GitHub action][foundry-gha]. + +## Installation + +Getting started is very easy: + +Install `foundryup`: + +``` +curl -L https://foundry.paradigm.xyz | bash +``` + +Next, run `foundryup`. + +It will automatically install the latest version of the precompiled binaries: [`forge`](#forge), [`cast`](#cast), [`anvil`](#anvil), and [`chisel`](#chisel). + +``` +foundryup +``` + +**Done!** + +For additional details see the [installation guide](https://getfoundry.sh/getting-started/installation) in the [Foundry Docs][foundry-docs]. + +If you're experiencing any issues while installing, check out [Getting Help](#getting-help) and the [FAQ](https://getfoundry.sh/faq). + +## How Fast? + +Forge is quite fast at both compiling (leveraging `solc` with [foundry-compilers]) and testing. + +See the benchmarks below. Older benchmarks against [DappTools][dapptools] can be found in the [v0.2.0 announcement post][benchmark-post] and in the [Convex Shutdown Simulation][convex] repository. + +### Testing Benchmarks + +| Project | Type | [Forge 1.0][foundry-1.0] | [Forge 0.2][foundry-0.2] | DappTools | Speedup | +| --------------------------------------------- | -------------------- | ------------------------ | ------------------------ | --------- | -------------- | +| [vectorized/solady][solady] | Unit / Fuzz | 0.9s | 2.3s | - | 2.6x | +| [morpho-org/morpho-blue][morpho-blue] | Invariant | 0.7s | 1m43s | - | 147.1x | +| [morpho-org/morpho-blue-oracles][morpho-blue] | Integration (Cold) | 6.1s | 6.3s | - | 1.04x | +| [morpho-org/morpho-blue-oracles][morpho-blue] | Integration (Cached) | 0.6s | 0.9s | - | 1.50x | +| [transmissions11/solmate][solmate] | Unit / Fuzz | 2.7s | 2.8s | 6m34s | 1.03x / 140.0x | +| [reflexer-labs/geb][geb] | Unit / Fuzz | 0.2s | 0.4s | 23s | 2.0x / 57.5x | + +_In the above benchmarks, compilation was always skipped_ + +**Takeaway: Forge dramatically outperforms the competition, delivering blazing-fast execution speeds while continuously expanding its robust feature set.** + +### Compilation Benchmarks + +
+ + + + + + + + + + +  + +
+ +**Takeaway: Forge compilation is consistently faster than Hardhat by a factor of `2.1x` to `5.2x`, depending on the amount of caching involved.** + +## Forge + +Forge helps you build, test, fuzz, debug and deploy Solidity contracts. + +The best way to understand Forge is to simply try it (in less than 30 seconds!). + +First, let's initialize a new `counter` example repository: + +```sh +forge init counter +``` + +Next `cd` into `counter` and build : + +```sh +forge build +``` + +```console +[⠊] Compiling... +[⠔] Compiling 27 files with Solc 0.8.28 +[⠒] Solc 0.8.28 finished in 452.13ms +Compiler run successful! +``` + +Let's [test](https://getfoundry.sh/forge/tests#tests) our contracts: + +```sh +forge test +``` + +```console +[⠊] Compiling... +No files changed, compilation skipped + +Ran 2 tests for test/Counter.t.sol:CounterTest +[PASS] testFuzz_SetNumber(uint256) (runs: 256, μ: 31121, ~: 31277) +[PASS] test_Increment() (gas: 31293) +Suite result: ok. 2 passed; 0 failed; 0 skipped; finished in 5.35ms (4.86ms CPU time) + +Ran 1 test suite in 5.91ms (5.35ms CPU time): 2 tests passed, 0 failed, 0 skipped (2 total tests) +``` + +Finally, let's run our deployment script: + +```sh +forge script script/Counter.s.sol +``` + +```console +[⠊] Compiling... +No files changed, compilation skipped +Script ran successfully. +Gas used: 109037 + +If you wish to simulate on-chain transactions pass a RPC URL. +``` + +Run `forge --help` to explore the full list of available subcommands and their usage. + +More documentation can be found in the [forge](https://getfoundry.sh/forge/overview) section of the Foundry Docs. + +## Cast + +Cast is a Swiss Army knife for interacting with Ethereum applications from the command line. + +Here are a few examples of what you can do: + +**Check the latest block on Ethereum Mainnet**: + +```sh +cast block-number --rpc-url https://eth.merkle.io +``` + +**Check the Ether balance of `vitalik.eth`** + +```sh +cast balance vitalik.eth --ether --rpc-url https://eth.merkle.io +``` + +**Replay and trace a transaction** + +```sh +cast run 0x9c32042f5e997e27e67f82583839548eb19dc78c4769ad6218657c17f2a5ed31 --rpc-url https://eth.merkle.io +``` + +Optionally, pass `--etherscan-api-key ` to decode transaction traces using verified source maps, providing more detailed and human-readable information. + +--- + +Run `cast --help` to explore the full list of available subcommands and their usage. + +More documentation can be found in the [cast](https://getfoundry.sh/cast/overview) section of the Foundry Docs. + +## Anvil + +Anvil is a fast local Ethereum development node. + +Let's fork Ethereum mainnet at the latest block: + +```sh +anvil --fork-url https://eth.merkle.io +``` + +You can use those same `cast` subcommands against your `anvil` instance: + +```sh +cast block-number +``` + +--- + +Run `anvil --help` to explore the full list of available features and their usage. + +More documentation can be found in the [anvil](https://getfoundry.sh/anvil/overview) section of the Foundry Docs. + +## Chisel + +Chisel is a fast, utilitarian, and verbose Solidity REPL. + +To use Chisel, simply type `chisel`. + +```sh +chisel +``` + +From here, start writing Solidity code! Chisel will offer verbose feedback on each input. + +Create a variable `a` and query it: + +```console +➜ uint256 a = 123; +➜ a +Type: uint256 +├ Hex: 0x7b +├ Hex (full word): 0x000000000000000000000000000000000000000000000000000000000000007b +└ Decimal: 123 +``` + +Finally, run `!source` to see `a` was applied: + +```solidity +// SPDX-License-Identifier: UNLICENSED +pragma solidity ^0.8.28; + +import {Vm} from "forge-std/Vm.sol"; + +contract REPL { + Vm internal constant vm = Vm(address(uint160(uint256(keccak256("hevm cheat code"))))); + + /// @notice REPL contract entry point + function run() public { + uint256 a = 123; + } +} +``` + +--- + +Run `chisel --help` to explore the full list of available features and their usage. + +More documentation can be found in the [chisel](https://getfoundry.sh/chisel/overview) section of the Foundry Docs. + +## Configuration + +Foundry is highly configurable, allowing you to tailor it to your needs. Configuration is managed via a file called [`foundry.toml`](./crates/config) located in the root of your project or any parent directory. For a full list of configuration options, refer to the [config package documentation](./crates/config/README.md#all-options). + +**Profiles and Namespaces** + +- Configuration can be organized into **profiles**, which are arbitrarily namespaced for flexibility. +- The default profile is named `default`. Learn more in the [Default Profile section](./crates/config/README.md#default-profile). +- To select a different profile, set the `FOUNDRY_PROFILE` environment variable. +- Override specific settings using environment variables prefixed with `FOUNDRY_` (e.g., `FOUNDRY_SRC`). + +--- + +You can find additional [setup and configurations guides](https://getfoundry.sh/config/overview) in the [Foundry Docs][foundry-docs] and in the [config crate](./crates/config/README.md): + +- [Configuring with `foundry.toml`](https://getfoundry.sh/config/overview) +- [Setting up VSCode][vscode-setup] +- [Shell autocompletions][shell-setup] + +## Contributing + +See our [contributing guidelines](./CONTRIBUTING.md). + +## Getting Help + +First, see if the answer to your question can be found in the [Foundry Docs][foundry-docs], or in the relevant crate. + +If the answer is not there: + +- Join the [support Telegram][tg-support-url] to get help, or +- Open a [discussion](https://github.com/foundry-rs/foundry/discussions/new) with your question, or +- Open an issue with [the bug](https://github.com/foundry-rs/foundry/issues/new) + +If you want to contribute, or follow along with contributor discussion, you can use our [main telegram](https://t.me/foundry_rs) to chat with us about the development of Foundry! + +## License + +Licensed under either of [Apache License](./LICENSE-APACHE), Version +2.0 or [MIT License](./LICENSE-MIT) at your option. + +Unless you explicitly state otherwise, any contribution intentionally submitted +for inclusion in these crates by you, as defined in the Apache-2.0 license, +shall be dual licensed as above, without any additional terms or conditions. + +## Acknowledgements + +- Foundry is a clean-room rewrite of the testing framework [DappTools][dapptools]. None of this would have been possible without the DappHub team's work over the years. +- [Matthias Seitz](https://twitter.com/mattsse_): Created [ethers-solc] (now [foundry-compilers]) which is the backbone of our compilation pipeline, as well as countless contributions to ethers, in particular the `abigen` macros. +- [Rohit Narurkar](https://twitter.com/rohitnarurkar): Created the Rust Solidity version manager [svm-rs](https://github.com/roynalnaruto/svm-rs) which we use to auto-detect and manage multiple Solidity versions. +- [Brock Elmore](https://twitter.com/brockjelmore): For extending the VM's cheatcodes and implementing [structured call tracing](https://github.com/foundry-rs/foundry/pull/192), a critical feature for debugging smart contract calls. +- Thank you to [Depot](https://depot.dev) for sponsoring us with their fast GitHub runners and sccache, which we use in CI to reduce build and test times significantly. +- All the other [contributors](https://github.com/foundry-rs/foundry/graphs/contributors) to the [ethers-rs](https://github.com/gakonst/ethers-rs), [alloy][alloy] & [foundry](https://github.com/foundry-rs/foundry) repositories and chatrooms. + +[solidity]: https://soliditylang.org/ +[foundry-docs]: https://getfoundry.sh +[foundry-gha]: https://github.com/foundry-rs/foundry-toolchain +[foundry-compilers]: https://github.com/foundry-rs/compilers +[ethers-solc]: https://github.com/gakonst/ethers-rs/tree/master/ethers-solc/ +[solady]: https://github.com/Vectorized/solady +[openzeppelin]: https://github.com/OpenZeppelin/openzeppelin-contracts/tree/release-v5.1 +[morpho-blue]: https://github.com/morpho-org/morpho-blue +[solmate]: https://github.com/transmissions11/solmate/ +[geb]: https://github.com/reflexer-labs/geb +[benchmark-post]: https://www.paradigm.xyz/2022/03/foundry-02#blazing-fast-compilation--testing +[convex]: https://github.com/mds1/convex-shutdown-simulation +[vscode-setup]: https://getfoundry.sh/config/vscode.html +[shell-setup]: https://getfoundry.sh/config/shell-autocompletion.html +[foundry-0.2]: https://github.com/foundry-rs/foundry/releases/tag/nightly-5b7e4cb3c882b28f3c32ba580de27ce7381f415a +[foundry-1.0]: https://github.com/foundry-rs/foundry/releases/tag/nightly-59f354c179f4e7f6d7292acb3d068815c79286d1 +[dapptools]: https://github.com/dapphub/dapptools +[alloy]: https://github.com/alloy-rs/alloy diff --git a/data/readmes/ganache-v790.md b/data/readmes/ganache-v790.md new file mode 100644 index 0000000..c92d505 --- /dev/null +++ b/data/readmes/ganache-v790.md @@ -0,0 +1,8 @@ +# Ganache - README (v7.9.0) + +**Repository**: https://github.com/trufflesuite/ganache +**Version**: v7.9.0 + +--- + +./packages/ganache/README.md \ No newline at end of file diff --git a/data/readmes/geth-go-ethereum-v1167.md b/data/readmes/geth-go-ethereum-v1167.md new file mode 100644 index 0000000..17ac2d3 --- /dev/null +++ b/data/readmes/geth-go-ethereum-v1167.md @@ -0,0 +1,263 @@ +# Geth (go-ethereum) - README (v1.16.7) + +**Repository**: https://github.com/ethereum/go-ethereum +**Version**: v1.16.7 + +--- + +## Go Ethereum + +Golang execution layer implementation of the Ethereum protocol. + +[![API Reference]( +https://pkg.go.dev/badge/github.com/ethereum/go-ethereum +)](https://pkg.go.dev/github.com/ethereum/go-ethereum?tab=doc) +[![Go Report Card](https://goreportcard.com/badge/github.com/ethereum/go-ethereum)](https://goreportcard.com/report/github.com/ethereum/go-ethereum) +[![Travis](https://app.travis-ci.com/ethereum/go-ethereum.svg?branch=master)](https://app.travis-ci.com/github/ethereum/go-ethereum) +[![Discord](https://img.shields.io/badge/discord-join%20chat-blue.svg)](https://discord.gg/nthXNEv) +[![Twitter](https://img.shields.io/twitter/follow/go_ethereum)](https://x.com/go_ethereum) + +Automated builds are available for stable releases and the unstable master branch. Binary +archives are published at https://geth.ethereum.org/downloads/. + +## Building the source + +For prerequisites and detailed build instructions please read the [Installation Instructions](https://geth.ethereum.org/docs/getting-started/installing-geth). + +Building `geth` requires both a Go (version 1.23 or later) and a C compiler. You can install +them using your favourite package manager. Once the dependencies are installed, run + +```shell +make geth +``` + +or, to build the full suite of utilities: + +```shell +make all +``` + +## Executables + +The go-ethereum project comes with several wrappers/executables found in the `cmd` +directory. + +| Command | Description | +| :--------: | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| **`geth`** | Our main Ethereum CLI client. It is the entry point into the Ethereum network (main-, test- or private net), capable of running as a full node (default), archive node (retaining all historical state) or a light node (retrieving data live). It can be used by other processes as a gateway into the Ethereum network via JSON RPC endpoints exposed on top of HTTP, WebSocket and/or IPC transports. `geth --help` and the [CLI page](https://geth.ethereum.org/docs/fundamentals/command-line-options) for command line options. | +| `clef` | Stand-alone signing tool, which can be used as a backend signer for `geth`. | +| `devp2p` | Utilities to interact with nodes on the networking layer, without running a full blockchain. | +| `abigen` | Source code generator to convert Ethereum contract definitions into easy-to-use, compile-time type-safe Go packages. It operates on plain [Ethereum contract ABIs](https://docs.soliditylang.org/en/develop/abi-spec.html) with expanded functionality if the contract bytecode is also available. However, it also accepts Solidity source files, making development much more streamlined. Please see our [Native DApps](https://geth.ethereum.org/docs/developers/dapp-developer/native-bindings) page for details. | +| `evm` | Developer utility version of the EVM (Ethereum Virtual Machine) that is capable of running bytecode snippets within a configurable environment and execution mode. Its purpose is to allow isolated, fine-grained debugging of EVM opcodes (e.g. `evm --code 60ff60ff --debug run`). | +| `rlpdump` | Developer utility tool to convert binary RLP ([Recursive Length Prefix](https://ethereum.org/en/developers/docs/data-structures-and-encoding/rlp)) dumps (data encoding used by the Ethereum protocol both network as well as consensus wise) to user-friendlier hierarchical representation (e.g. `rlpdump --hex CE0183FFFFFFC4C304050583616263`). | + +## Running `geth` + +Going through all the possible command line flags is out of scope here (please consult our +[CLI Wiki page](https://geth.ethereum.org/docs/fundamentals/command-line-options)), +but we've enumerated a few common parameter combos to get you up to speed quickly +on how you can run your own `geth` instance. + +### Hardware Requirements + +Minimum: + +* CPU with 4+ cores +* 8GB RAM +* 1TB free storage space to sync the Mainnet +* 8 MBit/sec download Internet service + +Recommended: + +* Fast CPU with 8+ cores +* 16GB+ RAM +* High-performance SSD with at least 1TB of free space +* 25+ MBit/sec download Internet service + +### Full node on the main Ethereum network + +By far the most common scenario is people wanting to simply interact with the Ethereum +network: create accounts; transfer funds; deploy and interact with contracts. For this +particular use case, the user doesn't care about years-old historical data, so we can +sync quickly to the current state of the network. To do so: + +```shell +$ geth console +``` + +This command will: + * Start `geth` in snap sync mode (default, can be changed with the `--syncmode` flag), + causing it to download more data in exchange for avoiding processing the entire history + of the Ethereum network, which is very CPU intensive. + * Start the built-in interactive [JavaScript console](https://geth.ethereum.org/docs/interacting-with-geth/javascript-console), + (via the trailing `console` subcommand) through which you can interact using [`web3` methods](https://github.com/ChainSafe/web3.js/blob/0.20.7/DOCUMENTATION.md) + (note: the `web3` version bundled within `geth` is very old, and not up to date with official docs), + as well as `geth`'s own [management APIs](https://geth.ethereum.org/docs/interacting-with-geth/rpc). + This tool is optional and if you leave it out you can always attach it to an already running + `geth` instance with `geth attach`. + +### A Full node on the Holesky test network + +Transitioning towards developers, if you'd like to play around with creating Ethereum +contracts, you almost certainly would like to do that without any real money involved until +you get the hang of the entire system. In other words, instead of attaching to the main +network, you want to join the **test** network with your node, which is fully equivalent to +the main network, but with play-Ether only. + +```shell +$ geth --holesky console +``` + +The `console` subcommand has the same meaning as above and is equally +useful on the testnet too. + +Specifying the `--holesky` flag, however, will reconfigure your `geth` instance a bit: + + * Instead of connecting to the main Ethereum network, the client will connect to the Holesky + test network, which uses different P2P bootnodes, different network IDs and genesis + states. + * Instead of using the default data directory (`~/.ethereum` on Linux for example), `geth` + will nest itself one level deeper into a `holesky` subfolder (`~/.ethereum/holesky` on + Linux). Note, on OSX and Linux this also means that attaching to a running testnet node + requires the use of a custom endpoint since `geth attach` will try to attach to a + production node endpoint by default, e.g., + `geth attach /holesky/geth.ipc`. Windows users are not affected by + this. + +*Note: Although some internal protective measures prevent transactions from +crossing over between the main network and test network, you should always +use separate accounts for play and real money. Unless you manually move +accounts, `geth` will by default correctly separate the two networks and will not make any +accounts available between them.* + +### Configuration + +As an alternative to passing the numerous flags to the `geth` binary, you can also pass a +configuration file via: + +```shell +$ geth --config /path/to/your_config.toml +``` + +To get an idea of how the file should look like you can use the `dumpconfig` subcommand to +export your existing configuration: + +```shell +$ geth --your-favourite-flags dumpconfig +``` + +#### Docker quick start + +One of the quickest ways to get Ethereum up and running on your machine is by using +Docker: + +```shell +docker run -d --name ethereum-node -v /Users/alice/ethereum:/root \ + -p 8545:8545 -p 30303:30303 \ + ethereum/client-go +``` + +This will start `geth` in snap-sync mode with a DB memory allowance of 1GB, as the +above command does. It will also create a persistent volume in your home directory for +saving your blockchain as well as map the default ports. There is also an `alpine` tag +available for a slim version of the image. + +Do not forget `--http.addr 0.0.0.0`, if you want to access RPC from other containers +and/or hosts. By default, `geth` binds to the local interface and RPC endpoints are not +accessible from the outside. + +### Programmatically interfacing `geth` nodes + +As a developer, sooner rather than later you'll want to start interacting with `geth` and the +Ethereum network via your own programs and not manually through the console. To aid +this, `geth` has built-in support for a JSON-RPC based APIs ([standard APIs](https://ethereum.org/en/developers/docs/apis/json-rpc/) +and [`geth` specific APIs](https://geth.ethereum.org/docs/interacting-with-geth/rpc)). +These can be exposed via HTTP, WebSockets and IPC (UNIX sockets on UNIX based +platforms, and named pipes on Windows). + +The IPC interface is enabled by default and exposes all the APIs supported by `geth`, +whereas the HTTP and WS interfaces need to manually be enabled and only expose a +subset of APIs due to security reasons. These can be turned on/off and configured as +you'd expect. + +HTTP based JSON-RPC API options: + + * `--http` Enable the HTTP-RPC server + * `--http.addr` HTTP-RPC server listening interface (default: `localhost`) + * `--http.port` HTTP-RPC server listening port (default: `8545`) + * `--http.api` API's offered over the HTTP-RPC interface (default: `eth,net,web3`) + * `--http.corsdomain` Comma separated list of domains from which to accept cross-origin requests (browser enforced) + * `--ws` Enable the WS-RPC server + * `--ws.addr` WS-RPC server listening interface (default: `localhost`) + * `--ws.port` WS-RPC server listening port (default: `8546`) + * `--ws.api` API's offered over the WS-RPC interface (default: `eth,net,web3`) + * `--ws.origins` Origins from which to accept WebSocket requests + * `--ipcdisable` Disable the IPC-RPC server + * `--ipcpath` Filename for IPC socket/pipe within the datadir (explicit paths escape it) + +You'll need to use your own programming environments' capabilities (libraries, tools, etc) to +connect via HTTP, WS or IPC to a `geth` node configured with the above flags and you'll +need to speak [JSON-RPC](https://www.jsonrpc.org/specification) on all transports. You +can reuse the same connection for multiple requests! + +**Note: Please understand the security implications of opening up an HTTP/WS based +transport before doing so! Hackers on the internet are actively trying to subvert +Ethereum nodes with exposed APIs! Further, all browser tabs can access locally +running web servers, so malicious web pages could try to subvert locally available +APIs!** + +### Operating a private network + +Maintaining your own private network is more involved as a lot of configurations taken for +granted in the official networks need to be manually set up. + +Unfortunately since [the Merge](https://ethereum.org/en/roadmap/merge/) it is no longer possible +to easily set up a network of geth nodes without also setting up a corresponding beacon chain. + +There are three different solutions depending on your use case: + + * If you are looking for a simple way to test smart contracts from go in your CI, you can use the [Simulated Backend](https://geth.ethereum.org/docs/developers/dapp-developer/native-bindings#blockchain-simulator). + * If you want a convenient single node environment for testing, you can use our [Dev Mode](https://geth.ethereum.org/docs/developers/dapp-developer/dev-mode). + * If you are looking for a multiple node test network, you can set one up quite easily with [Kurtosis](https://geth.ethereum.org/docs/fundamentals/kurtosis). + +## Contribution + +Thank you for considering helping out with the source code! We welcome contributions +from anyone on the internet, and are grateful for even the smallest of fixes! + +If you'd like to contribute to go-ethereum, please fork, fix, commit and send a pull request +for the maintainers to review and merge into the main code base. If you wish to submit +more complex changes though, please check up with the core devs first on [our Discord Server](https://discord.gg/invite/nthXNEv) +to ensure those changes are in line with the general philosophy of the project and/or get +some early feedback which can make both your efforts much lighter as well as our review +and merge procedures quick and simple. + +Please make sure your contributions adhere to our coding guidelines: + + * Code must adhere to the official Go [formatting](https://golang.org/doc/effective_go.html#formatting) + guidelines (i.e. uses [gofmt](https://golang.org/cmd/gofmt/)). + * Code must be documented adhering to the official Go [commentary](https://golang.org/doc/effective_go.html#commentary) + guidelines. + * Pull requests need to be based on and opened against the `master` branch. + * Commit messages should be prefixed with the package(s) they modify. + * E.g. "eth, rpc: make trace configs optional" + +Please see the [Developers' Guide](https://geth.ethereum.org/docs/developers/geth-developer/dev-guide) +for more details on configuring your environment, managing project dependencies, and +testing procedures. + +### Contributing to geth.ethereum.org + +For contributions to the [go-ethereum website](https://geth.ethereum.org), please checkout and raise pull requests against the `website` branch. +For more detailed instructions please see the `website` branch [README](https://github.com/ethereum/go-ethereum/tree/website#readme) or the +[contributing](https://geth.ethereum.org/docs/developers/geth-developer/contributing) page of the website. + +## License + +The go-ethereum library (i.e. all code outside of the `cmd` directory) is licensed under the +[GNU Lesser General Public License v3.0](https://www.gnu.org/licenses/lgpl-3.0.en.html), +also included in our repository in the `COPYING.LESSER` file. + +The go-ethereum binaries (i.e. all code inside of the `cmd` directory) are licensed under the +[GNU General Public License v3.0](https://www.gnu.org/licenses/gpl-3.0.en.html), also +included in our repository in the `COPYING` file. diff --git a/data/readmes/git-v2520.md b/data/readmes/git-v2520.md new file mode 100644 index 0000000..0215a97 --- /dev/null +++ b/data/readmes/git-v2520.md @@ -0,0 +1,81 @@ +# Git - README (v2.52.0) + +**Repository**: https://github.com/git/git +**Version**: v2.52.0 + +--- + +[![Build status](https://github.com/git/git/workflows/CI/badge.svg)](https://github.com/git/git/actions?query=branch%3Amaster+event%3Apush) + +Git - fast, scalable, distributed revision control system +========================================================= + +Git is a fast, scalable, distributed revision control system with an +unusually rich command set that provides both high-level operations +and full access to internals. + +Git is an Open Source project covered by the GNU General Public +License version 2 (some parts of it are under different licenses, +compatible with the GPLv2). It was originally written by Linus +Torvalds with help of a group of hackers around the net. + +Please read the file [INSTALL][] for installation instructions. + +Many Git online resources are accessible from +including full documentation and Git related tools. + +See [Documentation/gittutorial.adoc][] to get started, then see +[Documentation/giteveryday.adoc][] for a useful minimum set of commands, and +`Documentation/git-.adoc` for documentation of each command. +If git has been correctly installed, then the tutorial can also be +read with `man gittutorial` or `git help tutorial`, and the +documentation of each command with `man git-` or `git help +`. + +CVS users may also want to read [Documentation/gitcvs-migration.adoc][] +(`man gitcvs-migration` or `git help cvs-migration` if git is +installed). + +The user discussion and development of Git take place on the Git +mailing list -- everyone is welcome to post bug reports, feature +requests, comments and patches to git@vger.kernel.org (read +[Documentation/SubmittingPatches][] for instructions on patch submission +and [Documentation/CodingGuidelines][]). + +Those wishing to help with error message, usage and informational message +string translations (localization l10) should see [po/README.md][] +(a `po` file is a Portable Object file that holds the translations). + +To subscribe to the list, send an email to +(see https://subspace.kernel.org/subscribing.html for details). The mailing +list archives are available at , + and other archival sites. + +Issues which are security relevant should be disclosed privately to +the Git Security mailing list . + +The maintainer frequently sends the "What's cooking" reports that +list the current status of various development topics to the mailing +list. The discussion following them give a good reference for +project status, development direction and remaining tasks. + +The name "git" was given by Linus Torvalds when he wrote the very +first version. He described the tool as "the stupid content tracker" +and the name as (depending on your mood): + + - random three-letter combination that is pronounceable, and not + actually used by any common UNIX command. The fact that it is a + mispronunciation of "get" may or may not be relevant. + - stupid. contemptible and despicable. simple. Take your pick from the + dictionary of slang. + - "global information tracker": you're in a good mood, and it actually + works for you. Angels sing, and a light suddenly fills the room. + - "goddamn idiotic truckload of sh*t": when it breaks + +[INSTALL]: INSTALL +[Documentation/gittutorial.adoc]: Documentation/gittutorial.adoc +[Documentation/giteveryday.adoc]: Documentation/giteveryday.adoc +[Documentation/gitcvs-migration.adoc]: Documentation/gitcvs-migration.adoc +[Documentation/SubmittingPatches]: Documentation/SubmittingPatches +[Documentation/CodingGuidelines]: Documentation/CodingGuidelines +[po/README.md]: po/README.md diff --git a/data/readmes/github-cli-v2831.md b/data/readmes/github-cli-v2831.md new file mode 100644 index 0000000..f3c168c --- /dev/null +++ b/data/readmes/github-cli-v2831.md @@ -0,0 +1,112 @@ +# GitHub CLI - README (v2.83.1) + +**Repository**: https://github.com/cli/cli +**Version**: v2.83.1 + +--- + +# GitHub CLI + +`gh` is GitHub on the command line. It brings pull requests, issues, and other GitHub concepts to the terminal next to where you are already working with `git` and your code. + +![screenshot of gh pr status](https://user-images.githubusercontent.com/98482/84171218-327e7a80-aa40-11ea-8cd1-5177fc2d0e72.png) + +GitHub CLI is supported for users on GitHub.com, GitHub Enterprise Cloud, and GitHub Enterprise Server 2.20+ with support for macOS, Windows, and Linux. + +## Documentation + +For [installation options see below](#installation), for usage instructions [see the manual]( https://cli.github.com/manual/). + +## Contributing + +If anything feels off or if you feel that some functionality is missing, please check out the [contributing page](.github/CONTRIBUTING.md). There you will find instructions for sharing your feedback, building the tool locally, and submitting pull requests to the project. + +If you are a hubber and are interested in shipping new commands for the CLI, check out our [doc on internal contributions](docs/working-with-us.md) + + +## Installation + +### [macOS](docs/install_macos.md) + +- [Homebrew](docs/install_macos.md#homebrew) +- [Precompiled binaries](docs/install_macos.md#precompiled-binaries) on [releases page][] + +For additional macOS packages and installers, see [community-supported docs](docs/install_macos.md#community-unofficial) + +### [Linux & Unix](docs/install_linux.md) + +- [Debian, Raspberry Pi, Ubuntu](docs/install_linux.md#debian) +- [Amazon Linux, CentOS, Fedora, openSUSE, RHEL, SUSE](docs/install_linux.md#rpm) +- [Precompiled binaries](docs/install_linux.md#precompiled-binaries) on [releases page][] + +For additional Linux & Unix packages and installers, see [community-supported docs](docs/install_linux.md#community-unofficial) + +### [Windows](docs/install_windows.md) + +- [WinGet](docs/install_windows.md#winget) +- [Precompiled binaries](docs/install_windows.md#precompiled-binaries) on [releases page][] + +For additional Windows packages and installers, see [community-supported docs](docs/install_windows.md#community-unofficial) + +### Build from source + +See here on how to [build GitHub CLI from source](docs/install_source.md). + +### GitHub Codespaces + +To add GitHub CLI to your codespace, add the following to your [devcontainer file](https://docs.github.com/en/codespaces/setting-up-your-project-for-codespaces/adding-features-to-a-devcontainer-file): + +```json +"features": { + "ghcr.io/devcontainers/features/github-cli:1": {} +} +``` + +### GitHub Actions + +[GitHub-hosted runners](https://docs.github.com/en/actions/using-github-hosted-runners/about-github-hosted-runners) have the GitHub CLI pre-installed, which is updated weekly. + +If a specific version is needed, your GitHub Actions workflow will need to install it based on the [macOS](#macos), [Linux & Unix](#linux--unix), or [Windows](#windows) instructions above. + +For information on all pre-installed tools, see [`actions/runner-images`](https://github.com/actions/runner-images) + +### Verification of binaries + +Since version 2.50.0, `gh` has been producing [Build Provenance Attestation](https://github.blog/changelog/2024-06-25-artifact-attestations-is-generally-available/), enabling a cryptographically verifiable paper-trail back to the origin GitHub repository, git revision, and build instructions used. The build provenance attestations are signed and rely on Public Good [Sigstore](https://www.sigstore.dev/) for PKI. + +There are two common ways to verify a downloaded release, depending on whether `gh` is already installed or not. If `gh` is installed, it's trivial to verify a new release: + +- **Option 1: Using `gh` if already installed:** + + ```shell + $ gh at verify -R cli/cli gh_2.62.0_macOS_arm64.zip + Loaded digest sha256:fdb77f31b8a6dd23c3fd858758d692a45f7fc76383e37d475bdcae038df92afc for file://gh_2.62.0_macOS_arm64.zip + Loaded 1 attestation from GitHub API + ✓ Verification succeeded! + + sha256:fdb77f31b8a6dd23c3fd858758d692a45f7fc76383e37d475bdcae038df92afc was attested by: + REPO PREDICATE_TYPE WORKFLOW + cli/cli https://slsa.dev/provenance/v1 .github/workflows/deployment.yml@refs/heads/trunk + ``` + +- **Option 2: Using Sigstore [`cosign`](https://github.com/sigstore/cosign):** + + To perform this, download the [attestation](https://github.com/cli/cli/attestations) for the downloaded release and use cosign to verify the authenticity of the downloaded release: + + ```shell + $ cosign verify-blob-attestation --bundle cli-cli-attestation-3120304.sigstore.json \ + --new-bundle-format \ + --certificate-oidc-issuer="https://token.actions.githubusercontent.com" \ + --certificate-identity="https://github.com/cli/cli/.github/workflows/deployment.yml@refs/heads/trunk" \ + gh_2.62.0_macOS_arm64.zip + Verified OK + ``` + +## Comparison with hub + +For many years, [hub](https://github.com/github/hub) was the unofficial GitHub CLI tool. `gh` is a new project that helps us explore +what an official GitHub CLI tool can look like with a fundamentally different design. While both +tools bring GitHub to the terminal, `hub` behaves as a proxy to `git`, and `gh` is a standalone +tool. Check out our [more detailed explanation](docs/gh-vs-hub.md) to learn more. + +[releases page]: https://github.com/cli/cli/releases/latest diff --git a/data/readmes/gitlab-cli-v1220.md b/data/readmes/gitlab-cli-v1220.md new file mode 100644 index 0000000..478b1a2 --- /dev/null +++ b/data/readmes/gitlab-cli-v1220.md @@ -0,0 +1,388 @@ +# GitLab CLI - README (v1.22.0) + +**Repository**: https://github.com/profclems/glab +**Version**: v1.22.0 + +--- + +# ANNOUNCEMENT +## FOLLOWING THE EARLIER ANNOUNCEMENT ABOUT ITS OFFICIAL ADOPTION BY AND TRANSITION TO GITLAB (SEE https://github.com/profclems/glab/issues/983), THIS PROJECT IS NO LONGER MAINTAINED IN THIS REPOSITORY . THE NEW HOME OF THIS PROJECT IS https://gitlab.com/gitlab-org/cli. ALL NEW CONTRIBUTIONS (INCLUDING FEATURE REQUESTS AND BUG REPORTS) SHOULD BE SENT TO THE [OFFICIAL REPOSITORY ON GITLAB](https://gitlab.com/gitlab-org/cli). + +# GLab + +![GLab](https://user-images.githubusercontent.com/9063085/90530075-d7a58580-e14a-11ea-9727-4f592f7dcf2e.png) + +[![Go Report Card](https://goreportcard.com/badge/github.com/profclems/glab)](https://goreportcard.com/report/github.com/profclems/glab) +[![Gitter](https://badges.gitter.im/glabcli/community.svg)](https://gitter.im/glabcli/community?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge) +[![Reddit](https://img.shields.io/reddit/subreddit-subscribers/glab_cli?style=social)](https://reddit.com/r/glab_cli) +[![Twitter Follow](https://img.shields.io/twitter/follow/glab_cli?style=social)](https://twitter.com/glab_cli) +[![Mentioned in Awesome Go](https://awesome.re/mentioned-badge.svg)](https://github.com/avelino/awesome-go#version-control) + +GLab is an open source GitLab CLI tool bringing GitLab to your terminal next to where you are already working with `git` and your code without switching between windows and browser tabs. Work with issues, merge requests, **watch running pipelines directly from your CLI** among other features. +Inspired by [gh], the official GitHub CLI tool. + +`glab` is available for repositories hosted on GitLab.com and self-hosted GitLab Instances. `glab` supports multiple authenticated GitLab instances and automatically detects the authenticated hostname from the remotes available in the working git directory. + +![image](https://user-images.githubusercontent.com/41906128/88968573-0b556400-d29f-11ea-8504-8ecd9c292263.png) + +Table of Contents +================= + +* [Usage](#usage) +* [Demo](#demo) +* [Documentation](#documentation) +* [Installation](#installation) + * [Quick Install](#quick-install) + * [Windows](#windows) + * [WinGet](#winget) + * [Scoop](#scoop) + * [EXE Installer](#exe-installer) + * [Linux](#linux) + * [Linuxbrew (Homebrew)](#linuxbrew-homebrew) + * [Snapcraft](#snapcraft) + * [Arch Linux](#arch-linux) + * [KISS Linux](#kiss-linux) + * [Alpine Linux](#alpine-linux) + * [Install a pinned version from edge](#install-a-pinned-version-from-edge) + * [Alpine Linux Docker-way](#alpine-linux-docker-way) + * [Nix/NixOS](#nixnixos) + * [macOS](#macos) + * [Homebrew](#homebrew) + * [MacPorts](#macports) + * [Building From Source](#building-from-source) + * [Prerequisites](#prerequisites-for-building-from-source-are) +* [Authentication](#authentication) +* [Configuration](#configuration) +* [Environment Variables](#environment-variables) +* [What about lab](#what-about-lab) +* [Issues](#issues) +* [Contributing](#contributing) + * [Support glab 💖](#support-glab-) + * [Individuals](#individuals) + * [Backers](#backers) +* [License](#license) + +## Usage + ```bash + glab [flags] + ``` + +## Demo +[![asciicast](https://asciinema.org/a/368622.svg)](https://asciinema.org/a/368622) + +## Documentation +Read the [documentation](https://glab.readthedocs.io/) for usage instructions. + +## Installation +Download a binary suitable for your OS at the [releases page](https://github.com/profclems/glab/releases/latest). + +### Quick Install +**Supported Platforms**: Linux and macOS + +#### Homebrew + +```sh +brew install glab +``` + +Updating (Homebrew): +```sh +brew upgrade glab +``` + +Alternatively, you can install `glab` by shell script: +```sh +curl -sL https://j.mp/glab-cli | sudo sh +``` +or +```sh +curl -s https://raw.githubusercontent.com/profclems/glab/trunk/scripts/install.sh | sudo sh +``` +*Installs into `usr/bin`* + +**NOTE**: Please take care when running scripts in this fashion. Consider peeking at the install script itself and verify that it works as intended. + +### Windows +Available for download via [WinGet](https://github.com/microsoft/winget-cli), [scoop](https://scoop.sh), or downloadable EXE installer file. + +#### WinGet +```sh +winget install glab.glab +``` + +Updating (WinGet): +```sh +winget install glab.glab +``` + +#### Scoop +```sh +scoop install glab +``` + +Updating (Scoop): +```sh +scoop update glab +``` +#### EXE Installer + +EXE installers are available for download on the [releases page](https://github.com/profclems/glab/releases/latest). + +### Linux +Prebuilt binaries available at the [releases page](https://github.com/profclems/glab/releases/latest). + +#### Linuxbrew (Homebrew) +```sh +brew install glab +``` + +Updating (Homebrew): +```sh +brew upgrade glab +``` +#### Snapcraft +[![Get it from the Snap Store](https://snapcraft.io/static/images/badges/en/snap-store-black.svg)](https://snapcraft.io/glab) + +Make sure you have [snap installed on your Linux Distro](https://snapcraft.io/docs/installing-snapd). +1. `sudo snap install --edge glab` +1. `sudo snap connect glab:ssh-keys` to grant ssh access + +#### Arch Linux +`glab` is available through the [community/glab](https://archlinux.org/packages/community/x86_64/glab/) package or download and install an archive from the [releases page](https://github.com/profclems/glab/releases/latest). Arch Linux also supports [snap](https://snapcraft.io/docs/installing-snap-on-arch-linux). +```sh +pacman -S glab +``` + +#### KISS Linux +> WARNING: It seems that KISS Linux may no longer be actively maintained, so links to its web domain have been removed from this README. + +`glab` is available on the [KISS Linux Community Repo](https://github.com/kisslinux/community) as `gitlab-glab`. +If you already have the community repo configured in your `KISS_PATH` you can install `glab` through your terminal. +```sh +kiss b gitlab-glab && kiss i gitlab-glab +``` + +#### Alpine Linux + +`glab` is available on the [Alpine Community Repo](https://git.alpinelinux.org/aports/tree/community/glab?h=master) as `glab`. + +##### Install + +We use `--no-cache` so we don't need to do an `apk update` before. + +```sh +apk add --no-cache glab +``` + +##### Install a pinned version from edge + +To ensure that by default edge will be used to get the latest updates. We need the edge repository under `/etc/apk/repositories`. + +Afterwards you can install it with `apk add --no-cache glab@edge` + +We use `--no-cache` so we don't need to do an `apk update` before. + +```sh +echo "@edge http://dl-cdn.alpinelinux.org/alpine/edge/community" >> /etc/apk/repositories +apk add --no-cache glab@edge +``` + +##### Alpine Linux Docker-way + +Use edge directly + +```sh +FROM alpine:3.13 +RUN apk add --no-cache glab +``` + +Fetching latest glab version from edge + +```sh +FROM alpine:3.13 +RUN echo "@edge http://dl-cdn.alpinelinux.org/alpine/edge/community" >> /etc/apk/repositories +RUN apk add --no-cache glab@edge +``` + +### Nix/NixOS + +Nix/NixOS users can install from [nixpkgs](https://search.nixos.org/packages?channel=unstable&show=glab&from=0&size=30&sort=relevance&query=glab): + +```bash +nix-env -iA nixos.glab +``` + +### macOS + +#### Homebrew + +`glab` is available via [Homebrew](https://formulae.brew.sh/formula/glab) + +```sh +brew install glab +``` +Updating: +```sh +brew upgrade glab +``` + +#### MacPorts + +`glab`is also available via [MacPorts](https://ports.macports.org/port/glab/summary) + +```sh +sudo port install glab +``` + +Updating: +```sh +sudo port selfupdate && sudo port upgrade glab +``` + +### Building From Source +If a supported binary for your OS is not found at the [releases page](https://github.com/profclems/glab/releases/latest), you can build from source: + +#### Prerequisites for building from source +- `make` +- Go 1.13+ + +1. Verify that you have Go 1.13+ installed + + ```sh + $ go version + go version go1.14 + ``` + + If `go` is not installed, follow instructions on [the Go website](https://golang.org/doc/install). + +2. Clone this repository + + ```sh + git clone https://github.com/profclems/glab.git + cd glab + ``` + If you have $GOPATH/bin or $GOBIN in your $PATH, you can just install with `make install` (install glab in $GOPATH/bin) and **skip steps 3 and 4**. + +3. Build the project + ```sh + make + ``` + +4. Change PATH to find newly compiled `glab` + + ```sh + export PATH=$PWD/bin:$PATH + ``` + +4. Run `glab version` to confirm that it worked + +## Authentication + +Get a GitLab access token at or if self-hosted + +- start interactive setup + ```sh + glab auth login + ``` + +- authenticate against gitlab.com by reading the token from a file + ```sh + glab auth login --stdin < myaccesstoken.txt + ``` + +- authenticate against a self-hosted GitLab instance by reading from a file + ```sh + glab auth login --hostname salsa.debian.org --stdin < myaccesstoken.txt + ``` + +- authenticate with token and hostname (Not recommended for shared environments) + ```sh + glab auth login --hostname gitlab.example.org --token xxxxx + ``` + +## Configuration + +By default, `glab` follows the XDG Base Directory [Spec](https://specifications.freedesktop.org/basedir-spec/basedir-spec-latest.html): global configuration file is saved at `~/.config/glab-cli`. Local configuration file is saved at `.git/glab-cli` in the current working git directory. Advanced workflows may override the location of the global configuration by setting the `GLAB_CONFIG_DIR` environment variable. + +**To set configuration globally** + +```sh +glab config set --global editor vim +``` + +**To set configuration for current directory (must be a git repository)** + +```sh +glab config set editor vim +``` + +**To set configuration for a specific host** + +Use the `--host` flag to set configuration for a specific host. This is always stored in the global config file with or without the `global` flag. + +```sh +glab config set editor vim --host gitlab.example.org +``` + + +## Environment Variables + ```sh + GITLAB_TOKEN: an authentication token for API requests. Setting this avoids being + prompted to authenticate and overrides any previously stored credentials. + Can be set in the config with 'glab config set token xxxxxx' + + GITLAB_URI or GITLAB_HOST: specify the url of the gitlab server if self hosted (eg: https://gitlab.example.com). Default is https://gitlab.com. + + GITLAB_API_HOST: specify the host where the API endpoint is found. Useful when there are separate [sub]domains or hosts for git and the API endpoint: defaults to the hostname found in the git URL + + REMOTE_ALIAS or GIT_REMOTE_URL_VAR: git remote variable or alias that contains the gitlab url. + Can be set in the config with 'glab config set remote_alias origin' + + VISUAL, EDITOR (in order of precedence): the editor tool to use for authoring text. + Can be set in the config with 'glab config set editor vim' + + BROWSER: the web browser to use for opening links. + Can be set in the config with 'glab config set browser mybrowser' + + GLAMOUR_STYLE: environment variable to set your desired markdown renderer style + Available options are (dark|light|notty) or set a custom style + https://github.com/charmbracelet/glamour#styles + + NO_COLOR: set to any value to avoid printing ANSI escape sequences for color output. + + FORCE_HYPERLINKS: set to 1 to force hyperlinks to be output, even when not outputing to a TTY + ``` + +## What about [Lab]? + +Both `glab` and [lab] are open-source tools with the same goal of bringing GitLab to your command line and simplifying the developer workflow. In many ways `lab` is to [hub], while `glab` is to [gh]. + +If you want a tool that’s more opinionated and intended to help simplify your GitLab workflows from the command line, then `glab` is for you. However, If you're looking for a tool like [hub] that feels like using git and allows you to interact with GitLab, you might consider using [lab]. + +Some `glab` commands such as `ci view` and `ci trace` were adopted from [lab]. + +[gh]:https://github.com/cli/cli +[hub]:https://github.com/github/hub +[lab]:https://github.com/zaquestion/lab + +## Issues +If you have an issue: report it on the [issue tracker](https://github.com/profclems/glab/issues) + +## Contributing +Feel like contributing? That's awesome! We have a [contributing guide](https://github.com/profclems/glab/blob/trunk/CONTRIBUTING.md) and [Code of conduct](https://github.com/profclems/glab/blob/trunk/CODE_OF_CONDUCT.md) to help guide you + +### Contributors + +#### Individuals + +This project exists thanks to all the people who contribute. [[Contribute](https://github.com/profclems/glab/blob/trunk/.github/CONTRIBUTING.md)]. + + +#### Organizations + +[![Fosshost.org](https://fosshost.org/img/fosshost-logo.png)](https://fosshost.org) + +## License +Copyright © [Clement Sam](https://clementsam.tech) + +`glab` is open-sourced software licensed under the [MIT](LICENSE) license. diff --git a/data/readmes/go-weekly2012-03-27.md b/data/readmes/go-weekly2012-03-27.md new file mode 100644 index 0000000..671a93e --- /dev/null +++ b/data/readmes/go-weekly2012-03-27.md @@ -0,0 +1,38 @@ +# Go - README (weekly.2012-03-27) + +**Repository**: https://github.com/golang/go +**Version**: weekly.2012-03-27 + +--- + +This is the source code repository for the Go programming language. + +For documentation about how to install and use Go, +visit http://golang.org/ or load doc/install.html in your web browser. + +After installing Go, you can view a nicely formatted +doc/install.html by running godoc --http=:6060 +and then visiting http://localhost:6060/doc/install.html. + +Unless otherwise noted, the Go source files are distributed +under the BSD-style license found in the LICENSE file. + +-- + +Binary Distribution Notes + +If you have just untarred a binary Go distribution, you need to set +the environment variable $GOROOT to the full path of the go +directory (the one containing this README). You can omit the +variable if you unpack it into /usr/local/go, or if you rebuild +from sources by running all.bash (see doc/install.html). +You should also add the Go binary directory $GOROOT/bin +to your shell's path. + +For example, if you extracted the tar file into $HOME/go, you might +put the following in your .profile: + + export GOROOT=$HOME/go + export PATH=$PATH:$GOROOT/bin + +See doc/install.html for more details. diff --git a/data/readmes/gomplate-v433.md b/data/readmes/gomplate-v433.md new file mode 100644 index 0000000..9aba980 --- /dev/null +++ b/data/readmes/gomplate-v433.md @@ -0,0 +1,139 @@ +# Gomplate - README (v4.3.3) + +**Repository**: https://github.com/hairyhenderson/gomplate +**Version**: v4.3.3 + +--- + +gomplate logo + +_Read the docs at [docs.gomplate.ca][docs-url], chat with developers and community in the [#gomplate channel][] on [Gophers Slack][]_ + +[![Build][gh-actions-image]][gh-actions-url] +[![Go Report Card][reportcard-image]][reportcard-url] +[![Codebeat Status][codebeat-image]][codebeat-url] +[![Coverage][gocover-image]][gocover-url] +[![Total Downloads][gh-downloads-image]][gh-downloads-url] +[![CII Best Practices][cii-bp-image]][cii-bp-url] + +[![DockerHub Pulls][dockerhub-pulls-image]][dockerhub-url] + +[![Chocolatey](https://img.shields.io/chocolatey/v/gomplate.svg)](https://chocolatey.org/packages/gomplate) +[![Chocolatey](https://img.shields.io/chocolatey/dt/gomplate.svg)](https://chocolatey.org/packages/gomplate) + +[![Install Docs][install-docs-image]][install-docs-url] +[![Slack][slack-image]][slack-url] +[![Discussions][discussions-image]][discussions-url] + +`gomplate` is a template renderer which supports a growing list of datasources, +such as: JSON (_including EJSON - encrypted JSON_), YAML, AWS EC2 metadata, +[Hashicorp Consul](https://www.consul.io/) and [Hashicorp Vault](https://www.vaultproject.io/) secrets. + +Come chat with developers and community in the [#gomplate channel][] on [Gophers Slack][] and on [GitHub Discussions][discussions-url]! + +Here are some hands-on examples of how `gomplate` works: + +```console +$ # at its most basic, gomplate can be used with environment variables... +$ echo 'Hello, {{ .Env.USER }}' | gomplate +Hello, hairyhenderson + +$ # but that's kind of boring. gomplate has tons of functions to do useful stuff, too +$ gomplate -i 'the answer is: {{ mul 6 7 }}' +the answer is: 42 + +$ # and, since gomplate uses Go's templating syntax, you can do fun things like: +$ gomplate -i '{{ range seq 5 1 }}{{ . }} {{ if eq . 1 }}{{ "blastoff" | toUpper }}{{ end }}{{ end }}' +5 4 3 2 1 BLASTOFF + +$ # the real fun comes when you use datasources! +$ cat ./config.yaml +foo: + bar: + baz: qux +$ gomplate -d config=./config.yaml -i 'the value we want is: {{ (datasource "config").foo.bar.baz }}' +the value we want is: qux + +$ # datasources are defined by URLs, and gomplate is not limited to just file-based datasources: +$ gomplate -d ip=https://ipinfo.io -i 'country code: {{ (ds "ip").country }}' +country code: CA + +$ # standard input can be used as a datasource too: +$ echo '{"cities":["London", "Johannesburg", "Windhoek"]}' | gomplate -d city=stdin:///in.json -i '{{ range (ds "city").cities }}{{.}}, {{end}}' +London, Johannesburg, Windhoek, + +$ # and here's something a little more complicated: +$ export CITIES='city: [London, Johannesburg, Windhoek]' +$ cat in.tmpl +{{ range $i, $city := (ds "cities").city -}} +{{ add 1 $i }}: {{ include "weather" (print $city "?0") }} +{{ end }} +$ gomplate -d 'cities=env:///CITIES?type=application/yaml' -d 'weather=https://wttr.in/?0' -H 'weather=User-Agent: curl' -f in.tmpl +1: Weather report: London + + \ / Partly cloudy + _ /"".-. 4-7 °C + \_( ). ↑ 20 km/h + /(___(__) 10 km + 0.0 mm + +2: Weather report: Johannesburg + + \ / Partly cloudy + _ /"".-. 15 °C + \_( ). ↘ 0 km/h + /(___(__) 10 km + 2.2 mm + +3: Weather report: Windhoek + + \ / Partly cloudy + _ /"".-. 20 °C + \_( ). ↑ 6 km/h + /(___(__) 20 km + 0.0 mm +``` + +Read the documentation at [docs.gomplate.ca][docs-url], and join the discussion +in [GitHub Discussions][discussions-url]! + +_Please report any bugs found in the [issue tracker](https://github.com/hairyhenderson/gomplate/issues/)._ + +## License + +[The MIT License](http://opensource.org/licenses/MIT) + +Copyright (c) 2016-2023 Dave Henderson + +[gh-actions-image]: https://github.com/hairyhenderson/gomplate/workflows/Build/badge.svg?branch=main +[gh-actions-url]: https://github.com/hairyhenderson/gomplate/actions?workflow=Build&branch=main + +[reportcard-image]: https://goreportcard.com/badge/github.com/hairyhenderson/gomplate +[reportcard-url]: https://goreportcard.com/report/github.com/hairyhenderson/gomplate +[codebeat-image]: https://codebeat.co/badges/39ed2148-4b86-4d1e-8526-25f60e159ba1 +[codebeat-url]: https://codebeat.co/projects/github-com-hairyhenderson-gomplate +[gocover-image]: https://gocover.io/_badge/github.com/hairyhenderson/gomplate +[gocover-url]: https://gocover.io/github.com/hairyhenderson/gomplate +[gh-downloads-image]: https://img.shields.io/github/downloads/hairyhenderson/gomplate/total.svg +[gh-downloads-url]: https://github.com/hairyhenderson/gomplate/releases + +[cii-bp-image]: https://bestpractices.coreinfrastructure.org/projects/337/badge +[cii-bp-url]: https://bestpractices.coreinfrastructure.org/projects/337 + +[dockerhub-url]: https://hub.docker.com/r/hairyhenderson/gomplate +[dockerhub-pulls-image]: https://img.shields.io/docker/pulls/hairyhenderson/gomplate.svg + +[docs-url]: https://docs.gomplate.ca +[install-docs-image]: https://img.shields.io/badge/install-docs-blue.svg +[install-docs-url]: https://docs.gomplate.ca/installing + +[Gophers Slack]: https://invite.slack.golangbridge.org +[#gomplate channel]: https://gophers.slack.com/messages/CGTR16RM2/ + +[slack-image]: https://img.shields.io/badge/slack-gophers/%23gomplate-00ADD8.svg?logo=slack +[slack-url]: https://gophers.slack.com/messages/CGTR16RM2/ + +[discussions-image]: https://img.shields.io/badge/discussions-gomplate-blue.svg?logo=github +[discussions-url]: https://github.com/hairyhenderson/gomplate/discussions + +[![Analytics](https://ga-beacon.appspot.com/UA-82637990-1/gomplate/README.md?pixel)](https://github.com/igrigorik/ga-beacon) diff --git a/data/readmes/google-cloud-sdk-list.md b/data/readmes/google-cloud-sdk-list.md new file mode 100644 index 0000000..9cd34da --- /dev/null +++ b/data/readmes/google-cloud-sdk-list.md @@ -0,0 +1,207 @@ +# Google Cloud SDK - README (list) + +**Repository**: https://github.com/GoogleCloudPlatform/cloud-sdk-docker +**Version**: list + +--- + +# Google Cloud SDK Docker + +This is Docker image for the [Google Cloud SDK](https://cloud.google.com/sdk/). + +The `:latest` tag of this image is Debian-based and includes default command +line tools of Google Cloud SDK (`gcloud`, `gsutil`, `bq`) as well as all +[additional components](https://cloud.google.com/sdk/downloads#apt-get). + +## Repositories +The Google Cloud SDK Docker Image is hosted on both [Container Registry](https://gcr.io/google.com/cloudsdktool/cloud-sdk) and [Docker Hub](https://hub.docker.com/r/google/cloud-sdk/). + +The full repository name for Container Registry is `gcr.io/google.com/cloudsdktool/cloud-sdk`. + +The full repository name for Docker Hub is `google/cloud-sdk`. + +## Supported tags + +* `:latest`, `:VERSION`: (large image with + additional components pre-installed, Debian-based) +* `:slim`, `:VERSION-slim`: (smaller image with + no components pre-installed, Debian-based) +* `:alpine`, `:VERSION-alpine`: (smallest image + with no additional components installed, Alpine-based) +* `:debian_component_based`, `:VERSION-debian_component_based`: (Similar to + :latest but component installer based) + +→ Check out [Container Registry](https://gcr.io/google.com/cloudsdktool/cloud-sdk) for available tags. + +[![Docker Pulls](https://img.shields.io/docker/pulls/google/cloud-sdk.svg)]() +[![Docker Build Status](https://img.shields.io/docker/build/google/cloud-sdk.svg)]() +[![Docker Automated buil](https://img.shields.io/docker/automated/google/cloud-sdk.svg)]() + +## Usage + +To use this image, pull from [Container Registry](https://gcr.io/google.com/cloudsdktool/cloud-sdk) and then run the following command: + +``` +docker pull gcr.io/google.com/cloudsdktool/cloud-sdk:latest +``` + +(Note: To pull from Docker Hub, replace all instances of `gcr.io/google.com/cloudsdktool/cloud-sdk` with `google/cloud-sdk`.) + + + +Verify the install + +```bash +docker run gcr.io/google.com/cloudsdktool/cloud-sdk:latest gcloud version +Google Cloud SDK 159.0.0 +``` + +or use a particular version number: + +```bash +docker run gcr.io/google.com/cloudsdktool/cloud-sdk:260.0.0 gcloud version +``` + +You can authenticate `gcloud` with your user credentials by running [`gcloud auth login`](https://cloud.google.com/sdk/gcloud/reference/auth/login): + +``` +docker run -ti --name gcloud-config gcr.io/google.com/cloudsdktool/cloud-sdk gcloud auth login +``` + +If you need to authenticate any program that uses the Google Cloud APIs, you need to pass the `--update-adc` option: + +``` +docker run -ti --name gcloud-config gcr.io/google.com/cloudsdktool/cloud-sdk gcloud auth login --update-adc +``` + +Once you authenticate successfully, credentials are preserved in the volume of +the `gcloud-config` container. + +To list compute instances using these credentials, run the container with +`--volumes-from`: + +``` +docker run --rm --volumes-from gcloud-config gcr.io/google.com/cloudsdktool/cloud-sdk gcloud compute instances list --project your_project +NAME ZONE MACHINE_TYPE PREEMPTIBLE INTERNAL_IP EXTERNAL_IP STATUS +instance-1 us-central1-a n1-standard-1 10.240.0.2 8.34.219.29 RUNNING +``` + +> :warning: **Warning:** The `gcloud-config` container now has a volume +> containing your Google Cloud credentials. Do not use `gcloud-config` volume in +> other containers. + + +Alternatively, you can use `auth/credential_file_override` property to set a path to a mounted service account +and then the config to read that using `CLOUDSDK_CONFIG` environment variable. + +for example, `mycloud` configuration below has the `auth/credential_file_override` already set and points towards a certificate file +that will be present within the container as a separate volume mount. + +> See [issue#152](https://github.com/GoogleCloudPlatform/cloud-sdk-docker/issues/152#event-1933393673) + +``` +$ docker run -ti -e CLOUDSDK_CONFIG=/config/mygcloud \ + -v `pwd`/mygcloud:/config/mygcloud \ + -v `pwd`:/certs gcr.io/google.com/cloudsdktool/cloud-sdk:alpine /bin/bash + +bash-4.4# gcloud config list +[auth] +credential_file_override = /certs/svc_account.json + +bash-4.4# head -10 /certs/svc_account.json +{ + "type": "service_account", + "project_id": "project_id1", +.... + +bash-4.4# gcloud projects list +PROJECT_ID NAME PROJECT_NUMBER +project_id1 GCPAppID 1071284184432 + +``` +### Components Installed in Each Tag + +| Component | :latest | :alpine | :slim | :debian_component_based | +|:----------------------------------------------------:|:-------:|:-------:|:-----:|:-----------------------:| +| App Engine Go Extensions | x | | | x | +| Appctl | | | | | +| BigQuery Command Line Tool | x | x | x | x | +| Cloud Bigtable Command Line Tool | x | | | x | +| Cloud Bigtable Emulator | x | | | x | +| Cloud Datalab Command Line Tool | x | | | x | +| Cloud Datastore Emulator | x | | | x | +| Cloud Firestore Emulator | x | | | | +| Cloud Pub/Sub Emulator | x | | | x | +| Cloud SDK Core Libraries | x | x | x | x | +| Cloud SQL Proxy | | | | | +| Cloud Spanner Emulator | x | | | | +| Cloud Storage Command Line Tool | x | x | x | x | +| Emulator Reverse Proxy | | | | | +| Google Cloud Build Local Builder | | | | | +| Google Container Registry's Docker credential helper | | | | | +| Kind | | | | | +| Kustomize | | | | | +| Minikube | | | | | +| Nomos CLI | | | | | +| Skaffold | | | | | +| anthos-auth | | | | | +| gcloud Alpha Commands | x | | x | x | +| gcloud Beta Commands | x | | x | x | +| gcloud app Java Extensions | x | | | x | +| gcloud app Python Extensions | x | | | x | +| gcloud app Python Extensions (Extra Libraries) | x | | | x | +| kpt | x | | | | +| kubectl | x | | x | x | + + +### Installing additional components + +#### Debian-based images + +``` +cd debian_slim/ +docker build --build-arg CLOUD_SDK_VERSION=159.0.0 \ + --build-arg INSTALL_COMPONENTS="google-cloud-sdk-datastore-emulator" \ + -t my-cloud-sdk-docker:slim . +``` + +#### Alpine-based images + +To install additional components for Alpine-based images, create a Dockerfile +that uses the `cloud-sdk` image as the base image. For example, to add `kubectl` and +`app-engine-java` components: + +```Dockerfile +FROM gcr.io/google.com/cloudsdktool/cloud-sdk:alpine +RUN apk --update add openjdk7-jre +RUN gcloud components install app-engine-java kubectl +``` + +and run: + +``` +docker build -t my-cloud-sdk-docker:alpine . +``` + +Note that in this case, you have to install dependencies of additional +components manually. + +### Installing different version of gcloud sdk: +``` +docker build -t my-cloud-sdk-docker:alpine --build-arg CLOUD_SDK_VERSION= . +``` + +### Legacy image (Google App Engine based) + +The original image in this repository was based off of + +> FROM gcr.io/google_appengine/base + +The full Dockerfile for that can be found +[here](google_appengine_base/Dockerfile) for archival as well as in image tag +`google/cloud-sdk-docker:legacy` + +### Cloud SDK Release Tracking + +You can also follow the Cloud SDK Release schedule here +- [https://groups.google.com/forum/#!forum/google-cloud-sdk-announce](https://groups.google.com/forum/#!forum/google-cloud-sdk-announce) diff --git a/data/readmes/gradle-v930-rc1.md b/data/readmes/gradle-v930-rc1.md new file mode 100644 index 0000000..8763234 --- /dev/null +++ b/data/readmes/gradle-v930-rc1.md @@ -0,0 +1,128 @@ +# Gradle - README (v9.3.0-RC1) + +**Repository**: https://github.com/gradle/gradle +**Version**: v9.3.0-RC1 + +--- + +
+ + + Gradle Logo + +
+ + + + +## 🐘 **Gradle Build Tool** + +**[Gradle](https://gradle.org/)** is a highly scalable build automation tool designed to handle everything from large, multi-project enterprise builds to quick development tasks across various languages. Gradle’s modular, performance-oriented architecture seamlessly integrates with development environments, making it a go-to solution for building, testing, and deploying applications on **Java**, **Kotlin**, **Scala**, **Android**, **Groovy**, **C++**, and **Swift**. + +> For a comprehensive overview, please visit the [official Gradle project homepage](https://gradle.org). + +--- + +### 🚀 **Getting Started** + +Starting with Gradle is easy with these essential resources. Follow these to install Gradle, set up initial projects, and explore supported platforms: + +- **[Installing Gradle](https://docs.gradle.org/current/userguide/installation.html)** +- **Build Projects for Popular Languages and Frameworks**: + - [Java Applications](https://docs.gradle.org/current/samples/sample_building_java_applications.html) + - [Java Modules](https://docs.gradle.org/current/samples/sample_java_modules_multi_project.html) + - [Android Apps](https://developer.android.com/studio/build/index.html) + - [Groovy Applications](https://docs.gradle.org/current/samples/sample_building_groovy_applications.html) + - [Kotlin Libraries](https://docs.gradle.org/current/samples/sample_building_kotlin_libraries.html) + - [Scala Applications](https://docs.gradle.org/current/samples/sample_building_scala_applications.html) + - [Spring Boot Web Apps](https://docs.gradle.org/current/samples/sample_building_spring_boot_web_applications.html) + - [C++ Libraries](https://docs.gradle.org/current/samples/sample_building_cpp_libraries.html) + - [Swift Apps](https://docs.gradle.org/current/samples/sample_building_swift_applications.html) + - [Swift Libraries](https://docs.gradle.org/current/samples/sample_building_swift_libraries.html) + +> 📘 Explore Gradle’s full array of resources through the [Gradle Documentation](https://docs.gradle.org/). + +--- + +### 🛠 **Seamless IDE & CI Integration** + +Gradle is built to work smoothly with a variety of Integrated Development Environments (IDEs) and Continuous Integration (CI) systems, providing extensive support for a streamlined workflow: + +- **Supported IDEs**: Quickly integrate Gradle with [Android Studio](https://docs.gradle.org/current/userguide/gradle_ides.html), [IntelliJ IDEA](https://docs.gradle.org/current/userguide/gradle_ides.html), [Eclipse](https://docs.gradle.org/current/userguide/gradle_ides.html), [NetBeans](https://docs.gradle.org/current/userguide/gradle_ides.html), and [Visual Studio Code](https://docs.gradle.org/current/userguide/gradle_ides.html). +- **Continuous Integration**: Gradle easily connects with popular CI tools, including Jenkins, [GitHub Actions](https://docs.github.com/actions), [GitLab CI](https://docs.gitlab.com/ee/ci/), [CircleCI](https://circleci.com/), and more, to streamline build and deployment pipelines. + +--- + +### 🎓 **Learning Resources for Gradle** + +Kickstart your Gradle knowledge with courses, guides, and community support tailored to various experience levels: + +- **[DPE University Free Courses](https://dpeuniversity.gradle.com/app/catalog)**: A collection of hands-on courses for learning Gradle, complete with project-based tasks to improve real-world skills. +- **[Gradle Community Resources](https://community.gradle.org/resources/)**: Discover a range of resources, tutorials, and guides to support your Gradle journey, from foundational concepts to advanced practices. + +--- + +### 💬 **Community Support & Resources** + +The Gradle community offers a range of forums, documentation, and direct help to guide you through every step of your Gradle journey: + +- **Documentation**: The [Gradle User Manual](https://docs.gradle.org/current/userguide/userguide.html) covers everything from basic to advanced configurations. +- **Community Forum**: Engage with others on the [Gradle Forum](https://discuss.gradle.org/) for discussions, tips, and best practices. +- **Community Slack**: [Join our Slack Channel](https://gradle.org/slack-invite) for real-time discussions, with specialized channels like `#github-integrations` for integration topics. +- **Newsletter**: Subscribe to the [Gradle Newsletter](https://newsletter.gradle.org) for news, tutorials, and community highlights. + +> **Quick Tip**: New contributors to Gradle projects are encouraged to ask questions in the Slack `#community-support` channel. + +--- + +### 🌱 **Contributing to Gradle** + +- **Contribution Guide**: [Contribute](https://github.com/gradle/gradle/blob/master/CONTRIBUTING.md) to Gradle by submitting patches or pull requests for code or documentation improvements. +- **Code of Conduct**: Gradle enforces a [Code of Conduct](https://gradle.org/conduct/) to ensure a welcoming and supportive community for all contributors. + +--- + +### 🔗 **Additional Resources** + +To make the most out of Gradle, take advantage of these additional resources: + +- **[Gradle Documentation](https://docs.gradle.org/)** - Your go-to guide for all Gradle-related documentation. +- **[DPE University](https://dpeuniversity.gradle.com/app/catalog)** - Explore tutorials designed to get you started quickly. +- **[Community Resources](https://gradle.org/resources/)** - Find more community-contributed materials to expand your knowledge. + +> 🌟 **Stay connected with the Gradle Community and access the latest news, training, and updates via [Slack](https://gradle.org/slack-invite), [Forum](https://discuss.gradle.org/), and our [Newsletter](https://newsletter.gradle.org)**. + +

+ diff --git a/data/readmes/grafana-v1230.md b/data/readmes/grafana-v1230.md new file mode 100644 index 0000000..eb8d3d2 --- /dev/null +++ b/data/readmes/grafana-v1230.md @@ -0,0 +1,58 @@ +# Grafana - README (v12.3.0) + +**Repository**: https://github.com/grafana/grafana +**Version**: v12.3.0 + +--- + +![Grafana Logo (Light)](docs/logo-horizontal.png#gh-light-mode-only) +![Grafana Logo (Dark)](docs/logo-horizontal-dark.png#gh-dark-mode-only) + +The open-source platform for monitoring and observability + +[![License](https://img.shields.io/github/license/grafana/grafana)](LICENSE) +[![Go Report Card](https://goreportcard.com/badge/github.com/grafana/grafana)](https://goreportcard.com/report/github.com/grafana/grafana) + +Grafana allows you to query, visualize, alert on and understand your metrics no matter where they are stored. Create, explore, and share dashboards with your team and foster a data-driven culture: + +- **Visualizations:** Fast and flexible client side graphs with a multitude of options. Panel plugins offer many different ways to visualize metrics and logs. +- **Dynamic Dashboards:** Create dynamic & reusable dashboards with template variables that appear as dropdowns at the top of the dashboard. +- **Explore Metrics:** Explore your data through ad-hoc queries and dynamic drilldown. Split view and compare different time ranges, queries and data sources side by side. +- **Explore Logs:** Experience the magic of switching from metrics to logs with preserved label filters. Quickly search through all your logs or streaming them live. +- **Alerting:** Visually define alert rules for your most important metrics. Grafana will continuously evaluate and send notifications to systems like Slack, PagerDuty, VictorOps, OpsGenie. +- **Mixed Data Sources:** Mix different data sources in the same graph! You can specify a data source on a per-query basis. This works for even custom datasources. + +## Get started + +- [Get Grafana](https://grafana.com/get) +- [Installation guides](https://grafana.com/docs/grafana/latest/setup-grafana/installation/) + +Unsure if Grafana is for you? Watch Grafana in action on [play.grafana.org](https://play.grafana.org/)! + +## Documentation + +The Grafana documentation is available at [grafana.com/docs](https://grafana.com/docs/). + +## Contributing + +If you're interested in contributing to the Grafana project: + +- Start by reading the [Contributing guide](https://github.com/grafana/grafana/blob/HEAD/CONTRIBUTING.md). +- Learn how to set up your local environment, in our [Developer guide](https://github.com/grafana/grafana/blob/HEAD/contribute/developer-guide.md). +- Explore our [beginner-friendly issues](https://github.com/grafana/grafana/issues?q=is%3Aopen+is%3Aissue+label%3A%22beginner+friendly%22). +- Look through our [style guide and Storybook](https://developers.grafana.com/ui/latest/index.html). + +> Share your contributor experience in our [feedback survey](https://gra.fan/ome) to help us improve. + +## Get involved + +- Follow [@grafana on X (formerly Twitter)](https://x.com/grafana/). +- Read and subscribe to the [Grafana blog](https://grafana.com/blog/). +- If you have a specific question, check out our [discussion forums](https://community.grafana.com/). +- For general discussions, join us on the [official Slack](https://slack.grafana.com) team. + +This project is tested with [BrowserStack](https://www.browserstack.com/). + +## License + +Grafana is distributed under [AGPL-3.0-only](LICENSE). For Apache-2.0 exceptions, see [LICENSING.md](https://github.com/grafana/grafana/blob/HEAD/LICENSING.md). diff --git a/data/readmes/grpc-v1760.md b/data/readmes/grpc-v1760.md new file mode 100644 index 0000000..6c39d90 --- /dev/null +++ b/data/readmes/grpc-v1760.md @@ -0,0 +1,111 @@ +# gRPC - README (v1.76.0) + +**Repository**: https://github.com/grpc/grpc +**Version**: v1.76.0 + +--- + +# gRPC – An RPC library and framework + +gRPC is a modern, open source, high-performance remote procedure call (RPC) +framework that can run anywhere. gRPC enables client and server applications to +communicate transparently, and simplifies the building of connected systems. + + + + + + + + + + +
Homepage:grpc.io
Mailing List:grpc-io@googlegroups.com
+ +[![Join the chat at https://gitter.im/grpc/grpc](https://badges.gitter.im/grpc/grpc.svg)](https://gitter.im/grpc/grpc?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) + +## To start using gRPC + +To maximize usability, gRPC supports the standard method for adding dependencies +to a user's chosen language (if there is one). In most languages, the gRPC +runtime comes as a package available in a user's language package manager. + +For instructions on how to use the language-specific gRPC runtime for a project, +please refer to these documents + +- [C++](src/cpp): follow the instructions under the `src/cpp` directory +- [C#/.NET](https://github.com/grpc/grpc-dotnet): NuGet packages + `Grpc.Net.Client`, `Grpc.AspNetCore.Server` +- [Dart](https://github.com/grpc/grpc-dart): pub package `grpc` +- [Go](https://github.com/grpc/grpc-go): `go get google.golang.org/grpc` +- [Java](https://github.com/grpc/grpc-java): Use JARs from Maven Central + Repository +- [Kotlin](https://github.com/grpc/grpc-kotlin): Use JARs from Maven Central + Repository +- [Node](https://github.com/grpc/grpc-node): `npm install @grpc/grpc-js` +- [Objective-C](src/objective-c): Add `gRPC-ProtoRPC` dependency to podspec +- [PHP](src/php): `pecl install grpc` +- [Python](src/python/grpcio): `pip install grpcio` +- [Ruby](src/ruby): `gem install grpc` +- [WebJS](https://github.com/grpc/grpc-web): follow the grpc-web instructions + +Per-language quickstart guides and tutorials can be found in the +[documentation section on the grpc.io website](https://grpc.io/docs/). Code +examples are available in the [examples](examples) directory. + +Precompiled bleeding-edge package builds of gRPC `master` branch's `HEAD` are +uploaded daily to [packages.grpc.io](https://packages.grpc.io). + +## To start developing gRPC + +Contributions are welcome! + +Please read [How to contribute](CONTRIBUTING.md) which will guide you through +the entire workflow of how to build the source code, how to run the tests, and +how to contribute changes to the gRPC codebase. The "How to contribute" document +also contains info on how the contribution process works and contains best +practices for creating contributions. + +## Troubleshooting + +Sometimes things go wrong. Please check out the +[Troubleshooting guide](TROUBLESHOOTING.md) if you are experiencing issues with +gRPC. + +## Performance + +See the [Performance dashboard](https://grafana-dot-grpc-testing.appspot.com/) +for performance numbers of master branch daily builds. + +## Concepts + +See [gRPC Concepts](CONCEPTS.md) + +## About This Repository + +This repository contains source code for gRPC libraries implemented in multiple +languages written on top of a shared C++ core library [src/core](src/core). + +Libraries in different languages may be in various states of development. We are +seeking contributions for all of these libraries: + +Language | Source +------------------------- | ---------------------------------- +Shared C++ [core library] | [src/core](src/core) +C++ | [src/cpp](src/cpp) +Ruby | [src/ruby](src/ruby) +Python | [src/python](src/python) +PHP | [src/php](src/php) +C# (core library based) | [src/csharp](src/csharp) +Objective-C | [src/objective-c](src/objective-c) + +Language | Source repo +-------------------- | -------------------------------------------------- +Java | [grpc-java](https://github.com/grpc/grpc-java) +Kotlin | [grpc-kotlin](https://github.com/grpc/grpc-kotlin) +Go | [grpc-go](https://github.com/grpc/grpc-go) +NodeJS | [grpc-node](https://github.com/grpc/grpc-node) +WebJS | [grpc-web](https://github.com/grpc/grpc-web) +Dart | [grpc-dart](https://github.com/grpc/grpc-dart) +.NET (pure C# impl.) | [grpc-dotnet](https://github.com/grpc/grpc-dotnet) +Swift | [grpc-swift](https://github.com/grpc/grpc-swift) diff --git a/data/readmes/grype-v01041.md b/data/readmes/grype-v01041.md new file mode 100644 index 0000000..9894b9b --- /dev/null +++ b/data/readmes/grype-v01041.md @@ -0,0 +1,1015 @@ +# Grype - README (v0.104.1) + +**Repository**: https://github.com/anchore/grype +**Version**: v0.104.1 + +--- + +

+ Grype logo +

+ +

+  Static Analysis + Unit + Integration  +  Validations  +  Go Report Card  +  GitHub release  +  GitHub go.mod Go version  +
+  License: Apache-2.0  +  Join our Discourse  +  Follow on Mastodon  +  OpenSSF Scorecard  +  OpenSSF Best Practices  +

+ +A vulnerability scanner for container images and filesystems. Easily [install the binary](#installation) to try it out. Works with [Syft](https://github.com/anchore/syft), the powerful SBOM (software bill of materials) tool for container images and filesystems. + +### Join our community meetings! + +- Calendar: https://calendar.google.com/calendar/u/0/r?cid=Y182OTM4dGt0MjRtajI0NnNzOThiaGtnM29qNEBncm91cC5jYWxlbmRhci5nb29nbGUuY29t +- Agenda: https://docs.google.com/document/d/1ZtSAa6fj2a6KRWviTn3WoJm09edvrNUp4Iz_dOjjyY8/edit?usp=sharing (join [this group](https://groups.google.com/g/anchore-oss-community) for write access) +- All are welcome! + +For commercial support options with Syft or Grype, please [contact Anchore](https://get.anchore.com/contact/). + +![grype-demo](https://user-images.githubusercontent.com/590471/90276236-9868f300-de31-11ea-8068-4268b6b68529.gif) + +## Features + +- Scan the contents of a container image or filesystem to find known vulnerabilities. +- Find vulnerabilities for major operating system packages: + - Alpine + - Amazon Linux + - Azure Linux (previously CBL-Mariner) + - BusyBox + - CentOS + - Debian + - Echo + - Distroless + - MinimOS + - Oracle Linux + - Red Hat (RHEL) + - Ubuntu + - Wolfi +- Find vulnerabilities for language-specific packages: + - Ruby (Gems) + - Java (JAR, WAR, EAR, JPI, HPI) + - JavaScript (NPM, Yarn) + - Python (Egg, Wheel, Poetry, requirements.txt/setup.py files) + - Dotnet (deps.json) + - Golang (go.mod) + - PHP (Composer) + - Rust (Cargo) +- Supports Docker, OCI and [Singularity](https://github.com/sylabs/singularity) image formats. +- [OpenVEX](https://github.com/openvex) support for filtering and augmenting scanning results. + +If you encounter an issue, please [let us know using the issue tracker](https://github.com/anchore/grype/issues). + +## Installation + +### Recommended + +```bash +curl -sSfL https://get.anchore.io/grype | sudo sh -s -- -b /usr/local/bin +``` +Install script options: +- `-b`: Specify a custom installation directory (defaults to `./bin`) +- `-d`: More verbose logging levels (`-d` for debug, `-dd` for trace) +- `-v`: Verify the signature of the downloaded artifact before installation (requires [`cosign`](https://github.com/sigstore/cosign) to be installed) + +### Chocolatey + +The chocolatey distribution of grype is community-maintained and not distributed by the anchore team. + +```bash +choco install grype -y +``` + +### Homebrew + +```bash +brew tap anchore/grype +brew install grype +``` + +### MacPorts + +On macOS, Grype can additionally be installed from the [community-maintained port](https://ports.macports.org/port/grype/) via MacPorts: + +```bash +sudo port install grype +``` + +**Note**: Currently, Grype is built only for macOS and Linux. + +### From source + +See [DEVELOPING.md](DEVELOPING.md#native-development) for instructions to build and run from source. + +### GitHub Actions + +If you're using GitHub Actions, you can use our [Grype-based action](https://github.com/marketplace/actions/anchore-container-scan) to run vulnerability scans on your code or container images during your CI workflows. + +## Verifying the artifacts + +Checksums are applied to all artifacts, and the resulting checksum file is signed using cosign. + +You need the following tool to verify signature: + +- [Cosign](https://docs.sigstore.dev/cosign/system_config/installation/) + +Verification steps are as follow: + +1. Download the files you want, and the checksums.txt, checksums.txt.pem and checksums.txt.sig files from the [releases](https://github.com/anchore/grype/releases) page: + +2. Verify the signature: + +```shell +cosign verify-blob \ +--certificate \ +--signature \ +--certificate-identity-regexp 'https://github\.com/anchore/grype/\.github/workflows/.+' \ +--certificate-oidc-issuer "https://token.actions.githubusercontent.com" +``` + +3. Once the signature is confirmed as valid, you can proceed to validate that the SHA256 sums align with the downloaded artifact: + +```shell +sha256sum --ignore-missing -c checksums.txt +``` + +## Getting started + +[Install the binary](#installation), and make sure that `grype` is available in your path. To scan for vulnerabilities in an image: + +``` +grype +``` + +The above command scans for vulnerabilities visible in the container (i.e., the squashed representation of the image). To include software from all image layers in the vulnerability scan, regardless of its presence in the final image, provide `--scope all-layers`: + +``` +grype --scope all-layers +``` + +To run grype from a Docker container so it can scan a running container, use the following command: + +```yml +docker run --rm \ +--volume /var/run/docker.sock:/var/run/docker.sock \ +--name Grype anchore/grype:latest \ +$(ImageName):$(ImageTag) +``` + +## Supported sources + +Grype can scan a variety of sources beyond those found in Docker. + +``` +# scan a container image archive (from the result of `docker image save ...`, `podman save ...`, or `skopeo copy` commands) +grype path/to/image.tar + +# scan a Singularity Image Format (SIF) container +grype path/to/image.sif + +# scan a directory +grype dir:path/to/dir +``` + +Sources can be explicitly provided with a scheme: + +``` +podman:yourrepo/yourimage:tag use images from the Podman daemon +docker:yourrepo/yourimage:tag use images from the Docker daemon +docker-archive:path/to/yourimage.tar use a tarball from disk for archives created from "docker save" +oci-archive:path/to/yourimage.tar use a tarball from disk for OCI archives (from Skopeo or otherwise) +oci-dir:path/to/yourimage read directly from a path on disk for OCI layout directories (from Skopeo or otherwise) +singularity:path/to/yourimage.sif read directly from a Singularity Image Format (SIF) container on disk +dir:path/to/yourproject read directly from a path on disk (any directory) +file:path/to/yourfile read directly from a file on disk +sbom:path/to/syft.json read Syft JSON from path on disk +registry:yourrepo/yourimage:tag pull image directly from a registry (no container runtime required) +``` + +If an image source is not provided and cannot be detected from the given reference it is assumed the image should be pulled from the Docker daemon. +If docker is not present, then the Podman daemon is attempted next, followed by reaching out directly to the image registry last. + + +This default behavior can be overridden with the `default-image-pull-source` configuration option (See [Configuration](https://github.com/anchore/grype#configuration) for more details). + +Use SBOMs for even faster vulnerability scanning in Grype: + +``` +# Then scan for new vulnerabilities as frequently as needed +grype sbom:./sbom.json + +# (You can also pipe the SBOM into Grype) +cat ./sbom.json | grype +``` + +Grype supports input of [Syft](https://github.com/anchore/syft), [SPDX](https://spdx.dev/), and [CycloneDX](https://cyclonedx.org/) +SBOM formats. If Syft has generated any of these file types, they should have the appropriate information to work properly with Grype. +It is also possible to use SBOMs generated by other tools with varying degrees of success. Two things that make Grype matching +more successful are the inclusion of CPE and Linux distribution information. If an SBOM does not include any CPE information, it +is possible to generate these based on package information using the `--add-cpes-if-none` flag. To specify a distribution, +use the `--distro :` flag. A full example is: + +``` +grype --add-cpes-if-none --distro alpine:3.10 sbom:some-alpine-3.10.spdx.json +``` + +## Threat & Risk Prioritization + +This section explains the columns and UI cues that help prioritize remediation efforts: + +- **Severity**: String-based severity derived from CVSS scores that indicates the significance of a vulnerability in levels. + This balances concerns such as ease of exploitability, and the potential to affect + confidentiality, integrity, and availability of software and services. + +- **EPSS**: + [Exploit Prediction Scoring System](https://www.first.org/epss/model) is a metric expressing the likelihood + that a vulnerability will be + exploited in the wild over the next 30 days (on a 0–1 scale); higher values signal a greater likelihood of + exploitation. + The table output shows the EPSS percentile, a one-way transform of the EPSS score showing the + proportion of all scored vulnerabilities with an equal or lower probability. + Percentiles linearize a heavily skewed distribution, making threshold choice (e.g. “only CVEs above the + 90th percentile”) straightforward. + +- **KEV Indicator**: Flags entries from CISA’s [Known Exploited Vulnerabilities Catalog](https://www.cisa.gov/known-exploited-vulnerabilities-catalog) + --an authoritative list of flaws observed being exploited in the wild. + +- **Risk Score**: A composite 0–100 metric calculated as: + ```markdown + risk = min(1, threat * average(severity)) * 100 + ``` + Where: + - `severity` is the average of all CVSS scores and string severity for a vulnerability (scaled between 0–1). + - `threat` is the EPSS score (between 0–1). If the vulnerability is on the KEV list then `threat` is + `1.05`, or `1.1` if the vulnerability is associated with a ransomware campaign. + This metric is one way to combine EPSS and CVSS suggested in the [EPSS user guide](https://www.first.org/epss/user-guide). + +- **Suggested Fixes**: All possible fixes for a package are listed, however, when multiple fixes are available, we de-emphasize all + upgrade paths except for the minimal upgrade path (which highlights the smallest, safest version bump). + +Results default to sorting by Risk Score and can be overridden with `--sort-by `: + +- `severity`: sort by severity +- `epss`: sort by EPSS percentile (aka, "threat") +- `risk`: sort by risk score +- `kev`: just like risk, except that KEV entries are always above non-KEV entries +- `package`: sort by package name, version, type +- `vulnerability`: sort by vulnerability ID + +### Supported versions + +Software updates are always applied to the latest version of Grype; fixes are not backported to any previous versions of Grype. + +In terms of database updates, any version of Grype before v0.51.0 (Oct 2022, before schema v5) will not receive +vulnerability database updates. You can still build vulnerability databases for unsupported Grype releases by using previous +releases of [vunnel](https://github.com/anchore/vunnel) to gather the upstream data and [grype-db](https://github.com/anchore/grype-db) +to build databases for unsupported schemas. + +Only the latest database schema is considered to be supported. When a new database schema is introduced then the one it replaces is +marked as deprecated. Deprecated schemas will continue to receive updates for at least one year after they are marked +as deprecated at which point they will no longer be supported. + +### Working with attestations +Grype supports scanning SBOMs as input via stdin. Users can use [cosign](https://github.com/sigstore/cosign) to verify attestations +with an SBOM as its content to scan an image for vulnerabilities: +``` +COSIGN_EXPERIMENTAL=1 cosign verify-attestation caphill4/java-spdx-tools:latest \ +| jq -r .payload \ +| base64 --decode \ +| jq -r .predicate.Data \ +| grype +``` + +### Vulnerability Summary + +#### Basic Grype Vulnerability Data Shape + +```json + { + "vulnerability": { + ... + }, + "relatedVulnerabilities": [ + ... + ], + "matchDetails": [ + ... + ], + "artifact": { + ... + } +} +``` + +- **Vulnerability**: All information on the specific vulnerability that was directly matched on (e.g. ID, severity, CVSS score, fix information, links for more information) +- **RelatedVulnerabilities**: Information pertaining to vulnerabilities found to be related to the main reported vulnerability. Perhaps the vulnerability we matched on was a GitHub Security Advisory, which has an upstream CVE (in the authoritative national vulnerability database). In these cases we list the upstream vulnerabilities here. +- **MatchDetails**: This section tries to explain what we searched for while looking for a match and exactly what details on the package and vulnerability that led to a match. +- **Artifact**: This is a subset of the information that we know about the package (when compared to the [Syft](https://github.com/anchore/syft) json output, we summarize the metadata section). + This has information about where within the container image or directory we found the package, what kind of package it is, licensing info, pURLs, CPEs, etc. + +### Excluding file paths + +Grype can exclude files and paths from being scanned within a source by using glob expressions +with one or more `--exclude` parameters: + +``` +grype --exclude './out/**/*.json' --exclude /etc +``` + +**Note:** in the case of _image scanning_, since the entire filesystem is scanned it is +possible to use absolute paths like `/etc` or `/usr/**/*.txt` whereas _directory scans_ +exclude files _relative to the specified directory_. For example: scanning `/usr/foo` with +`--exclude ./package.json` would exclude `/usr/foo/package.json` and `--exclude '**/package.json'` +would exclude all `package.json` files under `/usr/foo`. For _directory scans_, +it is required to begin path expressions with `./`, `*/`, or `**/`, all of which +will be resolved _relative to the specified scan directory_. Keep in mind, your shell +may attempt to expand wildcards, so put those parameters in single quotes, like: +`'**/*.json'`. + +### External Sources + +Grype can be configured to incorporate external data sources for added fidelity in vulnerability matching. This +feature is currently disabled by default. To enable this feature add the following to the grype config: + +```yaml +external-sources: + enable: true + maven: + search-upstream-by-sha1: true + base-url: https://search.maven.org/solrsearch/select + rate-limit: 300ms # Time between Maven API requests +``` + +You can also configure the base-url if you're using another registry as your maven endpoint. + +The rate at which Maven API requests are made can be configured to match your environment's requirements. The default is 300ms between requests. + +### Output formats + +The output format for Grype is configurable as well: + +``` +grype -o +``` + +Where the formats available are: + +- `table`: A columnar summary (default). +- `cyclonedx`: An XML report conforming to the [CycloneDX 1.6 specification](https://cyclonedx.org/specification/overview/). +- `cyclonedx-json`: A JSON report conforming to the [CycloneDX 1.6 specification](https://cyclonedx.org/specification/overview/). +- `json`: Use this to get as much information out of Grype as possible! +- `sarif`: Use this option to get a [SARIF](https://docs.oasis-open.org/sarif/sarif/v2.1.0/sarif-v2.1.0.html) report (Static Analysis Results Interchange Format) +- `template`: Lets the user specify the output format. See ["Using templates"](#using-templates) below. + +### Using templates + +Grype lets you define custom output formats, using [Go templates](https://golang.org/pkg/text/template/). Here's how it works: + +- Define your format as a Go template, and save this template as a file. + +- Set the output format to "template" (`-o template`). + +- Specify the path to the template file (`-t ./path/to/custom.template`). + +- Grype's template processing uses the same data models as the `json` output format — so if you're wondering what data is available as you author a template, you can use the output from `grype -o json` as a reference. + +**Please note:** Templates can access information about the system they are running on, such as environment variables. You should never run untrusted templates. + +There are several example templates in the [templates](https://github.com/anchore/grype/tree/main/templates) directory in the Grype source which can serve as a starting point for a custom output format. For example, [csv.tmpl](https://github.com/anchore/grype/blob/main/templates/csv.tmpl) produces a vulnerability report in CSV (comma separated value) format: + +```text +"Package","Version Installed","Vulnerability ID","Severity" +"coreutils","8.30-3ubuntu2","CVE-2016-2781","Low" +"libc-bin","2.31-0ubuntu9","CVE-2016-10228","Negligible" +"libc-bin","2.31-0ubuntu9","CVE-2020-6096","Low" +... +``` + +You can also find the template for the default "table" output format in the same place. + +Grype also includes a vast array of utility templating functions from [sprig](http://masterminds.github.io/sprig/) apart from the default golang [text/template](https://pkg.go.dev/text/template#hdr-Functions) to allow users to customize the output from Grype. + +### Gating on severity of vulnerabilities + +You can have Grype exit with an error if any vulnerabilities are reported at or above the specified severity level. This comes in handy when using Grype within a script or CI pipeline. To do this, use the `--fail-on ` CLI flag. + +For example, here's how you could trigger a CI pipeline failure if any vulnerabilities are found in the `ubuntu:latest` image with a severity of "medium" or higher: + +``` +grype ubuntu:latest --fail-on medium +``` + +**Note:** Grype returns exit code `2` on vulnerability errors. + +### Specifying matches to ignore + +If you're seeing Grype report **false positives** or any other vulnerability matches that you just don't want to see, you can tell Grype to **ignore** matches by specifying one or more _"ignore rules"_ in your Grype configuration file (e.g. `~/.grype.yaml`). This causes Grype not to report any vulnerability matches that meet the criteria specified by any of your ignore rules. + +Each rule can specify any combination of the following criteria: + +- vulnerability ID (e.g. `"CVE-2008-4318"`) +- include vulnerability aliases when matching on a vulnerability ID (set `"include-aliases"` to `true`) +- namespace (e.g. `"nvd"`) +- fix state (allowed values: `"fixed"`, `"not-fixed"`, `"wont-fix"`, or `"unknown"`) +- match type (allowed values: `"exact-direct-match"`, `"exact-indirect-match"`, or `"cpe-match"`) +- package name (e.g. `"libcurl"`) +- package version (e.g. `"1.5.1"`) +- package language (e.g. `"python"`; these values are defined [here](https://github.com/anchore/syft/blob/main/syft/pkg/language.go#L14-L23)) +- package type (e.g. `"npm"`; these values are defined [here](https://github.com/anchore/syft/blob/main/syft/pkg/type.go#L10-L24)) +- package location (e.g. `"/usr/local/lib/node_modules/**"`; supports glob patterns) +- package upstream name (e.g. `"curl"`) + +You can also document a rule with a free-form `reason`, and use VEX-specific fields (`vex-status` and `vex-justification`) when providing VEX data. + +Here's an example `~/.grype.yaml` that demonstrates the expected format for ignore rules: + +```yaml +ignore: + # This is the full set of supported rule fields: + - vulnerability: CVE-2008-4318 + include-aliases: true + reason: "False positive due to bundled curl version" + fix-state: unknown + namespace: nvd + # VEX fields apply when Grype reads vex data: + vex-status: not_affected + vex-justification: vulnerable_code_not_present + match-type: exact-direct-match + package: + name: libcurl + version: 1.5.1 + language: python + type: npm + location: "/usr/local/lib/node_modules/**" + upstream-name: curl + + # We can make rules to match just by vulnerability ID: + - vulnerability: CVE-2014-54321 + + # ...or just by a single package field: + - package: + type: gem +``` + +Vulnerability matches will be ignored if **any** rules apply to the match. A rule is considered to apply to a given vulnerability match only if **all** fields specified in the rule apply to the vulnerability match. + +When you run Grype while specifying ignore rules, the following happens to the vulnerability matches that are "ignored": + +- Ignored matches are **completely hidden** from Grype's output, except for when using the `json` or `template` output formats; however, in these two formats, the ignored matches are **removed** from the existing `matches` array field, and they are placed in a new `ignoredMatches` array field. Each listed ignored match also has an additional field, `appliedIgnoreRules`, which is an array of any rules that caused Grype to ignore this vulnerability match. + +- Ignored matches **do not** factor into Grype's exit status decision when using `--fail-on `. For instance, if a user specifies `--fail-on critical`, and all of the vulnerability matches found with a "critical" severity have been _ignored_, Grype will exit zero. + +**Note:** Please continue to **[report](https://github.com/anchore/grype/issues/new/choose)** any false positives you see! Even if you can reliably filter out false positives using ignore rules, it's very helpful to the Grype community if we have as much knowledge about Grype's false positives as possible. This helps us continuously improve Grype! + +### Showing only "fixed" vulnerabilities + +If you only want Grype to report vulnerabilities **that have a confirmed fix**, you can use the `--only-fixed` flag. (This automatically adds [ignore rules](#specifying-matches-to-ignore) into Grype's configuration, such that vulnerabilities that aren't fixed will be ignored.) + +For example, here's a scan of Alpine 3.10: + +``` +NAME INSTALLED FIXED-IN VULNERABILITY SEVERITY +apk-tools 2.10.6-r0 2.10.7-r0 CVE-2021-36159 Critical +libcrypto1.1 1.1.1k-r0 CVE-2021-3711 Critical +libcrypto1.1 1.1.1k-r0 CVE-2021-3712 High +libssl1.1 1.1.1k-r0 CVE-2021-3712 High +libssl1.1 1.1.1k-r0 CVE-2021-3711 Critical +``` + +...and here's the same scan, but adding the flag `--only-fixed`: + +``` +NAME INSTALLED FIXED-IN VULNERABILITY SEVERITY +apk-tools 2.10.6-r0 2.10.7-r0 CVE-2021-36159 Critical +``` + +If you want Grype to only report vulnerabilities **that do not have a confirmed fix**, you can use the `--only-notfixed` flag. Alternatively, you can use the `--ignore-states` flag to filter results for vulnerabilities with specific states such as `wont-fix` (see `--help` for a list of valid fix states). These flags automatically add [ignore rules](#specifying-matches-to-ignore) into Grype's configuration, such that vulnerabilities which are fixed, or will not be fixed, will be ignored. + +## VEX Support + +Grype can use VEX (Vulnerability Exploitability Exchange) data to filter false +positives or provide additional context, augmenting matches. When scanning a +container image, you can use the `--vex` flag to point to one or more +[OpenVEX](https://github.com/openvex) documents. + +VEX statements relate a product (a container image), a vulnerability, and a VEX +status to express an assertion of the vulnerability's impact. There are four +[VEX statuses](https://github.com/openvex/spec/blob/main/OPENVEX-SPEC.md#status-labels): +`not_affected`, `affected`, `fixed` and `under_investigation`. + +Here is an example of a simple OpenVEX document. (tip: use +[`vexctl`](https://github.com/openvex/vexctl) to generate your own documents). + +```json +{ + "@context": "https://openvex.dev/ns/v0.2.0", + "@id": "https://openvex.dev/docs/public/vex-d4e9020b6d0d26f131d535e055902dd6ccf3e2088bce3079a8cd3588a4b14c78", + "author": "A Grype User ", + "timestamp": "2023-07-17T18:28:47.696004345-06:00", + "version": 1, + "statements": [ + { + "vulnerability": { + "name": "CVE-2023-1255" + }, + "products": [ + { + "@id": "pkg:oci/alpine@sha256%3A124c7d2707904eea7431fffe91522a01e5a861a624ee31d03372cc1d138a3126", + "subcomponents": [ + { "@id": "pkg:apk/alpine/libssl3@3.0.8-r3" }, + { "@id": "pkg:apk/alpine/libcrypto3@3.0.8-r3" } + ] + } + ], + "status": "fixed" + } + ] +} +``` + +By default, Grype will use any statements in specified VEX documents with a +status of `not_affected` or `fixed` to move matches to the ignore set. + +Any matches ignored as a result of VEX statements are flagged when using +`--show-suppressed`: + +``` +libcrypto3 3.0.8-r3 3.0.8-r4 apk CVE-2023-1255 Medium (suppressed by VEX) +``` + +Statements with an `affected` or `under_investigation` status will only be +considered to augment the result set when specifically requested using the +`GRYPE_VEX_ADD` environment variable or in a configuration file. + + +### VEX Ignore Rules + +Ignore rules can be written to control how Grype honors VEX statements. For +example, to configure Grype to only act on VEX statements when the justification is `vulnerable_code_not_present`, you can write a rule like this: + +```yaml +--- +ignore: + - vex-status: not_affected + vex-justification: vulnerable_code_not_present +``` + +See the [list of justifications](https://github.com/openvex/spec/blob/main/OPENVEX-SPEC.md#status-justifications) for details. You can mix `vex-status` and `vex-justification` +with other ignore rule parameters. + +## Grype's database + +When Grype performs a scan for vulnerabilities, it does so using a vulnerability database that's stored on your local filesystem, which is constructed by pulling data from a variety of publicly available vulnerability data sources. These sources include: + +- Alpine Linux SecDB: https://secdb.alpinelinux.org/ +- Amazon Linux ALAS: https://alas.aws.amazon.com/AL2/alas.rss +- Chainguard SecDB: https://packages.cgr.dev/chainguard/security.json +- Debian Linux CVE Tracker: https://security-tracker.debian.org/tracker/data/json +- Echo Security Advisories: https://advisory.echohq.com/data.json +- GitHub Security Advisories (GHSAs): https://github.com/advisories +- MinimOS SecDB: https://packages.mini.dev/advisories/secdb/security.json +- National Vulnerability Database (NVD): https://nvd.nist.gov/vuln/data-feeds +- Oracle Linux OVAL: https://linux.oracle.com/security/oval/ +- RedHat Linux Security Data: https://access.redhat.com/hydra/rest/securitydata/ +- RedHat RHSAs: https://www.redhat.com/security/data/oval/ +- SUSE Linux OVAL: https://ftp.suse.com/pub/projects/security/oval/ +- Ubuntu Linux Security: https://people.canonical.com/~ubuntu-security/ +- Wolfi SecDB: https://packages.wolfi.dev/os/security.json + +By default, Grype automatically manages this database for you. Grype checks for new updates to the vulnerability database to make sure that every scan uses up-to-date vulnerability information. This behavior is configurable. For more information, see the [Managing Grype's database](#managing-grypes-database) section. + +### How database updates work + +Grype's vulnerability database is a SQLite file, named `vulnerability.db`. Updates to the database are atomic: the entire database is replaced and then treated as "readonly" by Grype. + +Grype's first step in a database update is discovering databases that are available for retrieval. Grype does this by requesting a "latest database file" from a public endpoint: + +https://grype.anchore.io/databases/v6/latest.json + +The latest database file contains an entry for the most recent database available for download. + +Here's an example of an entry in the latest database file: + +```json +{ + "status": "active", + "schemaVersion": "6.0.0", + "built": "2025-02-11T04:06:41Z", + "path": "vulnerability-db_v6.0.0_2025-02-11T01:30:51Z_1739246801.tar.zst", + "checksum": "sha256:79bfa04265c5a32d21773ad0da1bda13c31e932fa1e1422db635c8d714038868" +} +``` + +With this information, Grype can find the most recently built database with the current schema version, download the database, and verify the database's integrity using the `checksum` value. + +### Managing Grype's database + +> **Note:** During normal usage, _there is no need for users to manage Grype's database!_ Grype manages its database behind the scenes. However, for users that need more control, Grype provides options to manage the database more explicitly. + +#### Local database cache directory + +By default, the database is cached on the local filesystem in the directory `$XDG_CACHE_HOME/grype/db//`. For example, on macOS, the database would be stored in `~/Library/Caches/grype/db/6/`. (For more information on XDG paths, refer to the [XDG Base Directory Specification](https://specifications.freedesktop.org/basedir-spec/basedir-spec-latest.html).) + +You can set the cache directory path using the environment variable `GRYPE_DB_CACHE_DIR`. If setting that variable alone does not work, then the `TMPDIR` environment variable might also need to be set. + +#### Data staleness + +Grype needs up-to-date vulnerability information to provide accurate matches. By default, it will fail execution if the local database was not built in the last 5 days. The data staleness check is configurable via the environment variable `GRYPE_DB_MAX_ALLOWED_BUILT_AGE` and `GRYPE_DB_VALIDATE_AGE` or the field `max-allowed-built-age` and `validate-age`, under `db`. It uses [golang's time duration syntax](https://pkg.go.dev/time#ParseDuration). Set `GRYPE_DB_VALIDATE_AGE` or `validate-age` to `false` to disable staleness check. + +#### Offline and air-gapped environments + +By default, Grype checks for a new database on every run, by making a network request over the internet. +You can tell Grype not to perform this check by setting the environment variable `GRYPE_DB_AUTO_UPDATE` to `false`. + +As long as you place Grype's `vulnerability.db` and `import.json` files in the cache directory for the expected schema version, Grype has no need to access the network. +Additionally, you can get a reference to the latest database archive for download from the `grype db list` command in an online environment, download the database archive, transfer it to your offline environment, and use `grype db import ` to use the given database in an offline capacity. + +If you would like to distribute your own Grype databases internally without needing to use `db import` manually you can leverage Grype's DB update mechanism. To do this you can craft your own `latest.json` file similar to the public "latest database file" and change the download URL to point to an internal endpoint (e.g. a private S3 bucket, an internal file server, etc.). Any internal installation of Grype can receive database updates automatically by configuring the `db.update-url` (same as the `GRYPE_DB_UPDATE_URL` environment variable) to point to the hosted `latest.json` file you've crafted. + +#### CLI commands for database management + +Grype provides database-specific CLI commands for users that want to control the database from the command line. Here are some of the useful commands provided: + +`grype db status` — report the current status of Grype's database (such as its location, build date, and checksum) + +`grype db check` — see if updates are available for the database + +`grype db update` — ensure the latest database has been downloaded to the cache directory (Grype performs this operation at the beginning of every scan by default) + +`grype db list` — download the latest database file configured at `db.update-url` and show the database available for download + +`grype db import` — provide grype with a database archive to explicitly use (useful for offline DB updates) + +`grype db providers` - provides a detailed list of database providers + +Find complete information on Grype's database commands by running `grype db --help`. + +## Shell completion + +Grype supplies shell completion through its CLI implementation ([cobra](https://github.com/spf13/cobra/blob/master/shell_completions.md)). Generate the completion code for your shell by running one of the following commands: + +- `grype completion ` +- `go run ./cmd/grype completion ` + +This will output a shell script to STDOUT, which can then be used as a completion script for Grype. Running one of the above commands with the +`-h` or `--help` flags will provide instructions on how to do that for your chosen shell. + +## Private Registry Authentication + +### Local Docker Credentials + +When a container runtime is not present, grype can still utilize credentials configured in common credential sources (such as `~/.docker/config.json`). +It will pull images from private registries using these credentials. The config file is where your credentials are stored when authenticating with private registries via some command like `docker login`. +For more information see the `go-containerregistry` [documentation](https://github.com/google/go-containerregistry/tree/main/pkg/authn). + +An example `config.json` looks something like this: + +``` +// config.json +{ + "auths": { + "registry.example.com": { + "username": "AzureDiamond", + "password": "hunter2" + } + } +} +``` + +You can run the following command as an example. It details the mount/environment configuration a container needs to access a private registry: + +`docker run -v ./config.json:/config/config.json -e "DOCKER_CONFIG=/config" anchore/grype:latest ` + +### Docker Credentials in Kubernetes + +The below section shows a simple workflow on how to mount this config file as a secret into a container on kubernetes. + +1. Create a secret. The value of `config.json` is important. It refers to the specification detailed [here](https://github.com/google/go-containerregistry/tree/main/pkg/authn#the-config-file). + Below this section is the `secret.yaml` file that the pod configuration will consume as a volume. + The key `config.json` is important. It will end up being the name of the file when mounted into the pod. + ``` # secret.yaml + + apiVersion: v1 + kind: Secret + metadata: + name: registry-config + namespace: grype + data: + config.json: + ``` + + `kubectl apply -f secret.yaml` + +2. Create your pod running grype. The env `DOCKER_CONFIG` is important because it advertises where to look for the credential file. + In the below example, setting `DOCKER_CONFIG=/config` informs grype that credentials can be found at `/config/config.json`. + This is why we used `config.json` as the key for our secret. When mounted into containers the secrets' key is used as the filename. + The `volumeMounts` section mounts our secret to `/config`. The `volumes` section names our volume and leverages the secret we created in step one. + ``` # pod.yaml + + apiVersion: v1 + kind: Pod + spec: + containers: + - image: anchore/grype:latest + name: grype-private-registry-demo + env: + - name: DOCKER_CONFIG + value: /config + volumeMounts: + - mountPath: /config + name: registry-config + readOnly: true + args: + - + volumes: + - name: registry-config + secret: + secretName: registry-config + ``` + + `kubectl apply -f pod.yaml` + +3. The user can now run `kubectl logs grype-private-registry-demo`. The logs should show the grype analysis for the `` provided in the pod configuration. + +Using the above information, users should be able to configure private registry access without having to do so in the `grype` or `syft` configuration files. +They will also not be dependent on a docker daemon, (or some other runtime software) for registry configuration and access. + +## Configuration + +Default configuration search paths (see all with `grype config locations`): + +- `.grype.yaml` +- `.grype/config.yaml` +- `~/.grype.yaml` +- `/grype/config.yaml` + +Use `grype config` to print a sample config file to stdout. +Use `grype config --load` to print the current config after loading all values to stdout. + +You can specify files directly using the `--config` / `-c` flags (or environment variable `GRYPE_CONFIG`) to provide your own configuration files/paths: + +```shell +# Using the flag +grype -c /path/to/config.yaml +# Or using the environment variable +GRYPE_CONFIG=/path/to/config.yaml grype +``` + +Configuration options (example values are the default): + +```yaml +# the output format of the vulnerability report (options: table, template, json, cyclonedx) +# when using template as the output type, you must also provide a value for 'output-template-file' (env: GRYPE_OUTPUT) +output: 'table' + +# if using template output, you must provide a path to a Go template file +# see https://github.com/anchore/grype#using-templates for more information on template output +# the default path to the template file is the current working directory +# output-template-file: .grype/html.tmpl +# +# write output report to a file (default is to write to stdout) (env: GRYPE_FILE) +file: '' + +# pretty-print JSON output (env: GRYPE_PRETTY) +pretty: false + +# distro to match against in the format: : (env: GRYPE_DISTRO) +distro: '' + +# generate CPEs for packages with no CPE data (env: GRYPE_ADD_CPES_IF_NONE) +add-cpes-if-none: false + +# specify the path to a Go template file (requires 'template' output to be selected) (env: GRYPE_OUTPUT_TEMPLATE_FILE) +output-template-file: '' + +# enable/disable checking for application updates on startup (env: GRYPE_CHECK_FOR_APP_UPDATE) +check-for-app-update: true + +# ignore matches for vulnerabilities that are not fixed (env: GRYPE_ONLY_FIXED) +only-fixed: false + +# ignore matches for vulnerabilities that are fixed (env: GRYPE_ONLY_NOTFIXED) +only-notfixed: false + +# ignore matches for vulnerabilities with specified comma separated fix states, options=[fixed not-fixed unknown wont-fix] (env: GRYPE_IGNORE_WONTFIX) +ignore-wontfix: '' + +# an optional platform specifier for container image sources (e.g. 'linux/arm64', 'linux/arm64/v8', 'arm64', 'linux') (env: GRYPE_PLATFORM) +platform: '' + +# upon scanning, if a severity is found at or above the given severity then the return code will be 1 +# default is unset which will skip this validation (options: negligible, low, medium, high, critical) (env: GRYPE_FAIL_ON_SEVERITY) +fail-on-severity: '' + +# show suppressed/ignored vulnerabilities in the output (only supported with table output format) (env: GRYPE_SHOW_SUPPRESSED) +show-suppressed: false + +# orient results by CVE instead of the original vulnerability ID when possible (env: GRYPE_BY_CVE) +by-cve: false + +# sort the match results with the given strategy, options=[package severity epss risk kev vulnerability] (env: GRYPE_SORT_BY) +sort-by: 'risk' + +# same as --name; set the name of the target being analyzed (env: GRYPE_NAME) +name: '' + +# allows users to specify which image source should be used to generate the sbom +# valid values are: registry, docker, podman (env: GRYPE_DEFAULT_IMAGE_PULL_SOURCE) +default-image-pull-source: '' + +search: + # selection of layers to analyze, options=[squashed all-layers] (env: GRYPE_SEARCH_SCOPE) + scope: 'squashed' + + # search within archives that do not contain a file index to search against (tar, tar.gz, tar.bz2, etc) + # note: enabling this may result in a performance impact since all discovered compressed tars will be decompressed + # note: for now this only applies to the java package cataloger (env: GRYPE_SEARCH_UNINDEXED_ARCHIVES) + unindexed-archives: false + + # search within archives that do contain a file index to search against (zip) + # note: for now this only applies to the java package cataloger (env: GRYPE_SEARCH_INDEXED_ARCHIVES) + indexed-archives: true + +# A list of vulnerability ignore rules, one or more property may be specified and all matching vulnerabilities will be ignored. +# This is the full set of supported rule fields: +# - vulnerability: CVE-2008-4318 +# fix-state: unknown +# package: +# name: libcurl +# version: 1.5.1 +# type: npm +# location: "/usr/local/lib/node_modules/**" +# +# VEX fields apply when Grype reads vex data: +# - vex-status: not_affected +# vex-justification: vulnerable_code_not_present +ignore: [] + +# a list of globs to exclude from scanning, for example: +# - '/etc/**' +# - './out/**/*.json' +# same as --exclude (env: GRYPE_EXCLUDE) +exclude: [] + +external-sources: + # enable Grype searching network source for additional information (env: GRYPE_EXTERNAL_SOURCES_ENABLE) + enable: false + + maven: + # search for Maven artifacts by SHA1 (env: GRYPE_EXTERNAL_SOURCES_MAVEN_SEARCH_MAVEN_UPSTREAM) + search-maven-upstream: true + + # base URL of the Maven repository to search (env: GRYPE_EXTERNAL_SOURCES_MAVEN_BASE_URL) + base-url: 'https://search.maven.org/solrsearch/select' + + # (env: GRYPE_EXTERNAL_SOURCES_MAVEN_RATE_LIMIT) + rate-limit: 300ms + +match: + java: + # use CPE matching to find vulnerabilities (env: GRYPE_MATCH_JAVA_USING_CPES) + using-cpes: false + + jvm: + # (env: GRYPE_MATCH_JVM_USING_CPES) + using-cpes: true + + dotnet: + # use CPE matching to find vulnerabilities (env: GRYPE_MATCH_DOTNET_USING_CPES) + using-cpes: false + + golang: + # use CPE matching to find vulnerabilities (env: GRYPE_MATCH_GOLANG_USING_CPES) + using-cpes: false + + # use CPE matching to find vulnerabilities for the Go standard library (env: GRYPE_MATCH_GOLANG_ALWAYS_USE_CPE_FOR_STDLIB) + always-use-cpe-for-stdlib: true + + # allow comparison between main module pseudo-versions (e.g. v0.0.0-20240413-2b432cf643...) (env: GRYPE_MATCH_GOLANG_ALLOW_MAIN_MODULE_PSEUDO_VERSION_COMPARISON) + allow-main-module-pseudo-version-comparison: false + + javascript: + # use CPE matching to find vulnerabilities (env: GRYPE_MATCH_JAVASCRIPT_USING_CPES) + using-cpes: false + + python: + # use CPE matching to find vulnerabilities (env: GRYPE_MATCH_PYTHON_USING_CPES) + using-cpes: false + + ruby: + # use CPE matching to find vulnerabilities (env: GRYPE_MATCH_RUBY_USING_CPES) + using-cpes: false + + rust: + # use CPE matching to find vulnerabilities (env: GRYPE_MATCH_RUST_USING_CPES) + using-cpes: false + + stock: + # use CPE matching to find vulnerabilities (env: GRYPE_MATCH_STOCK_USING_CPES) + using-cpes: true + + +registry: + # skip TLS verification when communicating with the registry (env: GRYPE_REGISTRY_INSECURE_SKIP_TLS_VERIFY) + insecure-skip-tls-verify: false + + # use http instead of https when connecting to the registry (env: GRYPE_REGISTRY_INSECURE_USE_HTTP) + insecure-use-http: false + + # Authentication credentials for specific registries. Each entry describes authentication for a specific authority: + # - authority: the registry authority URL the URL to the registry (e.g. "docker.io", "localhost:5000", etc.) (env: SYFT_REGISTRY_AUTH_AUTHORITY) + # username: a username if using basic credentials (env: SYFT_REGISTRY_AUTH_USERNAME) + # password: a corresponding password (env: SYFT_REGISTRY_AUTH_PASSWORD) + # token: a token if using token-based authentication, mutually exclusive with username/password (env: SYFT_REGISTRY_AUTH_TOKEN) + # tls-cert: filepath to the client certificate used for TLS authentication to the registry (env: SYFT_REGISTRY_AUTH_TLS_CERT) + # tls-key: filepath to the client key used for TLS authentication to the registry (env: SYFT_REGISTRY_AUTH_TLS_KEY) + auth: [] + + # filepath to a CA certificate (or directory containing *.crt, *.cert, *.pem) used to generate the client certificate (env: GRYPE_REGISTRY_CA_CERT) + ca-cert: '' + +# a list of VEX documents to consider when producing scanning results (env: GRYPE_VEX_DOCUMENTS) +vex-documents: [] + +# VEX statuses to consider as ignored rules (env: GRYPE_VEX_ADD) +vex-add: [] + +# match kernel-header packages with upstream kernel as kernel vulnerabilities (env: GRYPE_MATCH_UPSTREAM_KERNEL_HEADERS) +match-upstream-kernel-headers: false + +db: + # location to write the vulnerability database cache (env: GRYPE_DB_CACHE_DIR) + cache-dir: '~/Library/Caches/grype/db' + + # URL of the vulnerability database (env: GRYPE_DB_UPDATE_URL) + update-url: 'https://grype.anchore.io/databases' + + # certificate to trust download the database and listing file (env: GRYPE_DB_CA_CERT) + ca-cert: '' + + # check for database updates on execution (env: GRYPE_DB_AUTO_UPDATE) + auto-update: true + + # validate the database matches the known hash each execution (env: GRYPE_DB_VALIDATE_BY_HASH_ON_START) + validate-by-hash-on-start: true + + # ensure db build is no older than the max-allowed-built-age (env: GRYPE_DB_VALIDATE_AGE) + validate-age: true + + # Max allowed age for vulnerability database, + # age being the time since it was built + # Default max age is 120h (or five days) (env: GRYPE_DB_MAX_ALLOWED_BUILT_AGE) + max-allowed-built-age: 120h0m0s + + # fail the scan if unable to check for database updates (env: GRYPE_DB_REQUIRE_UPDATE_CHECK) + require-update-check: false + + # Timeout for downloading GRYPE_DB_UPDATE_URL to see if the database needs to be downloaded + # This file is ~156KiB as of 2024-04-17 so the download should be quick; adjust as needed (env: GRYPE_DB_UPDATE_AVAILABLE_TIMEOUT) + update-available-timeout: 30s + + # Timeout for downloading actual vulnerability DB + # The DB is ~156MB as of 2024-04-17 so slower connections may exceed the default timeout; adjust as needed (env: GRYPE_DB_UPDATE_DOWNLOAD_TIMEOUT) + update-download-timeout: 5m0s + + # Maximum frequency to check for vulnerability database updates (env: GRYPE_DB_MAX_UPDATE_CHECK_FREQUENCY) + max-update-check-frequency: 2h0m0s + +log: + # suppress all logging output (env: GRYPE_LOG_QUIET) + quiet: false + + # explicitly set the logging level (available: [error warn info debug trace]) (env: GRYPE_LOG_LEVEL) + level: 'warn' + + # file path to write logs to (env: GRYPE_LOG_FILE) + file: '' + +dev: + # capture resource profiling data (available: [cpu, mem]) (env: GRYPE_DEV_PROFILE) + profile: '' + + db: + # show sql queries in trace logging (requires -vv) (env: GRYPE_DEV_DB_DEBUG) + debug: false + +# include a timestamp (env: GRYPE_TIMESTAMP) +timestamp: true +``` + +## Future plans + +The following areas of potential development are currently being investigated: + +- Support for allowlist, package mapping + + +## Grype Logo + +

Grype Logo by Anchore is licensed under CC BY 4.0

diff --git a/data/readmes/hadolint-v2140.md b/data/readmes/hadolint-v2140.md new file mode 100644 index 0000000..6aad2b1 --- /dev/null +++ b/data/readmes/hadolint-v2140.md @@ -0,0 +1,726 @@ +# Hadolint - README (v2.14.0) + +**Repository**: https://github.com/hadolint/hadolint +**Version**: v2.14.0 + +--- + +# Haskell Dockerfile Linter + +[![Build Status][github-actions-img]][github-actions] +[![GPL-3 licensed][license-img]][license] +[![GitHub release][release-img]][release] +![GitHub downloads][downloads-img] +pipecat + +A smarter Dockerfile linter that helps you build [best practice][] Docker +images. The linter parses the Dockerfile into an AST and performs rules on +top of the AST. It stands on the shoulders of [ShellCheck][] to lint +the Bash code inside `RUN` instructions. + +[:globe_with_meridians: **Check the online version on +hadolint.github.io/hadolint**](https://hadolint.github.io/hadolint) +[![Screenshot](screenshot.png)](https://hadolint.github.io/hadolint) + +## Table of Contents + +- [How to use](#how-to-use) +- [Install](#install) +- [CLI](#cli) +- [Configure](#configure) +- [Non-Posix Shells](#non-posix-shells) +- [Ignoring Rules](#ignoring-rules) + - [Inline ignores](#inline-ignores) + - [Global ignores](#global-ignores) +- [Linting Labels](#linting-labels) + - [Note on dealing with variables in labels](#note-on-dealing-with-variables-in-labels) +- [Integrations](#integrations) +- [Rules](#rules) +- [Develop](#develop) + - [Setup](#setup) + - [REPL](#repl) + - [Tests](#tests) + - [AST](#ast) + - [Building against custom libraries](#building-against-custom-libraries) +- [Alternatives](#alternatives) + +## How to use + +You can run `hadolint` locally to lint your Dockerfile. + +```bash +hadolint +hadolint --ignore DL3003 --ignore DL3006 # exclude specific rules +hadolint --trusted-registry my-company.com:500 # Warn when using untrusted FROM images +``` + +Docker comes to the rescue, providing an easy way how to run `hadolint` on most +platforms. +Just pipe your `Dockerfile` to `docker run`: + +```bash +docker run --rm -i hadolint/hadolint < Dockerfile +# OR +docker run --rm -i ghcr.io/hadolint/hadolint < Dockerfile +``` + +or using [Podman](https://podman.io/): + +```bash +podman run --rm -i docker.io/hadolint/hadolint < Dockerfile +# OR +podman run --rm -i ghcr.io/hadolint/hadolint < Dockerfile +``` + +or using Windows PowerShell: + +```powershell +cat .\Dockerfile | docker run --rm -i hadolint/hadolint +``` + +## Install + +You can download prebuilt binaries for OSX, Windows and Linux from the latest +[release page][]. However, if this does not work for you, please fall back to +container (Docker), `brew` or source installation. + +On OSX, you can use [brew](https://brew.sh/) to install `hadolint`. + +```bash +brew install hadolint +``` + +On Windows, you can use [scoop](https://github.com/lukesampson/scoop) to +install `hadolint`. + +```batch +scoop install hadolint +``` + +On distributions that have `nix` installed, you can use the `hadolint` +package to run ad-hoc shells or permanently install `hadolint` into +your environment. + +As mentioned earlier, `hadolint` is available as a container image: + +```bash +docker pull hadolint/hadolint +# OR +docker pull ghcr.io/hadolint/hadolint +``` + +If you need a container with shell access, use the Debian or Alpine +variants: + +```bash +docker pull hadolint/hadolint:latest-debian +# OR +docker pull hadolint/hadolint:latest-alpine +# OR +docker pull ghcr.io/hadolint/hadolint:latest-debian +# OR +docker pull ghcr.io/hadolint/hadolint:latest-alpine +``` + +You can also build `hadolint` locally. You need [Haskell][] and the [cabal][] +build tool to build the binary. + +```bash +git clone https://github.com/hadolint/hadolint \ + && cd hadolint \ + && cabal configure \ + && cabal build \ + && cabal install +``` + +If you want the +[VS Code Hadolint](https://github.com/michaellzc/vscode-hadolint) +extension to use Hadolint in a container, you can use the following +[wrapper script](https://github.com/hadolint/hadolint/issues/691#issuecomment-932116329): + +```bash +#!/bin/bash +dockerfile="$1" +shift +docker run --rm -i hadolint/hadolint hadolint "$@" - < "$dockerfile" +``` + +## CLI + +```bash +hadolint --help +``` + +```text +hadolint - Dockerfile Linter written in Haskell + +Usage: hadolint [-v|--version] [-c|--config FILENAME] [DOCKERFILE...] + [--file-path-in-report FILEPATHINREPORT] [--no-fail] + [--no-color] [-V|--verbose] [-f|--format ARG] [--error RULECODE] + [--warning RULECODE] [--info RULECODE] [--style RULECODE] + [--ignore RULECODE] + [--trusted-registry REGISTRY (e.g. docker.io)] + [--require-label LABELSCHEMA (e.g. maintainer:text)] + [--strict-labels] [--disable-ignore-pragma] + [-t|--failure-threshold THRESHOLD] + Lint Dockerfile for errors and best practices + +Available options: + -h,--help Show this help text + -v,--version Show version + -c,--config FILENAME Path to the configuration file + --file-path-in-report FILEPATHINREPORT + The file path referenced in the generated report. + This only applies for the 'checkstyle' format and is + useful when running Hadolint with Docker to set the + correct file path. + --no-fail Don't exit with a failure status code when any rule + is violated + --no-color Don't colorize output + -V,--verbose Enables verbose logging of hadolint's output to + stderr + -f,--format ARG The output format for the results [tty | json | + checkstyle | codeclimate | gitlab_codeclimate | gnu | + codacy | sonarqube | sarif] (default: tty) + --error RULECODE Make the rule `RULECODE` have the level `error` + --warning RULECODE Make the rule `RULECODE` have the level `warning` + --info RULECODE Make the rule `RULECODE` have the level `info` + --style RULECODE Make the rule `RULECODE` have the level `style` + --ignore RULECODE A rule to ignore. If present, the ignore list in the + config file is ignored + --trusted-registry REGISTRY (e.g. docker.io) + A docker registry to allow to appear in FROM + instructions + --require-label LABELSCHEMA (e.g. maintainer:text) + The option --require-label=label:format makes + Hadolint check that the label `label` conforms to + format requirement `format` + --strict-labels Do not permit labels other than specified in + `label-schema` + --disable-ignore-pragma Disable inline ignore pragmas `# hadolint + ignore=DLxxxx` + -t,--failure-threshold THRESHOLD + Exit with failure code only when rules with a + severity equal to or above THRESHOLD are violated. + Accepted values: [error | warning | info | style | + ignore | none] (default: info) +``` + +## Configure + +Configuration files can be used globally or per project. +Hadolint looks for configuration files in the following locations or their +platform specific equivalents in this order and uses the first one exclusively: + +- `$PWD/.hadolint.yaml` +- `$XDG_CONFIG_HOME/hadolint.yaml` +- `$HOME/.config/hadolint.yaml` +- `$HOME/.hadolint/hadolint.yaml or $HOME/hadolint/config.yaml` +- `$HOME/.hadolint.yaml` + +In windows, the `%LOCALAPPDATA%` environment variable is used instead of +`XDG_CONFIG_HOME`. Config files can have either `yaml` or `yml` extensions. + +`hadolint` full `yaml` config file schema + +```yaml +failure-threshold: string # name of threshold level (error | warning | info | style | ignore | none) +format: string # Output format (tty | json | checkstyle | codeclimate | gitlab_codeclimate | gnu | codacy) +ignored: [string] # list of rules +label-schema: # See Linting Labels below for specific label-schema details + author: string # Your name + contact: string # email address + created: timestamp # rfc3339 datetime + version: string # semver + documentation: string # url + git-revision: string # hash + license: string # spdx +no-color: boolean # true | false +no-fail: boolean # true | false +override: + error: [string] # list of rules + warning: [string] # list of rules + info: [string] # list of rules + style: [string] # list of rules +strict-labels: boolean # true | false +disable-ignore-pragma: boolean # true | false +trustedRegistries: string | [string] # registry or list of registries +``` + +`hadolint` supports specifying the ignored rules using a configuration +file. The configuration file should be in `yaml` format. This is one +valid configuration file as an example: + +```yaml +ignored: + - DL3000 + - SC1010 +``` + +Additionally, `hadolint` can warn you when images from untrusted +repositories are being used in Dockerfiles, you can append the +`trustedRegistries` keys to the configuration file, as shown below: + +```yaml +ignored: + - DL3000 + - SC1010 + +trustedRegistries: + - docker.io + - my-company.com:5000 + - "*.gcr.io" +``` + +If you want to override the severity of specific rules, you can do that too: + +```yaml +override: + error: + - DL3001 + - DL3002 + warning: + - DL3042 + - DL3033 + info: + - DL3032 + style: + - DL3015 +``` + +`failure-threshold` Exit with failure code only when rules with a +severity above THRESHOLD are violated (Available in v2.6.0+) + +```yaml +failure-threshold: info +override: + warning: + - DL3042 + - DL3033 + info: + - DL3032 +``` + +Additionally, you can pass a custom configuration file in the command line with +the `--config` option + +```bash +hadolint --config /path/to/config.yaml Dockerfile +``` + +To pass a custom configuration file (using relative or absolute path) to +a container, use the following command: + +```bash +docker run --rm -i -v /your/path/to/hadolint.yaml:/.config/hadolint.yaml hadolint/hadolint < Dockerfile +# OR +docker run --rm -i -v /your/path/to/hadolint.yaml:/.config/hadolint.yaml ghcr.io/hadolint/hadolint < Dockerfile +``` + +In addition to config files, Hadolint can be configured with environment +variables. + +```bash +NO_COLOR=1 # Set or unset. See https://no-color.org +HADOLINT_NOFAIL=1 # Truthy value e.g. 1, true or yes +HADOLINT_VERBOSE=1 # Truthy value e.g. 1, true or yes +HADOLINT_FORMAT=json # Output format (tty | json | checkstyle | codeclimate | gitlab_codeclimate | gnu | codacy | sarif ) +HADOLINT_FAILURE_THRESHOLD=info # threshold level (error | warning | info | style | ignore | none) +HADOLINT_OVERRIDE_ERROR=DL3010,DL3020 # comma separated list of rule codes +HADOLINT_OVERRIDE_WARNING=DL3010,DL3020 # comma separated list of rule codes +HADOLINT_OVERRIDE_INFO=DL3010,DL3020 # comma separated list of rule codes +HADOLINT_OVERRIDE_STYLE=DL3010,DL3020 # comma separated list of rule codes +HADOLINT_IGNORE=DL3010,DL3020 # comma separated list of rule codes +HADOLINT_STRICT_LABELS=1 # Truthy value e.g. 1, true or yes +HADOLINT_DISABLE_IGNORE_PRAGMA=1 # Truthy value e.g. 1, true or yes +HADOLINT_TRUSTED_REGISTRIES=docker.io # comma separated list of registry urls +HADOLINT_REQUIRE_LABELS=maintainer:text # comma separated list of label schema items +``` + +## Non-Posix Shells + +When using base images with non-posix shells as default (e.g. Windows based +images) a special pragma `hadolint shell` can specify which shell the base image +uses, so that Hadolint can automatically ignore all shell-specific rules. + +```Dockerfile +FROM mcr.microsoft.com/windows/servercore:ltsc2022 +# hadolint shell=powershell +RUN Get-Process notepad | Stop-Process +``` + +## Ignoring Rules + +### Inline ignores + +It is also possible to ignore rules by adding a special comment directly +above the Dockerfile statement for which you want to make an exception for. +Such comments look like +`# hadolint ignore=DL3001,SC1081`. For example: + +```dockerfile +# hadolint ignore=DL3006 +FROM ubuntu + +# hadolint ignore=DL3003,SC1035 +RUN cd /tmp && echo "hello!" +``` + +The comment "inline ignores" applies only to the statement following it. + +### Global ignores + +Rules can also be ignored on a per-file basis using the global ignore pragma. +It works just like inline ignores, except that it applies to the whole file +instead of just the next line. + +```dockerfile +# hadolint global ignore=DL3003,DL3006,SC1035 +FROM ubuntu + +RUN cd /tmp && echo "foo" +``` + +## Linting Labels + +Hadolint is able to check if specific labels are present and conform +to a predefined label schema. +First, a label schema must be defined either via the command line: + +```bash +hadolint --require-label author:text --require-label version:semver Dockerfile +``` + +or via the config file: + +```yaml +label-schema: + author: text + contact: email + created: rfc3339 + version: semver + documentation: url + git-revision: hash + license: spdx +``` + +The value of a label can be either of `text`, `url`, `semver`, `hash` or +`rfc3339`: + +| Schema | Description | +|:--------|:---------------------------------------------------| +| text | Anything | +| rfc3339 | A time, formatted according to [RFC 3339][rfc3339] | +| semver | A [semantic version][semver] | +| url | A URI as described in [RFC 3986][rfc3986] | +| hash | Either a short or a long [Git hash][githash] | +| spdx | An [SPDX license identifier][spdxid] | +| email | An email address conforming to [RFC 5322][rfc5322] | + +By default, Hadolint ignores any label that is not specified in the label schema. To +warn against such additional labels, turn on strict labels, using the command line: + +```bash +hadolint --strict-labels --require-label version:semver Dockerfile +``` + +or the config file: + +```yaml +strict-labels: true +``` + +When strict labels is enabled, but no label schema is specified, `hadolint` +will warn if any label is present. + +### Note on dealing with variables in labels + +It is a common pattern to fill the value of a label not statically, but rather +dynamically at build time by using a variable: + +```dockerfile +FROM debian:buster +ARG VERSION="du-jour" +LABEL version="${VERSION}" +``` + +To allow this, the label schema must specify `text` as value for that label: + +```yaml +label-schema: + version: text +``` + +## Integrations + +To get most of `hadolint`, it is useful to integrate it as a check in your CI +or into your editor, or as a pre-commit hook, to lint your `Dockerfile` as you +write it. See our [Integration][] docs. + +- [Code Review Platform Integrations][] +- [Continuous Integrations][] +- [Editor Integrations][] +- [Version Control Integrations][] + +## Rules + +An incomplete list of implemented rules. Click on the error code to get more +detailed information. + +- Rules with the prefix `DL` are from `hadolint`. Have a look at + `Rules.hs` to find the implementation of the rules. + +- Rules with the `SC` prefix are from **ShellCheck** (only the most + common rules are listed, there are dozens more). + +Please [create an issue][] if you have an idea for a good rule. + + + +| Rule | Default Severity | Description | +|:-------------------------------------------------------------|:-----------------| :-------------------------------------------------------------------------------------------------------------------------------------------------- | +| [DL1001](https://github.com/hadolint/hadolint/wiki/DL1001) | Ignore | Please refrain from using inline ignore pragmas `# hadolint ignore=DLxxxx`. | +| [DL3000](https://github.com/hadolint/hadolint/wiki/DL3000) | Error | Use absolute WORKDIR. | +| [DL3001](https://github.com/hadolint/hadolint/wiki/DL3001) | Info | For some bash commands it makes no sense running them in a Docker container like ssh, vim, shutdown, service, ps, free, top, kill, mount, ifconfig. | +| [DL3002](https://github.com/hadolint/hadolint/wiki/DL3002) | Warning | Last user should not be root. | +| [DL3003](https://github.com/hadolint/hadolint/wiki/DL3003) | Warning | Use WORKDIR to switch to a directory. | +| [DL3004](https://github.com/hadolint/hadolint/wiki/DL3004) | Error | Do not use sudo as it leads to unpredictable behavior. Use a tool like gosu to enforce root. | +| [DL3006](https://github.com/hadolint/hadolint/wiki/DL3006) | Warning | Always tag the version of an image explicitly. | +| [DL3007](https://github.com/hadolint/hadolint/wiki/DL3007) | Warning | Using latest is prone to errors if the image will ever update. Pin the version explicitly to a release tag. | +| [DL3008](https://github.com/hadolint/hadolint/wiki/DL3008) | Warning | Pin versions in `apt-get install`. | +| [DL3009](https://github.com/hadolint/hadolint/wiki/DL3009) | Info | Delete the apt-get lists after installing something. | +| [DL3010](https://github.com/hadolint/hadolint/wiki/DL3010) | Info | Use ADD for extracting archives into an image. | +| [DL3011](https://github.com/hadolint/hadolint/wiki/DL3011) | Error | Valid UNIX ports range from 0 to 65535. | +| [DL3012](https://github.com/hadolint/hadolint/wiki/DL3012) | Error | Multiple `HEALTHCHECK` instructions. | +| [DL3013](https://github.com/hadolint/hadolint/wiki/DL3013) | Warning | Pin versions in pip. | +| [DL3014](https://github.com/hadolint/hadolint/wiki/DL3014) | Warning | Use the `-y` switch. | +| [DL3015](https://github.com/hadolint/hadolint/wiki/DL3015) | Info | Avoid additional packages by specifying `--no-install-recommends`. | +| [DL3016](https://github.com/hadolint/hadolint/wiki/DL3016) | Warning | Pin versions in `npm`. | +| [DL3018](https://github.com/hadolint/hadolint/wiki/DL3018) | Warning | Pin versions in `apk add`. Instead of `apk add ` use `apk add =`. | +| [DL3019](https://github.com/hadolint/hadolint/wiki/DL3019) | Info | Use the `--no-cache` switch to avoid the need to use `--update` and remove `/var/cache/apk/*` when done installing packages. | +| [DL3020](https://github.com/hadolint/hadolint/wiki/DL3020) | Error | Use `COPY` instead of `ADD` for files and folders. | +| [DL3021](https://github.com/hadolint/hadolint/wiki/DL3021) | Error | `COPY` with more than 2 arguments requires the last argument to end with `/` | +| [DL3022](https://github.com/hadolint/hadolint/wiki/DL3022) | Warning | `COPY --from` should reference a previously defined `FROM` alias | +| [DL3023](https://github.com/hadolint/hadolint/wiki/DL3023) | Error | `COPY --from` cannot reference its own `FROM` alias | +| [DL3024](https://github.com/hadolint/hadolint/wiki/DL3024) | Error | `FROM` aliases (stage names) must be unique | +| [DL3025](https://github.com/hadolint/hadolint/wiki/DL3025) | Warning | Use arguments JSON notation for CMD and ENTRYPOINT arguments | +| [DL3026](https://github.com/hadolint/hadolint/wiki/DL3026) | Error | Use only an allowed registry in the `FROM image` | +| [DL3027](https://github.com/hadolint/hadolint/wiki/DL3027) | Warning | Do not use `apt` as it is meant to be an end-user tool, use `apt-get` or `apt-cache` instead | +| [DL3028](https://github.com/hadolint/hadolint/wiki/DL3028) | Warning | Pin versions in gem install. Instead of `gem install ` use `gem install :` | +| [DL3029](https://github.com/hadolint/hadolint/wiki/DL3029) | Warning | Do not use --platform flag with FROM. | +| [DL3030](https://github.com/hadolint/hadolint/wiki/DL3030) | Warning | Use the `-y` switch to avoid manual input `yum install -y ` | +| [DL3032](https://github.com/hadolint/hadolint/wiki/DL3032) | Warning | `yum clean all` missing after yum command. | +| [DL3033](https://github.com/hadolint/hadolint/wiki/DL3033) | Warning | Specify version with `yum install -y -` | +| [DL3034](https://github.com/hadolint/hadolint/wiki/DL3034) | Warning | Non-interactive switch missing from `zypper` command: `zypper install -y` | +| [DL3035](https://github.com/hadolint/hadolint/wiki/DL3035) | Warning | Do not use `zypper dist-upgrade`. | +| [DL3036](https://github.com/hadolint/hadolint/wiki/DL3036) | Warning | `zypper clean` missing after zypper use. | +| [DL3037](https://github.com/hadolint/hadolint/wiki/DL3037) | Warning | Specify version with `zypper install -y [=]`. | +| [DL3038](https://github.com/hadolint/hadolint/wiki/DL3038) | Warning | Use the `-y` switch to avoid manual input `dnf install -y ` | +| [DL3040](https://github.com/hadolint/hadolint/wiki/DL3040) | Warning | `dnf clean all` missing after dnf command. | +| [DL3041](https://github.com/hadolint/hadolint/wiki/DL3041) | Warning | Specify version with `dnf install -y -` | +| [DL3042](https://github.com/hadolint/hadolint/wiki/DL3042) | Warning | Avoid cache directory with `pip install --no-cache-dir `. | +| [DL3043](https://github.com/hadolint/hadolint/wiki/DL3043) | Error | `ONBUILD`, `FROM` or `MAINTAINER` triggered from within `ONBUILD` instruction. | +| [DL3044](https://github.com/hadolint/hadolint/wiki/DL3044) | Error | Do not refer to an environment variable within the same `ENV` statement where it is defined. | +| [DL3045](https://github.com/hadolint/hadolint/wiki/DL3045) | Warning | `COPY` to a relative destination without `WORKDIR` set. | +| [DL3046](https://github.com/hadolint/hadolint/wiki/DL3046) | Warning | `useradd` without flag `-l` and high UID will result in excessively large Image. | +| [DL3047](https://github.com/hadolint/hadolint/wiki/DL3047) | Info | `wget` without flag `--progress` will result in excessively bloated build logs when downloading larger files. | +| [DL3048](https://github.com/hadolint/hadolint/wiki/DL3048) | Style | Invalid Label Key | +| [DL3049](https://github.com/hadolint/hadolint/wiki/DL3049) | Info | Label `