Posts

Showing posts from January, 2020

OCI CLI Environment Variables

The OCI CLI client provides a number of arguments that are useful as you look up your components from the command line. As you build an internal tooling to query either your or your customers resources, it can start to get "interesting" if you need to start building a custom argument list. Since version 2.6.9 of the client, a number of environment variables are supported that you can set rather than building a complex argument list. I think leveraging these variables makes for a cleaner code base in your bash scripts. If you check the release notes from version 2.6.9, you will see they introduced they following variables: OCI_CLI_PROFILE OCI_CLI_REGION OCI_CLI_USER OCI_CLI_FINGERPRINT OCI_CLI_KEY_FILE OCI_CLI_TENANCY OCI_CLI_ENDPOINT OCI_CLI_CONFIG_FILE OCI_CLI_RC_FILE OCI_CLI_CERT_BUNDLE OCI_CLI_AUTH OCI_CLI_DELEGATION_TOKEN_FILE OCI_CLI_SECURITY_TOKEN_FILE For the most recent version of what's supported, you can review the code base where they defi

OCI: Enabling X11 Forwarding on an Oracle Linux instance

Image
I was connecting to one of my works servers the other day hoping to copy the contents of a file into my clipboard, which would require the use of an X11 forwarded session, but as I connected to the server with X11 forwarding enabled, I was sad to see the following message: X11 forwarding request failed on channel 0 This is on Oracle Linux. Note, if I connect to an Ubuntu instance, I get the message: /usr/bin/xauth:  file /home/ubuntu/.Xauthority does not exist But this file is created, and X forwarding works from the get-go. OK, back to Oracle Linux - how do we fix this? Actually, the fix is a simple one. SSH is already configured to enable X11Forwarding. The other change you need make is to turn off the setting X11UseLocalhost. So part of your configuration would likely look like this: X11Forwarding yes #X11DisplayOffset 10 X11UseLocalhost no After that, you will want to reload the SSH daemon. Do this by running the command: sudo systemctl reload sshd Finally,

Trimming down on OCI CLI output with a query in the RC file

Oracle Cloud Infrastructure has a command client, which leverages their REST API. One thing you can do to streamline your usage is to make use of an RC file. The RC file that would be automatically used is the one at the path: `~/.oci/oci_cli_rc`, but you can also point to an alternative file path if you have named it something different. At the most basic level what you would typically want to do is provide some alias for arguments. A common argument being `--compartment-id`, but we can alias that to simply `-c` by specifying in our RC file: [OCI_CLI_PARAM_ALIASES] -c = --compartment-id This is all good, but what I think is neat is that you can provide queries to manipulate the output that is returned to the screen. What's a use case for this? Well one example, it's not uncommon to list the compartments so you can figure out the compartment ID, but by default there is a lot of information returned that I am almost never interested in. When your tenancy isn't very