mirror of
https://github.com/projectcapsule/capsule.git
synced 2026-03-03 18:20:19 +00:00
313 lines
11 KiB
JavaScript
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/
|
|
})
|
|
}
|