Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

add oracle cloud cli to image #182

Merged
merged 3 commits into from
May 11, 2024
Merged

add oracle cloud cli to image #182

merged 3 commits into from
May 11, 2024

Conversation

giovannicandido
Copy link
Contributor

This is a straightforward contribution that I need for my own stuff.
Using Oracle Cloud Kubernetes engine with pulumi requires one of the following:

  1. A static access token using a service account (not ideal)
  2. One IAM user for the ci/cd process with permissions to authenticate in the cluster.

The second option connects with Kubernetes using short-lived tokens emitted by the oci-cli executable. The executable will use a config file and a pem file in the ~/.oci folder (but can be configured in other ways if needed); then we can configure ~/.kube/config to use the CLI to emit the tokens.

I need this CLI installed to use in the Pulumi cloud deployments feature with native OCI authentication, as explained in the second option.

It's better to have this upstream, but I can also maintain a custom image build from the main image.

Thanks.

@justinvp
Copy link
Member

/run-acceptance-tests

Copy link
Member

@justinvp justinvp left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM. We install the other cloud CLIs, so seems reasonable to install Oracle's as well.

I fixed the merge conflict and switched to using the install script rather than global pip install. Tested it out in #191

@justinvp justinvp merged commit ddce061 into pulumi:main May 11, 2024
4 of 21 checks passed
justinvp added a commit that referenced this pull request May 24, 2024
This reverts commit ddce061.

Installing the Oracle CLI the way we're installing it is causing
`/root/.bashrc` to be modified to include `/usr/bin` (the location
where the `oci` binary is placed) at the front of `PATH`,
_before_ `/usr/local/bin`.

This ends up breaking `python3 -m venv venv` called from Pulumi
Deployments because it ends up using the system Python at
`/usr/bin/python3` rather than the version of Python from this image
that should be used at `/usr/local/bin/python3` (due to the
`PATH` change in `.bashrc`), and the system Python does not have `venv`
available.

It may be possible to address this by installing the Oracle CLI binary
in `/usr/local/bin` rather than `/usr/bin`, but I'd like to see if it's
possible to install the Oracle CLI without updating `.bashrc` at all,
so reverting this in the meantime.
justinvp added a commit that referenced this pull request May 24, 2024
This reverts commit ddce061.

Installing the Oracle CLI the way we're installing it is causing
`/root/.bashrc` to be modified to include `/usr/bin` (the location
where the `oci` binary is placed) at the front of `PATH`,
_before_ `/usr/local/bin`.

This ends up breaking `python3 -m venv venv` called from Pulumi
Deployments because it ends up using the system Python at
`/usr/bin/python3` rather than the version of Python from this image
that should be used at `/usr/local/bin/python3` (due to the
`PATH` change in `.bashrc`), and the system Python does not have `venv`
available.

It may be possible to address this by installing the Oracle CLI binary
in `/usr/local/bin` rather than `/usr/bin`, but I'd like to see if it's
possible to install the Oracle CLI without updating `.bashrc` at all,
so reverting this in the meantime.
@justinvp
Copy link
Member

Unfortunately, we had to temporarily revert this in #195 due to #193. I've opened #196 to track adding it back.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants