From 33ede12579f36b9cb348f8da5a51b8be0ddbe39f Mon Sep 17 00:00:00 2001 From: Karl Johan Grahn Date: Wed, 22 Mar 2023 22:56:58 +0100 Subject: [PATCH 1/4] Migrate docs --- .dockerignore | 1 + .github/md_config.json | 17 ++++ .github/workflows/pull_request.yaml | 23 +++++ .github/workflows/push.yaml | 19 ++++ .github/workflows/release.yaml | 12 +++ .gitignore | 22 ++++ .gitmodules | 3 + .markdownlint.yaml | 6 ++ .vale.ini | 9 ++ Dockerfile | 30 ++++++ content/business-hours.md | 7 ++ content/cost.md | 13 +++ content/index.md | 17 ++++ content/offer.md | 15 +++ content/service-composition.md | 21 ++++ content/sla.md | 134 +++++++++++++++++++++++++ content/technical-support.md | 13 +++ content/updating-clusters.md | 24 +++++ custom_theme/404.html | 6 ++ custom_theme/assets/images/favicon.svg | 1 + custom_theme/main.html | 5 + default.conf | 9 ++ mkdocs.yml | 60 +++++++++++ vocabulary | 1 + 24 files changed, 468 insertions(+) create mode 100644 .dockerignore create mode 100644 .github/md_config.json create mode 100644 .github/workflows/pull_request.yaml create mode 100644 .github/workflows/push.yaml create mode 100644 .github/workflows/release.yaml create mode 100644 .gitignore create mode 100644 .gitmodules create mode 100644 .markdownlint.yaml create mode 100644 .vale.ini create mode 100644 Dockerfile create mode 100644 content/business-hours.md create mode 100644 content/cost.md create mode 100644 content/index.md create mode 100644 content/offer.md create mode 100644 content/service-composition.md create mode 100644 content/sla.md create mode 100644 content/technical-support.md create mode 100644 content/updating-clusters.md create mode 100644 custom_theme/404.html create mode 100644 custom_theme/assets/images/favicon.svg create mode 100644 custom_theme/main.html create mode 100644 default.conf create mode 100644 mkdocs.yml create mode 160000 vocabulary diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..c1c9f4d --- /dev/null +++ b/.dockerignore @@ -0,0 +1 @@ +.git* diff --git a/.github/md_config.json b/.github/md_config.json new file mode 100644 index 0000000..9458d48 --- /dev/null +++ b/.github/md_config.json @@ -0,0 +1,17 @@ +{ + "aliveStatusCodes": [429, 200, 520], + "ignorePatterns": [ + { + "pattern": "^(https://stakater).+" + }, + { + "pattern": "^(http://nexus).+" + }, + { + "pattern": "^(https://nexus).+" + }, + { + "pattern": "^(https://docs.github.com).+" + } + ] +} diff --git a/.github/workflows/pull_request.yaml b/.github/workflows/pull_request.yaml new file mode 100644 index 0000000..94853cb --- /dev/null +++ b/.github/workflows/pull_request.yaml @@ -0,0 +1,23 @@ +name: Pull Request + +on: + pull_request: + branches: + - 'main' + +jobs: + qa: + uses: stakater/.github/.github/workflows/pull_request_doc_qa.yaml@v0.0.23 + with: + MD_CONFIG: .github/md_config.json + DOC_SRC: content + MD_LINT_CONFIG: .markdownlint.yaml + build: + uses: stakater/.github/.github/workflows/pull_request_container_build.yaml@v0.0.23 + with: + DOCKER_FILE_PATH: Dockerfile + secrets: + CONTAINER_REGISTRY_URL: ${{ secrets.STAKATER_NEXUS_PREPROD_REGISTRY }} + CONTAINER_REGISTRY_USERNAME: ${{ secrets.STAKATER_NEXUS_PREPROD_USERNAME }} + CONTAINER_REGISTRY_PASSWORD: ${{ secrets.STAKATER_NEXUS_PREPROD_PASSWORD }} + SLACK_WEBHOOK_URL: ${{ secrets.STAKATER_DELIVERY_SLACK_WEBHOOK }} diff --git a/.github/workflows/push.yaml b/.github/workflows/push.yaml new file mode 100644 index 0000000..f6ee79c --- /dev/null +++ b/.github/workflows/push.yaml @@ -0,0 +1,19 @@ +name: Push + +on: + push: + branches: + - 'main' + +jobs: + push: + uses: stakater/.github/.github/workflows/push_container.yaml@v0.0.23 + with: + DOCKER_FILE_PATH: Dockerfile + RELEASE_BRANCH: main + secrets: + CONTAINER_REGISTRY_URL: ${{ secrets.STAKATER_NEXUS_PREPROD_REGISTRY }}/stakater + CONTAINER_REGISTRY_USERNAME: ${{ secrets.STAKATER_NEXUS_PREPROD_USERNAME }} + CONTAINER_REGISTRY_PASSWORD: ${{ secrets.STAKATER_NEXUS_PREPROD_PASSWORD }} + SLACK_WEBHOOK_URL: ${{ secrets.STAKATER_DELIVERY_SLACK_WEBHOOK }} + GH_TOKEN: ${{ secrets.STAKATER_GITHUB_TOKEN }} diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml new file mode 100644 index 0000000..9ed5406 --- /dev/null +++ b/.github/workflows/release.yaml @@ -0,0 +1,12 @@ +name: Release + +on: + push: + tags: + - "v*" + +jobs: + release: + uses: stakater/.github/.github/workflows/release_template.yaml@v0.0.23 + secrets: + SLACK_WEBHOOK_URL: ${{ secrets.STAKATER_DELIVERY_SLACK_WEBHOOK }} diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..8f8636f --- /dev/null +++ b/.gitignore @@ -0,0 +1,22 @@ +# Dist files +dist/ +lib/ + +# Test temp files +**/__fixtures__/.temp/ + +# Test coverage files +coverage/ + +# MacOS Desktop Services Store +.DS_Store + +# Log files +*.log + +# Typescript build info +*.tsbuildinfo +node_modules + +# Build files +site/ diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000..a47a9fc --- /dev/null +++ b/.gitmodules @@ -0,0 +1,3 @@ +[submodule "vocabulary"] + path = vocabulary + url = git@github.com:stakater/vocabulary.git diff --git a/.markdownlint.yaml b/.markdownlint.yaml new file mode 100644 index 0000000..07b5ea0 --- /dev/null +++ b/.markdownlint.yaml @@ -0,0 +1,6 @@ +{ + "MD007": { "indent": 4 }, + "MD013": false, + "MD024": false, + "MD046": false, +} diff --git a/.vale.ini b/.vale.ini new file mode 100644 index 0000000..56d1b75 --- /dev/null +++ b/.vale.ini @@ -0,0 +1,9 @@ +StylesPath = "vocabulary/styles" +MinAlertLevel = warning + +Vocab = "Stakater" + +# Only check MarkDown files +[*.md] + +BasedOnStyles = Vale diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..173e656 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,30 @@ +FROM python:3.11-alpine as builder + +RUN pip3 install mkdocs-material mkdocs-mermaid2-plugin + +# set workdir +RUN mkdir -p $HOME/application +WORKDIR $HOME/application + +# copy the entire application +COPY --chown=1001:root . . + +# build the docs +RUN mkdocs build + +FROM nginxinc/nginx-unprivileged:1.23-alpine as deploy +COPY --from=builder $HOME/application/site/ /usr/share/nginx/html/ +COPY default.conf /etc/nginx/conf.d/ + +# set non-root user +USER 1001 + +LABEL name="OpenShift as a Service" \ + maintainer="Stakater " \ + vendor="Stakater" \ + release="1" \ + summary="Documentation for OpenShift as a Service" + +EXPOSE 8080:8080/tcp + +CMD ["nginx", "-g", "daemon off;"] diff --git a/content/business-hours.md b/content/business-hours.md new file mode 100644 index 0000000..13862f1 --- /dev/null +++ b/content/business-hours.md @@ -0,0 +1,7 @@ +# Regular Business Hours of Stakater + +`Version: 30 Jan 2023` + +Regular business hours of Stakater refers to 07:00 (7 AM) to 15:00 (3 PM) (UTC) Monday through Friday except on legal holidays of the country of residence for Stakater employees. + +Non-business hours of Stakater refers to all the time that is outside regular business hours. diff --git a/content/cost.md b/content/cost.md new file mode 100644 index 0000000..d78cd38 --- /dev/null +++ b/content/cost.md @@ -0,0 +1,13 @@ +# Cost of the Service and Settlement Procedure + +`Version: 30 Jan 2023` + +A. The reporting period for the Service is one calendar month. + +B. The cost of the Services provided in the reporting period is calculated in accordance with the rules and conditions specified in these Terms of Service, as well as in the Order, in proportion to the number of months included in the reporting period. + +C. The payment of 100% of the cost of the Service provided shall be made at the end of the concerned reporting period no later than thirty (30) banking days from the end of the reporting period based on the invoice issued and sent by Stakater by email. + +D. The procedure for delivery and acceptance of the Service is set out in the Agreement. + +E. All prices are shown without VAT. The amount of VAT is paid by the Customer in addition to the cost of the Services. The VAT rate is determined by the current Tax Code of the country of residence from which Stakater will provide the Service. diff --git a/content/index.md b/content/index.md new file mode 100644 index 0000000..2853f1e --- /dev/null +++ b/content/index.md @@ -0,0 +1,17 @@ +# General Provisions + +`Version: 30 Jan 2023` + +These Terms of the Managed OpenShift Service (elsewhere referred to as the Terms of Service, Terms) define the essence and composition of the "Managed OpenShift" Service (elsewhere referred to as the Service) — a set of technical subscription-based services continuously rendered by Stakater. + +Stakater is entitled to amend the Terms of Service unilaterally by approving a new version of the Terms. + +The new edition of the Terms of Service shall come into force on the thirtieth (30th) calendar day after the notice of amendment was sent to the Customer. The period from the date of Stakater's notification of changes to the Terms until the date on which the new version of the Terms takes effect is called the transition period. + +Stakater shall send notice of amendment of the Terms to the email address specified in the Service Agreement. The Customer is responsible for familiarizing themselves with the new edition of the Terms of Service. + +Refusal of the Customer to accept the new edition of the Terms and Conditions shall result in sending by the Customer to Stakater a notice of refusal to accept the new edition of the Terms during the transition period. The aforementioned notice shall be sent to the email address of Stakater specified in the Service Agreement. + +Notification of the Customer's refusal to accept the new edition of the Terms shall simultaneously be deemed to be a notice of early termination of the Agreement in respect of the relevant Order at the Customer's initiative by the unilateral refusal of the Customer to fulfill it. The Contract shall terminate in respect to the relevant Order on the last day of the transition period unless the Parties agree on an earlier date. + +Failure of the Customer to submit a refusal to accept the new edition of the Terms within the transition period and continued use of the Service by the Customer after the entry into force of the new edition of the Terms shall be deemed the Customer's acceptance of the new edition of the Terms in full. diff --git a/content/offer.md b/content/offer.md new file mode 100644 index 0000000..b6852e6 --- /dev/null +++ b/content/offer.md @@ -0,0 +1,15 @@ +# Offer + +`Version: 30 Jan 2023` + +In addition to the `Stakater App Agility Platform`, Stakater offers operational and maintenance support for existing OpenShift clusters for flexible time periods. The Stakater Global SRE Team will be responsible for the operational efforts. Contact [`sales@stakater.com`](mailto:sales@stakater.com) for more info. + +Here are the terms of the service: + +1. [General Provisions](./general-provisions.md) +1. [Composition of the Service](./service-composition.md) +1. [Regular Business Hours of Stakater](./business-hours.md) +1. [Technical Support](./technical-support.md) +1. [Updating Clusters](./updating-clusters.md) +1. [Service Level Agreement (SLA)](./sla.md) +1. [Cost of the Service and Settlement Procedure](./cost.md) diff --git a/content/service-composition.md b/content/service-composition.md new file mode 100644 index 0000000..64e8f25 --- /dev/null +++ b/content/service-composition.md @@ -0,0 +1,21 @@ +# Composition of the Service + +`Version: 30 Jan 2023` + +The Managed OpenShift service includes, but is not limited to, the following services: + +* The post-installation technical support of the OpenShift clusters, and auxiliary software components, including regular updates using the latest versions of clusters and auxiliary components developed by Stakater along with monitoring systems and components for aggregating operating parameters of the cluster. + +* Consulting assistance to the Customer representatives: software developers, system administrators, engineers, and other technical specialists interacting with Stakater on behalf of the Customer (elsewhere referred to as the Contact persons), carried out as part of the post-installation technical support of the Customer to the extent and following the rules stipulated in these Terms of Service. + +* Monitoring of the health of the OpenShift clusters, responding to failures and errors in their operation in accordance with the rules defined in the Regulations. + +* Correcting errors promptly, developing, upgrading, and adapting auxiliary components of +OpenShift clusters carried out by engineers of Stakater in accordance with their own +production plans and internal technical regulations or as agreed upon by the Parties. + +Stakater does not guarantee the Service will meet the requirements and expectations of the Customer. The Customer agrees that the Service is carried out using Stakater's software tools that operate on an "as is" basis. + +The Customer undertakes to take into account the recommendations of Stakater concerning the operation of OpenShift clusters maintained by Stakater. These recommendations are aimed at preventing possible failures of the OpenShift clusters maintained by Stakater. The Customer shall be responsible for any risks arising due to ignoring such recommendations. + +The liability of Stakater is limited to fines and penalties imposed on Stakater under these Terms of Service. Stakater shall not be held liable for losses incurred by the Customer in connection with the provision of the Service. diff --git a/content/sla.md b/content/sla.md new file mode 100644 index 0000000..c993126 --- /dev/null +++ b/content/sla.md @@ -0,0 +1,134 @@ +# Service Level Agreement (SLA) + +`Version: 30 Jan 2023` + +This SLA establishes conditions and a method for measuring the level of service at a given time, defines the guaranteed level of service, and sets out penalties for violating the guaranteed level of service. + +The level of service is measured based on monitoring data for individual cluster components grouped into availability types. Some availability types require enabling a special high availability mode of operation of components of the OpenShift cluster (elsewhere referred to as the High Availability mode, HA) to ensure a guaranteed level of service. + +Specifications and operating conditions of components running in the High Availability mode: + +* The component is run in two or more instances to preserve availability in the case of a failure of a single instance +* Enabling this mode requires additional computing resources +* If there is more than one master node in the cluster, the High Availability mode is activated for all components by default +* The HA mode can be turned off for individual components, such as authentication and monitoring, to reduce the cost of computing resources. However, we cannot guarantee the Service Level (SL) for such subsystems. +* Control Plane — the cluster core — is considered running in the HA mode if it has at least three instances + +## Availability Types + +To accurately identify types of degradations and the degree of their impact on the performance of services, we define several types of unavailability for which it is possible to set the parameters under the SLA. + +### Synthetic Availability + +Synthetic availability is the availability of running applications in the cluster and cluster components that are not related to the availability of the cluster's Control Plane. + +The SLA for Synthetic Availability is valid only if these basic conditions are met: + +* Cluster nodes continue to be available +* There is network connectivity between nodes +* The application continues to operate correctly + +At the same time, applications keep on running that meet the following conditions: + +* The application itself caches DNS data +* The application can operate with no scheduler or autoscaler running as well as with no ability to add/edit service endpoints +* No `kube-apiserver` availability is required for the application to operate + +This availability type does not require enabling the HA mode for components. + +### Router Availability + +Router availability is the availability of ingress router and its components - incoming HTTP requests are delivered to end applications. + +The router availability SLA does not cover the network availability that depends on the infrastructure. + +This availability type requires enabling the HA mode for components. + +### Node Group Availability + +In managed OpenShift, nodes are grouped together based on a purpose and managed as an integrated entity. All nodes in the group have the same metadata defined in the parameters of a `NodeGroup` resource based on labels, annotations, or taint fields. Such a group of nodes is called the Node Group. + +Node Group Availability indicates that each Node Group has at least `N-1` correctly functioning nodes, where `N` is the minimum number of nodes in NodeGroup as defined in the configuration. + +The Node Group Availability SLA does not apply to cases when a node fails due to improper operation of an application installed by the customer. + +This availability type does not require enabling the HA mode for components. + +### Control Plane Availability + +Control plane availability indicates that the deployment process in the cluster is working, and self-healing processes are running. It formulates the availability level of the main control OpenShift components: + +* `console` +* `etcd` +* `ingress` +* `kube-apiserver` +* `kube-controller-manager` +* `kube-dns` +* `kube-scheduler` +* `oauth-server` +* `openshift-apiserver` +* `openshift-cluster-csi-drivers` +* `openshift-cluster-node-tuning-operator` +* `openshift-image-registry` +* `openshift-kube-scheduler` +* `openshift-multus` +* `openshift-operator-lifecycle-manager` +* `openshift-sdn` +* `openshift-storage-operator` +* other components that the API depends on, such as Vertical Pod Autoscaler's admission controller + +This availability type requires enabling the HA mode for components. + +### Monitoring and Autoscaling Availability + +Monitoring and autoscaling availability means that monitoring and autoscaling are operating correctly. It defines the Prometheus availability level and auto scaling capabilities of components and data sources: + +* Prometheus +* Vertical Pod Autoscaler +* Horizontal Pod Autoscaler + +This availability type requires enabling the HA mode for components. + +### Extensions Availability + +Extensions availability means that additional Kubernetes components could be available. It sets out the availability level of components not directly involved in delivering applications to the runtime environment and their operation in the cluster, such as addons from Stakater listed on [Managed AddOns](../sre/addons/introduction.md). + +This availability type requires enabling the HA mode for components. + +### Common SLA Conditions for all Availability Types + +Availability types do not apply to situations of complete lack of network connectivity between nodes or total inaccessibility of the cluster infrastructure. + +The availability of each cluster component individually and of the availability type as a whole is determined by the best value obtained from multiple probing agents. + +## Guaranteed Level of Service + +Availability Type | Non-Prod | Prod +--- | --- | --- +Synthetic | 99.0% | 99.5% +Router | 99.0% | 99.5% +Node Group | 99.0% | 99.5% +Control Plane | 99.0% | 99.5% +Monitoring and Autoscaling | 99.0% | 99.5% +Extensions | 99.0% | 99.5% + +## Penalties for Violating the Service Level + +Stakater shall pay the penalty at the Customer's request for violation of the SLA conditions. The amount of the penalty is determined as follows: + +Penalty | Non-Prod | Prod +--- | --- | --- +The maximum amount of penalty per month of service for violating the SLA | No more than 10% of the monthly cost of service | No more than 20% of the monthly cost of service + +Stakater shall not be considered to have violated the SLA and shall not be deemed liable if the service level cannot be guaranteed for reasons beyond Stakater's control. + +If the SLA is violated for multiple availability types for the same cluster simultaneously, only the highest penalty for the availability type shall be subject to payment. + +## Additional Sections + +The following sections from the `SAAP` SLA also applies to the `Managed OpenShift Service` SLA: + +* [Excused Downtime](../saap-sla/saap-sla.md#6-excused-downtime) +* [Monthly Uptime Percentage](../saap-sla/saap-sla.md#7-monthly-uptime-percentage) +* [Limitations](../saap-sla/saap-sla.md#10-limitations) +* [SLA Exclusions](../saap-sla/saap-sla.md#13-sla-exclusions) diff --git a/content/technical-support.md b/content/technical-support.md new file mode 100644 index 0000000..1e2ee26 --- /dev/null +++ b/content/technical-support.md @@ -0,0 +1,13 @@ +# Technical Support + +`Version: 30 Jan 2023` + +Service Type | Non-Prod | Prod +--- | --- | --- +Incident response time | Up to 30 min | Up to 15 min +24x7x365 monitoring and handling cluster incidents | No | Yes +Technical advice on cluster architecture and applications during regular business hours | Yes, billed separately | Yes, billed separately +Voice consultations with lead engineers during regular business hours | No | Yes, billed separately +Dedicated technical contact | No | Yes +Delivery of the Service when Stakater does not have direct SSH access to the cluster. Direct SSH access means access via a public IP address or access via a site-to-site VPN. | No | Yes +Audit by the Information Security Service (ISS) involving conference calls with the Customer's ISS specialists, discussing the system design and practices used, and evaluating results of the audit conducted by the Customer's ISS. | No | Yes, up to 5 h diff --git a/content/updating-clusters.md b/content/updating-clusters.md new file mode 100644 index 0000000..3918a4d --- /dev/null +++ b/content/updating-clusters.md @@ -0,0 +1,24 @@ +# Updating Clusters + +`Version: 30 Jan 2023` + +The OpenShift cluster and its components are constantly evolving, with functional and security issues being detected and fixed during operation. New features emerge regularly. + +## Types of Updates + +The following update types are available: + +* Major-release is a planned update of cluster components that involves making backwards-incompatible API changes. Releases result in incrementing the major version (`X`) component in the semantic version number (`X.Y.Z`). + +* Minor-release is a planned update of cluster components that involves a feature extension or change. Releases result in incrementing the minor version (`Y`) component in the semantic version number (`X.Y.Z`). + +* Patch-release is an unplanned update of cluster components to fix errors or other functional issues that have already led or may lead to instability of the cluster. Patch-releases result in incrementing the patch version (`Z`) component in the semantic version number (`X.Y.Z`). + +The cluster may be updated on a schedule according to the update windows defined for the cluster. The available options for configuring update windows for the cluster are: + +Type of update | Update time | Non-Prod | Prod +--- | --- | --- | --- +Major- or Minor-release | Regular business hours | Selecting a time window for updates isn't possible | Selecting a time window for updates is possible +Major- or Minor-release | Non-business hours | Not available | For an additional fee +Patch-release | Regular business hours | Selecting a time window for updates isn't possible | Selecting a time window for updates isn't possible +Patch-release | Non-business hours | Not available | For an additional fee diff --git a/custom_theme/404.html b/custom_theme/404.html new file mode 100644 index 0000000..bf6b1a3 --- /dev/null +++ b/custom_theme/404.html @@ -0,0 +1,6 @@ +{% extends "main.html" %} + +{% block content %} +

