<p>How can I add a custom <code>config.json</code> and add a custom style <code>/styles/custom.json</code> to tileserver-gl using Kubernetes? Here is what I have so far for my kubernetes manifest file. Tileserver-gl is up and running fine but I do not see my custom theme that I defined. It does not look like my custom config.json file is being applied. Is using <code>configMap</code> and <code>volumeMounts</code> the right approach?</p>

<pre><code>apiVersion: apps/v1
kind: Deployment
metadata:
  name: map-tile-server
  namespace: test
  labels:
    app: map-tile-server
spec:
  replicas: 1
  selector:
    matchLabels:
      app: map-tile-server
  template:
    metadata:
      namespace: test
      labels:
        app: map-tile-server
    spec:
      containers:
        - name: map-tile-server
          image: klokantech/tileserver-gl:v2.6.0          
          ports:
            - containerPort: 8080
              name: http
          volumeMounts:
            - name: "map-tile-server-config"
              mountPath: "/config.json"
            - name: "map-tile-server-style-config"
              mountPath: "/styles/custom.json"
          resources:
            limits:
              memory: "256Mi"
              cpu: "1"
      volumes:
        - name: "map-tile-server-config"
          configMap:
            name: "map-tile-server-config"
        - name: "map-tile-server-style-config"
          configMap:
            name: "map-tile-server-style-config"
---
apiVersion: v1
kind: ConfigMap
data:
  config.json: "{ \"options\": { \"paths\": { \"root\": \"\", \"fonts\": \"\", \"styles\": \"styles\", \"mbtiles\": \"data\" }, \"serveStaticMaps\": true, \"formatQuality\": { \"jpeg\": 90, \"webp\": 90 }, \"maxSize\": 8192, \"pbfAlias\": \"pbf\" }, \"styles\": { \"custom\": { \"style\": \"custom.json\", \"tilejson\": { \"bounds\": [-180, -90, 180, 90] } } }, \"data\": { \"v3\": { \"mbtiles\": \"zurich.mbtiles\" } } }"
metadata:
  name: map-tile-server-config
  namespace: test
