github.com/pachyderm/pachyderm@v1.13.4/doc/docs/1.9.x/contributing/repo-layout.md (about) 1 # Repo layout 2 3 Following is a layout of the various directories that make up the pachyderm 4 repo, and their purpose. 5 6 ``` 7 build 8 debian 9 doc - documentation used on readthedocs 10 ├── pachctl - cobra auto-generated docs on command-line usage 11 etc - everything else 12 ├── build - scripts for building releases 13 ├── compatibility - contains mappings of pachyderm versions to the dash versions they're compatible with 14 ├── compile - scripts to facilitate compiling and building docker images 15 ├── contributing - contains helper scripts/assets for contributors 16 ├── deploy - scripts/assets for pachyderm deployments 17 │ ├── cloudfront 18 │ ├── gpu - scripts to help enable GPU resources on k8s/pachyderm 19 │ └── tracing - k8s manifests for enabling Jaeger tracing of pachyderm 20 ├── initdev - scripts to stand up a vagrant environment for pachyderm 21 ├── kube - internal scripts for working with k8s 22 ├── kubernetes-kafka 23 ├── kubernetes-prometheus 24 ├── netcat 25 ├── plugin 26 │ ├── logging 27 │ └── monitoring 28 ├── proto - scripts for compiling protobufs 29 ├── testing - scripts/assets used for testing 30 │ ├── artifacts - static assets used in testing/mocking 31 │ ├── deploy - scripts to assist in deploying pachyderm on various cloud providers 32 │ ├── entrypoint 33 │ ├── migration - sample data used in testing pachyderm migrations 34 │ ├── s3gateway - scripts for running conformance tests on the s3gateway 35 │ └── vault-s3-client 36 ├── user-job 37 └── worker 38 examples - example projects; see readme for details of each one 39 src - source code 40 ├── client - contains protobufs and the source code for pachyderm's go client 41 │ ├── admin - admin-related functionality 42 │ │ └── 1_7 - old, v1.7-compatible protobufs 43 │ ├── auth - auth-related functionality 44 │ ├── debug - debug-related functionality 45 │ ├── deploy - deployment-related functionality 46 │ ├── enterprise - enterprise-related functionality 47 │ ├── health - health check-related functionality 48 │ ├── limit - limit-related functionality 49 │ ├── pfs - PFS-related functionality 50 │ ├── pkg - utility packages 51 │ │ ├── config - pachyderm config file reading/writing 52 │ │ ├── discovery 53 │ │ ├── grpcutil - utilities for working with gRPC clients/servers 54 │ │ ├── pbutil - utilities for working with protobufs 55 │ │ ├── require - utilities for making unit tests terser 56 │ │ ├── shard 57 │ │ └── tracing - facilitates pachyderm cluster Jaeger tracing 58 │ ├── pps - PPS-related functionality 59 │ └── version - version check-related functionality 60 ├── plugin 61 │ └── vault 62 │ ├── etc 63 │ ├── pachyderm 64 │ ├── pachyderm-plugin 65 │ └── vendor - vendored libraries for the vault plugin 66 ├── server - contains server-side logic and CLI 67 │ ├── admin - cluster admin functionality 68 │ │ ├── cmds - cluster admin CLI 69 │ │ └── server - cluster admin server 70 │ ├── auth - auth functionality 71 │ │ ├── cmds - auth CLI 72 │ │ ├── server - auth server 73 │ │ └── testing - a mock auth server used for testing 74 │ ├── cmd - contains the various pachyderm entrypoints 75 │ │ ├── pachctl - the CLI entrypoint 76 │ │ ├── pachctl-doc - helps generate docs for the CLI 77 │ │ ├── pachd - the server entrypoint 78 │ │ └── worker - the worker entrypoint 79 │ ├── debug - debug functionality 80 │ │ ├── cmds - debug CLI 81 │ │ └── server - debug server 82 │ ├── deploy - storage secret deployment server 83 │ ├── enterprise - enterprise functionality 84 │ │ ├── cmds - enterprise CLI 85 │ │ └── server - enterprise server 86 │ ├── health - health check server 87 │ ├── http - PFS-over-HTTP server, used by the dash to serve PFS content 88 │ ├── pfs - PFS functionality 89 │ │ ├── cmds - PFS CLI 90 │ │ ├── fuse - support mounting PFS repos via FUSE 91 │ │ ├── pretty - pretty-printing of PFS metadata in the CLI 92 │ │ ├── s3 - the s3gateway, an s3-like HTTP API for serving PFS content 93 │ │ └── server - PFS server 94 │ ├── pkg - utility packages 95 │ │ ├── ancestry - parses git ancestry reference strings 96 │ │ ├── backoff - backoff algorithms for retrying operations 97 │ │ ├── cache - a gRPC server for serving cached content 98 │ │ ├── cert - functionality for generating x509 certificates 99 │ │ ├── cmdutil - functionality for helping creating CLIs 100 │ │ ├── collection - etcd collection management 101 │ │ ├── dag - a simple in-memory directed acyclic graph data structure 102 │ │ ├── deploy - functionality for deploying pachyderm 103 │ │ │ ├── assets - generates k8s manifests and other assets used in deployment 104 │ │ │ ├── cmds - deployment CLI 105 │ │ │ └── images - handling of docker images 106 │ │ ├── dlock - distributed lock on etcd 107 │ │ ├── errutil - utility functions for error handling 108 │ │ ├── exec - utilities for running external commands 109 │ │ ├── hashtree - a Merkle tree library 110 │ │ ├── lease - utility for managing resources with expirable leases 111 │ │ ├── localcache - a concurrency-safe local disk cache 112 │ │ ├── log - logging utilities 113 │ │ ├── metrics - cluster metrics service using segment.io 114 │ │ ├── migration 115 │ │ ├── netutil - networking utilities 116 │ │ ├── obj - tools for working with various object stores (e.g. S3) 117 │ │ ├── pfsdb - the etcd database schema that PFS uses 118 │ │ ├── pool - gRPC connection pooling 119 │ │ ├── ppsconsts - PPS-related constants 120 │ │ ├── ppsdb - the etcd database schema that PPS uses 121 │ │ ├── ppsutil - PPS-related utility functions 122 │ │ ├── pretty - function for pretty printing values 123 │ │ ├── serviceenv - management of connections to pach services 124 │ │ ├── sql - tools for working with postgres database dumps 125 │ │ ├── sync - tools for syncing PFS content 126 │ │ ├── tabwriter - tool for writing tab-delimited content 127 │ │ ├── testutil - test-related utilities 128 │ │ ├── uuid - UUID generation 129 │ │ ├── watch - tool for watching etcd databases for changes 130 │ │ └── workload 131 │ ├── pps - PPS functionality 132 │ │ ├── cmds - - PPS CLI 133 │ │ ├── example - example PPS requests 134 │ │ ├── pretty - pretty printing of PPS output to the CLI 135 │ │ └── server - PPS server 136 │ │ └── githook - support for github PPS sources 137 │ ├── vendor - vendored packages 138 │ └── worker - pachd master and sidecar 139 └── testing - testing tools 140 ├── loadtest - load tests for pachyderm 141 │ └── split - stress tests of PFS merge functionality 142 ├── match - a grep-like tool used in testing 143 ├── saml-idp 144 └── vendor - vendored packages 145 ```