4xx - Page does not exist or has restricted access or rights

+

This page does not exist or may have been deprecated or moved. Please use the search to find anything in the documentation.

+{% endblock %} diff --git a/custom_theme/assets/images/favicon.svg b/custom_theme/assets/images/favicon.svg new file mode 100644 index 0000000..a6762cd --- /dev/null +++ b/custom_theme/assets/images/favicon.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/custom_theme/main.html b/custom_theme/main.html new file mode 100644 index 0000000..56b5372 --- /dev/null +++ b/custom_theme/main.html @@ -0,0 +1,5 @@ +{% extends "base.html" %} + +{% block footer %} +

Copyright © 2023 Stakater AB – Change cookie settings

+{% endblock %} diff --git a/default.conf b/default.conf new file mode 100644 index 0000000..d531cb3 --- /dev/null +++ b/default.conf @@ -0,0 +1,9 @@ +server { + listen 8080; + root /usr/share/nginx/html/; + index index.html; + error_page 403 404 /404.html; + location = /404.html { + internal; + } +} diff --git a/mkdocs.yml b/mkdocs.yml new file mode 100644 index 0000000..bce920e --- /dev/null +++ b/mkdocs.yml @@ -0,0 +1,60 @@ +site_name: OpenShift as a Service +docs_dir: content +site_url: https://docs.stakater.com/oaas/ +repo_url: https://github.com/stakater/oaas-docs +edit_uri: blob/main/content/ +use_directory_urls: false +theme: + name: material + prev_next_buttons_location: none + logo: assets/images/favicon.svg + favicon: assets/images/favicon.svg + custom_dir: custom_theme/ + palette: + primary: white + features: + - navigation.tabs + +markdown_extensions: + - admonition + - pymdownx.details + - pymdownx.superfences + - attr_list + - pymdownx.emoji: + emoji_index: !!python/name:materialx.emoji.twemoji + emoji_generator: !!python/name:materialx.emoji.to_svg + +extra: + analytics: + provider: google + property: G-TTH1YYW5TX + consent: + title: Cookie consent + actions: + - accept + - reject + - manage + description: >- + We use cookies to recognize your repeated visits and preferences, as well + as to measure the effectiveness of our documentation and whether users + find what they're searching for. With your consent, you're helping us to + make our documentation better. +nav: + - OpenShift as a Service: + - offer.md + - general-provisions.md + - service-composition.md + - business-hours.md + - technical-support.md + - updating-clusters.md + - sla.md + - cost.md + - Stakater Home: https://www.stakater.com/ + - SAAP: https://www.stakater.com/saap-kubernetes-openshift + - Consultancy: https://www.stakater.com/kubernetes-consultancy + - Events: https://www.stakater.com/events + - Platform Assessment: https://www.stakater.com/kubernetes-platform-assessment + - Careers: https://www.stakater.com/careers +plugins: + - search + - mermaid2 diff --git a/vocabulary b/vocabulary new file mode 160000 index 0000000..ae216a4 --- /dev/null +++ b/vocabulary @@ -0,0 +1 @@ +Subproject commit ae216a403504b058a0e00c4cfbda77120fb3a9db From a749fd0bed18f7955ae9fd56b9d7260e8af6ec41 Mon Sep 17 00:00:00 2001 From: Karl Johan Grahn Date: Wed, 22 Mar 2023 23:02:05 +0100 Subject: [PATCH 2/4] update --- content/sla.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/sla.md b/content/sla.md index c993126..5e1555f 100644 --- a/content/sla.md +++ b/content/sla.md @@ -81,7 +81,7 @@ This availability type requires enabling the HA mode for components. ### Monitoring and Autoscaling Availability -Monitoring and autoscaling availability means that monitoring and autoscaling are operating correctly. It defines the Prometheus availability level and auto scaling capabilities of components and data sources: +Monitoring and autoscaling availability means that monitoring and autoscaling are operating correctly. It defines the Prometheus availability level and auto-scaling capabilities of components and data sources: * Prometheus * Vertical Pod Autoscaler From ea1d02494d363112081fa8c6b0ec74c85f16731c Mon Sep 17 00:00:00 2001 From: Karl Johan Grahn Date: Thu, 23 Mar 2023 09:54:16 +0100 Subject: [PATCH 3/4] update --- content/index.md | 22 ++++++++++------------ content/offer.md | 15 --------------- content/sla.md | 10 +++++----- mkdocs.yml | 2 +- 4 files changed, 16 insertions(+), 33 deletions(-) delete mode 100644 content/offer.md diff --git a/content/index.md b/content/index.md index 2853f1e..b6852e6 100644 --- a/content/index.md +++ b/content/index.md @@ -1,17 +1,15 @@ -# General Provisions +# Offer `Version: 30 Jan 2023` -These Terms of the Managed OpenShift Service (elsewhere referred to as the Terms of Service, Terms) define the essence and composition of the "Managed OpenShift" Service (elsewhere referred to as the Service) — a set of technical subscription-based services continuously rendered by Stakater. +In addition to the `Stakater App Agility Platform`, Stakater offers operational and maintenance support for existing OpenShift clusters for flexible time periods. The Stakater Global SRE Team will be responsible for the operational efforts. Contact [`sales@stakater.com`](mailto:sales@stakater.com) for more info. -Stakater is entitled to amend the Terms of Service unilaterally by approving a new version of the Terms. +Here are the terms of the service: -The new edition of the Terms of Service shall come into force on the thirtieth (30th) calendar day after the notice of amendment was sent to the Customer. The period from the date of Stakater's notification of changes to the Terms until the date on which the new version of the Terms takes effect is called the transition period. - -Stakater shall send notice of amendment of the Terms to the email address specified in the Service Agreement. The Customer is responsible for familiarizing themselves with the new edition of the Terms of Service. - -Refusal of the Customer to accept the new edition of the Terms and Conditions shall result in sending by the Customer to Stakater a notice of refusal to accept the new edition of the Terms during the transition period. The aforementioned notice shall be sent to the email address of Stakater specified in the Service Agreement. - -Notification of the Customer's refusal to accept the new edition of the Terms shall simultaneously be deemed to be a notice of early termination of the Agreement in respect of the relevant Order at the Customer's initiative by the unilateral refusal of the Customer to fulfill it. The Contract shall terminate in respect to the relevant Order on the last day of the transition period unless the Parties agree on an earlier date. - -Failure of the Customer to submit a refusal to accept the new edition of the Terms within the transition period and continued use of the Service by the Customer after the entry into force of the new edition of the Terms shall be deemed the Customer's acceptance of the new edition of the Terms in full. +1. [General Provisions](./general-provisions.md) +1. [Composition of the Service](./service-composition.md) +1. [Regular Business Hours of Stakater](./business-hours.md) +1. [Technical Support](./technical-support.md) +1. [Updating Clusters](./updating-clusters.md) +1. [Service Level Agreement (SLA)](./sla.md) +1. [Cost of the Service and Settlement Procedure](./cost.md) diff --git a/content/offer.md b/content/offer.md deleted file mode 100644 index b6852e6..0000000 --- a/content/offer.md +++ /dev/null @@ -1,15 +0,0 @@ -# Offer - -`Version: 30 Jan 2023` - -In addition to the `Stakater App Agility Platform`, Stakater offers operational and maintenance support for existing OpenShift clusters for flexible time periods. The Stakater Global SRE Team will be responsible for the operational efforts. Contact [`sales@stakater.com`](mailto:sales@stakater.com) for more info. - -Here are the terms of the service: - -1. [General Provisions](./general-provisions.md) -1. [Composition of the Service](./service-composition.md) -1. [Regular Business Hours of Stakater](./business-hours.md) -1. [Technical Support](./technical-support.md) -1. [Updating Clusters](./updating-clusters.md) -1. [Service Level Agreement (SLA)](./sla.md) -1. [Cost of the Service and Settlement Procedure](./cost.md) diff --git a/content/sla.md b/content/sla.md index 5e1555f..20f5297 100644 --- a/content/sla.md +++ b/content/sla.md @@ -91,7 +91,7 @@ This availability type requires enabling the HA mode for components. ### Extensions Availability -Extensions availability means that additional Kubernetes components could be available. It sets out the availability level of components not directly involved in delivering applications to the runtime environment and their operation in the cluster, such as addons from Stakater listed on [Managed AddOns](../sre/addons/introduction.md). +Extensions availability means that additional Kubernetes components could be available. It sets out the availability level of components not directly involved in delivering applications to the runtime environment and their operation in the cluster, such as addons from Stakater listed on [Managed AddOns](https://docs.stakater.com/content/sre/addons/introduction.html). This availability type requires enabling the HA mode for components. @@ -128,7 +128,7 @@ If the SLA is violated for multiple availability types for the same cluster simu The following sections from the `SAAP` SLA also applies to the `Managed OpenShift Service` SLA: -* [Excused Downtime](../saap-sla/saap-sla.md#6-excused-downtime) -* [Monthly Uptime Percentage](../saap-sla/saap-sla.md#7-monthly-uptime-percentage) -* [Limitations](../saap-sla/saap-sla.md#10-limitations) -* [SLA Exclusions](../saap-sla/saap-sla.md#13-sla-exclusions) +* [Excused Downtime](https://docs.stakater.com/content/saap-sla/saap-sla.html#6-excused-downtime) +* [Monthly Uptime Percentage](https://docs.stakater.com/content/saap-sla/saap-sla.html#7-monthly-uptime-percentage) +* [Limitations](https://docs.stakater.com/content/saap-sla/saap-sla.html#10-limitations) +* [SLA Exclusions](https://docs.stakater.com/content/saap-sla/saap-sla.html#13-sla-exclusions) diff --git a/mkdocs.yml b/mkdocs.yml index bce920e..14111d9 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -41,7 +41,7 @@ extra: make our documentation better. nav: - OpenShift as a Service: - - offer.md + - index.md - general-provisions.md - service-composition.md - business-hours.md From 6a73cfc120d0c48b87bfdb1d8276c839d2927758 Mon Sep 17 00:00:00 2001 From: Karl Johan Grahn Date: Thu, 23 Mar 2023 09:55:06 +0100 Subject: [PATCH 4/4] update --- content/general-provisions.md | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 content/general-provisions.md diff --git a/content/general-provisions.md b/content/general-provisions.md new file mode 100644 index 0000000..2853f1e --- /dev/null +++ b/content/general-provisions.md @@ -0,0 +1,17 @@ +# General Provisions + +`Version: 30 Jan 2023` + +These Terms of the Managed OpenShift Service (elsewhere referred to as the Terms of Service, Terms) define the essence and composition of the "Managed OpenShift" Service (elsewhere referred to as the Service) — a set of technical subscription-based services continuously rendered by Stakater. + +Stakater is entitled to amend the Terms of Service unilaterally by approving a new version of the Terms. + +The new edition of the Terms of Service shall come into force on the thirtieth (30th) calendar day after the notice of amendment was sent to the Customer. The period from the date of Stakater's notification of changes to the Terms until the date on which the new version of the Terms takes effect is called the transition period. + +Stakater shall send notice of amendment of the Terms to the email address specified in the Service Agreement. The Customer is responsible for familiarizing themselves with the new edition of the Terms of Service. + +Refusal of the Customer to accept the new edition of the Terms and Conditions shall result in sending by the Customer to Stakater a notice of refusal to accept the new edition of the Terms during the transition period. The aforementioned notice shall be sent to the email address of Stakater specified in the Service Agreement. + +Notification of the Customer's refusal to accept the new edition of the Terms shall simultaneously be deemed to be a notice of early termination of the Agreement in respect of the relevant Order at the Customer's initiative by the unilateral refusal of the Customer to fulfill it. The Contract shall terminate in respect to the relevant Order on the last day of the transition period unless the Parties agree on an earlier date. + +Failure of the Customer to submit a refusal to accept the new edition of the Terms within the transition period and continued use of the Service by the Customer after the entry into force of the new edition of the Terms shall be deemed the Customer's acceptance of the new edition of the Terms in full.