Skip to content

Commit

Permalink
chore: Add HubSpot form script and update roadmap
Browse files Browse the repository at this point in the history
  • Loading branch information
adrianescutia committed May 26, 2024
1 parent 575bce0 commit e5ae7f0
Show file tree
Hide file tree
Showing 5 changed files with 496 additions and 14 deletions.
108 changes: 98 additions & 10 deletions docs/roadmap.mdx
Original file line number Diff line number Diff line change
@@ -1,14 +1,13 @@
---
slug: /roadmap
title: Roadmap
title: K1s Roadmap
sidebar_label: Roadmap
description: The roadmap is a list of features that we are planning to implement in the future
or the features that are WIP.
keywords:
- roadmap
---

# K1s Roadmap
import HubSpotForm from '@site/src/components/HubSpotForm';

K1s roadmap is a list of Kubernetes features that are planned to be implemented in the future and what features we are working with now.
Keep in mind that the roadmap is not a promise to implement the features. The roadmap is subject to change, and the features may be removed or added at any time. Keep an eye on the roadmap to see what features we are working on.
Expand All @@ -19,7 +18,8 @@ Keep in mind that the roadmap is not a promise to implement the features. The ro
||Done|
|👷🏽‍|Under Construction|
||Planned, coming next|
|-|Not apply|
|-|Not plan yet|
|🚫|Not supported|

:::tip Get Early Access!

Expand All @@ -28,7 +28,7 @@ Get the early access to our Serverless Kubernetes platform and get the latest up

:::

## API Dashboard
### K1s Serverless API Dashboard
---

|PATH|Status|get|create|describe|patch|delete|put|
Expand All @@ -45,7 +45,7 @@ Get the early access to our Serverless Kubernetes platform and get the latest up

The Kubernetes API is huge with 428 API endpoints (paths), 113 for `api` group and 310 for `apis` group endpoints! We are working on the API dashboard to make it easier to navigate the API endpoints and the status on each of these.

## K1s Terminal
## K1s Terminal Roadmap

### `kubectl`

Expand All @@ -56,12 +56,100 @@ apiGroups: "" | "apps" | "batch" | "extensions" | "networking.k8s.io" | "storage
API Group: Core | Apps | Batch | Extensions | Networking | Storage | RBAC | Policy | Autoscaling | Coordination | Scheduling | Settings | Authentication | Authorization | API Extensions | API Registration | Apps OpenShift | Build OpenShift | Image OpenShift | Network OpenShift | OAuth OpenShift | Project OpenShift | Quota OpenShift | Route OpenShift | Security OpenShift | Template OpenShift | User OpenShift | Authorization OpenShift | Build Pipelines OpenShift | Console OpenShift | Operator OpenShift | Operator OpenShift -->
In summary, this roadmap is the list of features that we are planning to implement first. The roadmap is subject to change, and the features may be removed or added at any time. Keep an eye on the roadmap to see what features we are working on.
```bash
kubectl api-resources -owide | grep all
```
NAME|SHORTNAMES|APIVERSION|NAMESPACED|KIND|VERBS
--|---|---|---|---|---
pods|po|v1|true|Pod|create,delete,deletecollection,get,list,patch,update,watch|all
replicationcontrollers|rc|v1|true|ReplicationController|create,delete,deletecollection,get,list,patch,update,watch|all
services|svc|v1|true|Service|create,delete,deletecollection,get,list,patch,update,watch|all
daemonsets|ds|apps/v1|true|DaemonSet|create,delete,deletecollection,get,list,patch,update,watch|all
deployments|deploy|apps/v1|true|Deployment|create,delete,deletecollection,get,list,patch,update,watch|all
replicasets|rs|apps/v1|true|ReplicaSet|create,delete,deletecollection,get,list,patch,update,watch|all
statefulsets|sts|apps/v1|true|StatefulSet|create,delete,deletecollection,get,list,patch,update,watch|all
horizontalpodautoscalers|hpa|autoscaling/v2|true|HorizontalPodAutoscaler|create,delete,deletecollection,get,list,patch,update,watch|all
cronjobs|cj|batch/v1|true|CronJob|create,delete,deletecollection,get,list,patch,update,watch|all
jobs|-|batch/v1|true|Job|create,delete,deletecollection,get,list,patch,update,watch|all
#### Core API Group
|Resource|Status|get|list|watch|create|update|patch|delete|deletecollection|
|---|---|---|---|---|---|---|---|---|---|
|pods|👷|✅|-|-|-|-|-|-|-|
|namespaces|👷|✅|-|-|-|-|-|-|-|
```bash
kubectl api-resources --api-group='' -owide
```
|Resource|Kind|Status|get|list|watch|create|update|patch|delete|deletecollection|
|---|---|---|---|---|---|---|---|---|---|-|
|pods|Pod|👷|✅|-|-|-|-|-|-|-|
|namespaces|Namespace|👷|✅|-|-|-|-|-|-|🚫|
|configmaps|ConfigMap|-|-|-|-|-|-|-|-|-|
|endpoints|Endpoints|-|-|-|-|-|-|-|-|-|
|events|Event|-|-|-|-|-|-|-|-|-|
|limitranges|LimitRange|-|-|-|-|-|-|-|-|-|
|nodes|Node|-|-|-|-|-|-|-|-|-|
|persistentvolumeclaims|PersistentVolumeClaim
|persistentvolumes|PersistentVolume|-|-|-|-|-|-|-|-|-|
|podtemplates|PodTemplate|-|-|-|-|-|-|-|-|-|
|replicationcontrollers|ReplicationController|-|-|-|-|-|-|-|-|-|
|resourcequotas|ResourceQuota|-|-|-|-|-|-|-|-|-|
|secrets|-|-|-|-|-|-|-|-|-|-|
|serviceaccounts|ServiceAccount|-|-|-|-|-|-|-|-|-|
|services|Service|-|-|-|-|-|-|-|-|-|
|bindings|-|-|🚫|🚫|🚫|-|🚫|🚫|🚫|🚫|
|componentstatuses|ComponentStatus|-|-|-|🚫|🚫|🚫|🚫|🚫|🚫|
#### API Groups within `all` flag
Which resources are available in the `all` API group?
```bash
kubectl api-resources -owide | grep all
```
Only the following resources are available in the `all` API group that are NOT in the core API group:
|Resource|Kind|Status|get|list|watch|create|update|patch|delete|deletecollection|
|---|---|---|---|---|---|---|---|---|---|-|
|replicationcontrollers|ReplicationController|-|-|-|-|-|-|-|-|-|
|services|Service|-|-|-|-|-|-|-|-|-|
|daemonsets|DaemonSet|-|-|-|-|-|-|-|-|-|
|deployments|Deployment|-|-|-|-|-|-|-|-|-|
|replicasets|ReplicaSet|-|-|-|-|-|-|-|-|-|
|statefulsets|StatefulSet|-|-|-|-|-|-|-|-|-|
|horizontalpodautoscalers|HorizontalPodAutoscaler|-|-|-|-|-|-|-|-|-|
|cronjobs|CronJob|-|-|-|-|-|-|-|-|-|
|jobs|Job|-|-|-|-|-|-|-|-|-|
#### Plan based on Kubernetes API Verbs
The `all` keyword in Kubernetes is a special keyword that represents all resources. When you use `kubectl` with `all`, it performs the operation on "all resources that it supports".

For example, if you run `kubectl get all`, it will return all resources that it supports, such as pods, services, deployments, and so on.

However, it's important to note that all does not truly select absolutely all resources in Kubernetes. It only selects **resources that are most commonly used by end-users** and are expected to be viewed together.

Hence, it is worth to start the k1s' `kubectl` implementation of the resources based on the Kubernetes Resource and Verbs, irrespective of the API group.

- [ ] `kubectl get {}` command
- [ ] `kubectl create {}` command
- [ ] `kubectl delete {}` command
- [ ] `kubectl patch {}` command
- [ ] `kubectl update {}` command
- [ ] `kubectl watch {}` command

Variants to consider:

- [ ] `kubectl get {} --all-namespaces` command
- [ ] `kubectl get {} [(-o|--output=)json|yaml|name|go-template|go-template-file|template|templatefile|jsonpath|jsonpath-as-json|jsonpath-file|custom-columns|custom-columns-file|wide]
(TYPE[.VERSION][.GROUP] [NAME | -l label] | TYPE[.VERSION][.GROUP]/NAME ...) [flags] [options]` command
- [ ] `kubectl delete ([-f FILENAME] | [-k DIRECTORY] | TYPE [(NAME | -l label | --all)]) [options]` command

## Subscribe

Subscribe to our newsletter to get the latest updates on the implementation progress.

<HubSpotForm/>
6 changes: 6 additions & 0 deletions docusaurus.config.js
Original file line number Diff line number Diff line change
Expand Up @@ -156,6 +156,12 @@ const config = {
additionalLanguages: ['bash', 'diff', 'json'],
},
}),
scripts: [
{
src: 'https://js.hsforms.net/forms/embed/v2.js',
async: true,
},
],
};

module.exports = config;
3 changes: 3 additions & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,10 @@
"dependencies": {
"@docusaurus/core": "^3.1.1",
"@docusaurus/preset-classic": "^3.1.1",
"@emotion/react": "^11.11.4",
"@emotion/styled": "^11.11.5",
"@mdx-js/react": "^3.0.0",
"@mui/joy": "^5.0.0-beta.36",
"clsx": "^1.2.1",
"prism-react-renderer": "^2.1.0",
"react": "^18.2.0",
Expand Down
61 changes: 61 additions & 0 deletions src/components/HubSpotForm.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
import * as React from 'react';
import { Box, Divider, Link, Stack, Typography } from '@mui/joy';

export default function HubSpotForm({ divider = true }): JSX.Element {
React.useEffect(() => {
const script = document.createElement('script');
script.src = 'https://js.hsforms.net/forms/v2.js';
document.body.appendChild(script);

script.addEventListener('load', () => {
// @TS-ignore
if (window.hbspt) {
// @TS-ignore
window.hbspt.forms.create({
region: "na1",
portalId: "21339207",
formId: "de35aaf9-79e8-4495-94e4-eb5c30f7eb04",
target: '#hubspotForm'
})
}
});
}, []);
return (
<>
{divider && (
<Divider
inset='none'
orientation='horizontal'
sx={{ my: 2 }}
/>
)}
<Box
sx={{
display: 'flex',
gap: 1,
my: 2,
alignSelf: 'stretch',
flexBasis: '80%',
flexDirection: 'column',
}}
>
<Stack spacing={1}>
<div id="hubspotForm"
// centered
style={{ margin: 'auto' }}
></div>
<Typography
// component="span"
fontSize={"xs"} textColor="text.secondary"
// align="center"
>
By continuing you agree to our{' '}
<Link color="neutral">
<b>Privacy Policy</b>
</Link>
</Typography>
</Stack>
</Box>
</>
);
}
Loading

0 comments on commit e5ae7f0

Please # to comment.