Naar de inhoud
CivoCloudManager

Civo Object Storage doorbladeren via S3 op macOS.

De regionale endpoint, werkende configuratie voor s3cmd, rclone en de AWS CLI, en wat een native client anders doet.

Civo Object Storage spreekt S3, dus vrijwel elke S3-client kan ermee praten zodra twee dingen kloppen: de endpoint van de regio waar de store staat, en een credential dat in diezelfde regio is gemaakt. De documentatie van Civo loopt s3cmd door en laat de rest van het gereedschap aan jou. Deze pagina geeft de kale configuratie voor s3cmd, rclone en de AWS CLI, en laat daarna zien welke route CivoCloudManager neemt: de endpoint en de access keys rechtstreeks uit de Civo API lezen, zodat er niets met de hand te configureren valt.

Een S3-client instellen voor Civo

  1. 01

    Zoek de endpoint van je regio.

    Civo bouwt object store-endpoints als https://objectstore.<region>.civo.com met de regiocode in kleine letters, dus een store in Londen bereik je op https://objectstore.lon1.civo.com en een in Frankfurt op https://objectstore.fra1.civo.com. Elke store toont zijn eigen endpoint ook in het Civo-dashboard en geeft hem terug in het veld objectstore_endpoint van de REST API. Volgens het regio-overzicht van Civo zijn object stores beschikbaar in LON1, FRA1, NYC1 en MUM1, en niet in PHX1.

  2. 02

    Maak een credential aan in diezelfde regio.

    Elke Civo object store is privé en heeft een access key ID en een secret key nodig. Maak het credential aan in het Civo-dashboard onder Object Stores terwijl de regiokiezer op de regio van de store staat, of met de Civo CLI. Het commando civo objectstore credential export -a <access_key> drukt het paar af als AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, AWS_DEFAULT_REGION en AWS_HOST, klaar om in een shell te plakken.

  3. 03

    s3cmd: host_base en host_bucket.

    Zet in ~/.s3cfg onder [default] de waarden host_base = objectstore.fra1.civo.com, host_bucket = objectstore.fra1.civo.com, bucket_location = fra1, use_https = True, signature_v2 = False, plus access_key en secret_key. Door host_bucket dezelfde hostnaam te geven als host_base blijft s3cmd op path style-adressering, en daar antwoordt Civo op. Daarna toont s3cmd ls je stores, s3cmd ls s3://STORENAME toont er één, s3cmd put file.tar s3://STORENAME/backups/ uploadt en s3cmd get -r s3://STORENAME/backups/ haalt een hele prefix binnen. Zonder configbestand gaan dezelfde twee waarden als --host= en --host-bucket= op de commandoregel.

  4. 04

    rclone: een remote van type s3, provider Other.

    Draai rclone config en kies s3, of schrijf het blok direct in ~/.config/rclone/rclone.conf: zet onder [civo] de waarden type = s3, provider = Other, env_auth = false, access_key_id en secret_access_key uit het credential, region = fra1, endpoint = https://objectstore.fra1.civo.com en acl = private. Daarna toont rclone lsd civo: je stores, rclone ls civo:STORENAME de objecten, rclone copy ./dir civo:STORENAME/dir -P synchroniseert een map omhoog met voortgang en rclone ncdu civo:STORENAME geeft een browser in tekstmodus. Dezelfde instellingen werken als losse vlaggen: --s3-provider Other --s3-endpoint https://objectstore.fra1.civo.com --s3-region fra1.

  5. 05

    AWS CLI: --endpoint-url bij elke aanroep.

    De AWS CLI heeft geen Civo-specifieke plug-in nodig, alleen de endpoint bij elk commando: aws s3 ls --endpoint-url https://objectstore.fra1.civo.com, daarna aws s3 ls s3://STORENAME --endpoint-url ... en aws s3 cp file.tar s3://STORENAME/ --endpoint-url ... . Inloggegevens komen uit AWS_ACCESS_KEY_ID en AWS_SECRET_ACCESS_KEY of uit een benoemd profiel, met AWS_DEFAULT_REGION op de Civo-regiocode zodat de scope van Signature V4 klopt. Eén voetnoot voor recente versies: AWS CLI 2.23 en nieuwer voegt standaard een CRC64NVME-checksum toe aan uploads, en niet elke S3-compatibele endpoint accepteert die. Loopt een put stuk op een checksum-fout, zet dan AWS_REQUEST_CHECKSUM_CALCULATION=when_required en AWS_RESPONSE_CHECKSUM_VALIDATION=when_required.

De valkuil die een uur kost: sleutels horen bij één regio

De documentatie van Civo is er duidelijk over, in twee zinnen die je makkelijk overslaat: object stores zijn regiogebonden, en credentials om ze te beheren en te benaderen horen bij de regio waarin ze zijn aangemaakt. Een sleutel die je maakte terwijl het dashboard op FRA1 stond, authenticeert niet tegen de LON1-endpoint, ook al gaat het om hetzelfde account en dezelfde factuur. Het symptoom is een authenticatie- of signature-fout die eruitziet als een typefout in de secret, dus de natuurlijke reactie is de sleutel opnieuw genereren, wat je een tweede sleutel in dezelfde verkeerde regio oplevert. Controleer eerst de regiokiezer, maak het credential naast de store aan, en verdenk pas daarna je config.

Wat de commandoregel niet dekt

Voor scripting, back-ups en CI zijn s3cmd, rclone en de AWS CLI het juiste antwoord en niets hier vervangt ze. Wat ze niet geven is zicht op een store: een mappenboom, groottes in één oogopslag, een selectie die je eruit sleept. Generieke S3-clients voor de Mac als Cyberduck of Transmit vullen dat gat, maar die weten niets van Civo, dus je voert de endpoint in, plakt per store beide sleutels en houdt ze met de hand bij zodra er een credential roteert.

De route van de app: helemaal geen endpoint invoeren

CivoCloudManager authenticeert één keer met je Civo API-sleutel en leest de lijst met object stores uit de Civo REST API v2, waarin de endpoint en het gekoppelde credential per store al meekomen. Daaruit bouwt hij de S3-client, dus er is geen endpoint-veld, geen sleutels plakken en geen configbestand. De S3-laag is gewoon Swift: AWS Signature V4 berekend met HMAC-SHA256 uit CryptoKit, geen AWS SDK en geen Electron. Hij doet ListObjects v2 met continuation tokens, broodkruimelnavigatie over gemeenschappelijke prefixes, meervoudige selectie en recursief mappen downloaden met een lopende voortgangsregel. Eerlijk over de vorm ervan: de browser leest en downloadt. Uploaden en verwijderen blijft bij s3cmd of rclone. De app vraagt macOS 15 of nieuwer.

Access keys achter Touch ID in plaats van in een dotfile

Dit is het deel dat een installatie waard is, ook als je de CLI aanhoudt. Een werkende s3cmd-opzet betekent dat de secret key in platte tekst in ~/.s3cfg staat, en hetzelfde geldt voor rclone.conf en ~/.aws/credentials. Elk proces dat onder jouw gebruiker draait kan alle drie lezen, en alles wat door je home-map wandelt ook. CivoCloudManager houdt de Civo API-sleutel in de macOS Keychain, en een secret access key van een object store tonen vraagt eerst om Touch ID of het systeemwachtwoord. De grens is duidelijk en mag genoemd worden: op het moment dat je een sleutel naar een terminal kopieert, is het weer een bestand in platte tekst.

Pauzeren en hervatten voor stores die je niet gebruikt

Een ongebruikte store betaal je nog steeds voor de toegewezen grootte. Pauzeren kopieert elk object naar een centrale object store met de naam civo-cloud-manager, laat die kluis eerst groeien als de data er niet in past, vergelijkt de gekopieerde keys en groottes met de bron, en verwijdert de oorspronkelijke store pas als ze overeenkomen. De regel verdwijnt van je Civo-factuur. Hervatten maakt de store opnieuw aan onder dezelfde naam met hetzelfde credential, kopieert de objecten terug, controleert keys en groottes opnieuw en ruimt daarna de kluis op. Er gaan maximaal vier objecten tegelijk over. De eerlijke beperkingen: de controle vergelijkt namen en groottes in plaats van de inhoud te hashen, overdrachten bufferen hele objecten in het geheugen, en het manifest op afstand wordt pas geschreven nadat de bron is verwijderd, met een lokaal manifest als terugval.

Welke client voor welk werk

Alle vier praten met dezelfde S3-API op dezelfde endpoint. Het verschil zit in waar de configuratie staat, waar de secret belandt en wat je kunt zien.

