Hello, I am attempting to build an automation to a...
# python
f
Hello, I am attempting to build an automation to adjust a K8s node pool minimum node count. I've been following the instructions from [Getting started with Automation API](https://www.pulumi.com/docs/using-pulumi/automation-api/getting-started-automation-api/) but I'm running into an error "403 HTTP error fetching plugin from https://get.pulumi.com/releases/..." I saw posts about this being related to running this on an M1 Mac, but I get the same result on an AMD64 Linux machine (Fedora 40 on Intel)
Copy code
pulumi.automation.errors.CommandError:
 code: 255
 stdout:
 stderr: [resource plugin pulumi-digitalocean-4.21.0] installing
error: [resource plugin pulumi-digitalocean-4.21.0] downloading from : failed to download plugin: pulumi-digitalocean-4.21.0: 403 HTTP error fetching plugin from <https://get.pulumi.com/releases/plugins/pulumi-resource-pulumi-digitalocean-v4.21.0-linux-amd64.tar.gz>
Here's my
main.py
Copy code
import argparse
import pulumi
from pulumi import automation as auto
import pulumi_digitalocean as do

def update_min_node_count(node_count):
    def pulumi_program():
        # Load and set config values
        config = pulumi.Config()
        do_project = config.require("TestingProject")
        cluster_id = config.require("0")

        # Update the node pool
        node_pool = do.KubernetesNodePool.get("foo-pool-testing-0", cluster_id)
        node_pool.update(min_nodes=node_count)

    # Set up the stack
    stack_name = "fooorg/test-0"
    stack = auto.create_or_select_stack(stack_name=stack_name,
                                        project_name="TestingProject",
                                        program=pulumi_program)
    print("successfully initialized stack")
    # for inline programs, we must manage plugins ourselves
    print("installing plugins...")
    stack.workspace.install_plugin("pulumi-digitalocean", "4.21.0")
    print("plugins installed")
    # Set the config and perform the update
    stack.set_config("do_project", auto.ConfigValue(value="TestingProject"))
    stack.set_config("cluster_id", auto.ConfigValue(value="0"))
    # up_res = stack.up(on_output=print)


if __name__ == "__main__":
    parser = argparse.ArgumentParser(description='Update min node count.')
    parser.add_argument('node_count', type=int, help='The node count to set.')
    args = parser.parse_args()

    update_min_node_count(args.node_count)
Full output of
venv/bin/python main.py 4
Copy code
venv/bin/python main.py 4
successfully initialized stack
installing plugins...
Traceback (most recent call last):
  File "/home/halo/Code/devops_tools/pulumi/automation/dagster-node-count/main.py", line 38, in <module>
    update_min_node_count(args.node_count)
  File "/home/halo/Code/devops_tools/pulumi/automation/dagster-node-count/main.py", line 25, in update_min_node_count
    stack.workspace.install_plugin("pulumi-digitalocean", "4.21.0")
  File "/home/halo/Code/devops_tools/pulumi/automation/dagster-node-count/venv/lib64/python3.9/site-packages/pulumi/automation/_local_workspace.py", line 331, in install_plugin
    self._run_pulumi_cmd_sync(["plugin", "install", kind, name, version])
  File "/home/halo/Code/devops_tools/pulumi/automation/dagster-node-count/venv/lib64/python3.9/site-packages/pulumi/automation/_local_workspace.py", line 430, in _run_pulumi_cmd_sync
    return _run_pulumi_cmd(args, self.work_dir, envs, on_output)
  File "/home/halo/Code/devops_tools/pulumi/automation/dagster-node-count/venv/lib64/python3.9/site-packages/pulumi/automation/_cmd.py", line 78, in _run_pulumi_cmd
    raise create_command_error(result)
pulumi.automation.errors.CommandError: 
 code: 255
 stdout: 
 stderr: [resource plugin pulumi-digitalocean-4.21.0] installing
error: [resource plugin pulumi-digitalocean-4.21.0] downloading from : failed to download plugin: pulumi-digitalocean-4.21.0: 403 HTTP error fetching plugin from <https://get.pulumi.com/releases/plugins/pulumi-resource-pulumi-digitalocean-v4.21.0-linux-amd64.tar.gz>