---
apiVersion: v1
kind: ConfigMap
data:
  custom.json: "{ \"version\": 8, \"name\": \"Custom\",  \"metadata\": { \"mapbox:autocomposite\": false, \"mapbox:type\": \"template\", \"maputnik:renderer\": \"mbgljs\", \"openmaptiles:version\": \"3.x\", \"openmaptiles:mapbox:owner\": \"openmaptiles\", \"openmaptiles:mapbox:source:url\": \"mapbox://openmaptiles.4qljc88t\"  },  \"sources\": {\"openmaptiles\": {\"type\": \"vector\", \"url\": \"mbtiles://{v3}\"}},  \"sprite\": \"\",  \"glyphs\": \"{fontstack}/{range}.pbf\",  \"layers\": [ {\"id\": \"background\",\"type\": \"background\",\"layout\": {\"visibility\": \"visible\"},\"paint\": {\"background-color\": \"rgba(49, 52, 56, 1)\"} }, {\"id\": \"landuse-residential\",\"type\": \"fill\",\"source\": \"openmaptiles\",\"source-layer\": \"landuse\",\"filter\": [  \"all\",  [\"==\", \"$type\", \"Polygon\"],  [\"in\", \"class\", \"residential\", \"suburb\", \"neighbourhood\"]],\"layout\": {\"visibility\": \"none\"},\"paint\": {\"fill-color\": \"hsl(47, 13%, 86%)\", \"fill-opacity\": 0.7} }, {\"id\": \"landcover_grass\",\"type\": \"fill\",\"source\": \"openmaptiles\",\"source-layer\": \"landcover\",\"filter\": [\"==\", \"class\", \"grass\"],\"layout\": {\"visibility\": \"none\"},\"paint\": {\"fill-color\": \"hsl(82, 46%, 72%)\", \"fill-opacity\": 0.45} }, {\"id\": \"landcover_wood\",\"type\": \"fill\",\"source\": \"openmaptiles\",\"source-layer\": \"landcover\",\"filter\": [\"==\", \"class\", \"wood\"],\"layout\": {\"visibility\": \"none\"},\"paint\": {  \"fill-color\": \"hsl(82, 46%, 72%)\",  \"fill-opacity\": {\"base\": 1, \"stops\": [[8, 0.6], [22, 1]]}} }, {\"id\": \"water\",\"type\": \"fill\",\"source\": \"openmaptiles\",\"source-layer\": \"water\",\"filter\": [\"all\", [\"==\", \"$type\", \"Polygon\"], [\"!=\", \"intermittent\", 1]],\"layout\": {\"visibility\": \"visible\"},\"paint\": {\"fill-color\": \"rgba(34, 35, 40, 1)\"} }, {\"id\": \"water_intermittent\",\"type\": \"fill\",\"source\": \"openmaptiles\",\"source-layer\": \"water\",\"filter\": [\"all\", [\"==\", \"$type\", \"Polygon\"], [\"==\", \"intermittent\", 1]],\"layout\": {\"visibility\": \"none\"},\"paint\": {\"fill-color\": \"hsl(205, 56%, 73%)\", \"fill-opacity\": 0.7} }, {\"id\": \"landcover-ice-shelf\",\"type\": \"fill\",\"source\": \"openmaptiles\",\"source-layer\": \"landcover\",\"filter\": [\"==\", \"subclass\", \"ice_shelf\"],\"layout\": {\"visibility\": \"none\"},\"paint\": {\"fill-color\": \"hsl(47, 26%, 88%)\", \"fill-opacity\": 0.8} }, {\"id\": \"landcover-glacier\",\"type\": \"fill\",\"source\": \"openmaptiles\",\"source-layer\": \"landcover\",\"filter\": [\"==\", \"subclass\", \"glacier\"],\"layout\": {\"visibility\": \"none\"},\"paint\": {  \"fill-color\": \"hsl(47, 22%, 94%)\",  \"fill-opacity\": {\"base\": 1, \"stops\": [[0, 1], [8, 0.5]]}} }, {\"id\": \"landcover_sand\",\"type\": \"fill\",\"metadata\": {},\"source\": \"openmaptiles\",\"source-layer\": \"landcover\",\"filter\": [\"all\", [\"in\", \"class\", \"sand\"]],\"layout\": {\"visibility\": \"none\"},\"paint\": {  \"fill-antialias\": false,  \"fill-color\": \"rgba(232, 214, 38, 1)\",  \"fill-opacity\": 0.3} }, {\"id\": \"landuse\",\"type\": \"fill\",\"source\": \"openmaptiles\",\"source-layer\": \"landuse\",\"filter\": [\"==\", \"class\", \"agriculture\"],\"layout\": {\"visibility\": \"none\"},\"paint\": {\"fill-color\": \"#eae0d0\"} }, {\"id\": \"landuse_overlay_national_park\",\"type\": \"fill\",\"source\": \"openmaptiles\",\"source-layer\": \"landcover\",\"filter\": [\"==\", \"class\", \"national_park\"],\"layout\": {\"visibility\": \"none\"},\"paint\": {  \"fill-color\": \"#E1EBB0\",  \"fill-opacity\": {\"base\": 1, \"stops\": [[5, 0], [9, 0.75]]}} }, {\"id\": \"waterway-tunnel\",\"type\": \"line\",\"source\": \"openmaptiles\",\"source-layer\": \"waterway\",\"filter\": [  \"all\",  [\"==\", \"$type\", \"LineString\"],  [\"==\", \"brunnel\", \"tunnel\"]],\"layout\": {\"visibility\": \"none\"},\"paint\": {  \"line-color\": \"hsl(205, 56%, 73%)\",  \"line-dasharray\": [3, 3],  \"line-gap-width\": {\"stops\": [[12, 0], [20, 6]]},  \"line-opacity\": 1,  \"line-width\": {\"base\": 1.4, \"stops\": [[8, 1], [20, 2]]}} }, {\"id\": \"waterway\",\"type\": \"line\",\"source\": \"openmaptiles\",\"source-layer\": \"waterway\",\"filter\": [  \"all\",  [\"==\", \"$type\", \"LineString\"],  [\"!in\", \"brunnel\", \"tunnel\", \"bridge\"],  [\"!=\", \"intermittent\", 1]],\"layout\": {\"visibility\": \"none\"},\"paint\": {  \"line-color\": \"hsl(205, 56%, 73%)\",  \"line-opacity\": 1,  \"line-width\": {\"base\": 1.4, \"stops\": [[8, 1], [20, 8]]}} }, {\"id\": \"waterway_intermittent\",\"type\": \"line\",\"source\": \"openmaptiles\",\"source-layer\": \"waterway\",\"filter\": [  \"all\",  [\"==\", \"$type\", \"LineString\"],  [\"!in\", \"brunnel\", \"tunnel\", \"bridge\"],  [\"==\", \"intermittent\", 1]],\"layout\": {\"visibility\": \"none\"},\"paint\": {  \"line-color\": \"hsl(205, 56%, 73%)\",  \"line-opacity\": 1,  \"line-width\": {\"base\": 1.4, \"stops\": [[8, 1], [20, 8]]},  \"line-dasharray\": [2, 1]} }, {\"id\": \"tunnel_railway_transit\",\"type\": \"line\",\"source\": \"openmaptiles\",\"source-layer\": \"transportation\",\"minzoom\": 0,\"filter\": [  \"all\",  [\"==\", \"$type\", \"LineString\"],  [\"==\", \"brunnel\", \"tunnel\"],  [\"==\", \"class\", \"transit\"]],\"layout\": {  \"line-cap\": \"butt\",  \"line-join\": \"miter\",  \"visibility\": \"none\"},\"paint\": {  \"line-color\": \"hsl(34, 12%, 66%)\",  \"line-dasharray\": [3, 3],  \"line-opacity\": {\"base\": 1, \"stops\": [[11, 0], [16, 1]]}} }, {\"id\": \"building\",\"type\": \"fill\",\"source\": \"openmaptiles\",\"source-layer\": \"building\",\"layout\": {\"visibility\": \"none\"},\"paint\": {  \"fill-antialias\": true,  \"fill-color\": \"rgba(222, 211, 190, 1)\",  \"fill-opacity\": {\"base\": 1, \"stops\": [[13, 0], [15, 1]]},  \"fill-outline-color\": { \"stops\": [[15, \"rgba(212, 177, 146, 0)\"],[16, \"rgba(212, 177, 146, 0.5)\"] ]  }} }, {\"id\": \"housenumber\",\"type\": \"symbol\",\"source\": \"openmaptiles\",\"source-layer\": \"housenumber\",\"minzoom\": 17,\"filter\": [\"==\", \"$type\", \"Point\"],\"layout\": {  \"text-field\": \"{housenumber}\",  \"text-font\": [\"Noto Sans Regular\"],  \"text-size\": 10,  \"visibility\": \"none\"},\"paint\": {\"text-color\": \"rgba(212, 177, 146, 1)\"} }, {\"id\": \"road_area_pier\",\"type\": \"fill\",\"metadata\": {},\"source\": \"openmaptiles\",\"source-layer\": \"transportation\",\"filter\": [\"all\", [\"==\", \"$type\", \"Polygon\"], [\"==\", \"class\", \"pier\"]],\"layout\": {\"visibility\": \"none\"},\"paint\": {\"fill-color\": \"hsl(47, 26%, 88%)\", \"fill-antialias\": true} }, {\"id\": \"road_pier\",\"type\": \"line\",\"metadata\": {},\"source\": \"openmaptiles\",\"source-layer\": \"transportation\",\"filter\": [\"all\", [\"==\", \"$type\", \"LineString\"], [\"in\", \"class\", \"pier\"]],\"layout\": {  \"line-cap\": \"round\",  \"line-join\": \"round\",  \"visibility\": \"none\"},\"paint\": {  \"line-color\": \"hsl(47, 26%, 88%)\",  \"line-width\": {\"base\": 1.2, \"stops\": [[15, 1], [17, 4]]}} }, {\"id\": \"road_bridge_area\",\"type\": \"fill\",\"source\": \"openmaptiles\",\"source-layer\": \"transportation\",\"filter\": [  \"all\",  [\"==\", \"$type\", \"Polygon\"],  [\"in\", \"brunnel\", \"bridge\"]],\"layout\": {\"visibility\": \"none\"},\"paint\": {\"fill-color\": \"hsl(47, 26%, 88%)\", \"fill-opacity\": 0.5} }, {\"id\": \"road_path\",\"type\": \"line\",\"source\": \"openmaptiles\",\"source-layer\": \"transportation\",\"filter\": [  \"all\",  [\"==\", \"$type\", \"LineString\"],  [\"in\", \"class\", \"path\", \"track\"]],\"layout\": {  \"line-cap\": \"square\",  \"line-join\": \"bevel\",  \"visibility\": \"none\"},\"paint\": {  \"line-color\": \"hsl(0, 0%, 97%)\",  \"line-dasharray\": [1, 1],  \"line-width\": {\"base\": 1.55, \"stops\": [[4, 0.25], [20, 10]]}} }, {\"id\": \"road_minor\",\"type\": \"line\",\"source\": \"openmaptiles\",\"source-layer\": \"transportation\",\"minzoom\": 13,\"filter\": [  \"all\",  [\"==\", \"$type\", \"LineString\"],  [\"in\", \"class\", \"minor\", \"service\"]],\"layout\": {  \"line-cap\": \"round\",  \"line-join\": \"round\",  \"visibility\": \"none\"},\"paint\": {  \"line-color\": \"hsl(0, 0%, 97%)\",  \"line-width\": {\"base\": 1.55, \"stops\": [[4, 0.25], [20, 30]]}} }, {\"id\": \"tunnel_minor\",\"type\": \"line\",\"source\": \"openmaptiles\",\"source-layer\": \"transportation\",\"filter\": [  \"all\",  [\"==\", \"$type\", \"LineString\"],  [\"==\", \"brunnel\", \"tunnel\"],  [\"==\", \"class\", \"minor_road\"]],\"layout\": {  \"line-cap\": \"butt\",  \"line-join\": \"miter\",  \"visibility\": \"none\"},\"paint\": {  \"line-color\": \"#efefef\",  \"line-dasharray\": [0.36, 0.18],  \"line-width\": {\"base\": 1.55, \"stops\": [[4, 0.25], [20, 30]]}} }, {\"id\": \"tunnel_major\",\"type\": \"line\",\"source\": \"openmaptiles\",\"source-layer\": \"transportation\",\"filter\": [  \"all\",  [\"==\", \"$type\", \"LineString\"],  [\"==\", \"brunnel\", \"tunnel\"],  [\"in\", \"class\", \"primary\", \"secondary\", \"tertiary\", \"trunk\"]],\"layout\": {  \"line-cap\": \"butt\",  \"line-join\": \"miter\",  \"visibility\": \"none\"},\"paint\": {  \"line-color\": \"#fff\",  \"line-dasharray\": [0.28, 0.14],  \"line-width\": {\"base\": 1.4, \"stops\": [[6, 0.5], [20, 30]]}} }, {\"id\": \"aeroway-area\",\"type\": \"fill\",\"metadata\": {\"mapbox:group\": \"1444849345966.4436\"},\"source\": \"openmaptiles\",\"source-layer\": \"aeroway\",\"minzoom\": 4,\"filter\": [  \"all\",  [\"==\", \"$type\", \"Polygon\"],  [\"in\", \"class\", \"runway\", \"taxiway\"]],\"layout\": {\"visibility\": \"none\"},\"paint\": {  \"fill-color\": \"rgba(255, 255, 255, 1)\",  \"fill-opacity\": {\"base\": 1, \"stops\": [[13, 0], [14, 1]]}} }, {\"id\": \"aeroway-taxiway\",\"type\": \"line\",\"metadata\": {\"mapbox:group\": \"1444849345966.4436\"},\"source\": \"openmaptiles\",\"source-layer\": \"aeroway\",\"minzoom\": 12,\"filter\": [  \"all\",  [\"in\", \"class\", \"taxiway\"],  [\"==\", \"$type\", \"LineString\"]],\"layout\": {  \"line-cap\": \"round\",  \"line-join\": \"round\",  \"visibility\": \"none\"},\"paint\": {  \"line-color\": \"rgba(255, 255, 255, 1)\",  \"line-opacity\": 1,  \"line-width\": {\"base\": 1.5, \"stops\": [[12, 1], [17, 10]]}} }, {\"id\": \"aeroway-runway\",\"type\": \"line\",\"metadata\": {\"mapbox:group\": \"1444849345966.4436\"},\"source\": \"openmaptiles\",\"source-layer\": \"aeroway\",\"minzoom\": 4,\"filter\": [  \"all\",  [\"in\", \"class\", \"runway\"],  [\"==\", \"$type\", \"LineString\"]],\"layout\": {  \"line-cap\": \"round\",  \"line-join\": \"round\",  \"visibility\": \"none\"},\"paint\": {  \"line-color\": \"rgba(255, 255, 255, 1)\",  \"line-opacity\": 1,  \"line-width\": {\"base\": 1.5, \"stops\": [[11, 4], [17, 50]]}} }, {\"id\": \"road_trunk_primary\",\"type\": \"line\",\"source\": \"openmaptiles\",\"source-layer\": \"transportation\",\"filter\": [  \"all\",  [\"==\", \"$type\", \"LineString\"],  [\"in\", \"class\", \"trunk\", \"primary\"]],\"layout\": {  \"line-cap\": \"round\",  \"line-join\": \"round\",  \"visibility\": \"none\"},\"paint\": {  \"line-color\": \"#fff\",  \"line-width\": {\"base\": 1.4, \"stops\": [[6, 0.5], [20, 30]]}} }, {\"id\": \"road_secondary_tertiary\",\"type\": \"line\",\"source\": \"openmaptiles\",\"source-layer\": \"transportation\",\"filter\": [  \"all\",  [\"==\", \"$type\", \"LineString\"],  [\"in\", \"class\", \"secondary\", \"tertiary\"]],\"layout\": {  \"line-cap\": \"round\",  \"line-join\": \"round\",  \"visibility\": \"none\"},\"paint\": {  \"line-color\": \"#fff\",  \"line-width\": {\"base\": 1.4, \"stops\": [[6, 0.5], [20, 20]]}} }, {\"id\": \"road_major_motorway\",\"type\": \"line\",\"source\": \"openmaptiles\",\"source-layer\": \"transportation\",\"filter\": [  \"all\",  [\"==\", \"$type\", \"LineString\"],  [\"==\", \"class\", \"motorway\"]],\"layout\": {  \"line-cap\": \"round\",  \"line-join\": \"round\",  \"visibility\": \"none\"},\"paint\": {  \"line-color\": \"hsl(0, 0%, 100%)\",  \"line-offset\": 0,  \"line-width\": {\"base\": 1.4, \"stops\": [[8, 1], [16, 10]]}} }, {\"id\": \"railway-transit\",\"type\": \"line\",\"source\": \"openmaptiles\",\"source-layer\": \"transportation\",\"filter\": [  \"all\",  [\"==\", \"class\", \"transit\"],  [\"!=\", \"brunnel\", \"tunnel\"]],\"layout\": {\"visibility\": \"none\"},\"paint\": {  \"line-color\": \"hsl(34, 12%, 66%)\",  \"line-opacity\": {\"base\": 1, \"stops\": [[11, 0], [16, 1]]}} }, {\"id\": \"railway\",\"type\": \"line\",\"source\": \"openmaptiles\",\"source-layer\": \"transportation\",\"filter\": [\"==\", \"class\", \"rail\"],\"layout\": {\"visibility\": \"none\"},\"paint\": {  \"line-color\": \"hsl(34, 12%, 66%)\",  \"line-opacity\": {\"base\": 1, \"stops\": [[11, 0], [16, 1]]}} }, {\"id\": \"waterway-bridge-case\",\"type\": \"line\",\"source\": \"openmaptiles\",\"source-layer\": \"waterway\",\"filter\": [  \"all\",  [\"==\", \"$type\", \"LineString\"],  [\"==\", \"brunnel\", \"bridge\"]],\"layout\": {  \"line-cap\": \"butt\",  \"line-join\": \"miter\",  \"visibility\": \"none\"},\"paint\": {  \"line-color\": \"#bbbbbb\",  \"line-gap-width\": {\"base\": 1.55, \"stops\": [[4, 0.25], [20, 30]]},  \"line-width\": {\"base\": 1.6, \"stops\": [[12, 0.5], [20, 10]]}} }, {\"id\": \"waterway-bridge\",\"type\": \"line\",\"source\": \"openmaptiles\",\"source-layer\": \"waterway\",\"filter\": [  \"all\",  [\"==\", \"$type\", \"LineString\"],  [\"==\", \"brunnel\", \"bridge\"]],\"layout\": {  \"line-cap\": \"round\",  \"line-join\": \"round\",  \"visibility\": \"none\"},\"paint\": {  \"line-color\": \"hsl(205, 56%, 73%)\",  \"line-width\": {\"base\": 1.55, \"stops\": [[4, 0.25], [20, 30]]}} }, {\"id\": \"bridge_minor case\",\"type\": \"line\",\"source\": \"openmaptiles\",\"source-layer\": \"transportation\",\"filter\": [  \"all\",  [\"==\", \"$type\", \"LineString\"],  [\"==\", \"brunnel\", \"bridge\"],  [\"==\", \"class\", \"minor_road\"]],\"layout\": {  \"line-cap\": \"butt\",  \"line-join\": \"miter\",  \"visibility\": \"none\"},\"paint\": {  \"line-color\": \"#dedede\",  \"line-gap-width\": {\"base\": 1.55, \"stops\": [[4, 0.25], [20, 30]]},  \"line-width\": {\"base\": 1.6, \"stops\": [[12, 0.5], [20, 10]]}} }, {\"id\": \"bridge_major case\",\"type\": \"line\",\"source\": \"openmaptiles\",\"source-layer\": \"transportation\",\"filter\": [  \"all\",  [\"==\", \"$type\", \"LineString\"],  [\"==\", \"brunnel\", \"bridge\"],  [\"in\", \"class\", \"primary\", \"secondary\", \"tertiary\", \"trunk\"]],\"layout\": {  \"line-cap\": \"butt\",  \"line-join\": \"miter\",  \"visibility\": \"none\"},\"paint\": {  \"line-color\": \"#dedede\",  \"line-gap-width\": {\"base\": 1.55, \"stops\": [[4, 0.25], [20, 30]]},  \"line-width\": {\"base\": 1.6, \"stops\": [[12, 0.5], [20, 10]]}} }, {\"id\": \"bridge_minor\",\"type\": \"line\",\"source\": \"openmaptiles\",\"source-layer\": \"transportation\",\"filter\": [  \"all\",  [\"==\", \"$type\", \"LineString\"],  [\"==\", \"brunnel\", \"bridge\"],  [\"==\", \"class\", \"minor_road\"]],\"layout\": {  \"line-cap\": \"round\",  \"line-join\": \"round\",  \"visibility\": \"none\"},\"paint\": {  \"line-color\": \"#efefef\",  \"line-width\": {\"base\": 1.55, \"stops\": [[4, 0.25], [20, 30]]}} }, {\"id\": \"bridge_major\",\"type\": \"line\",\"source\": \"openmaptiles\",\"source-layer\": \"transportation\",\"filter\": [  \"all\",  [\"==\", \"$type\", \"LineString\"],  [\"==\", \"brunnel\", \"bridge\"],  [\"in\", \"class\", \"primary\", \"secondary\", \"tertiary\", \"trunk\"]],\"layout\": {  \"line-cap\": \"round\",  \"line-join\": \"round\",  \"visibility\": \"none\"},\"paint\": {  \"line-color\": \"#fff\",  \"line-width\": {\"base\": 1.4, \"stops\": [[6, 0.5], [20, 30]]}} }, {\"id\": \"admin_sub\",\"type\": \"line\",\"source\": \"openmaptiles\",\"source-layer\": \"boundary\",\"filter\": [\"in\", \"admin_level\", 4, 6, 8],\"layout\": {\"visibility\": \"none\"},\"paint\": {\"line-color\": \"hsla(0, 0%, 60%, 0.5)\", \"line-dasharray\": [2, 1]} }, {\"id\": \"admin_country\",\"type\": \"line\",\"source\": \"openmaptiles\",\"source-layer\": \"boundary\",\"filter\": [  \"all\",  [\"&lt;=\", \"admin_level\", 2],  [\"==\", \"$type\", \"LineString\"]],\"layout\": {  \"line-cap\": \"round\",  \"line-join\": \"round\",  \"visibility\": \"none\"},\"paint\": {  \"line-color\": \"hsl(0, 0%, 60%)\",  \"line-width\": {\"base\": 1.3, \"stops\": [[3, 0.5], [22, 15]]}} }, {\"id\": \"poi_label\",\"type\": \"symbol\",\"source\": \"openmaptiles\",\"source-layer\": \"poi\",\"minzoom\": 14,\"filter\": [\"all\", [\"==\", \"$type\", \"Point\"], [\"==\", \"rank\", 1]],\"layout\": {  \"icon-size\": 1,  \"text-anchor\": \"top\",  \"text-field\": \"{name:latin}\\n{name:nonlatin}\",  \"text-font\": [\"Noto Sans Regular\"],  \"text-max-width\": 8,  \"text-offset\": [0, 0.5],  \"text-size\": 11,  \"visibility\": \"none\"},\"paint\": {  \"text-color\": \"#666\",  \"text-halo-blur\": 1,  \"text-halo-color\": \"rgba(255,255,255,0.75)\",  \"text-halo-width\": 1} }, {\"id\": \"airport-label\",\"type\": \"symbol\",\"source\": \"openmaptiles\",\"source-layer\": \"aerodrome_label\",\"minzoom\": 10,\"filter\": [\"all\", [\"has\", \"iata\"]],\"layout\": {  \"icon-size\": 1,  \"text-anchor\": \"top\",  \"text-field\": \"{name:latin}\\n{name:nonlatin}\",  \"text-font\": [\"Noto Sans Regular\"],  \"text-max-width\": 8,  \"text-offset\": [0, 0.5],  \"text-size\": 11,  \"visibility\": \"none\"},\"paint\": {  \"text-color\": \"#666\",  \"text-halo-blur\": 1,  \"text-halo-color\": \"rgba(255,255,255,0.75)\",  \"text-halo-width\": 1} }, {\"id\": \"road_major_label\",\"type\": \"symbol\",\"source\": \"openmaptiles\",\"source-layer\": \"transportation_name\",\"filter\": [\"==\", \"$type\", \"LineString\"],\"layout\": {  \"symbol-placement\": \"line\",  \"text-field\": \"{name:latin} {name:nonlatin}\",  \"text-font\": [\"Noto Sans Regular\"],  \"text-letter-spacing\": 0.1,  \"text-rotation-alignment\": \"map\",  \"text-size\": {\"base\": 1.4, \"stops\": [[10, 8], [20, 14]]}, \"text-transform\": \"uppercase\", \"visibility\": \"none\"},\"paint\": { \"text-color\": \"#000\", \"text-halo-color\": \"hsl(0, 0%, 100%)\", \"text-halo-width\": 2} }, {\"id\": \"place_label_other\",\"type\": \"symbol\",\"source\": \"openmaptiles\",\"source-layer\": \"place\",\"minzoom\": 8,\"filter\": [ \"all\", [\"==\", \"$type\", \"Point\"], [\"!in\", \"class\", \"city\", \"state\", \"country\", \"continent\"]],\"layout\": { \"text-anchor\": \"center\", \"text-field\": \"{name:latin}\\n{name:nonlatin}\", \"text-font\": [\"Noto Sans Regular\"], \"text-max-width\": 6, \"text-size\": {\"stops\": [[6, 10], [12, 14]]}, \"visibility\": \"none\"},\"paint\": { \"text-color\": \"hsl(0, 0%, 25%)\", \"text-halo-blur\": 0, \"text-halo-color\": \"hsl(0, 0%, 100%)\", \"text-halo-width\": 2} }, {\"id\": \"place_label_city\",\"type\": \"symbol\",\"source\": \"openmaptiles\",\"source-layer\": \"place\",\"maxzoom\": 16,\"filter\": [\"all\", [\"==\", \"$type\", \"Point\"], [\"==\", \"class\", \"city\"]],\"layout\": { \"text-field\": \"{name:latin}\\n{name:nonlatin}\", \"text-font\": [\"Noto Sans Regular\"], \"text-max-width\": 10, \"text-size\": {\"stops\": [[3, 12], [8, 16]]}, \"visibility\": \"none\"},\"paint\": { \"text-color\": \"hsl(0, 0%, 0%)\", \"text-halo-blur\": 0, \"text-halo-color\": \"hsla(0, 0%, 100%, 0.75)\", \"text-halo-width\": 2} }, {\"id\": \"country_label-other\",\"type\": \"symbol\",\"source\": \"openmaptiles\",\"source-layer\": \"place\",\"maxzoom\": 12,\"filter\": [ \"all\", [\"==\", \"$type\", \"Point\"], [\"==\", \"class\", \"country\"], [\"!has\", \"iso_a2\"]],\"layout\": { \"text-field\": \"{name:latin}\", \"text-font\": [\"Noto Sans Regular\"], \"text-max-width\": 10, \"text-size\": {\"stops\": [[3, 12], [8, 22]]}, \"visibility\": \"none\"},\"paint\": { \"text-color\": \"hsl(0, 0%, 13%)\", \"text-halo-blur\": 0, \"text-halo-color\": \"rgba(255,255,255,0.75)\", \"text-halo-width\": 2} }, {\"id\": \"country_label\",\"type\": \"symbol\",\"source\": \"openmaptiles\",\"source-layer\": \"place\",\"maxzoom\": 12,\"filter\": [ \"all\", [\"==\", \"$type\", \"Point\"], [\"==\", \"class\", \"country\"], [\"has\", \"iso_a2\"]],\"layout\": { \"text-field\": \"{name:latin}\", \"text-font\": [\"Noto Sans Bold\"], \"text-max-width\": 10, \"text-size\": {\"stops\": [[3, 12], [8, 22]]}, \"visibility\": \"none\"},\"paint\": { \"text-color\": \"hsl(0, 0%, 13%)\", \"text-halo-blur\": 0, \"text-halo-color\": \"rgba(255,255,255,0.75)\", \"text-halo-width\": 2} } ], \"id\": \"basic\"}"
metadata:
  name: map-tile-server-style-config
  namespace: test
</code></pre>

stevetronix
<p>I've looked a little deeper into your environment and deployed it on my local cluster, here are my findings:</p>

<ul>
<li>Look where the files end up being mounted when I deploy your yaml as is in your question:</li>
</ul>

<pre><code>$ kubectl get pods
NAME                               READY   STATUS              RESTARTS   AGE
map-tile-server-5c86b677df-wswwz   1/1     Running             0          2s

$ kubectl exec -it map-tile-server-5cb677df-wswwz /bin/bash --
root@map-tile-server-5c86b677df-wswwz:/# ls -l
drwxrwxrwx   3 root root 4096 Apr 10 12:16 config.json
drwxr-xr-x   3 root root 4096 Apr 10 12:16 styles

root@map-tile-server-5c86b677df-wswwz:/config.json# ls -l
lrwxrwxrwx 1 root root 18 Apr 10 12:16 config.json -&gt; ..data/config.json

root@map-tile-server-5c86b677df-wswwz:/styles# ls -l
drwxrwxrwx 3 root root 4096 Apr 10 12:16 custom.json

root@map-tile-server-5c86b677df-wswwz:/styles# cd custom.json/
root@map-tile-server-5c86b677df-wswwz:/styles/custom.json# ls -l
lrwxrwxrwx 1 root root 18 Apr 10 12:16 custom.json -&gt; ..data/custom.json
</code></pre>

