All Projects → papivot → wcpctl

papivot / wcpctl

Licence: other
Kubectl system interaction with the vSphere 7 Supervisor cluster

Programming Languages

python
139335 projects - #7 most used programming language
Dockerfile
14818 projects

Projects that are alternatives of or similar to wcpctl

regclient
Docker and OCI Registry Client in Go and tooling using those libraries.
Stars: ✭ 603 (+3073.68%)
Mutual labels:  registry
nxt registry
A simple registry to implement the container pattern
Stars: ✭ 16 (-15.79%)
Mutual labels:  registry
Reg2CI
Create System Center Configuration manager ConfigItem (CI's) from a .reg (Registry) or a .pol (Policy) file.
Stars: ✭ 74 (+289.47%)
Mutual labels:  registry
luxe
Luxe is a WordPress starter theme using a modern workflow and best practices.
Stars: ✭ 22 (+15.79%)
Mutual labels:  namespaces
craneoperator
Gives you a simple web interface for browsing around a Docker Registry
Stars: ✭ 116 (+510.53%)
Mutual labels:  registry
secret config
Centralized Configuration and Secrets Management for Ruby and Rails applications.
Stars: ✭ 15 (-21.05%)
Mutual labels:  registry
Windows11-betterUX
A non-destructive registry preset to improve the default user-experience with windows 10.
Stars: ✭ 21 (+10.53%)
Mutual labels:  registry
npm-updates
Emits update events from the npm repository.
Stars: ✭ 16 (-15.79%)
Mutual labels:  registry
regln
Windows Rregistry Linking Utility
Stars: ✭ 38 (+100%)
Mutual labels:  registry
IOBrowser
A macOS application for browsing the IOKit registry.
Stars: ✭ 123 (+547.37%)
Mutual labels:  registry
xmutca-rpc
Xmutca-rpc是一个基于netty开发的分布式服务框架,提供稳定高性能的RPC远程服务调用功能,支持注册中心,服务治理,负载均衡等特性,开箱即用。
Stars: ✭ 18 (-5.26%)
Mutual labels:  registry
windowed-observable
Messaging lib using a pub/sub observable scoped by namespaces.
Stars: ✭ 132 (+594.74%)
Mutual labels:  namespaces
srclient
Golang Client for Schema Registry
Stars: ✭ 188 (+889.47%)
Mutual labels:  registry
anthology
A private Terraform registry implementation as an alternative to the official registry.
Stars: ✭ 112 (+489.47%)
Mutual labels:  registry
Windows-10-tweaks
This repo contains multiple scripts to optimize windows 10
Stars: ✭ 37 (+94.74%)
Mutual labels:  registry
nsenter
Slim nsenter Docker image - enter into Docker container/host namespaces
Stars: ✭ 111 (+484.21%)
Mutual labels:  namespaces
available
Scan npm for available package names
Stars: ✭ 98 (+415.79%)
Mutual labels:  registry
nix-portable
Nix - Static, Permissionless, Installation-free, Pre-configured
Stars: ✭ 356 (+1773.68%)
Mutual labels:  namespaces
yrs
Yarn registry switch tool
Stars: ✭ 12 (-36.84%)
Mutual labels:  registry
WDD-scripts
PowerShell scripts that add features to WinDynamicDesktop
Stars: ✭ 50 (+163.16%)
Mutual labels:  registry

WCPCTL

A kubectl style command line tool to interact with vSphere 7 with Tanzu Supervisor Cluster.

Now with support for vSphere 7.0 U1.

This can be used to spin up NSX-T or vSphere NW based Supervisor Cluster.


vSphere 7 with Kubernetes brings some amazing features that enable you to run K8s nativly on your compute clusters. While the product is amazing, currently most of the interaction to the platform is limited to interaction with the vCenter UI. While the user interactions are minimal, the thought process for this project was to perform those interactions thru a CLI tool. If its a CLI tool, why not make it kubectl style, with simple, user friendly yaml files to provide the configurations and JSON style outputs??

Some guidance inspired from the awesome work of vthinkbeyondvm.com


  • Language - Python (tested on v3.7, MacOS, Linux and Windows Server 2016)
  • Required modules - requests, json, time, yaml, uuid, argparse, getpass
    • Most are generally available. May require install of yaml using the following - pip3 install -U PyYAML .
    • Windows additionally may require requests. This can be installed by pip3 install requests.

Currently the following actions are supported -

  • Creation of the Supervisor Cluster
  • Creation of Namespaces
  • Creation of Harbor registry
  • Creation of Subscribed Content Library
  • Reconfiguration of Namespaces (Resource config is a WIP)
  • Deletion of Namespaces
  • Deletion of Harbor registry
  • Deletion of Supervisor cluster
  • Deletion of Subscribed Content Library
  • Describe Namespace(s) (JSON output)
  • Describe WCP Registry (JSON output)
  • Describe WCP Cluster (JSON output)
  • Describe Subscribed Content Library

Setup

  • Make sure Python3 is installed and working.
  • Make sure the modules listed above are installed. May require pip3 to install.
  • Make sure you have admin access to the vCenter server.
  • Make sure the workstation where the wcpctl cli will run on has access to the VCenter server.
  • Clone this repo.
  • Execute chmod +x wcpctl.py if its not already set to execute.
  • Modify the YAML config files provided in the sample-config-yaml folder.
  • If possible, move the wcpctl.py file a folder in $PATH. E.g. sudo cp wcpctl.py /usr/local/bin
  • Execute the wcpctl code.
$ wcpctl.py -h  
=============================================================================

usage: wcpctl.py [-h] [--version] {create,apply,delete,describe} ...

wcpctl controls for managing Supervisor Clusters in vSphere 7 with K8s. Uses
YAML configuration files to setup and manage the Supervisor Cluster. Find
additional information at: https://github.io/papivot/wcpctl

positional arguments:
  {create,apply,delete,describe}
                        Commands
    create              Create WCP object(s)
    apply               Apply configuration changes to WCP object(s)
    delete              Delete WCP object(s)
    describe            Describe a WCP object(s)

optional arguments:
  -h, --help            show this help message and exit
  --version             show program's version number and exit
  

Sample Examples

To enable/create a Supervisor Cluster

  • modify the wcp-cluster.yaml sample provided in the sample-config-yaml folder. Make sure that the following are enabled/configured (as per official docs) -
    • Relevent Content Library
    • NSX configuration
wcpctl.py create some-wcp-cluster-config.yaml -u [email protected]

To disable the Supervisor Cluster,

wcpctl.py delete some-wcp-cluster-config.yaml

To modify Namespace(s)

wcpctl.py apply some-namespaceconfig.yaml

To create a Registry

wcpctl.py create some-regconfig.yaml

To describe Registry

wcpctl.py describe some-nsconfigfile.yaml

To create a WCP content library

wcpctl.py create some-contentlibconfigfile.yaml

Feedback

Would love feedback from users.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].