Is there a Docker Hub equivalent for OpenShift?

Problem scenario
Docker Hub is a public registry for containers. Does OpenShift support something like this? You know they have the OpenShift Container Registry -- but this is private to a given OpenShift instance. Red Hat owns OpenShift. Is there a public registry supported by Red Hat?

Answer
Yes. It is called Quay.io. If you want a brief overview of it, see this external posting.

How Do You Create a Customer Master Key in AWS?

Problem scenario
You want to create a CMK in Amazon web servers. What do you do?

Solution
Use Secrets Manager with Amazon's Key Management Service.

1. Log into the AWS console.
2. Go to "Key Management Service"
3. Click on "Create key"
4. Enter an "Alias". Normally you won't click on the "Advanced options" unless you have a special reason. Click "Next".
5. Respond to the prompts and click "Next" until you get to the end. You will be given the opportunity to configure the key to have certain Amazon roles administrative permissions and key usage permissions.

The key administrators will be able to administer the key itself to other users/roles. The users of the key will be able to encrypt and decrypt based on the key. If you want to create your own Amazon roles, see this posting.

6. Click "Finish"

How Do You Extract a File from a .zip File without unzip?

Problem scenario
You have a .zip file, on your Linux server, that you want to uncompress. You do not have unzip installed on your machine. What should you do?

Possible Solution #1
Install unzip. If you are using a Debian/Ubuntu distribution of Linux, run this: sudo apt -y install unzip

Possible Solution #2
You could use WinSCP to download the file to your Windows workstation. Then you could extract the files on the Windows workstation. Then you could transfer the uncompressed files back over.

How Do You Find Where the Python Interpreter Will Look for Modules?

Problem scenario
You want to use custom modules (e.g., .py files that will be called by another Python program). You are trying to figure out which location(s) the Python interpreter will look for such modules. How do you determine the directory where Python will look when it uses the "import" key word?

Solution
Run these three commands (the first is a Bash command and the other two are Python):

python
import sys
print(sys.path)

How Do You Troubleshoot the Python Error “subprocess.CalledProcessError: Command ‘…’ returned non-zero exit status 1”?

Problem scenario
You are automating a Linux infrastructure task with Python using subprocess calls. You get this error "subprocess.CalledProcessError: Command '…' returned non-zero exit status 1", what should you do?

Solution
Run the Linux command without Python. Then run echo $? to determine the exit code. If you see a 1, that means Python notices this command is not considered to have run successfully. The solution should be to break down the processing into atomic Python commands. Try to use Python as much as possible for whatever you were doing. Make sure the Linux command returns an exit code of 0 every time the command is run.

Use the env > /path/to/analyze.txt command. When Python runs, the env variables will be different from the commands you interactively run. Therefore the contents of the env command should help you.

What Should The Permissions of the kubectl File Be on a Linux server?

Problem scenario
You copied the kubectl file. You are not sure what the permissions it should have. When you try to execute it, you get "Permission denied". What should you do?

Solution
We recommend using this (after you change directories to the one that has the kubectl file): sudo chmod 777 kubectl

When you use conjure-up, it makes kubectl have 777 permissions. We find this to be a reasonable standard that works. It allows for other users to use it. The ownership and group associated with the kubectl file is root by default when you deploy kubernetes with conjure-up. A disadvantage of this solution is that the kubectl command is important and powerful, and any user will be able to run it after you make this change. Any user could also delete the kubectl file if you run the command above.

In AWS’ KMS What Is the Difference between Administrative Permissions and Usage Permissions of a CMK?

Question
A CMK is an encryption key. In Amazon Web Services, for CMKs (Customer Master Keys) in KMS (Key Management Service), what is the difference between administrative permissions and key usage permissions?

Answer
Usage permissions enable (either IAM users or roles) to encrypt and decrypt data with the AWS KMS API.

Administrative permissions for a CMK allows either an IAM user or role to give usage permissions to other IAM users or roles through the API (and sometimes the web console).