<ul>
<li><p>It is creating folders with the file names and inserting your configmaps inside each one.</p></li>
<li><p>In your question you mention you want this files to be placed in <code>/config.json</code> and <code>/styles/custom.json</code>, I'd like to comment two things with you:</p>

<ul>
<li><p>You can't set <code>config.json</code> to mount directly in <code>/</code>, the container will not run because you "overwrite" the / folder. So your config.json needs to stay inside some folder, best practice is to mount directly in <code>/data</code> dir.</p></li>
<li><p>Although there is a symlink directing the <code>/styles/custom.json/custom.json</code> file to <code>data/custom.json</code>, It is good to warn you that:</p></li>
</ul>

<p><strong>if you mention the path <code>/style/custom.json</code> in your <code>config.json</code> it will not find the file there</strong>.</p></li>
</ul>

<p>Here you can see an example provided in Kubernetes Documentation on <a href="https://kubernetes.io/docs/tasks/configure-pod-container/configure-pod-configmap/#add-configmap-data-to-a-specific-path-in-the-volume" rel="nofollow noreferrer">How to Mount ConfigMaps as Files</a></p>

<ul>
<li>These are the changes I made to your yaml to move the <code>custom.json</code> file to the intended path:</li>
</ul>

<pre><code>          volumeMounts:
            - name: map-tile-server-config
              mountPath: /config.json
            - name: map-tile-server-style-config
              mountPath: /styles
      volumes:
        - name: map-tile-server-config
          configMap:
            name: map-tile-server-config
        - name: map-tile-server-style-config
          configMap:
            name: map-tile-server-style-config
