diff --git a/pages/deployments/cluster-config.md b/pages/deployments/cluster-config.md new file mode 100644 index 00000000..40bc5250 --- /dev/null +++ b/pages/deployments/cluster-config.md @@ -0,0 +1,4 @@ +--- +title: Configure my Cluster +description: XXX +--- diff --git a/pages/deployments/cluster-cost.md b/pages/deployments/cluster-cost.md new file mode 100644 index 00000000..722cf2b0 --- /dev/null +++ b/pages/deployments/cluster-cost.md @@ -0,0 +1,4 @@ +--- +title: Optimize Cluster Costs +description: XXX +--- diff --git a/pages/deployments/cluster-create.md b/pages/deployments/cluster-create.md new file mode 100644 index 00000000..089f4e60 --- /dev/null +++ b/pages/deployments/cluster-create.md @@ -0,0 +1,4 @@ +--- +title: Create Workload Clusters +description: XXX +--- diff --git a/pages/deployments/cluster-destroy.md b/pages/deployments/cluster-destroy.md new file mode 100644 index 00000000..ed1ab6be --- /dev/null +++ b/pages/deployments/cluster-destroy.md @@ -0,0 +1,4 @@ +--- +title: Destroy the Cluster Safely +description: XXX +--- diff --git a/pages/deployments/clusters.md b/pages/deployments/clusters.md new file mode 100644 index 00000000..3dcc7613 --- /dev/null +++ b/pages/deployments/clusters.md @@ -0,0 +1,10 @@ +--- +title: Cluster Management +description: XXX +--- + +The Plural team is currently exploring a solution to allow our customers to deploy their in-house services using Plural. + +We believe that combining the ability to quickly spin up new clusters, author simple Kubernetes manifests, and control the deployment of code changes from development to production would the process of developing on Kubernetes significantly easier. + +If you're interested, you can find more information on our website at [https://www.plural.sh/plural-deployments-early-access](https://www.plural.sh/plural-deployments-early-access). diff --git a/pages/deployments/credentials.md b/pages/deployments/credentials.md new file mode 100644 index 00000000..5f5ae8cd --- /dev/null +++ b/pages/deployments/credentials.md @@ -0,0 +1,4 @@ +--- +title: Create Provider Credentials +description: XXX +--- diff --git a/pages/deployments/debugging.md b/pages/deployments/debugging.md new file mode 100644 index 00000000..75422b86 --- /dev/null +++ b/pages/deployments/debugging.md @@ -0,0 +1,4 @@ +--- +title: Debugging +description: XXX +--- diff --git a/pages/deployments/deprecations.md b/pages/deployments/deprecations.md new file mode 100644 index 00000000..d46885e2 --- /dev/null +++ b/pages/deployments/deprecations.md @@ -0,0 +1,4 @@ +--- +title: Managing Deprecations and K8s upgrades +description: XXX +--- diff --git a/pages/deployments/git.md b/pages/deployments/git.md new file mode 100644 index 00000000..73d023d6 --- /dev/null +++ b/pages/deployments/git.md @@ -0,0 +1,4 @@ +--- +title: Import Git Repositories +description: XXX +--- diff --git a/pages/deployments/global-services.md b/pages/deployments/global-services.md new file mode 100644 index 00000000..4dc6929e --- /dev/null +++ b/pages/deployments/global-services.md @@ -0,0 +1,4 @@ +--- +title: Configure Global Services +description: XXX +--- diff --git a/pages/first-party/manage-your-microservices.md b/pages/deployments/manage-your-microservices.md similarity index 100% rename from pages/first-party/manage-your-microservices.md rename to pages/deployments/manage-your-microservices.md diff --git a/pages/deployments/pipelines.md b/pages/deployments/pipelines.md new file mode 100644 index 00000000..50eecdbb --- /dev/null +++ b/pages/deployments/pipelines.md @@ -0,0 +1,4 @@ +--- +title: Pipelines +description: Coming soon! +--- diff --git a/pages/deployments/services.md b/pages/deployments/services.md new file mode 100644 index 00000000..475c9924 --- /dev/null +++ b/pages/deployments/services.md @@ -0,0 +1,4 @@ +--- +title: Deploy Services +description: XXX +--- diff --git a/pages/deployments/upgrades.md b/pages/deployments/upgrades.md new file mode 100644 index 00000000..a404a884 --- /dev/null +++ b/pages/deployments/upgrades.md @@ -0,0 +1,4 @@ +--- +title: Upgrades and Rollbacks +description: XXX +--- diff --git a/pages/getting-started/marketplace.md b/pages/getting-started/marketplace.md new file mode 100644 index 00000000..0fba54e2 --- /dev/null +++ b/pages/getting-started/marketplace.md @@ -0,0 +1,5 @@ +--- +title: Getting Started with Plural Open-Source Marketplace +description: >- + Guides to getting up and running with open-source applications +--- diff --git a/src/NavData.tsx b/src/NavData.tsx index 482e7ae9..2987264f 100644 --- a/src/NavData.tsx +++ b/src/NavData.tsx @@ -56,132 +56,281 @@ const rootNavData: NavMenu = deepFreeze([ href: '/getting-started/concepts', }, { - title: 'How much does it cost?', + title: 'How much does Plural cost?', href: '/operations/pricing-calculator', }, - ], - }, - { - title: 'Getting Started', - sections: [ - { - title: 'Quickstart with our CLI', - href: '/getting-started/quickstart', - }, - { - href: '/getting-started/cloud-shell-quickstart', - title: 'Quickstart from your Browser', - }, - { - href: '/getting-started/admin-console', - title: 'Installing Plural Console', - }, { - href: '/getting-started/understanding-upgrades', - title: 'Understanding Application Upgrades', + title: 'Onboarding Prerequisites', + href: '/operations/pricing-calculator', }, ], }, { - title: 'How To', + title: 'Plural Continuous Deployment', sections: [ { - title: 'Configure my Cluster', - href: '/operations/cluster-configuration', - }, - { - href: '/operations/managing-applications/add-application-to-cluster', - title: 'Add an Application to a Cluster', - }, - { - href: '/operations/managing-applications/add-users-to-application', - title: 'Add Users to an Application', - }, - { - href: '/operations/managing-applications/update-application', - title: 'Update an Application', - }, - { - href: '/operations/managing-applications/delete-application', - title: 'Delete an Application', - }, - { - href: '/operations/managing-applications/bounce-application', - title: 'Bounce an Application', - }, - { - href: '/operations/managing-applications/connect-application-db', - title: 'Connect to Application DB', + href: '/getting-started/deployments', + title: 'Getting Started', + sections: [ + { + title: 'Quickstart with our CLI', + href: '/getting-started/quickstart', + }, + { + href: '/getting-started/cloud-shell-quickstart', + title: 'Quickstart from your Browser', + }, + { + href: '/getting-started/admin-console', + title: 'Installing Plural Console', + }, + { + href: '/getting-started/understanding-upgrades', + title: 'Understanding Application Upgrades', + }, + ], }, { - href: '/operations/managing-applications/credentials-non-oidc', - title: 'Find Credentials for non-OIDC applications', + href: '/deployments/clusters', + title: 'Cluster Management', + sections: [ + { + title: 'Create Provider Credentials', + href: '/deployments/credentials', + }, + { + href: '/deployments/cluster-create', + title: 'Create Workload Clusters', + }, + { + href: '/deployments/cluster-config', + title: 'Configure my Cluster', + }, + { + title: 'Destroy the Cluster Safely', + href: '/deployments/cluster-destroy', + }, + { + title: 'Optimize Cluster Costs', + href: '/deployments/cluster-cost', + }, + ], }, { - href: '/operations/managing-applications/customize-application', - title: 'Customize an Application', + href: '/deployments', + title: 'Deployments', + sections: [ + { + title: 'Import Git Repositories', + href: '/deployments/git', + }, + { + href: '/deployments/services', + title: 'Deploy Services', + }, + { + href: '/deployments/global-services', + title: 'Configure Global Services', + }, + { + title: 'Upgrades and Rollbacks', + href: '/deployments/upgrades', + }, + ], }, { - href: '/operations/network-configuration', - title: 'Configure your Network', + href: '/deployments/pipelines', + title: 'Pipelines', }, { - title: 'Debug issues on your Plural Cluster', - href: '/debugging/application-issues', + href: '/deployments/operations', + title: 'Advanced Operations', + sections: [ + { + title: 'Managing Deprecations and K8s upgrades', + href: '/deployments/deprecations', + }, + ], }, { - href: '/operations/uninstall', - title: 'Destroy the Cluster Safely', + href: '/deployments/debugging', + title: 'Debugging', }, + ], + }, + { + title: 'Plural Open Source Marketplace', + sections: [ { - href: '/operations/dns-setup', - title: 'Set up Third Party DNS', + href: '/getting-started/marketplace', + title: 'Getting Started', sections: [ { - href: '/operations/dns-setup/creating-dns-zone-in-your-cloud-provider-console', - title: 'Creating a DNS Zone in Console', + title: 'Quickstart with our CLI', + href: '/getting-started/quickstart', + }, + { + href: '/getting-started/cloud-shell-quickstart', + title: 'Quickstart from your Browser', + }, + { + href: '/getting-started/admin-console', + title: 'Installing Plural Console', + }, + { + href: '/getting-started/understanding-upgrades', + title: 'Understanding Application Upgrades', }, ], }, { - href: '/operations/cost-management', - title: 'Optimize Cluster Costs', - }, - { - href: '/adding-new-application/getting-started-with-runbooks', - title: 'Create an Application Runbook', + href: '/operations/clusters', + title: 'Cluster Management', sections: [ { - href: '/adding-new-application/getting-started-with-runbooks/runbook-xml', - title: ' XML Runbooks', + title: 'Configure my Cluster', + href: '/operations/cluster-configuration', + }, + { + href: '/operations/uninstall', + title: 'Destroy the Cluster Safely', + }, + { + href: '/operations/cost-management', + title: 'Optimize Cluster Costs', }, { - href: '/adding-new-application/getting-started-with-runbooks/runbook-yaml', - title: ' YAML Runbooks', + title: 'Create Multiple Plural Clusters', + href: '/operations/auth-access-control/identity-and-installations/service-accounts', }, ], }, { - href: '/operations/auth-access-control/api-tokens', - title: 'Create Persistent API Tokens', + href: '/operations/applications', + title: 'Application Management', + sections: [ + { + href: '/operations/managing-applications/add-application-to-cluster', + title: 'Add an Application to a Cluster', + }, + { + href: '/operations/managing-applications/add-users-to-application', + title: 'Add Users to an Application', + }, + { + href: '/operations/managing-applications/update-application', + title: 'Update an Application', + }, + { + href: '/operations/managing-applications/delete-application', + title: 'Delete an Application', + }, + { + href: '/operations/managing-applications/bounce-application', + title: 'Bounce an Application', + }, + { + href: '/operations/managing-applications/connect-application-db', + title: 'Connect to Application DB', + }, + { + href: '/operations/managing-applications/credentials-non-oidc', + title: 'Find Credentials for non-OIDC applications', + }, + { + href: '/operations/managing-applications/customize-application', + title: 'Customize an Application', + }, + { + href: '/adding-new-application/getting-started-with-runbooks', + title: 'Create an Application Runbook', + sections: [ + { + href: '/adding-new-application/getting-started-with-runbooks/runbook-xml', + title: ' XML Runbooks', + }, + { + href: '/adding-new-application/getting-started-with-runbooks/runbook-yaml', + title: ' YAML Runbooks', + }, + ], + }, + ], }, { - title: 'Share your Plural Git Repository', - href: '/getting-started/manage-git-repositories/sharing-git-repositories', + href: '/operations/advanced-operations', + title: 'Advanced Operations', + sections: [ + { + href: '/operations/network-configuration', + title: 'Configure your Network', + }, + { + href: '/operations/dns-setup', + title: 'Set up Third Party DNS', + sections: [ + { + href: '/operations/dns-setup/creating-dns-zone-in-your-cloud-provider-console', + title: 'Creating a DNS Zone in Console', + }, + ], + }, + { + href: '/operations/auth-access-control/api-tokens', + title: 'Create Persistent API Tokens', + }, + { + title: 'Share your Plural Git Repository', + href: '/getting-started/manage-git-repositories/sharing-git-repositories', + }, + ], }, { - title: 'Create Multiple Plural Clusters', - href: '/operations/auth-access-control/identity-and-installations/service-accounts', + href: '/debugging', + title: 'Debugging', + sections: [ + { + title: 'Debug issues on your Plural Cluster', + href: '/debugging/application-issues', + }, + { + href: '/debugging/health-checks', + title: ' Health Checks', + }, + { + href: '/debugging/proxies', + title: 'Proxies', + }, + { + href: '/debugging/logs', + title: 'Logs', + }, + ], }, { href: '/adding-new-application', title: 'Contribute a New Application to the Plural Catalog', sections: [ - { href: '/adding-new-application/background-app-install', title: 'Background on Application Installations'}, - { href: '/adding-new-application/plural-artifact-structure', title: 'Plural Artifact Structure'}, - { href: '/adding-new-application/templating', title: 'Plural Artifact Templating'}, - { href: '/adding-new-application/guide', title: 'Guide on Creating a New Application Artifact' }, - { href: '/adding-new-application/publishing', title: 'Guide on Publishing a Plural Artifact'}, + { + href: '/adding-new-application/background-app-install', + title: 'Background on Application Installations', + }, + { + href: '/adding-new-application/plural-artifact-structure', + title: 'Plural Artifact Structure', + }, + { + href: '/adding-new-application/templating', + title: 'Plural Artifact Templating', + }, + { + href: '/adding-new-application/guide', + title: 'Guide on Creating a New Application Artifact', + }, + { + href: '/adding-new-application/publishing', + title: 'Guide on Publishing a Plural Artifact', + }, { href: '/adding-new-application/plural-custom-resources', title: 'Plural Custom Resources', @@ -192,10 +341,6 @@ const rootNavData: NavMenu = deepFreeze([ }, ], }, - { - href: '/first-party/manage-your-microservices', - title: 'Manage your Own Services with Plural', - }, ], }, { @@ -217,24 +362,6 @@ const rootNavData: NavMenu = deepFreeze([ href: '/operations/auth-access-control/identity-and-installations', title: 'How does auth and access control work for Plural?', }, - { - href: '/debugging', - title: 'What debugging tools are available for Plural?', - sections: [ - { - href: '/debugging/health-checks', - title: ' Health Checks', - }, - { - href: '/debugging/proxies', - title: 'Proxies', - }, - { - href: '/debugging/logs', - title: 'Logs', - }, - ], - }, { href: '/faq/certifications', title: 'What certifications does Plural have?', @@ -249,16 +376,7 @@ const rootNavData: NavMenu = deepFreeze([ }, ], }, - { - title: 'Application Catalog', - sections: [ - { - href: APP_CATALOG_BASE_URL, - toMenu: 'appCatalog', - title: 'Application Catalog', - }, - ], - }, + { title: 'Reference', sections: [ diff --git a/src/generated/graphql.ts b/src/generated/graphql.ts index 75276095..4acf3d95 100644 --- a/src/generated/graphql.ts +++ b/src/generated/graphql.ts @@ -414,6 +414,8 @@ export type Cluster = { /** The ID of the cluster. */ id: Scalars['ID']['output']; insertedAt?: Maybe; + /** whether any installation in the cluster has been locked */ + locked?: Maybe; /** The name of the cluster. */ name: Scalars['String']['output']; /** The user that owns the cluster. */ @@ -426,9 +428,19 @@ export type Cluster = { queue?: Maybe; /** The source of the cluster. */ source?: Maybe; + /** whether all installations in the cluster have been synced */ + synced?: Maybe; updatedAt?: Maybe; /** pending upgrades for each installed app */ upgradeInfo?: Maybe>>; + /** CPU/Memory history for this cluster */ + usageHistory?: Maybe>>; +}; + + +/** A Kubernetes cluster that can be used to deploy applications on with Plural. */ +export type ClusterUsageHistoryArgs = { + begin: Scalars['DateTime']['input']; }; /** Input for creating or updating a cluster. */ @@ -487,6 +499,17 @@ export type ClusterInformationAttributes = { version?: InputMaybe; }; +/** A record of the utilization in a given cluster */ +export type ClusterUsageHistory = { + __typename?: 'ClusterUsageHistory'; + account?: Maybe; + cluster?: Maybe; + cpu?: Maybe; + insertedAt?: Maybe; + memory?: Maybe; + updatedAt?: Maybe; +}; + export type Community = { __typename?: 'Community'; discord?: Maybe; @@ -846,6 +869,10 @@ export type EntityAttributes = { userId?: InputMaybe; }; +export enum ExternalOidcProvider { + GithubActions = 'GITHUB_ACTIONS' +} + export type File = { __typename?: 'File'; blob: Scalars['String']['output']; @@ -1247,6 +1274,7 @@ export type Installation = { license?: Maybe; /** The license key for the application. */ licenseKey?: Maybe; + locked?: Maybe; /** The OIDC provider for the application. */ oidcProvider?: Maybe; /** The last ping time of an installed application. */ @@ -1255,6 +1283,7 @@ export type Installation = { repository?: Maybe; /** The subscription for the application. */ subscription?: Maybe; + synced?: Maybe; /** The tag to track for auto upgrades. */ trackTag: Scalars['String']['output']; updatedAt?: Maybe; @@ -1771,6 +1800,16 @@ export type OidcStepResponse = { repository?: Maybe; }; +export type OidcTrustRelationship = { + __typename?: 'OidcTrustRelationship'; + id: Scalars['ID']['output']; + insertedAt?: Maybe; + issuer: Scalars['String']['output']; + scopes?: Maybe>; + trust: Scalars['String']['output']; + updatedAt?: Maybe; +}; + export type OnboardingChecklist = { __typename?: 'OnboardingChecklist'; dismissed?: Maybe; @@ -1984,6 +2023,8 @@ export type PlanFeatureAttributes = { export type PlanFeatures = { __typename?: 'PlanFeatures'; audit?: Maybe; + cd?: Maybe; + databaseManagement?: Maybe; userManagement?: Maybe; vpn?: Maybe; }; @@ -2679,6 +2720,7 @@ export type RootMutationType = { createTerraform?: Maybe; createTest?: Maybe; createToken?: Maybe; + createTrustRelationship?: Maybe; createUpgrade?: Maybe; createUserEvent?: Maybe; createWebhook?: Maybe; @@ -2713,6 +2755,7 @@ export type RootMutationType = { deleteStack?: Maybe; deleteTerraform?: Maybe; deleteToken?: Maybe; + deleteTrustRelationship?: Maybe; deleteUser?: Maybe; destroyCluster?: Maybe; deviceLogin?: Maybe; @@ -2725,6 +2768,7 @@ export type RootMutationType = { installStack?: Maybe>>; installStackShell?: Maybe>>; installTerraform?: Maybe; + installVersion?: Maybe; linkPublisher?: Maybe; login?: Maybe; loginToken?: Maybe; @@ -2750,6 +2794,7 @@ export type RootMutationType = { signup?: Maybe; ssoCallback?: Maybe; stopShell?: Maybe; + synced?: Maybe; transferDemoProject?: Maybe; /** transfers ownership of a cluster to a service account */ transferOwnership?: Maybe; @@ -3005,6 +3050,11 @@ export type RootMutationTypeCreateTestArgs = { }; +export type RootMutationTypeCreateTrustRelationshipArgs = { + attributes: TrustRelationshipAttributes; +}; + + export type RootMutationTypeCreateUpgradeArgs = { attributes: UpgradeAttributes; queue: Scalars['String']['input']; @@ -3161,6 +3211,11 @@ export type RootMutationTypeDeleteTokenArgs = { }; +export type RootMutationTypeDeleteTrustRelationshipArgs = { + id: Scalars['ID']['input']; +}; + + export type RootMutationTypeDeleteUserArgs = { id: Scalars['ID']['input']; }; @@ -3224,6 +3279,14 @@ export type RootMutationTypeInstallTerraformArgs = { }; +export type RootMutationTypeInstallVersionArgs = { + package: Scalars['String']['input']; + repository: Scalars['String']['input']; + type: DependencyType; + vsn: Scalars['String']['input']; +}; + + export type RootMutationTypeLinkPublisherArgs = { token: Scalars['String']['input']; }; @@ -3333,6 +3396,11 @@ export type RootMutationTypeSsoCallbackArgs = { }; +export type RootMutationTypeSyncedArgs = { + repository: Scalars['String']['input']; +}; + + export type RootMutationTypeTransferDemoProjectArgs = { organizationId: Scalars['String']['input']; }; @@ -3584,6 +3652,7 @@ export type RootQueryType = { oidcConsent?: Maybe; oidcLogin?: Maybe; oidcLogins?: Maybe; + oidcToken?: Maybe; platformMetrics?: Maybe; platformPlans?: Maybe>>; platformSubscription?: Maybe; @@ -3925,6 +3994,13 @@ export type RootQueryTypeOidcLoginsArgs = { }; +export type RootQueryTypeOidcTokenArgs = { + email: Scalars['String']['input']; + idToken: Scalars['String']['input']; + provider: ExternalOidcProvider; +}; + + export type RootQueryTypePublicKeysArgs = { after?: InputMaybe; before?: InputMaybe; @@ -4624,6 +4700,12 @@ export enum TestType { Git = 'GIT' } +export type TrustRelationshipAttributes = { + issuer: Scalars['String']['input']; + scopes?: InputMaybe>; + trust: Scalars['String']['input']; +}; + export type UpdatablePlanAttributes = { default?: InputMaybe; serviceLevels?: InputMaybe>>; @@ -4775,6 +4857,7 @@ export type User = { publisher?: Maybe; roles?: Maybe; serviceAccount?: Maybe; + trustRelationships?: Maybe>>; updatedAt?: Maybe; }; diff --git a/src/generated/pages.json b/src/generated/pages.json index 169c44a6..f8859fe7 100644 --- a/src/generated/pages.json +++ b/src/generated/pages.json @@ -1,4 +1,7 @@ [ + { + "path": "/adding-new-application/background-app-install" + }, { "path": "/adding-new-application/getting-started-with-runbooks" }, @@ -17,9 +20,18 @@ { "path": "/adding-new-application/module-library" }, + { + "path": "/adding-new-application/plural-artifact-structure" + }, { "path": "/adding-new-application/plural-custom-resources" }, + { + "path": "/adding-new-application/publishing" + }, + { + "path": "/adding-new-application/templating" + }, { "path": "/applications" }, @@ -116,6 +128,9 @@ { "path": "/getting-started/quickstart" }, + { + "path": "/getting-started/understanding-upgrades" + }, { "path": "/getting-started/video-cli-quickstart" },