Preparing Your Installation Values
When installing SlackerNews with Helm, you'll need to provide a values file that configures SlackerNews for your environment. You do not need to create a values file when installing on a VM, since the Admin Console will guide you through providing the required configuration.
Note
For demo mode installations, you can install without providing any of the values below, unless you need to access the images from your own registry.
Required values
Core configuration
The core configuration required for SlackerNews is the domain name for the instance and a comma-separated list of email addresses for the users who can administer it.
slackernews:
domain: # your domain name
adminUserEmails: # the emails for your administrators, these must match the emails they use to login to Slack
TLS certificates
SlackerNews requires TLS certificates signed by a trusted certificate authority for Slack to connect securely to your instance. You should supply the certificates as a base64 encoded string.
service:
tls:
enabled: true
cert: # base64 encoded certificate
key: # base64 encoded key
ca: # base64 encoded certificate authority
Slack configuration
You must install the SlackerNews app into your Slack workspace to use SlackerNews outside of demo mode. When you configure the app, Slack will give you the credentials you need to configure SlackerNews to connect. You use these values to provide them.
slack:
clientId: # OAuth client ID
clientSecret: # OAuth client secret
botToken: xoxb-... # bot OAuth token
userToken: xoxp-... # user OAuth token
Configuring access to SlackerNews
For you team to access SlackerNews, you need to configure access the NGINX
service that serves up the SlackerNews application. The easiest way to do this
is to take advantaged of the LoadBalancer service type, which will create
the appropriate load balancer configuration to send trffic to the NGINX
service.
nginx:
service:
type: LoadBalancer
The next best way to configure access is to use an ingress controller. SlackerNews allows you to specify an ingress using the following values. Be sure to add and annotations your ingress controller needs.
ingress:
enabled: true
ingressClassName: # ingress class name
annotations: # the annotations your ingress controller requires
You may also choose to configure the services as a NodePort service. This is
the default for virtual machines installations and less common when installing
into existing clusters. You are most likely to use this approach if you use
an external load balancer that you will manually configure to route traffic to
the service.
nginx:
service:
type: NodePort
nodePort:
port: # the port to use for the NodePort service type
Regardless of how you route traffic to SlackerNews, make sure you configure the domain name for the instance to point at the right address.
Using your own registry
SlackerNews pulls the images it uses from the Replicated Proxy Registry, which uses your license as credentials to access the appropriate container images (and their signatures, SBOMs, etc.). You may have policies in your organization that limit your clusters from accessing registries outside of an approved list, or you may be running in an air-gapped environment where it is impossible to access the internet.
In these cases, you will need to load the images into an appropriate registry following the instructions on the SlackerNews Enterprise Portal. Once you have the images into your registry, you will need to provide the following values to access them.
images:
pullSecrets:
- name: # pull secret with credentails for your registry
slackernews:
registry: # your registry host
repository: # the repository for the slackernews-web image in your registry
nginx:
registry: # your registry host
repository: # the repository for the nginx image in your registry
postgres:
registry: # your registry host
repository: # the repository for the postgresql image in your registry
replicated:
imagePullSecrets:
- name: # pull secret with credentails for your registry
image:
registry: # your registry host
repository: # the repository for the replicated SDK image in your registry
Using an existing database
SlackerNews uses a Postgres database to store and track activity on shared links. The standard Helm chart includes a containerized version of Postgres to run, and defaults to enabling this.
It may be preferrable to run your own Postgres database in production. If you want to run Postgres outside of the cluster, use the following values
postgres:
deploy_postgres: false # do not deploy postgres from the chart
uri: postgres://... # the connection string for your postgres database