</code></pre>

<ul>
<li>Now let's test it:</li>
</ul>

<pre><code>$ kubectl get pods
NAME                               READY   STATUS    RESTARTS   AGE
map-tile-server-5cd7694b74-s6g6g   1/1     Running   0          8s

$ kubectl exec -it map-tile-server-5cd7694b74-s6g6g -- /bin/bash
root@map-tile-server-5cd7694b74-s6g6g:/# ls
bin  boot  config.json  data  dev  etc  home  lib  lib64  media  mnt  opt  proc  root  run  sbin  srv  styles  sys  tmp  usr  var

root@map-tile-server-5cd7694b74-s6g6g:/config.json# ls -l
lrwxrwxrwx 1 root root 18 Apr 10 12:27 config.json -&gt; ..data/config.json

root@map-tile-server-5cd7694b74-s6g6g:/styles# ls -l
lrwxrwxrwx 1 root root 18 Apr 10 12:27 custom.json -&gt; ..data/custom.json
</code></pre>

<p>Now the files are in the intended location.</p>

<ul>
<li>My suggestion to easy your management later, would be for example mounting to:</li>
</ul>

<pre><code>          volumeMounts:
            - name: map-tile-server-config
              mountPath: /data/config
            - name: map-tile-server-style-config
              mountPath: /data/styles
</code></pre>

<ul>
<li>Would output everything inside data folder:</li>
</ul>

<pre><code>owilliam@minikube-usc1a:~/CaseFiles/configmap-json$ k exec -it map-tile-server-6b5fc64fd6-6g2wb -- /bin/bash
root@map-tile-server-6b5fc64fd6-6g2wb:/data# ls
config  styles  zurich_switzerland.mbtiles
root@map-tile-server-6b5fc64fd6-6g2wb:/data# ls -l 
total 23684
drwxrwxrwx 3 root root     4096 Apr 10 13:22 config
drwxrwxrwx 3 root root     4096 Apr 10 13:22 styles
-rw-r--r-- 1 root root 24244224 Apr 10 13:22 zurich_switzerland.mbtiles
root@map-tile-server-6b5fc64fd6-6g2wb:/data# ls config
config.json
root@map-tile-server-6b5fc64fd6-6g2wb:/data# ls styles
</code></pre>

<p>If you have any question let me know in the comments.</p>
