• Stars
    star
    174
  • Rank 219,104 (Top 5 %)
  • Language Smarty
  • License
    Apache License 2.0
  • Created over 6 years ago
  • Updated 3 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Alfresco Content Services containerized deployment (Helm and Docker Compose)

Alfresco Content Services Containerized Deployment

release helm charts (enterprise) helm charts (community) docker-compose (enterprise) docker-compose (community)

This project contains the code for starting the entire Alfresco Content Services (ACS) product with Docker using Docker Compose or Kubernetes using Helm Charts.

Our tests are executed using Helm, kubectl versions provided by github action runners Ubuntu-22.04 and against EKS clusters running Kubernetes 1.21 & 1.22.

Prerequisites

By default the Enterprise version of ACS is installed. To accomplish this private Docker images stored in Quay.io are downloaded. Alfresco customers can request Quay.io credentials by logging a ticket with Alfresco Support.

The images downloaded directly from Docker Hub, or Quay.io are for a limited trial of the Enterprise version of Alfresco Content Services that goes into read-only mode after 2 days. If you'd like to try Alfresco Content Services for a longer period, request the 30-day Download Trial.

To avoid license restrictions and private Docker images follow the instructions to deploy the Community Edition.

Versioning

NOTE: The versioning strategy used in this project has changed, if you have previously used this project please read this section carefully!

The master branch of this repository now contains the artifacts required to deploy both the the latest work-in-progress development version and previous stable versions of ACS.