Taak s3cmdrcloneAWS CLICivoCloudManager
Endpoint instellen host_base en host_bucket in ~/.s3cfgendpoint in de remote--endpoint-url bij elke aanroepuit de Civo API gelezen
Waar de secret key belandt ~/.s3cfg, platte tekstrclone.conf, platte tekst~/.aws/credentials, platte tekstmacOS Keychain, Touch ID om te tonen
Een store visueel doorbladeren neerclone ncdu, tekstmodusneeja, bestandsbrowser met broodkruimels
Objecten uploaden en verwijderen jajajaniet in de browser
Mappen recursief downloaden s3cmd get -rrclone copyaws s3 cp --recursiveja, met voortgang
Een ongebruikte store pauzeren om niet te betalen neeneeneeja, kluis met controle voor verwijderen
Draait in CI jajajanee, het is een Mac-app

Civo Object Storage via S3, beantwoord

Wat is de endpoint-URL van Civo Object Storage?
Civo object store-endpoints volgen het patroon https://objectstore.<region>.civo.com met de regiocode in kleine letters, bijvoorbeeld https://objectstore.lon1.civo.com in Londen of https://objectstore.fra1.civo.com in Frankfurt. De endpoint hangt af van de regio waarin de store is aangemaakt. Elke store toont zijn eigen endpoint ook in het Civo-dashboard en geeft hem terug in het veld objectstore_endpoint van de Civo REST API.
Kan ik s3cmd of rclone gebruiken met Civo Object Storage?
Ja, allebei werken, en de AWS CLI en elke andere S3-compatibele client ook. Zet voor s3cmd host_base en host_bucket in ~/.s3cfg op de regionale hostnaam, bijvoorbeeld objectstore.fra1.civo.com, en vul access_key en secret_key in. Maak voor rclone een remote met type = s3, provider = Other, endpoint = https://objectstore.fra1.civo.com en hetzelfde sleutelpaar. Geef voor de AWS CLI bij elk commando --endpoint-url https://objectstore.fra1.civo.com mee.
Waarom werkt mijn access key voor Civo Object Storage niet?
Meestal ligt het aan de regio. Civo stelt dat object stores regiogebonden zijn en dat credentials horen bij de regio waarin ze zijn aangemaakt, dus een sleutel uit FRA1 authenticeert niet tegen de LON1-endpoint, ook al hoort hij bij hetzelfde account. Maak het credential aan terwijl het dashboard op de regio van de store staat. De tweede veelvoorkomende oorzaak is een client die de endpoint nooit heeft gekregen, of een host_bucket in s3cmd die op de standaardwaarde bleef staan, waardoor het request bij Amazon uitkomt in plaats van bij Civo.
Is er een GUI voor Civo Object Storage op een Mac?
CivoCloudManager is een native macOS-app, macOS 15 of nieuwer, in de Mac App Store, en hij kent Civo: hij leest de endpoint en de access keys per store uit de Civo API, dus er valt niets te configureren. Hij bladert met broodkruimels en downloadt losse bestanden, een meervoudige selectie of een hele map recursief, terwijl uploaden en verwijderen bij de CLI blijft. Generieke S3-clients als Cyberduck of Transmit verbinden ook met Civo zodra je de endpoint typt en per store beide sleutels plakt.
Wat doet Pause met mijn data in een Civo object store?
Pauzeren kopieert elk object naar een centrale object store met de naam civo-cloud-manager binnen je eigen Civo-account, vergelijkt de gekopieerde keys en groottes met de bron, en verwijdert pas daarna de oorspronkelijke store zodat hij niets meer kost. Hervatten maakt de store opnieuw aan onder dezelfde naam met hetzelfde credential, kopieert de objecten terug en controleert keys en groottes opnieuw voordat de kluis wordt opgeruimd. De data verlaat je Civo-account nooit, en de controle gaat op naam en grootte in plaats van op een hash van de inhoud.

Sla het instellen van de endpoint over.

CivoCloudManager leest de endpoint en de access keys uit je eigen Civo-account, dus de store gaat gewoon open in plaats van dat er een configbestand nodig is. Gratis menubalk-laag, eenmalige aankoop voor het volledige dashboard in de Mac App Store.

Download in de Mac App Store

Vereist macOS 15 (Sequoia) of nieuwer.

Terug naar de homepage