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  ```