Skip to content

✨ feat(oks): add apis for all CRDs, add netpeering/ippool/oosaccess aliases#281

Draft
jfbus wants to merge 1 commit into
prerun_defaultsfrom
oks_add_crds
Draft

✨ feat(oks): add apis for all CRDs, add netpeering/ippool/oosaccess aliases#281
jfbus wants to merge 1 commit into
prerun_defaultsfrom
oks_add_crds

Conversation

@jfbus

@jfbus jfbus commented Jul 21, 2026

Copy link
Copy Markdown
Contributor

Description

This PR adds support for the missing CRDs with apis for all and high level aliases for some:

  • octl kube netpeering (create/accept netpeerings)
  • octl kube ippool (create ippools)
  • octl kube oosaccess (display oos configuration)

Type of Change

Please check the relevant option(s):

  • 🐛 Bug fix
  • ✨ New feature
  • 🧹 Code cleanup or refactor
  • 📝 Documentation update
  • 🔧 Build or CI-related change
  • 🔒 Security fix
  • Other (specify):

How Has This Been Tested?

Please describe the test strategy:

  • Manual testing
  • Unit tests
  • Integration tests
  • Not tested yet

Checklist

  • I have followed the Contributing Guidelines
  • I have added tests or explained why they are not needed
  • I have updated relevant documentation (README, examples, etc.)
  • My changes follow the Conventional Commits specification
  • My commits include appropriate Gitmoji

Additional Context

@github-actions

github-actions Bot commented Jul 21, 2026

Copy link
Copy Markdown

