![Create React App Officially Deprecated Amid React 19 Compatibility Issues](https://cdn.sanity.io/images/cgdhsj6q/production/04fa08cf844d798abc0e1a6391c129363cc7e2ab-1024x1024.webp?w=400&fit=max&auto=format)
Security News
Create React App Officially Deprecated Amid React 19 Compatibility Issues
Create React App is officially deprecated due to React 19 issues and lack of maintenance—developers should switch to Vite or other modern alternatives.
@sazze/ops-cli
Advanced tools
C4 Operations Command Line Interface
Official command line interface to sazze-c4/ops
npm install -g @sazze/ops-cli
ops --help
Configuration can be specified in a JSON file named .ops.conf
located in the user's home directory.
Find hosts that match a perl RegExp pattern.
Usage:
ops host search PATTERN [OPTIONS]
PATTERN
: the perl RegExp to match againstOPTIONS
: (optional) options to pass to the search
-ma
: (optional) match the pattern against specific attributes (can be specified multiple times) (default: fqdn
, chefRole
, and mac
)-ra
: (optional) the attribute to return if a match is found (default: fqdn
)All matches are written to STDOUT
with 1 match per line.
Examples:
chefRole
attributeops search host "developer" -am chefRole
Resposne:
dev-craig.c1.cs1.sazze.com
dev-ajaso.c1.cs1.sazze.com
...
Like search, but uses the old c3.ops.sazze.com filter style (nothing fancy allowed here, just a "string contains" check). Filters against fqdn
, chefRole
, and mac
attributes.
Usage:
ops host filter FILTER_STRING
FILTER_STRING
: the string to filter hosts withExamples:
ops host filter "envoy"
Response:
mc-envoy-main1.c1.cs1.sazze.com
mc-envoy-main2.c1.cs1.sazze.com
ipmi-mc-envoy-main1.c1.cs1.sazze.com
ipmi-mc-envoy-main2.c1.cs1.sazze.com
...
Get information about a host
Usage:
ops host show FQDN [OPTIONS]
FQDN
: the FQDN of the host to get information forOPTIONS
: (optional) options to pass to show
--raw
: (optional) show raw JSON
host object
--pretty
: (optional) pretty print the raw JSON output--tree
: (optional) show host info in a tree format
--all
: (optional) expand all host attributes--macs
: (optional) expand host mac addresses--disks
: (optional) expand host disks--raids
: (optional) expand host raids--interfaces
: (optional) expand host interfaces--bridges
: (optional) expand host bridges--bonds
: (optional) expand host bonds--guests
: (optional) expand host guests--kvmHost
: (optional) expand host kvm host--ipmiHost
: (optional) expand host ipmi hostCan get info for multiple hosts by writing hostname(s) to STDIN
(1 per line)
Examples:
ops host show host1.example.com
Response:
fqdn: host1.example.com
chefRole: my-chef-role
ip: 192.168.1.1
mac: AA:BB:CC:DD:EE:FF
ops host filter example.com | ops host show
Response:
fqdn: host1.example.com
chefRole: my-chef-role
ip: 192.168.1.1
mac: AA:BB:CC:DD:EE:FE
fqdn: host2.example.com
chefRole: my-chef-role
ip: 192.168.1.2
mac: AA:BB:CC:DD:EE:FF
Clone an existing host. Outputs the json representation of the host.
Most common use case is to pipe the output of ops host clone
to ops host create
Can also direct the output to a file for editing prior to consumption by ops host create
Usage:
ops host clone DONOR_FQDN --cloneName FQDN [--mac MAC_ADDR] [--noInterfaces] [--zone ZONE] [--pool POOL] [--vmHostId FQDN|ID] [--chefRole ROLE] [--pretty]
DONOR_FQDN
: the FQDN of the host to clone--cloneName FQDN
: the FQDN
for the new host--mac MAC_ADDR
: (optional) the mac address to use for the new host. MAC_ADDR
should be of the format AA:BB:CC:DD:EE:FF
. This option may be specified more than once. Mac addresses will be applied to interfaces in the order received.--noInterfaces
: (optional) do not clone the network interfaces--zone ZONE
: (optional) the name of the zone for the new host (default: the donor host's zone)--pool POOL
: (optional) the name of the pool for the new host (default: the donor host's pool)--vmHostId FQDN|ID
: (optional) the FQDN
or ID
of the host that will host the new virtual machine. (default: the donor host's vmHostId). This options is ignored if the donor host is not a virtual machine.--chefRole ROLE
: (optional) the chef role for the new host (default: the donor host's chef role)--pretty
: (optional) pretty print the JSON output (useful for writing to a file for future editing)Examples:
ops host clone host1.example.com --cloneName host2.example.com --pretty
Response:
{
"fqdn": "host2.example.com",
"name": "host2",
"cpu": 4,
"ram": 4096,
"type": 2,
"active": 1,
"disks": [
{
"size": 34816,
"order": 0,
"partitions": [
{
"mount": "/boot",
"fsType": "ext4",
"size": 200,
"primary": 1,
"order": 0
},
{
"mount": "swap",
"fsType": "swap",
"size": 2048,
"primary": 0,
"order": 0
},
{
"mount": "/",
"fsType": "ext4",
"size": 0,
"primary": 0,
"order": 0
}
]
}
],
"vmHost": 0,
"chefRole": "chef-role",
"domain": {
"domain": "example.com"
},
"pool": {
"poolId": 1,
"name": "example pool",
"zoneId": 1
},
"zone": {
"zoneId": 1,
"name": "example zone",
"domain": "example.com",
"chefServer": "chef.example.com"
},
"raid": [],
"netInterfaces": [
{
"name": "eth0"
}
],
"netInterfaceBonds": [],
"vmHostId": 1234,
"vmDiskPrefixes": []
}
Create a map of where hosts are located.
Accepts host names on the command line or from STDIN
and maps them to their locations.
Usage:
ops host map [FQDN] [--byHost | --byZone]
FQDN
: (optional) the FQDN
of the host to map. This option can be specified more than once. (default: read host FQDN
's from STDIN
)--byHost
: (optional) organize hosts by virtual machine host--byZone
: (optional) organize hosts by zoneExamples:
ops host map host1.example.com host2.example.com
ops host filter example.com | ops host map --byHost
ops host filter | ops host map --byHost
Create a host from a json object read from STDIN.
Most common use case is to pipe the output of ops host clone
to ops host create
Usage:
ops host create
Examples:
cat host1.example.com.json | ops host create
ops clone host1.example.com | ops host create
ops host rm FQDN
ops host provision FQDN
ops host deprovision FQDN
Add an interface on a host to a bridge (create the bridge if it doesn't exist).
ops host mkBr FQDN BRIDGE INTERFACE
FQDN
: the FQDN
of the hostBRIDGE
: the name of the bridge to add the interface to (i.e. br0
)INTERFACE
: the name of the interface to add to the bridgeExamples:
ops host mkBr host1.example.com br0 bond0
ops host rmBr FQDN BRIDGE
ops addr list
ops addr show
ops addr assign
ops addr unassign
ISC License (ISC)
Copyright (c) 2016, Sazze, Inc.
Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies.
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
FAQs
C4 Operations Command Line Interface
The npm package @sazze/ops-cli receives a total of 2 weekly downloads. As such, @sazze/ops-cli popularity was classified as not popular.
We found that @sazze/ops-cli demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 2 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Create React App is officially deprecated due to React 19 issues and lack of maintenance—developers should switch to Vite or other modern alternatives.
Security News
Oracle seeks to dismiss fraud claims in the JavaScript trademark dispute, delaying the case and avoiding questions about its right to the name.
Security News
The Linux Foundation is warning open source developers that compliance with global sanctions is mandatory, highlighting legal risks and restrictions on contributions.