The default behaviour is to use the latest work-in-progress development version however, individual files are now provided to deploy the latest hot fix version of each major.minor version of ACS. The support/* branches will remain in place but will no longer be maintained.

A new version numbering scheme is also being introduced. During the development phase one or more milestone releases will be produced indicated by an M suffix, for example "5.0.0-M1". Once feature complete one or more RC releases will be produced followed by the final GA release. Upon release the repository will be tagged with the release number.

The table below shows the exact version of ACS deployed with each chart version/tag.

Chart Version/Tag Default 7.4.N 7.3.N 7.2.N 7.1.N 7.0.N Community
5.0.0-M1 7.0.0-M2 6.2.1-A8
5.0.0-M2 7.0.0-M3 7.0.0
5.0.0 7.0.0 7.0.0
5.0.1 7.0.0 7.0.0
5.1.0-M1 7.1.0-M1 7.1.0-M1
5.1.0-M2 7.1.0-M2 7.0.1 7.1.0-M2
5.1.0 7.1.0.1 7.0.1 7.1.0
5.1.1 7.1.0.1 7.0.1 7.1.0
5.2.0-M1 7.2.0-M1 7.1.0.1 7.0.1 7.2.0-M1
5.2.0-M2 7.2.0-M2 7.1.1 7.0.1 7.2.0-M2
5.2.0 7.2.0 7.1.1 7.0.1 7.2.0
5.3.0-M1 23.1.0-M1 7.2.1 7.1.1.5 7.0.1.3 23.1.0-M1
5.3.0-M2 7.3.0-M1 7.2.1 7.1.1.5 7.0.1.3 7.3.0-M2
5.3.0-M3 7.3.0-M2 7.2.1 7.1.1.5 7.0.1.3 7.3.0-M2
5.3.0 7.3.0 7.2.1 7.1.1.5 7.0.1.3 7.3.0
5.4.0-M1 7.4.0-M1 7.3.0.1 7.2.1.5 7.1.1.7 7.0.1.9 7.4.0-M1
5.4.0-M2 7.4.0-M2 7.3.1 7.2.1.7 7.1.1.8 7.0.1.10 7.4.0-M2
5.4.0-M3 7.4.0-M3 7.3.1 7.2.1.7 7.1.1.8 7.0.1.10 7.4.0-M3
6.0.0 7.4.0.1 7.3.1 7.2.1.11 7.1.1.8 7.0.1.10 7.4.0.1
6.0.1 7.4.0.1 7.3.1 7.2.1.11 7.1.1.8 7.0.1.10 7.4.0.1
6.0.2 7.4.0.1 7.3.1 7.2.1.11 7.1.1.8 7.0.1.10 7.4.0.1
6.1.0-M.1 23.1.0-A19 7.4.0.1 7.3.1 7.2.1.11 7.1.1.8 7.0.1.10 7.4.0.1
7.0.0-M.1 23.1.0-A27 7.4.1 7.3.1 7.2.1.12 7.1.1.8 7.0.1.10 7.4.1

Why there is no 5.4.0?

During the development of 5.4.0 we've started turning subcharts (search, sync, activemq, ...) into individual charts hosted on a new repository. That decision introduces some breaking changes like resource renaming and values structure modifications. For that reason we chose to bump to a new major version to capture the fact upgrades can be problematic and one should prefer deploying new version to a new namespace rather than attempting upgrades.

Deploying to new namespace is always the preferred way of upgrading ACS as we do not test charts for upgrade scenarios (even with previous versions) neither do we provide roll-back facilities.

End of Life'd versions

While our latest version of the charts should be able to deployment any version of ACS (theoretically), we only ever test deployment of currently supported versions. Also we do not provide values files for older unsupported version. If you need to deploy old version we provide a reference table below to allow you find the older values files and charts. You can either try using the values file for a version with the latest charts or using the old charts.

unsupported ACS version Last chart version providing it
6.2 5.3.0
6.1 5.1.1

These charts are mentioned for reference but are not supported.

Getting Started

To get started please refer to the Docker Compose and Helm Chart documentation.

License

The code in this repository is released under the Apache License, see the LICENSE file for details.

Contribution Guide

Please use this guide to make a contribution to the project and information to report any issues.

Release

Helm charts release

New releases are usually made from the default branch. When a bugfix release is necessary and master branch already received updates that are meant to be released at a later time, then the release must be made from a branch which follows the release branch pattern: release/v$Major.Minor.

First ensure that:

  • the supported-matrix reflects the status of the currently released Alfresco products and update if necessary before proceeding with the release.
  • the Bump component versions workflow has been run to reflect the changes of the current supported-matrix in the helm charts values files.

Start the release by opening a PR against the appropriate branch that will:

  • Update the versioning table
  • In alfresco-content-services, bump chart version to the version you want to release (usually by removing the -SNAPSHOT suffix and adding -M.x suffix if it's a prerelease)
  • Run pre-commit run --all-files helm-docs to update helm docs
  • Edit upgrades docs renaming the To be released section to the current version and create a new To be released section for the future.

Once the PR has been merged, create the release with:

git tag -s vx.x.x -m vx.x.x
git push origin vx.x.x
gh release create vx.x.x --generate-notes -t vx.x.x -d

where vx.x.x is the same alfresco-content-services Chart version.

Once the workflow triggered by this new tag is successful, review the GitHub release notes, usually removing dependabot entries and other not-really useful changelog entries.

Publish the release (remove draft status).

Now proceed and open a PR to move back to the next development version:

  • In alfresco-content-services, bump chart version to the next development release (usually by increasing the minor version and adding the -SNAPSHOT suffix)
  • Run pre-commit run --all-files helm-docs to update docs

Once the PR has been merged, overwrite and push the signed mutable tag with:

git tag -d vx.x.x-SNAPSHOT
git tag -f -s vx.x.x-SNAPSHOT -m vx.x.x-SNAPSHOT
git push origin vx.x.x-SNAPSHOT --force

Once the tagged workflow is successful, the release process has completed.

How to update workflow diagrams of Alfresco latest version

  • Go to the docs/docker-compose/diagrams and/or docs/helm/diagrams folders of the repository and there you will find 2 plantuml source files and their PNG diagram files.
  • Update the plantuml(.puml) files for enterprise/community edition with latest changes as required.
  • Once you are done with the changes, you can generate the diagrams with 2 ways.
  1. You can update the diagrams with cli method by running the below command. You need to have Java and Plantuml installed on your machine. java -jar plantuml.jar filename
  2. The other way to generate the diagrams is via official plantuml website. Go to the below url and paste your puml code and click on submit. http://www.plantuml.com/plantuml/uml/SyfFKj2rKt3CoKnELR1Io4ZDoSa70000

More Repositories

1

alfresco-ng2-components

Alfresco Angular Components
TypeScript
293
star
2

alfresco-content-app

Alfresco Content Application
TypeScript
186
star
3

alfresco-sdk

The Alfresco In-Process SDK is based on Apache Maven, includes support for rapid and standard development, testing, packaging, versioning and release of your Alfresco integration and extension projects
Java
185
star
4

alfresco-keycloak-theme

Theme related assets for use in the Identity Service
FreeMarker
145
star
5

alfresco-docker-installer

Generator to build Docker Compose templates to deploy Alfresco Community
JavaScript
141
star
6

alfresco-community-repo

Community Content Service Repository
Java
130
star
7

alfresco-js-api

This project provides a JavaScript client API into the Alfresco REST API and Activiti REST API.
TypeScript
117
star
8

Aikau

Aikau UI framework
JavaScript
81
star
9

alfresco-sdk-samples

Alfresco SDK
72
star
10

alfresco-android-app

Java
61
star
11

alfresco-spk

Design, run, integrate Alfresco stacks
Ruby
55
star
12

acs-community-packaging

Packaging of Docker containers, war file and zip for Alfresco Content Services (Community)
Shell
55
star
13

docs-alfresco

Alfresco Documentation
HTML
51
star
14

alfresco-ios-app

Objective-C
42
star
15

share

Archive of Alfresco Share 6.0 and earlier. For the latest Community version of Share see https://github.com/Alfresco/alfresco-community-share
JavaScript
39
star
16

rest-api-explorer

Public REST API Explorer
Java
36
star
17

alfresco-identity-service

Repository for the Alfresco Identity Service
Shell
35
star
18

SearchServices

Alfresco Search Services
Java
31
star
19

alfresco-ansible-deployment

Ansible playbooks for deploying ACS
Jinja
29
star
20

generator-alfresco-adf-app

Yeoman Generator for Alfresco ADF Applications
TypeScript
28
star
21

alfresco-core

Alfresco Platform core utilities
Java
27
star
22

acs-packaging

Packaging of Docker containers, war file and zip for Alfresco Content Services (Enterprise)
Java
26
star
23

records-management

Legacy repository for Alfresco Records Management Community. New locations for latest code: AGS Community Repo (https://github.com/Alfresco/alfresco-community-repo/tree/master/amps/ags), AGS Community Share (https://github.com/Alfresco/alfresco-community-share/tree/master/amps/ags)
Java
25
star
24

gytheio

Distributed content/file investigation and manipulation framework which leverages messaging queues to perform common low-level tasks.
Java
22
star
25

alfresco-remote-api

REST API layer for Alfresco Content Services (Community and Enterprise)
Java
20
star
26

alfresco-ios-sdk

Objective-C
19
star
27

activiti-android-app

Java
17
star
28

alfresco-android-sdk

Java
17
star
29

health-care-app

TypeScript
16
star
30

activiti-ios

Repository for the Alfresco Process Services iOS app
Objective-C
16
star
31

alfresco-data-model

Java
16
star
32

alfresco-transform-core

Java
15
star
33

alfresco-indexer

A custom way to index Alfresco changes.
Java
15
star
34

alfresco-client-sdk

Alfresco Java Client SDK
Java
15
star
35

alfresco-java-sdk

Alfresco Out-Of-Process SDK for Java Developers
Java
15
star
36

activiti-client-sdk

Java
14
star
37

sweeper

A tool to check for rogue/orphaned AWS services running that cost money
Python
14
star
38

generator-ng2-alfresco-component

Yeoman Generator Angular 2 Alfresco Component
JavaScript
14
star
39

alfresco-ssl-generator

This repository contains the Dockerfile used to create the keystores, truststores and certificates required to configure SSL/TLS Mutual Authentication between different services of the Alfresco Digital Business Platform: Repository, SOLR and Zeppelin.
Shell
14
star
40

charts

Helm repository for Alfresco Kubernetes Charts. Please use https://kubernetes-charts.alfresco.com/stable as the helm repo.
HTML
13
star
41

alfresco-extension-inspector

Analyse Alfresco extensions for compliance with our best practices and recommendations for upgrade safety
Java
12
star
42

spring-social-alfresco

Spring Social plugin for Alfresco.
Java
11
star
43

activiti-contract-mgmt-sample

Sample contract management app built using Activiti
Python
8
star
44

alfresco-build-tools

Shared GitHub Actions and pre-commit configs plus some docs
Shell
8
star
45

jmxdump-analyzer

The JMXDump Analyser Utility is a small, self-contained JavaFX application which allows you to open an Alfresco 'JMX dump file' and will split the content in manageable tabs allowing for more easily understanding the information. Highlighting the important stuff first and then breaking down the settings into the relevant topics, the utility makes JMX dumps much easier to read.
Java
8
star
46

alfresco-process-infrastructure-deployment

Helm chart to deploy the AAE infrastructure
Shell
7
star
47

alfresco-docker-base-java

Alfresco base Java image
Dockerfile
7
star
48

alfresco-helloworld-transformer

Java
7
star
49

alfresco-community-share

Alfresco Share
JavaScript
7
star
50

googledrive

Java
7
star
51

alfresco-docker-base-tomcat

Alfresco base Tomcat image
Dockerfile
7
star
52

alfresco-server-root

Java
6
star
53

docs-activiti-enterprise

This repository contains the documentation for Alfresco Activiti Enterprise
6
star
54

alfresco-ui-strings

6
star
55

acs-ingress

Shell
6
star
56

alfresco-bm-manager

Alfresco Benchmark framework, utilities and load tests: a scalable load test suite
Java
6
star
57

Alfresco-NFS

Alfresco-NFS
Java
5
star
58

alfresco-trashcan-cleaner-module

Java
5
star
59

alfresco-mobile-workspace-ios

Swift
5
star
60

alfresco-appcelerator-sdk

Appcelerator Titanium Modules for Android and iOS SDKs
Objective-C
5
star
61

collaborating-with-alfresco

5
star
62

alfresco-tas-utility

Utility classes for TAS framework
Java
5
star
63

alfresco-docker-activemq

ActiveMQ image for Alfresco DBP
Dockerfile
5
star
64

alfresco-file-transfer-receiver

Java
5
star
65

alfresco-tas-restapi

This project has been merged into alfresco-community-repo. See https://github.com/Alfresco/alfresco-community-repo/tree/master/packaging/tests/tas-restapi
Java
5
star
66

surf-webscripts

Alfresco's Surf Web Scripts
Java
4
star
67

opencmis-extension

Java
4
star
68

alfresco-mobile-workspace-android

Kotlin
4
star
69

alfresco-greenmail

Java
4
star
70

alfresco-lambda-java-utils

Collection of utility classes for Java based Lambda functions.
Java
4
star
71

aws-auto-tag

Lambda triggered by CloudWatch Events to add an owner tag to new resources
Java
4
star
72

Sync-ldtp

Automated test Api project for all the desktop actions for applications like Notepad , office in both windows and Mac
Java
4
star
73

explorer

Legacy Explorer interface for Alfresco Community Edition
JavaScript
3
star
74

surf

Alfresco's Surf framework
Java
3
star
75

alfresco-process-services-examples

Java
3
star
76

alfresco-mbeans

MBeans utility code for the Alfresco Platform
Java
3
star
77

alfresco-super-pom

Alfresco generic, corporate POM file for Maven builds
Shell
3
star
78

alfresco-rest-authn-java-client

Alfresco Identity Service Java Client
Java
3
star
79

postman-collections

Postman Collections for Alfresco v1 REST APIs
3
star
80

sales-translations-example-app

Example app using Activiti and ECM components from the Angular2 app components library
TypeScript
3
star
81

alfresco-xml-factory

XML Factory to address security issues
Java
3
star
82

alfresco-ios-swift-api

Swift
3
star
83

alfresco-acs-workshops

Alfresco Content Service Workshops repository
Java
3
star
84

acme

acme for letsencrypt
Shell
3
star
85

alfresco-tas-webdav

Java
2
star
86

alfresco-process-application-deployment

Helm chart to deploy a single AAE application
Makefile
2
star
87

rest-api-bck

Repository for public REST API BCK tests
2
star
88

alfresco-anaxes-hello-world-ui

TypeScript
2
star
89

alfresco-android-kotlin-api

Kotlin
2
star
90

alfresco-legacy-lucene

Java
2
star
91

alfresco-tas-ftp

Java
2
star
92

alfresco-bm-load-users

Java
2
star
93

alfresco-solrclient

2
star
94

tutorials

2
star
95

arch-map

The Alfresco Architecture Map, containing information about how Alfresco is constructed.
2
star
96

alfresco-text-gen

Text generation library for general use during load and benchmark testing.
Java
2
star
97

alfresco-lambda-empty-s3-bucket

Lambda function that can be used in a CloudFormation template to empty an S3 bucket.
Java
2
star
98

alfresco-mmt

2
star
99

alfresco-tas-cmis

This project has been merged into alfresco-community-repo. See https://github.com/Alfresco/alfresco-community-repo/tree/master/packaging/tests/tas-cmis
Java
2
star
100

p6spy-checker

A small class to parse through some p6spy output and isolate the longest running queries
Java
2
star