WARNING : Differences in reference doc 🤔

 .../octl_iaas_consumptionaccount_aggregate_all.md  |  4 +-
 ...tl_iaas_consumptionaccount_aggregate_compute.md |  4 +-
 .../octl_iaas_consumptionaccount_aggregate_gpu.md  |  4 +-
 .../reference/octl_iaas_consumptionaccount_list.md |  4 +-
 docs/reference/octl_kube.md                        |  4 +
 docs/reference/octl_kube_api_CreateCluster.md      |  1 -
 docs/reference/octl_kube_api_DeleteCluster.md      |  3 +-
 docs/reference/octl_kube_api_GetCluster.md         |  3 +-
 docs/reference/octl_kube_api_GetKubeconfig.md      |  9 +--
 docs/reference/octl_kube_api_UpdateCluster.md      |  1 -
 docs/reference/octl_kube_api_UpgradeCluster.md     |  3 +-
 docs/reference/octl_kube_cluster.md                |  2 +-
 docs/reference/octl_kube_cluster_create.md         |  2 +-
 docs/reference/octl_kube_cluster_delete.md         |  2 +-
 docs/reference/octl_kube_cluster_describe.md       |  2 +-
 docs/reference/octl_kube_cluster_kubeconfig.md     |  2 +-
 docs/reference/octl_kube_cluster_list.md           |  2 +-
 docs/reference/octl_kube_cluster_update.md         |  2 +-
 docs/reference/octl_kube_ippool.md                 | 44 +++++++++++
 docs/reference/octl_kube_ippool_api.md             | 45 +++++++++++
 docs/reference/octl_kube_ippool_api_Create.md      | 79 +++++++++++++++++++
 docs/reference/octl_kube_ippool_api_Delete.md      | 44 +++++++++++
 docs/reference/octl_kube_ippool_api_Get.md         | 44 +++++++++++
 docs/reference/octl_kube_ippool_api_List.md        | 44 +++++++++++
 docs/reference/octl_kube_ippool_api_Update.md      | 79 +++++++++++++++++++
 docs/reference/octl_kube_ippool_create.md          | 53 +++++++++++++
 docs/reference/octl_kube_ippool_delete.md          | 51 +++++++++++++
 docs/reference/octl_kube_ippool_describe.md        | 51 +++++++++++++
 docs/reference/octl_kube_ippool_list.md            | 51 +++++++++++++
 docs/reference/octl_kube_netpeering.md             | 47 ++++++++++++
 docs/reference/octl_kube_netpeering_accept.md      | 52 +++++++++++++
 docs/reference/octl_kube_netpeering_acceptance.md  | 40 ++++++++++
 .../octl_kube_netpeering_acceptance_api.md         | 45 +++++++++++
 .../octl_kube_netpeering_acceptance_api_Create.md  | 82 ++++++++++++++++++++
 .../octl_kube_netpeering_acceptance_api_Delete.md  | 44 +++++++++++
 .../octl_kube_netpeering_acceptance_api_Get.md     | 44 +++++++++++
 .../octl_kube_netpeering_acceptance_api_List.md    | 44 +++++++++++
 .../octl_kube_netpeering_acceptance_api_Update.md  | 82 ++++++++++++++++++++
 docs/reference/octl_kube_netpeering_api.md         | 45 +++++++++++
 docs/reference/octl_kube_netpeering_api_Create.md  | 82 ++++++++++++++++++++
 docs/reference/octl_kube_netpeering_api_Delete.md  | 44 +++++++++++
 docs/reference/octl_kube_netpeering_api_Get.md     | 44 +++++++++++
 docs/reference/octl_kube_netpeering_api_List.md    | 44 +++++++++++
 docs/reference/octl_kube_netpeering_api_Update.md  | 82 ++++++++++++++++++++
 docs/reference/octl_kube_netpeering_create.md      | 52 +++++++++++++
 docs/reference/octl_kube_netpeering_delete.md      | 51 +++++++++++++
 docs/reference/octl_kube_netpeering_describe.md    | 51 +++++++++++++
 docs/reference/octl_kube_netpeering_list.md        | 51 +++++++++++++
 docs/reference/octl_kube_netpeering_request.md     | 40 ++++++++++
 docs/reference/octl_kube_netpeering_request_api.md | 45 +++++++++++
 .../octl_kube_netpeering_request_api_Create.md     | 84 +++++++++++++++++++++
 .../octl_kube_netpeering_request_api_Delete.md     | 44 +++++++++++
 .../octl_kube_netpeering_request_api_Get.md        | 44 +++++++++++
 .../octl_kube_netpeering_request_api_List.md       | 44 +++++++++++
 .../octl_kube_netpeering_request_api_Update.md     | 84 +++++++++++++++++++++
 docs/reference/octl_kube_nodepool.md               |  3 +-
 docs/reference/octl_kube_nodepool_api.md           |  3 +-
 docs/reference/octl_kube_nodepool_api_Create.md    |  3 +-
 docs/reference/octl_kube_nodepool_api_Delete.md    |  3 +-
 docs/reference/octl_kube_nodepool_api_Get.md       |  3 +-
 docs/reference/octl_kube_nodepool_api_List.md      |  3 +-
 docs/reference/octl_kube_nodepool_api_Update.md    |  3 +-
 docs/reference/octl_kube_nodepool_create.md        |  2 +-
 docs/reference/octl_kube_nodepool_delete.md        |  2 +-
 docs/reference/octl_kube_nodepool_describe.md      |  2 +-
 docs/reference/octl_kube_nodepool_list.md          |  2 +-
 docs/reference/octl_kube_oosaccess.md              | 42 +++++++++++
 docs/reference/octl_kube_oosaccess_api.md          | 45 +++++++++++
 docs/reference/octl_kube_oosaccess_api_Create.md   | 79 +++++++++++++++++++
 docs/reference/octl_kube_oosaccess_api_Delete.md   | 44 +++++++++++
 docs/reference/octl_kube_oosaccess_api_Get.md      | 44 +++++++++++
 docs/reference/octl_kube_oosaccess_api_List.md     | 44 +++++++++++
 docs/reference/octl_kube_oosaccess_api_Update.md   | 79 +++++++++++++++++++
 docs/reference/octl_kube_oosaccess_describe.md     | 51 +++++++++++++
 docs/reference/octl_kube_oosaccess_list.md         | 51 +++++++++++++
 docs/reference/octl_kube_project_use.md            |  2 +-
 docs/reference/octl_kube_vpnconnection.md          | 40 ++++++++++
 docs/reference/octl_kube_vpnconnection_api.md      | 45 +++++++++++
 .../octl_kube_vpnconnection_api_Create.md          | 88 ++++++++++++++++++++++
 .../octl_kube_vpnconnection_api_Delete.md          | 44 +++++++++++
 docs/reference/octl_kube_vpnconnection_api_Get.md  | 44 +++++++++++
 docs/reference/octl_kube_vpnconnection_api_List.md | 44 +++++++++++
 .../octl_kube_vpnconnection_api_Update.md          | 88 ++++++++++++++++++++++
 83 files changed, 2906 insertions(+), 47 deletions(-)
Detailed changes

docs/reference/octl_iaas_consumptionaccount_aggregate_all.md

