How to ‘Sold’ on Craigslist

How to ‘Sold’ on Craigslist

We recently moved and a lot of the furniture I had accumulated is not, let's say family chic...

I’ve had decent luck selling items on Craigslist in the past. It’s one of those things where, once you sell one item, you kind of get on a roll and it becomes easier to sell more items.

One issue with selling on Craigslist, especially in a city like Los Angeles, your new item starts at the top of the queue but as new items similar to your's post, your item gets pushed to the bottom of the queue. To get your items back to the top, you need to renew your items. Craigslist allows you to renew an active free post as long as 48 hours have elapsed since it was initially posted, or if 48 hours have elapsed since it was last renewed. But doing this process manually is not something that I like doing...

This post will demonstrate how I automatically renew Craigslist posts every other day. This all is done by leveraging an open-source script I found on GitHub. The original I used to use was written in Perl, but I recently found a newer Python version that I believe was heavily influenced by the Perl version.

I'm trying to live in a Kubernetes world. A recent The Changelog podcast I listened to suggested Kubernetes is in the Late Majority Diffusion of innovation phase. As such, I adapted the script such that it can be run as a Kubernetes Cronjob.

In my case, I have a small DELL OptiPlex 9020-SFF running at my in-law's house, base OS Ubuntu Server 20.04, and running microk8s (This server does other things, will cover this setup in detail in a later post). I also have an OpenVPN network set up in DigitalOcean and I can connect to the microk8s Kubernetes API server over that VPN.

At a somewhat high level, this is how I use it

  • Clone the repo && cd craigslist-renew
  • I like to use multiple kubeconfig files so I switch to my Dell config (optional)
    export KUBECONFIG=/Users/ericpardee/.kube/edgepardee_config
  • Create a new namespace for this (optional)
    kubectl create namespace craigslist-renew
  • Create the Kubernetes ConfigMap
    kubectl create configmap craigslist-renew-config --from-file=config.yml
    My config.yml file looks like this, with my Craigslist credentials and I'm using AWS SES for emailing:
  • Lastly, apply the CronJob
    kubectl apply -f kubernetes/cronjob.yaml

There may be less technical ways to accomplish this (email me please if you know of one) but the journey of setting this up was part of the enjoyment for me. Hope this helps you sell that old device you've been meaning to get rid of.

Disclaimer †