Sign inSign up

ajeetraina777/sbx-kits-cloudsmith:latest

Manifest digest

sha256:1028755cd812871bfb87861b0377a69ff67f667bdd4a13032217ccf135813163

Last pushed

15 days by ajeetraina777

Type

Sandbox Kit

Manifest digest

sha256:1028755cd812871bfb87861b0377a69ff67f667bdd4a13032217ccf135813163

yaml
schemaVersion: "2"
kind: mixin
name: cloudsmith
displayName: Cloudsmith (artifact management)
description: 'Adds Cloudsmith package/artifact management to any agent via the official cloudsmith CLI, wired to Cloudsmith''s cloud API. Push, pull, list and manage packages across 30+ formats. Needs a key: sbx secret set cloudsmith (the kit holds no key).'
agentInstructions:
    content: |
        Cloudsmith artifact management: the `cloudsmith` CLI is installed and the
        CLOUDSMITH_API_KEY credential is injected by the sbx proxy on requests to
        api.cloudsmith.io. Use it to publish and manage packages across 30+ formats
        (Docker, npm, PyPI, Maven, Debian, RPM, Helm, Cargo, Go, NuGet, and more).

        The key is never present in the sandbox -- the env var reads `proxy-managed`,
        and the proxy swaps in the real token on egress. So run the CLI directly; do
        not try to read or echo the key.

            cloudsmith whoami                                  # verify auth
            cloudsmith list packages OWNER/REPO                # list packages (alias: ls pkg)
            cloudsmith push python OWNER/REPO dist/pkg.whl     # upload a Python wheel
            cloudsmith push docker OWNER/REPO image.tar        # upload a Docker image tarball
            cloudsmith push deb OWNER/REPO/ubuntu/24.04 pkg.deb
            cloudsmith status OWNER/REPO/<slug>                # check a package's sync status
            cloudsmith delete OWNER/REPO/<slug>                # remove a package

        `OWNER` is your Cloudsmith workspace (organization) slug and `REPO` is the
        repository slug. Run `cloudsmith push --help` for the full list of formats
        and per-format arguments.

        Reach for this whenever a task involves publishing a build artifact,
        inspecting what's already in a repository, or wiring a project's package
        manager to a Cloudsmith-hosted registry.
permissions:
    network:
        allow:
            - pypi.org
            - files.pythonhosted.org
            - api.cloudsmith.io
            - dl.cloudsmith.io
            - docker.cloudsmith.io
            - npm.cloudsmith.io
credentials:
    - service: cloudsmith
      description: Cloudsmith API key (read + write)
      apiKey:
        name: CLOUDSMITH_API_KEY
        inject:
            - domain: api.cloudsmith.io
              header: Authorization
              format: token %s
environment:
    variables:
        CLOUDSMITH_API_KEY: proxy-managed
setup:
    install:
        - command: pip install --break-system-packages 'cloudsmith-cli==1.26.0'
          user: "1000"
          description: Install the official Cloudsmith CLI