-      --from-date osctime   The beginning of the time period, in ISO 8601 date format (for example, 2020-06-14).
+      --from-date osctime   The beginning of the time period, in ISO 8601 date format (for example, 2020-06-14). (default beginning-of-month)
-      --to-date osctime     The end of the time period, in ISO 8601 date format (for example, 2020-06-30).
+      --to-date osctime     The end of the time period, in ISO 8601 date format (for example, 2020-06-30). (default today)

docs/reference/octl_iaas_consumptionaccount_aggregate_compute.md

-      --from-date osctime   The beginning of the time period, in ISO 8601 date format (for example, 2020-06-14).
+      --from-date osctime   The beginning of the time period, in ISO 8601 date format (for example, 2020-06-14). (default beginning-of-month)
-      --to-date osctime     The end of the time period, in ISO 8601 date format (for example, 2020-06-30).
+      --to-date osctime     The end of the time period, in ISO 8601 date format (for example, 2020-06-30). (default today)

docs/reference/octl_iaas_consumptionaccount_aggregate_gpu.md

-      --from-date osctime   The beginning of the time period, in ISO 8601 date format (for example, 2020-06-14).
+      --from-date osctime   The beginning of the time period, in ISO 8601 date format (for example, 2020-06-14). (default beginning-of-month)
-      --to-date osctime     The end of the time period, in ISO 8601 date format (for example, 2020-06-30).
+      --to-date osctime     The end of the time period, in ISO 8601 date format (for example, 2020-06-30). (default today)

docs/reference/octl_iaas_consumptionaccount_list.md

-      --from-date osctime       The beginning of the time period, in ISO 8601 date format (for example, 2020-06-14).
+      --from-date osctime       The beginning of the time period, in ISO 8601 date format (for example, 2020-06-14). (default beginning-of-month)
-      --to-date osctime         The end of the time period, in ISO 8601 date format (for example, 2020-06-30).
+      --to-date osctime         The end of the time period, in ISO 8601 date format (for example, 2020-06-30). (default today)

docs/reference/octl_kube.md

+* [octl kube ippool](octl_kube_ippool.md)	 - ippool commands
+* [octl kube netpeering](octl_kube_netpeering.md)	 - netpeering commands
+* [octl kube oosaccess](octl_kube_oosaccess.md)	 - oosaccess commands
+* [octl kube vpnconnection](octl_kube_vpnconnection.md)	 - vpnconnection commands

docs/reference/octl_kube_api_CreateCluster.md

-      --project string                                               project name

docs/reference/octl_kube_api_DeleteCluster.md

-      --project string   project name

docs/reference/octl_kube_api_GetCluster.md

-      --project string   project name

docs/reference/octl_kube_api_GetKubeconfig.md

-      --project string   project name

docs/reference/octl_kube_api_UpdateCluster.md

-      --project string                                               project name

docs/reference/octl_kube_api_UpgradeCluster.md

-      --project string   project name

docs/reference/octl_kube_cluster.md

-      --project string   project name
+      --project string   Name or ID of project

docs/reference/octl_kube_cluster_create.md

-      --project string                      [REQUIRED] Unique identifier of the project this cluster belongs to
+      --project string                      Unique identifier of the project this cluster belongs to

docs/reference/octl_kube_cluster_delete.md

-      --project string             project name
+      --project string             Name or ID of project

docs/reference/octl_kube_cluster_describe.md

-      --project string             project name
+      --project string             Name or ID of project

docs/reference/octl_kube_cluster_kubeconfig.md

-      --project string             project name
+      --project string             Name or ID of project

docs/reference/octl_kube_cluster_list.md

-      --project string             project name
+      --project string             Name or ID of project

docs/reference/octl_kube_cluster_update.md

-      --project string             project name
+      --project string             Name or ID of project

docs/reference/octl_kube_ippool.md

