apiVersion: v1
data:
  storage.jsonnet: |
    local common = import 'common.libsonnet';
    {
      blobstore: {
        contentAddressableStorage: {
          'local': {
            keyLocationMapOnBlockDevice: {
              file: {
                path: '/cas/key_location_map',
                sizeBytes: 10 * 768 * 1024 * 1024,
              },
            },
            keyLocationMapMaximumGetAttempts: 8,
            keyLocationMapMaximumPutAttempts: 32,
            oldBlocks: 8,
            currentBlocks: 24,
            newBlocks: 3,
            blocksOnBlockDevice: {
              source: {
                file: {
                  path: '/cas/blocks',
                  sizeBytes: 10 * 10 * 1024 * 1024 * 1024,
                },
              },
              spareBlocks: 3,
            },
            persistent: {
              stateDirectoryPath: '/cas/persistent_state',
              minimumEpochInterval: '300s',
            },
          },
        },
        actionCache: {
          'local': {
            keyLocationMapOnBlockDevice: {
              file: {
                path: '/ac/key_location_map',
                sizeBytes: 10 * 128 * 1024 * 1024,
              },
            },
            keyLocationMapMaximumGetAttempts: 8,
            keyLocationMapMaximumPutAttempts: 32,
            oldBlocks: 8,
            currentBlocks: 24,
            newBlocks: 1,
            blocksOnBlockDevice: {
              source: {
                file: {
                  path: '/ac/blocks',
                  sizeBytes: 10 * 768 * 1024 * 1024,
                },
              },
              spareBlocks: 3,
            },
            persistent: {
              stateDirectoryPath: '/ac/persistent_state',
              minimumEpochInterval: '300s',
            },
          },
        },
      },
      global: common.global,
      grpcServers: [{
        listenAddresses: [':8981'],
        authenticationPolicy: { allow: {} },
      }],
      contentAddressableStorageAuthorizers: {
        get: { allow: {} },
        put: { allow: {} },
        findMissing: { allow: {} },
      },
      actionCacheAuthorizers: {
        get: { allow: {} },
        put: { allow: {} },
      },
      maximumMessageSizeBytes: common.maximumMessageSizeBytes,
    }
kind: ConfigMap
metadata:
  name: storage
  namespace: buildbarn
