Files
capsule/docs/gridsome.server.js

313 lines
11 KiB
JavaScript

// Server API makes it possible to hook into various parts of Gridsome
// on server-side and add custom data to the GraphQL data layer.
// Learn more: https://gridsome.org/docs/server-api/
// Changes here require a server restart.
// To restart press CTRL + C in terminal and run `gridsome develop`
module.exports = function (api) {
api.loadSource(actions => {
// Use the Data Store API here: https://gridsome.org/docs/data-store-api/
const sidebar = actions.addCollection({
typeName: 'Sidebar'
})
sidebar.addNode({
sections: [
{
items: [
{
label: 'Overview',
path: '/docs/'
},
{
label: 'Dev guide',
path: '/docs/dev-guide'
}
]
},
{
title: 'Capsule Operator',
items: [
{
label: 'Getting Started',
path: '/docs/operator/getting-started'
},
{
label: 'Monitoring Capsule',
path: '/docs/operator/monitoring'
},
{
label: 'References',
path: '/docs/operator/references'
},
{
label: 'Contributing',
path: '/docs/operator/contributing'
},
{
title: 'Run on Managed Kubernetes',
subItems: [
{
label: 'Overview',
path: '/docs/operator/managed-kubernetes/overview'
},
{
label: 'AWS EKS',
path: '/docs/operator/managed-kubernetes/aws-eks'
},
]
},
{
title: 'SIG Multi-tenancy benchmark',
subItems: [
{
label: 'SIG Multi-tenancy benchmark',
path: '/docs/operator/mtb/sig-multitenancy-bench'
},
{
label: 'Block access to cluster resources',
path: '/docs/operator/mtb/block-access-to-cluster-resources'
},
{
label: 'Block access to multitenant resources',
path: '/docs/operator/mtb/block-access-to-multitenant-resources'
},
{
label: 'Block access to other tenant resources',
path: '/docs/operator/mtb/block-access-to-other-tenant-resources'
},
{
label: 'Block add capabilities',
path: '/docs/operator/mtb/block-add-capabilities'
},
{
label: 'Require always imagePullPolicy',
path: '/docs/operator/mtb/require-always-imagepullpolicy'
},
{
label: 'Require run as non-root user',
path: '/docs/operator/mtb/require-run-as-non-root-user'
},
{
label: 'Block privileged containers',
path: '/docs/operator/mtb/block-privileged-containers'
},
{
label: 'Block privilege escalation',
path: '/docs/operator/mtb/block-privilege-escalation'
},
{
label: 'Configure namespace resource quotas',
path: '/docs/operator/mtb/configure-namespace-resource-quotas'
},
{
label: 'Block modification of resource quotas',
path: '/docs/operator/mtb/block-modification-of-resource-quotas'
},
{
label: 'Configure namespace object limits',
path: '/docs/operator/mtb/configure-namespace-object-limits'
},
{
label: 'Block use of host path volumes',
path: '/docs/operator/mtb/block-use-of-host-path-volumes'
},
{
label: 'Block use of host networking and ports',
path: '/docs/operator/mtb/block-use-of-host-networking-and-ports'
},
{
label: 'Block use of host PID',
path: '/docs/operator/mtb/block-use-of-host-pid'
},
{
label: 'Block use of host IPC',
path: '/docs/operator/mtb/block-use-of-host-ipc'
},
{
label: 'Block use of NodePort services',
path: '/docs/operator/mtb/block-use-of-nodeport-services'
},
{
label: 'Require PersistentVolumeClaim for storage',
path: '/docs/operator/mtb/require-persistentvolumeclaim-for-storage'
},
{
label: 'Require PV reclaim policy of delete',
path: '/docs/operator/mtb/require-reclaim-policy-of-delete'
},
{
label: 'Block use of existing PVs',
path: '/docs/operator/mtb/block-use-of-existing-persistent-volumes'
},
{
label: 'Block network access across tenant namespaces',
path: '/docs/operator/mtb/block-network-access-across-tenant-namespaces'
},
{
label: 'Allow self-service management of Network Policies',
path: '/docs/operator/mtb/allow-self-service-management-of-network-policies'
},
{
label: 'Allow self-service management of Roles',
path: '/docs/operator/mtb/allow-self-service-management-of-roles'
},
{
label: 'Allow self-service management of Role Bindings',
path: '/docs/operator/mtb/allow-self-service-management-of-rolebindings'
},
]
},
{
title: 'Use cases',
subItems: [
{
label: 'Onboard Tenants',
path: '/docs/operator/use-cases/overview'
},
{
label: 'Assign Tenant Ownership',
path: '/docs/operator/use-cases/tenant-ownership'
},
{
label: 'Create Namespaces',
path: '/docs/operator/use-cases/create-namespaces'
},
{
label: 'Assign Permissions',
path: '/docs/operator/use-cases/permissions'
},
{
label: 'Enforce Resources Quotas and Limits',
path: '/docs/operator/use-cases/resources-quota-limits'
},
{
label: 'Enforce Pod Priority Classes',
path: '/docs/operator/use-cases/pod-priority-classes'
},
{
label: 'Assign specific Node Pools',
path: '/docs/operator/use-cases/nodes-pool'
},
{
label: 'Assign Ingress Classes',
path: '/docs/operator/use-cases/ingress-classes'
},
{
label: 'Assign Ingress Hostnames',
path: '/docs/operator/use-cases/ingress-hostnames'
},
{
label: 'Control hostname collision in Ingresses',
path: '/docs/operator/use-cases/hostname-collision'
},
{
label: 'Assign Storage Classes',
path: '/docs/operator/use-cases/storage-classes'
},
{
label: 'Assign Network Policies',
path: '/docs/operator/use-cases/network-policies'
},
{
label: 'Enforce Containers image PullPolicy',
path: '/docs/operator/use-cases/images-pullpolicy'
},
{
label: 'Assign Trusted Images Registries',
path: '/docs/operator/use-cases/images-registries'
},
{
label: 'Assign Pod Security Policies',
path: '/docs/operator/use-cases/pod-security-policies'
},
{
label: 'Create Custom Resources',
path: '/docs/operator/use-cases/custom-resources'
},
{
label: 'Taint Namespaces',
path: '/docs/operator/use-cases/taint-namespaces'
},
{
label: 'Assign multiple Tenants',
path: '/docs/operator/use-cases/multiple-tenants'
},
{
label: 'Cordon Tenants',
path: '/docs/operator/use-cases/cordoning-tenant'
},
{
label: 'Disable Service Types',
path: '/docs/operator/use-cases/service-type'
},
{
label: 'Taint Services',
path: '/docs/operator/use-cases/taint-services'
},
{
label: 'Allow adding labels and annotations on namespaces',
path: '/docs/operator/use-cases/namespace-labels-and-annotations'
},
{
label: 'Velero Backup Restoration',
path: '/docs/operator/use-cases/velero-backup-restoration'
},
{
label: 'Deny Wildcard Hostnames',
path: '/docs/operator/use-cases/deny-wildcard-hostnames'
},
{
label: 'Denying specific user-defined labels or annotations on Nodes',
path: '/docs/operator/use-cases/deny-specific-user-defined-labels-or-annotations-on-nodes'
},
]
},
]
},
{
title: 'Capsule Proxy',
items: [
{
label: 'Overview',
path: '/docs/proxy/overview'
},
{
label: 'Standalone Installation',
path: '/docs/proxy/standalone'
},
{
label: 'Sidecar Installation',
path: '/docs/proxy/sidecar'
},
{
label: 'OIDC Authentication',
path: '/docs/proxy/oidc-auth'
},
{
label: 'Contributing',
path: '/docs/proxy/contributing'
}
]
},
{
title: 'Capsule Lens extension',
items: [
{
label: 'Overview',
path: '/docs/lens-extension/overview'
},
]
},
]
})
})
api.createPages(({ createPage }) => {
// Use the Pages API here: https://gridsome.org/docs/pages-api/
})
}