new file mode 100644
+## octl kube ippool
+
+ippool commands
+
+### Options
+
+```
+  -h, --help   help for ippool
+```
+
+### Options inherited from parent commands
+
+```
+  -c, --columns string             columns to display - [+]<title>:<jq query for content>||<title>:<jq query for content>
+      --config string              Path of profile file (by default, ~/.osc/config.json)
+      --dry-run                    Display the request payload that would be sent to the API without sending it
+      --elapsed                    add elapsed time column when using --watch (default true)
+      --filter strings             comma separated list of filters for results - name:value,name:value, alias for jq filter 'select(.name | tostring | test("value"))'
+      --interval duration          interval between two watch/waitfor iterations (default 5s)
+      --jq string                  jq filter
+      --max-pages int              maximum number of pages a command can fetch (default 20)
+      --no-upgrade                 do not check for new versions
+  -O, --out-file string            redirect output to file
+  -o, --output string              output format (raw, json, yaml, table, csv, none, base64, text)
+      --payload string             JSON content for query body
+      --profile string             Profile to use in profile file (by default, "default")
+      --single                     convert single entry lists to a single object
+      --template string            JSON template file for query body
+  -v, --verbose                    Verbose output
+      --waitfor string             repeatedly call the API until the specified jq expression returns 1/true or a non empty result
+      --waitfor-timeout duration   maximum duration of a wait (default 10m0s)
+      --watch                      repeatedly call the API and display changes
+  -y, --yes                        answer yes to all prompts
+```
+
+### SEE ALSO
+
+* [octl kube](octl_kube.md)	 - OUTSCALE Kubernetes as a Service (OKS) management
+* [octl kube ippool api](octl_kube_ippool_api.md)	 - ippool api calls
+* [octl kube ippool create](octl_kube_ippool_create.md)	 - alias for request api Create
+* [octl kube ippool delete](octl_kube_ippool_delete.md)	 - alias for api Delete id
+* [octl kube ippool describe](octl_kube_ippool_describe.md)	 - alias for api Get
+* [octl kube ippool list](octl_kube_ippool_list.md)	 - alias for api List
+

docs/reference/octl_kube_ippool_api.md

new file mode 100644
+## octl kube ippool api
+
+ippool api calls
+
+### Options
+
+```
+      --cluster string   [REQUIRED] ID of cluster
+  -h, --help             help for api
+```
+
+### Options inherited from parent commands
+
+```
+  -c, --columns string             columns to display - [+]<title>:<jq query for content>||<title>:<jq query for content>
+      --config string              Path of profile file (by default, ~/.osc/config.json)
+      --dry-run                    Display the request payload that would be sent to the API without sending it
+      --elapsed                    add elapsed time column when using --watch (default true)
+      --filter strings             comma separated list of filters for results - name:value,name:value, alias for jq filter 'select(.name | tostring | test("value"))'
+      --interval duration          interval between two watch/waitfor iterations (default 5s)
+      --jq string                  jq filter
+      --max-pages int              maximum number of pages a command can fetch (default 20)
+      --no-upgrade                 do not check for new versions
+  -O, --out-file string            redirect output to file
+  -o, --output string              output format (raw, json, yaml, table, csv, none, base64, text)
+      --payload string             JSON content for query body
+      --profile string             Profile to use in profile file (by default, "default")
+      --single                     convert single entry lists to a single object
+      --template string            JSON template file for query body
+  -v, --verbose                    Verbose output
+      --waitfor string             repeatedly call the API until the specified jq expression returns 1/true or a non empty result
+      --waitfor-timeout duration   maximum duration of a wait (default 10m0s)
+      --watch                      repeatedly call the API and display changes
+  -y, --yes                        answer yes to all prompts
+```
+
+### SEE ALSO
+
+* [octl kube ippool](octl_kube_ippool.md)	 - ippool commands
+* [octl kube ippool api Create](octl_kube_ippool_api_Create.md)	 - 
+* [octl kube ippool api Delete](octl_kube_ippool_api_Delete.md)	 - 
+* [octl kube ippool api Get](octl_kube_ippool_api_Get.md)	 - 
+* [octl kube ippool api List](octl_kube_ippool_api_List.md)	 - 
+* [octl kube ippool api Update](octl_kube_ippool_api_Update.md)	 - 
+

docs/reference/octl_kube_ippool_api_Create.md

new file mode 100644
+## octl kube ippool api Create
+
+
+
+```
+octl kube ippool api Create [flags]
[...]
</details>

@github-actions github-actions Bot added the kind/feature New feature or request label Jul 21, 2026
@github-actions

Copy link
Copy Markdown

🔖 auto-tagging: Adding label "kind/feature"

@jfbus
jfbus force-pushed the oks_add_crds branch 3 times, most recently from 486b0c8 to 6a29861 Compare July 21, 2026 12:27
@github-actions

Copy link
Copy Markdown

Binary size: 82.3MB => 82.9MB (change +600KB, +0.7%) 😭

@jfbus
jfbus changed the base branch from main to prerun_defaults July 23, 2026 08:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

kind/feature New feature or request

Development

Successfully merging this pull request may close these issues.

1 participant