Search icon CANCEL
Subscription
0
Cart icon
Your Cart (0 item)
Close icon
You have no products in your basket yet
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Newsletter Hub
Free Learning
Arrow right icon
timer SALE ENDS IN
0 Days
:
00 Hours
:
00 Minutes
:
00 Seconds
Salt Cookbook
Salt Cookbook

Salt Cookbook: Over 80 hands-on recipes to efficiently configure and manage your infrastructure with Salt

eBook
€20.98 €29.99
Paperback
€36.99
Subscription
Free Trial
Renews at €18.99p/m

What do you get with Print?

Product feature icon Instant access to your digital copy whilst your Print order is Shipped
Product feature icon Paperback book shipped to your preferred address
Product feature icon Redeem a companion digital copy on all Print orders
Product feature icon Access this title in our online reader with advanced features
Product feature icon DRM FREE - Read whenever, wherever and however you want
OR
Modal Close icon
Payment Processing...
tick Completed

Shipping Address

Billing Address

Shipping Methods
Table of content icon View table of contents Preview book icon Preview Book

Salt Cookbook

Chapter 2. Writing Advanced Salt Configurations

In this chapter, you will cover:

  • Writing and retrieving pillar data
  • Using pillar data in states
  • Using grains in states
  • Using conditionals in states and pillars
  • Using Python functions in conditionals
  • Using iterations in states
  • Setting and using variables in states
  • Testing a state run before applying to minions
  • Configuring nodegroups
  • Targeting minions

Introduction

Now that we have gotten our hands dirty with the basics of Salt, in this chapter we are going to dive deep into the advanced configuration of Salt.

One of the notable features of Salt is flexibility, and being based on the dynamic Python language, Salt allows us to incorporate and take advantage of a large number of Python utilities into its configurations. Like most other programming languages and configuration management utilities, it's quite obvious that without the ability to manipulate our data, such as making decisions based on system properties, performing the same task quickly and efficiently for multiple entities of the same type, a tool is not of much use to users.

In this chapter, you will explore all the advanced features of Salt and how you can utilize them to automate systems efficiently and optimally.

Writing and retrieving pillar data

We already have a basic understanding of what pillars are and how to use them in Salt. In this section, we are going to learn more about writing pillars and how to retrieve them both from the master and the minion.

How to do it...

  1. Create a new environment qa using the recipe Configuring the Salt environment and pillar paths in Chapter 1, Salt Architecture and Components. The state environment path should be /opt/salt-cookbook/qa, and the pillar path should be /opt/salt-cookbook/pillar/qa. Also, create the top files for the new environment in the base directory for state and the pillar, and populate them with the following entry:
    qa:
      '*':
        - user
  2. Create a pillar directory user in the base pillar directory, and in it create the file init.sls. Edit /opt/salt-cookbook/pillar/qa/user/init.sls and enter the following:
    users:
      qa_user: qa-app
      qa_user_password: '$1$lhxadPoh$d5tZktsF/eI08tqiwmwBo0'
  3. Configure the minion using the recipe Configuring...

Using pillar data in states

How to do it...

  1. Create a new state user by creating a directory called user in the base directory of the qa environment and create an init.sls file in the user directory.
  2. Edit /opt/salt-cookbook/qa/user/init.sls and populate it with the following entries:
    qa_deploy_user:
      user.present:
        - name: {{ pillar['users']['qa_user'] }}
        - password: {{ pillar['users']['qa_user_password'] }}
  3. Run the following command to apply the state to the minion:
    [root@salt-master ~]# salt 'salt-minion' state.sls user \ saltenv=qa --state-output=terse
    salt-minion:
      Name: qa-app - Function: user.present - Result: Changed
    
    Summary
    ------------
    Succeeded: 1
    Failed:    0
    ------------
    Total:     1
    
  4. Edit the /opt/salt-cookbook/pillar/qa/user/init.sls file and remove the following line:
    qa_user: qa-app
  5. Reopen the /opt/salt-cookbook/qa/user/init.sls file and edit it to have the following entries:
    qa_deploy_user:
      user.present:
        - name: {...

Using grains in states

Grains are one of the most important features of Salt, based on which we can perform the configuration and orchestration tasks efficiently. Salt offers the flexibility to use the default grains and also to add custom grains as and when required. In this recipe, you will learn how to use grains in state configurations.

How to do it...

Configure a new minion with the hostname or minion ID as stgdc1app01 in the staging environment. In this naming convention, stg is the environment, dc1 is the location, app is the server type, and 01 is a numeric identifier for the host.

  1. Run the following command to get a full list of available grains on the minion:
    [root@salt-master ~]# salt 'stgdc1app01' grains.items
    
  2. Next, run the following command to get information about two specific grains that we will work with:
    [root@salt-master ~]# salt 'stgdc1app01' grains.item \ ip_interfaces fqdn
    stgdc1app01:
      fqdn: stgdc1app01
      ip_interfaces: {'lo': ['127.0...

Using conditionals in states and pillars

One of the best advantages of any programming language or configuration tool is its ability to make decisions based on various properties, and apply configurations, or perform tasks, based on these decisions. In this recipe, you will learn how to leverage the decision-making ability of Salt and use it to your advantage.

How to do it...

We will use the same minion as the previous recipe for this task:

  1. Add a custom grain to the minion with the server_type key and value as app:
    server_type: app
  2. In the staging environment, create two pillars named groups and users. Also, create two states named group and user. Add them to top.sls for both states and pillars to be available to all nodes.
  3. Edit /opt/salt-cookbook/pillar/staging/user/init.sls to have the following content:
    users:
      {% if grains['server_type'] == 'app' %}
      stg_user: stg-app
      {% elif grains['server_type'] == 'db' %}
      stg_user: stg-db
      {% endif %}
      stg_user_passwd...

Using Python functions in conditionals

Being based on Python, one of the biggest advantages of Salt is to be able to use a lot of Salt-specific features such as functions. In this recipe, you will learn how to use Python functions in Salt to manipulate data and make efficient use of them to configure our infrastructure.

How to do it...

  1. Configure two minions, one named stgdc1app01 and another named stgdc2app01.
  2. Run the following commands to get the grains with which we will be working in this recipe:
    [root@salt-master ~]# salt 'stgdc1app01' grains.item \ ip_interfaces hwaddr_interfaces
    stgdc1app01:
      hwaddr_interfaces: {'lo': '00:00:00:00:00:00', 'eth0': '00:0c:29:ef:d5:56', 'eth1': '00:0c:29:ef:d5:4c'}
      ip_interfaces: {'lo': ['127.0.0.1'], 'eth0': ['192.168.0.2'], 'eth1': ['192.168.29.128']}
    
    [root@salt-master ~]# salt 'stgdc2app01' grains.item \ ip_interfaces...

Introduction


Now that we have gotten our hands dirty with the basics of Salt, in this chapter we are going to dive deep into the advanced configuration of Salt.

One of the notable features of Salt is flexibility, and being based on the dynamic Python language, Salt allows us to incorporate and take advantage of a large number of Python utilities into its configurations. Like most other programming languages and configuration management utilities, it's quite obvious that without the ability to manipulate our data, such as making decisions based on system properties, performing the same task quickly and efficiently for multiple entities of the same type, a tool is not of much use to users.

In this chapter, you will explore all the advanced features of Salt and how you can utilize them to automate systems efficiently and optimally.

Writing and retrieving pillar data


We already have a basic understanding of what pillars are and how to use them in Salt. In this section, we are going to learn more about writing pillars and how to retrieve them both from the master and the minion.

How to do it...

  1. Create a new environment qa using the recipe Configuring the Salt environment and pillar paths in Chapter 1, Salt Architecture and Components. The state environment path should be /opt/salt-cookbook/qa, and the pillar path should be /opt/salt-cookbook/pillar/qa. Also, create the top files for the new environment in the base directory for state and the pillar, and populate them with the following entry:

    qa:
      '*':
        - user
  2. Create a pillar directory user in the base pillar directory, and in it create the file init.sls. Edit /opt/salt-cookbook/pillar/qa/user/init.sls and enter the following:

    users:
      qa_user: qa-app
      qa_user_password: '$1$lhxadPoh$d5tZktsF/eI08tqiwmwBo0'
  3. Configure the minion using the recipe Configuring environments...

Using pillar data in states


How to do it...

  1. Create a new state user by creating a directory called user in the base directory of the qa environment and create an init.sls file in the user directory.

  2. Edit /opt/salt-cookbook/qa/user/init.sls and populate it with the following entries:

    qa_deploy_user:
      user.present:
        - name: {{ pillar['users']['qa_user'] }}
        - password: {{ pillar['users']['qa_user_password'] }}
  3. Run the following command to apply the state to the minion:

    [root@salt-master ~]# salt 'salt-minion' state.sls user \ saltenv=qa --state-output=terse
    salt-minion:
      Name: qa-app - Function: user.present - Result: Changed
    
    Summary
    ------------
    Succeeded: 1
    Failed:    0
    ------------
    Total:     1
    
  4. Edit the /opt/salt-cookbook/pillar/qa/user/init.sls file and remove the following line:

    qa_user: qa-app
  5. Reopen the /opt/salt-cookbook/qa/user/init.sls file and edit it to have the following entries:

    qa_deploy_user:
      user.present:
        - name: {{ salt['pillar.get']('users:qa_user', 'qa- deploy-user...

Using grains in states


Grains are one of the most important features of Salt, based on which we can perform the configuration and orchestration tasks efficiently. Salt offers the flexibility to use the default grains and also to add custom grains as and when required. In this recipe, you will learn how to use grains in state configurations.

How to do it...

Configure a new minion with the hostname or minion ID as stgdc1app01 in the staging environment. In this naming convention, stg is the environment, dc1 is the location, app is the server type, and 01 is a numeric identifier for the host.

  1. Run the following command to get a full list of available grains on the minion:

    [root@salt-master ~]# salt 'stgdc1app01' grains.items
    
  2. Next, run the following command to get information about two specific grains that we will work with:

    [root@salt-master ~]# salt 'stgdc1app01' grains.item \ ip_interfaces fqdn
    stgdc1app01:
      fqdn: stgdc1app01
      ip_interfaces: {'lo': ['127.0.0.1'], 'eth1': ['192.168.0.3'], 'eth0...

Using conditionals in states and pillars


One of the best advantages of any programming language or configuration tool is its ability to make decisions based on various properties, and apply configurations, or perform tasks, based on these decisions. In this recipe, you will learn how to leverage the decision-making ability of Salt and use it to your advantage.

How to do it...

We will use the same minion as the previous recipe for this task:

  1. Add a custom grain to the minion with the server_type key and value as app:

    server_type: app
  2. In the staging environment, create two pillars named groups and users. Also, create two states named group and user. Add them to top.sls for both states and pillars to be available to all nodes.

  3. Edit /opt/salt-cookbook/pillar/staging/user/init.sls to have the following content:

    users:
      {% if grains['server_type'] == 'app' %}
      stg_user: stg-app
      {% elif grains['server_type'] == 'db' %}
      stg_user: stg-db
      {% endif %}
      stg_user_passwd: '$1$lhxadPoh$d5tZktsF/eI08tqiwmwBo0...
Left arrow icon Right arrow icon

Description

If you are a professional associated with system and infrastructure management, looking at automated infrastructure and deployments, then this book is for you. No prior experience of Salt is required.

Who is this book for?

If you are a professional associated with system and infrastructure management, looking at automated infrastructure and deployments, then this book is for you. No prior experience of Salt is required.

What you will learn

  • Understand the basic Salt architecture and components and learn how to configure them
  • Understand and configure advanced Salt components and manipulate configurations
  • Configure Salt modules, the orchestration procedure and set up multimaster configurations
  • Configure operating system components such as files, users, volumes, authentication, and so on
  • Leverage the cloud capabilities of Salt
  • Understand and configure the Salt event and reactor system
Estimated delivery fee Deliver to Malta

Premium delivery 7 - 10 business days

€32.95
(Includes tracking information)

Product Details

Country selected
Publication date, Length, Edition, Language, ISBN-13
Publication date : Jul 27, 2015
Length: 350 pages
Edition : 1st
Language : English
ISBN-13 : 9781784399740
Tools :

What do you get with Print?

Product feature icon Instant access to your digital copy whilst your Print order is Shipped
Product feature icon Paperback book shipped to your preferred address
Product feature icon Redeem a companion digital copy on all Print orders
Product feature icon Access this title in our online reader with advanced features
Product feature icon DRM FREE - Read whenever, wherever and however you want
OR
Modal Close icon
Payment Processing...
tick Completed

Shipping Address

Billing Address

Shipping Methods
Estimated delivery fee Deliver to Malta

Premium delivery 7 - 10 business days

€32.95
(Includes tracking information)

Product Details

Publication date : Jul 27, 2015
Length: 350 pages
Edition : 1st
Language : English
ISBN-13 : 9781784399740
Tools :

Packt Subscriptions

See our plans and pricing
Modal Close icon
€18.99 billed monthly
Feature tick icon Unlimited access to Packt's library of 7,000+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Simple pricing, no contract
€189.99 billed annually
Feature tick icon Unlimited access to Packt's library of 7,000+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Choose a DRM-free eBook or Video every month to keep
Feature tick icon PLUS own as many other DRM-free eBooks or Videos as you like for just €5 each
Feature tick icon Exclusive print discounts
€264.99 billed in 18 months
Feature tick icon Unlimited access to Packt's library of 7,000+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Choose a DRM-free eBook or Video every month to keep
Feature tick icon PLUS own as many other DRM-free eBooks or Videos as you like for just €5 each
Feature tick icon Exclusive print discounts

Frequently bought together


Stars icon
Total 120.97
Salt Cookbook
€36.99
Mastering SaltStack
€41.99
Mastering SaltStack
€41.99
Total 120.97 Stars icon

Table of Contents

12 Chapters
1. Salt Architecture and Components Chevron down icon Chevron up icon
2. Writing Advanced Salt Configurations Chevron down icon Chevron up icon
3. Modules, Orchestration, and Scaling Salt Chevron down icon Chevron up icon
4. General Administration Tasks Chevron down icon Chevron up icon
5. Advanced Administration Tasks Chevron down icon Chevron up icon
6. Managing Application Servers Chevron down icon Chevron up icon
7. Managing Databases Chevron down icon Chevron up icon
8. Configuring Salt Cloud Chevron down icon Chevron up icon
9. Managing Amazon Web Services Chevron down icon Chevron up icon
10. Salt Event and Reactor System Chevron down icon Chevron up icon
11. Troubleshooting Chevron down icon Chevron up icon
Index Chevron down icon Chevron up icon

Customer reviews

Rating distribution
Full star icon Full star icon Full star icon Half star icon Empty star icon 3.5
(2 Ratings)
5 star 0%
4 star 50%
3 star 50%
2 star 0%
1 star 0%
Luis Rojas Sep 14, 2015
Full star icon Full star icon Full star icon Full star icon Empty star icon 4
When i was trying to ramp on salt, this book proved to be a very good resource.Having common tasks already solved helped me a lot to wrap my head around how salt operates.Not all the recipes apply to your needs, some seem a bit simple but you can learn something from all of them.Cookbooks are not traditional books that will take you by the hand or explain concepts, but once you have read up on the theory a cookbook, like this one, is very nice to help you ground the concepts.If you are ramping up SALT Stack at your company or if you want to see practical examples on how to accomplish a variety of tasks, this book is for you.Regards,Luis R. Rojas
Amazon Verified review Amazon
Pinda Ndaki Sep 14, 2015
Full star icon Full star icon Full star icon Empty star icon Empty star icon 3
I have a couple of books about salt from packt and this one was a bit disappointing. This one was the second salt book I bought. I got the learning salt title first and I was hoping the cookbook would build on the learning salt book and get beyond basic stuff like installing packages, managing files and services and into bigger things like demonstrating how to use salt for orchestrating deployments across multiple nodes, or managing multi-tier applications but the book never really got beyond introductory material focused on a single node. One of the key features of Salt is that it brings robust remote execution capabilities to the table. That's a killer feature of Salt and it's not really explored in any depth. That's a missed opportunity. The "advanced administration tasks" chapter focused on recipes for installing packages and managing files and services. The book explores installing ruby and python modules and fiddling with repos but that's not particularly advanced stuff or a unique benefit of using Salt. The chapters included don't really hang together well or make a cohesive whole. It's a hodge podge of topics. What I was hoping for was a greater focus on the things that make Salt different and unique and how to use those things that are interesting and unique about Salt to get work done. The treatment of Grains and Pillar --- Key elements of salt -- are explored with shallow and contrived examples and I don't really get a good explanation of why I should care about either of those features even though they are extraordinarily powerful and easy to use. At best, I get an introductory and perfunctory survey of both. I guess what I'm missing are recipes that can help me get from being a Salt Newbie to a skilled Salt operator with an understanding of the preferred conventions of the Salt Community and useful examples of meaningful solutions to day-to-day problems that illustrate why I should want to get my work done using Salt rather than using Puppet, Chef, Ansible etc. The Packt Cookbooks are usually good for getting a few tips and things you can implement in your environment that are beyond the basics and solve actual problems. This book doesn't really give me that.What this book does give you is good introductory material for beginners that want to learn salt by implementing a collection of basic operational tasks (like how to install packages, manage files and services). If you've been working with Puppet or Chef for example, this book can give you a way for translating concepts but beyond that, you'll need to look elsewhere.
Amazon Verified review Amazon
Get free access to Packt library with over 7500+ books and video courses for 7 days!
Start Free Trial

FAQs

What is the digital copy I get with my Print order? Chevron down icon Chevron up icon

When you buy any Print edition of our Books, you can redeem (for free) the eBook edition of the Print Book you’ve purchased. This gives you instant access to your book when you make an order via PDF, EPUB or our online Reader experience.

What is the delivery time and cost of print book? Chevron down icon Chevron up icon

Shipping Details

USA:

'

Economy: Delivery to most addresses in the US within 10-15 business days

Premium: Trackable Delivery to most addresses in the US within 3-8 business days

UK:

Economy: Delivery to most addresses in the U.K. within 7-9 business days.
Shipments are not trackable

Premium: Trackable delivery to most addresses in the U.K. within 3-4 business days!
Add one extra business day for deliveries to Northern Ireland and Scottish Highlands and islands

EU:

Premium: Trackable delivery to most EU destinations within 4-9 business days.

Australia:

Economy: Can deliver to P. O. Boxes and private residences.
Trackable service with delivery to addresses in Australia only.
Delivery time ranges from 7-9 business days for VIC and 8-10 business days for Interstate metro
Delivery time is up to 15 business days for remote areas of WA, NT & QLD.

Premium: Delivery to addresses in Australia only
Trackable delivery to most P. O. Boxes and private residences in Australia within 4-5 days based on the distance to a destination following dispatch.

India:

Premium: Delivery to most Indian addresses within 5-6 business days

Rest of the World:

Premium: Countries in the American continent: Trackable delivery to most countries within 4-7 business days

Asia:

Premium: Delivery to most Asian addresses within 5-9 business days

Disclaimer:
All orders received before 5 PM U.K time would start printing from the next business day. So the estimated delivery times start from the next day as well. Orders received after 5 PM U.K time (in our internal systems) on a business day or anytime on the weekend will begin printing the second to next business day. For example, an order placed at 11 AM today will begin printing tomorrow, whereas an order placed at 9 PM tonight will begin printing the day after tomorrow.


Unfortunately, due to several restrictions, we are unable to ship to the following countries:

  1. Afghanistan
  2. American Samoa
  3. Belarus
  4. Brunei Darussalam
  5. Central African Republic
  6. The Democratic Republic of Congo
  7. Eritrea
  8. Guinea-bissau
  9. Iran
  10. Lebanon
  11. Libiya Arab Jamahriya
  12. Somalia
  13. Sudan
  14. Russian Federation
  15. Syrian Arab Republic
  16. Ukraine
  17. Venezuela
What is custom duty/charge? Chevron down icon Chevron up icon

Customs duty are charges levied on goods when they cross international borders. It is a tax that is imposed on imported goods. These duties are charged by special authorities and bodies created by local governments and are meant to protect local industries, economies, and businesses.

Do I have to pay customs charges for the print book order? Chevron down icon Chevron up icon

The orders shipped to the countries that are listed under EU27 will not bear custom charges. They are paid by Packt as part of the order.

List of EU27 countries: www.gov.uk/eu-eea:

A custom duty or localized taxes may be applicable on the shipment and would be charged by the recipient country outside of the EU27 which should be paid by the customer and these duties are not included in the shipping charges been charged on the order.

How do I know my custom duty charges? Chevron down icon Chevron up icon

The amount of duty payable varies greatly depending on the imported goods, the country of origin and several other factors like the total invoice amount or dimensions like weight, and other such criteria applicable in your country.

For example:

  • If you live in Mexico, and the declared value of your ordered items is over $ 50, for you to receive a package, you will have to pay additional import tax of 19% which will be $ 9.50 to the courier service.
  • Whereas if you live in Turkey, and the declared value of your ordered items is over € 22, for you to receive a package, you will have to pay additional import tax of 18% which will be € 3.96 to the courier service.
How can I cancel my order? Chevron down icon Chevron up icon

Cancellation Policy for Published Printed Books:

You can cancel any order within 1 hour of placing the order. Simply contact customercare@packt.com with your order details or payment transaction id. If your order has already started the shipment process, we will do our best to stop it. However, if it is already on the way to you then when you receive it, you can contact us at customercare@packt.com using the returns and refund process.

Please understand that Packt Publishing cannot provide refunds or cancel any order except for the cases described in our Return Policy (i.e. Packt Publishing agrees to replace your printed book because it arrives damaged or material defect in book), Packt Publishing will not accept returns.

What is your returns and refunds policy? Chevron down icon Chevron up icon

Return Policy:

We want you to be happy with your purchase from Packtpub.com. We will not hassle you with returning print books to us. If the print book you receive from us is incorrect, damaged, doesn't work or is unacceptably late, please contact Customer Relations Team on customercare@packt.com with the order number and issue details as explained below:

  1. If you ordered (eBook, Video or Print Book) incorrectly or accidentally, please contact Customer Relations Team on customercare@packt.com within one hour of placing the order and we will replace/refund you the item cost.
  2. Sadly, if your eBook or Video file is faulty or a fault occurs during the eBook or Video being made available to you, i.e. during download then you should contact Customer Relations Team within 14 days of purchase on customercare@packt.com who will be able to resolve this issue for you.
  3. You will have a choice of replacement or refund of the problem items.(damaged, defective or incorrect)
  4. Once Customer Care Team confirms that you will be refunded, you should receive the refund within 10 to 12 working days.
  5. If you are only requesting a refund of one book from a multiple order, then we will refund you the appropriate single item.
  6. Where the items were shipped under a free shipping offer, there will be no shipping costs to refund.

On the off chance your printed book arrives damaged, with book material defect, contact our Customer Relation Team on customercare@packt.com within 14 days of receipt of the book with appropriate evidence of damage and we will work with you to secure a replacement copy, if necessary. Please note that each printed book you order from us is individually made by Packt's professional book-printing partner which is on a print-on-demand basis.

What tax is charged? Chevron down icon Chevron up icon

Currently, no tax is charged on the purchase of any print book (subject to change based on the laws and regulations). A localized VAT fee is charged only to our European and UK customers on eBooks, Video and subscriptions that they buy. GST is charged to Indian customers for eBooks and video purchases.

What payment methods can I use? Chevron down icon Chevron up icon

You can pay with the following card types:

  1. Visa Debit
  2. Visa Credit
  3. MasterCard
  4. PayPal
What is the delivery time and cost of print books? Chevron down icon Chevron up icon

Shipping Details

USA:

'

Economy: Delivery to most addresses in the US within 10-15 business days

Premium: Trackable Delivery to most addresses in the US within 3-8 business days

UK:

Economy: Delivery to most addresses in the U.K. within 7-9 business days.
Shipments are not trackable

Premium: Trackable delivery to most addresses in the U.K. within 3-4 business days!
Add one extra business day for deliveries to Northern Ireland and Scottish Highlands and islands

EU:

Premium: Trackable delivery to most EU destinations within 4-9 business days.

Australia:

Economy: Can deliver to P. O. Boxes and private residences.
Trackable service with delivery to addresses in Australia only.
Delivery time ranges from 7-9 business days for VIC and 8-10 business days for Interstate metro
Delivery time is up to 15 business days for remote areas of WA, NT & QLD.

Premium: Delivery to addresses in Australia only
Trackable delivery to most P. O. Boxes and private residences in Australia within 4-5 days based on the distance to a destination following dispatch.

India:

Premium: Delivery to most Indian addresses within 5-6 business days

Rest of the World:

Premium: Countries in the American continent: Trackable delivery to most countries within 4-7 business days

Asia:

Premium: Delivery to most Asian addresses within 5-9 business days

Disclaimer:
All orders received before 5 PM U.K time would start printing from the next business day. So the estimated delivery times start from the next day as well. Orders received after 5 PM U.K time (in our internal systems) on a business day or anytime on the weekend will begin printing the second to next business day. For example, an order placed at 11 AM today will begin printing tomorrow, whereas an order placed at 9 PM tonight will begin printing the day after tomorrow.


Unfortunately, due to several restrictions, we are unable to ship to the following countries:

  1. Afghanistan
  2. American Samoa
  3. Belarus
  4. Brunei Darussalam
  5. Central African Republic
  6. The Democratic Republic of Congo
  7. Eritrea
  8. Guinea-bissau
  9. Iran
  10. Lebanon
  11. Libiya Arab Jamahriya
  12. Somalia
  13. Sudan
  14. Russian Federation
  15. Syrian Arab Republic
  16. Ukraine
  17. Venezuela